sto usando le fourier()
e fourierf()
funzioni in ottimo pacchetto di Ron Hyndman forecast
in R. Guardando per verificare se gli stessi termini sono selezionati e utilizzati in fourier()
e fourierf()
, ho tracciato un alcuni dei termini di uscita.Fourier() vs fourierf() in R
Di seguito sono i dati originali utilizzando ts.plot(data)
. C'è una frequenza di 364 nelle serie temporali, FYI.
Di seguito è riportato il grafico dei termini utilizzando fourier(data,3)
. Fondamentalmente, assomiglia a immagini speculari dei dati esistenti.
Guardando solo il termine sin1 dell'uscita, ancora una volta, abbiamo un po 'di variazione che mostra analoga a 364 giorni stagionalità in linea con i dati di cui sopra.
Tuttavia, quando ho tracciare i risultati del Fourier previsioni utilizzando fourierf(data,3, 410)
vedo i dati sottostanti. Appare molto più fluido rispetto ai termini forniti dalla funzione originale fourier
.
Quindi, mi chiedo come i risultati di fourier()
e fourierf()
sono correlate. È possibile vedere solo un risultato consolidato di Fourier, in modo da poter vedere il risultato del sin o del coseno che si muove attraverso i dati esistenti e quindi attraverso il periodo di previsione? In caso contrario, come posso confermare che i termini creati da fourierf()
corrispondono ai dati in-sample?
voglio usarlo in un auto.arima
o glm
funzione con altri regressori esterni come questo:
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)
e vogliono essere completamente sicuri che l'auto.arima ha il raccordo corretto (utilizzando i termini da fourier()
) a ciò che inserirò in xreg per forecast
(che ha termini da una funzione diversa, ovvero ffourier()
).