Używam fourier()
i fourierf()
funkcje w doskonałej forecast
pakietu Ron Hyndmana R. Patrząc w celu sprawdzenia, czy te same terminy są wybierane i stosowane w fourier()
i fourierf()
, ja wykreślane kilka z warunków wyjściowych.Fouriera() vs fourierf() funkcja w R
Poniżej znajdują się oryginalne dane z użyciem ts.plot(data)
. W serii czasowej jest FYI o częstotliwości 364.
Poniżej znajduje się wykres warunków z użyciem fourier(data,3)
. Zasadniczo wygląda jak lustrzane odbicie istniejących danych.
Patrząc tylko sin1 terminu wyjścia, znów mamy jakąś odmianę, która pokazuje podobną 364-dniowy sezonowości w zgodzie z powyższymi danymi. , Kiedy wykreślić wyniki Fouriera pogody
Jednak stosując fourierf(data,3, 410)
widzę poniższe dane. Wygląda o wiele bardziej gładko niż warunki zapewnione przez oryginalną funkcję fourier
.
Zastanawiam się, w jaki sposób wyniki fourier()
i fourierf()
są powiązane. Czy można zobaczyć tylko jeden skonsolidowany wynik Fouriera, dzięki czemu można zobaczyć wynik grzechu lub cosinusu przechodząc przez istniejące dane, a następnie przez okres prognozowania? Jeśli nie, w jaki sposób mogę potwierdzić, że warunki utworzone przez fourierf()
pasują do danych próbnych?
Chcę używać go w auto.arima
lub glm
funkcji z innych regresorów zewnętrznych tak:
trainFourier<-fourier(data,3)
trainFourier<-as.data.frame(trainFourier)
trainFourier$exogenous<-exogenousData
arima.object<-auto.arima(data, xreg=trainFourier)
futureFourier<-fourierf(data,3, 410)
fourierForecast<-forecast(arima.object, xreg=futureFourier, h=410)
i chcą być całkowicie pewien, że auto.arima ma odpowiednie dopasowanie (używając określenia z fourier()
) do tego, co wstawię pod xreg dla forecast
(który ma warunki z innej funkcji, tj. ffourier()
).