Ich verwende die fourier()
und fourierf()
Funktionen in Ron Hyndman ausgezeichneten forecast
Paket in R., um zu überprüfen, ob der Suche die gleichen Bedingungen ausgewählt und verwendet in fourier()
und fourierf()
, aufgetragen ich einige der Ausgangsbedingungen.Fourier-Transformation() vs fourierf() Funktion in R
Unten sind die ursprünglichen Daten mit ts.plot(data)
. Es gibt eine Häufigkeit von 364 in der Zeitreihe, FYI.
Unten ist die Handlung der Begriffe unter Verwendung fourier(data,3)
. Grundsätzlich sieht es aus wie Spiegelbilder der vorhandenen Daten.
gerade zur sin1 Begriff des Ausgangs Sehen, wieder bekommen wir einige Variationen, die oben mit den Daten ähnlich 364-Tage-Saisonalität in Zeile zeigt.
Allerdings, wenn ich die Ergebnisse der Fourier-plotten Prognose mit fourierf(data,3, 410)
ich die folgenden Daten zu sehen. Es scheint viel reibungsloser als die von der ursprünglichen fourier
Funktion bereitgestellten Bedingungen.
Also, ich frage mich, wie die Ergebnisse der fourier()
und fourierf()
verwandt sind. Ist es möglich, nur ein konsolidiertes Fourier-Ergebnis zu sehen, so dass Sie sehen können, wie sich das Sin- oder Cosinus-Ergebnis durch die vorhandenen Daten und dann durch den Prognosezeitraum bewegt? Wenn nicht, wie kann ich bestätigen, dass die von fourierf()
erstellten Begriffe zu den In-Sample-Daten passen?
mag ich es in einer auto.arima
oder glm
Funktion mit anderen externen Regressoren wie folgt verwenden:
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)
und ganz sicher sein will, dass die auto.arima die richtige Armatur hat (unter Verwendung der Begriffe von fourier()
) zu dem, was ich unter xreg für forecast
(die Begriffe aus einer anderen Funktion hat, dh ffourier()
).