【问题标题】:fourier() vs fourierf() function in RR中的fourier()与fourierf()函数
【发布时间】:2013-08-01 10:57:15
【问题描述】:

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

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

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

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

但是,当我使用 fourierf(data,3, 410) 绘制傅里叶预测结果时,我看到了以下数据。它看起来比原始fourier 函数提供的术语要流畅得多。

所以,我想知道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 与我将在 xreg 下为forecast 放入的内容(使用来自不同函数的术语,即ffourier())。

【问题讨论】:

    标签: r forecasting decomposition


    【解决方案1】:

    找出问题所在。我同时使用了fdaforecast 包。 fda,用于函数数据分析和回归,有自己的fourier()函数。如果我分离fda,我从fourier(data,3) 的S1 术语看起来像这样:

    如果我使用ts.plot(c(trainFourier$S1,futureFourier$S1)),这与傅立叶预测非常吻合

    故事的寓意——看看你的包裹抑制了什么,伙计们!

    【讨论】:

      猜你喜欢
      • 2017-10-16
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      相关资源
      最近更新 更多