2013-07-31 52 views
5

我使用在罗恩海德门的优良forecastfourier()fourierf()功能R.寻找验证的相同术语是否被选择并在fourier()fourierf()使用的功能,我绘制一个很少有输出条款。傅立叶()与fourierf()中的R

以下是原始数据,使用ts.plot(data)。 FYI的时间序列中有364个频率。 data

以下是使用fourier(data,3)的术语图。基本上,它看起来像现有数据的镜像。

fourier

看着刚刚输出的SIN1来看,再次,我们得到了一些变化,显示在上面的数据线类似364天的季节性。

fourier2

然而,当我使用绘制我fourierf(data,3, 410)看到下面的数据预测傅里叶变换结果。它看起来比原来的fourier函数提供的条件更光滑。 fourierf

所以,我不知道fourier()fourierf()的结果是如何相关的。是否有可能只看到一个综合傅立叶结果,以便您可以看到正弦或余弦结果在现有数据中移动,然后在整个预测期间?如果不是,我如何确认fourierf()创建的条款符合样本内数据?

我想用它与其他外部回归量像这样的auto.arimaglm功能:

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) 

,想完全确保auto.arima有适当的配件(使用条款从fourier() )到我将在xreg中放入的forecast(其中包含来自不同函数的条款,即ffourier())。

回答

11

找出问题所在。我正在使用fdaforecast软件包。用于功能数据分析和回归的fda具有其自己的fourier()函数。如果我脱离fda,从fourier(data,3)我的S1项看起来是这样的:

fourier()

与我如果用这个故事的ts.plot(c(trainFourier$S1,futureFourier$S1))

道德傅立叶预测排队很好 - 看你的包剿,乡亲们!