R中的fourier()与fourierf()函数

R中的fourier()与fourierf()函数,r,forecasting,decomposition,R,Forecasting,Decomposition,我在R中使用Ron Hyndman出色的forecast包中的fourier()和fourierf()函数。为了验证在fourier()和fourierf()中是否选择和使用了相同的术语,我绘制了一些输出术语 下面是使用ts.plot(data)的原始数据。时间序列中有364个频率,仅供参考 下面是使用fourier(数据,3)绘制的术语图。基本上,它看起来像现有数据的镜像 再看看输出的sin1项,我们得到了一些变化,显示出与上述数据类似的364天季节性 然而,当我使用fourierf(数据

我在R中使用Ron Hyndman出色的
forecast
包中的
fourier()
fourierf()
函数。为了验证在
fourier()
fourierf()
中是否选择和使用了相同的术语,我绘制了一些输出术语

下面是使用
ts.plot(data)
的原始数据。时间序列中有364个频率,仅供参考

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

再看看输出的sin1项,我们得到了一些变化,显示出与上述数据类似的364天季节性

然而,当我使用
fourierf(数据,3410)
绘制傅里叶预测结果时,我看到了以下数据。它看起来比原始的
fourier
函数提供的术语要平滑得多。

因此,我想知道
fourier()
fourierf()
的结果是如何关联的。是否可以只看到一个合并的傅立叶结果,这样您就可以看到正弦或余弦结果在现有数据中移动,然后在预测期间移动?如果没有,我如何确认由
fourierf()
创建的术语符合样本数据

我想在
auto.arima
glm
函数中与其他外部回归器一起使用它,如下所示:

 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)

trainFourier解决了这个问题。我同时使用了
fda
forecast
软件包
fda
,用于功能数据分析和回归,有自己的
fourier()
功能。如果我拆下
fda
,我的S1术语从
fourier(数据,3)
中看起来如下:

 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)

如果我使用
ts.plot(c(trainFourier$S1,futurefurier$S1))

这个故事的寓意是:伙计们,看你们的包裹是什么