【问题标题】:Daily timeseries forecasting, with weekly and annual cycle每日时间序列预测,具有每周和每年的周期
【发布时间】:2016-02-26 10:50:25
【问题描述】:

我的目标是预测两个不同渠道的每日注册量。

每周的季节性很强,尤其是周末,而且还观察到了年度影响。此外,我有几个特殊的活动日,与其他日子有很大不同。

首先,我在这两个通道上应用了 TBATS 模型。

x.msts <- msts(Channel1_reg,seasonal.periods=c(7,365.25))
# fit model
fit <- tbats(x.msts)
fit
plot(fit)
forecast_channel1 <- forecast(fit,h=30)

第一个频道:

TBATS(0, {2,3}, -, {<7,3>, <365.25,2>})

Call: tbats(y = x.msts)

Parameters
  Lambda: 0
  Alpha: 0.0001804516
  Gamma-1 Values: -1.517954e-05 1.004701e-05
  Gamma-2 Values: -3.059654e-06 -2.796211e-05
  AR coefficients: 0.249944 0.544593
  MA coefficients: 0.215696 -0.361379 -0.21082

第二频道:

BATS(0, {2,2}, 0.929, -)

Call: tbats(y = y.msts)

Parameters
  Lambda: 0
  Alpha: 0.1652762
  Beta: -0.008057904
  Damping Parameter: 0.928972
  AR coefficients: -0.586163 -0.676921
  MA coefficients: 0.924758 0.743675

如果我预测第二个渠道,我只会得到空白值而不是任何预测。

  1. 请您帮忙看看为什么会这样?
  2. 您对如何将特定的活动日期构建到此模型中有何建议?

谢谢大家!

【问题讨论】:

    标签: r forecasting


    【解决方案1】:

    tbatsbats 偶尔不稳定,您的第二个模型显示无限预测。已经有一些关于类似问题的错误报告。

    在任何情况下,当您想使用事件信息时,最好构建一个带有 ARMA 错误的调和回归模型。

    例如,假设您的事件信息被记录为虚拟变量event1。那么模型可以如下拟合:

    harmonics <- fourier(x.msts, K=c(2,2))
    fit1 <- auto.arima(x.msts, lambda=0, 
       xreg=cbind(harmonics,event1), seasonal=FALSE)
    f1 <- forecast(fit1, 
       xreg=cbind(fourierf(x.msts, K=c(2,2), h=200), rep(0,200)))
    

    这假设事件不会在接下来的 200 天内发生(因此是 200 0)。我已经使用了 2 次谐波了数周和数年。调整这些以最小化模型的 AICc。

    这个模型实际上与您正在拟合的 TBATS 模型非常相似,只是 lambda 的值是指定的而不是估计的,并且季节性随着时间的推移是固定的,而不是允许演变的。优点是调和回归模型更稳定,并且允许包含协变量。

    【讨论】:

    • 我已经阅读了您的许多出版物,很高兴看到您是帮助我的人,谢谢@RobHyndman 教授! :) 根据您的建议,我在 l_holidays 和 f_holidays 中创建了过去的事件和未来的事件。 /* harmonics &lt;- fourier(x2.msts, K=c(3,2)) fit2_harm &lt;- auto.arima(x2.msts, lambda=0, xreg=cbind(harmonics,l_holidays), seasonal=FALSE) f2 &lt;- forecast(fit2_harm, xreg=cbind(fourierf(x2.msts, K=c(3,2), h=fcast_int), f_holidays)) */ 模型性能和细节:tinyurl.com/zush5lm
    • 你觉得这个模型怎么样?以某种方式识别异常值并将它们作为事件在单独的协变量中处理是否有益?
    猜你喜欢
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2021-05-21
    相关资源
    最近更新 更多