R 每日时间序列预测,包括每周和每年周期

R 每日时间序列预测,包括每周和每年周期,r,forecasting,R,Forecasting,我的目标是预测每天两个不同渠道的注册人数 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模型

我的目标是预测每天两个不同渠道的注册人数

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模型

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
    bats
    偶尔是不稳定的,您的第二个模型显示了无限的预测。已经有一些关于类似问题的bug报告

    在任何情况下,当您想要使用事件信息时,最好使用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)))
    

    我已经阅读了你们的许多出版物,很高兴看到你们是帮助我的人,谢谢@RobHyndman教授:)根据您的建议,我创建了一个过去事件和未来事件的l_假日和f_假日<代码>谐波你认为这个模型怎么样?以某种方式识别异常值并将其作为事件处理在单独的协变量中是否有益?
    
    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)))