Сгенерировать R временных рядов в C# для использования с RDotNet

У меня есть некоторые данные временных рядов в C#, т. Е. Измерения (двойной) и дата в виде DateTime, в настоящее время в виде List<DateTime, double>, Я использую пакет RDotNet версии 1.5, установленный через NuGet.

Как получить временные ряды в R, чтобы создать некоторые графики и выполнить другие вычисления, используя доступные там инструменты.

Вот некоторый код из примеров RDotNet, с помощью которого я могу создать вектор без DateTimes:

using RDotNet;
using System;
using System.IO;

namespace RTimeSeries
{
  class RTimeSeriesTest
  {
    public static void createVector(double[] doublearray)
    {
      var envPath = Environment.GetEnvironmentVariable("PATH");
      var rBinPath = @"C:\Program Files\R\R-3.0.1\bin\i386";
      Environment.SetEnvironmentVariable("PATH", envPath + Path.PathSeparator + rBinPath);
      using (REngine engine = REngine.CreateInstance("RDotNet"))
      {
        engine.Initialize();
        var myvector = engine.CreateNumericVector(doublearray);
        engine.SetSymbol("myvector", myvector);
      }
    }

    public static void test()
    {
      createVector(new[] { 1, 2, 3, 4, 5.0, 6, 7, 8, 9, 10 });
    }
  }
}

Каков наилучший способ преобразования моего временного ряда C# в временной ряд R? Я надеюсь на ts объект, если это возможно.

-

Я использую R версии 3.0.1 на Windows 64 бит. Я установил это из двоичного установщика Windows.

-

Я хочу отправить данные из трендов Google, например, о "nfl", как в относительном поисковом запросе "NFL" в США. Google тренды предоставляют еженедельные данные за 2004 год. Затем я хочу каким-то образом преобразовать ряды с (более) постоянной дисперсией, а затем оценить сезонную часть отклонений и в результате получить сезонную часть и оставшуюся (включая тренд) часть.

В R непосредственно я попытался создать временной ряд, как это:

nfl.ts<-ts(data=searches$Searches, frequency=52.1775, start=c(2004,1))

таким образом игнорируя даты от Google и предполагая равномерное распределение наблюдений.

Одна проблема, которая, возможно, должна быть другим вопросом на другом сайте stackexchange, заключается в том, как обрабатывать дробные частоты, поскольку целое число недель не вписывается идеально в один год. Таким образом, частота недель в году будет немного различаться, особенно в високосные годы. Как мне справиться с этой проблемой?

Я тогда попробовал

plot(stl(nfl.ts,s.window="periodic"))

но результаты выглядят некорректно по крайней мере для нескольких временных рядов.

0 ответов

Другие вопросы по тегам