【问题标题】:How to forecast time series, including a seasonality factor in R如何预测时间序列,包括 R 中的季节性因素
【发布时间】:2018-07-31 07:50:30
【问题描述】:

我有以下示例数据:

library(data.table)
dt <- data.table('time' = c(1:10),
                    'units'= c(89496264,81820040,80960072,109164545,96226255,96270421,95694992,117509717,105134778,0))

我想在time = 10units 创建一个forecast

我可以看到time = 4*k,其中k = 1,2,... 的单位大幅增加,我想将其作为季节性因素。

我怎么能在 R 中做到这一点?我已经查看了auto.arima,但似乎这不是要走的路。

谢谢

【问题讨论】:

    标签: r time-series forecasting


    【解决方案1】:

    Prophet API 让您可以轻松地计算预测,并使用加法模型,其中非线性趋势与年度、每周和每日季节性相匹配。

    引用以上链接:

    它最适用于具有强烈季节性影响的时间序列和多个季节的历史数据。 Prophet 对缺失数据和趋势变化具有鲁棒性,并且通常可以很好地处理异常值。

    install.packages(‘prophet’)
    library(prophet)
    model <- prophet(dt) # see ?prophet for details, this builds the model (like auto.arima)
    future <- make_future_dataframe(model, periods = 10) # creates the "future" data 
    forecast <- predict(model, future) # predictions
    
    tail(forecast)
    

    Here the complete Example in R.

    【讨论】:

    • 先知看起来不错。谢谢你。你知道是否可以选择是否具有加性季节性效应或乘性效应?
    • 它选择具有 L-BFGS 标准的最佳模型,将 ts 分解为估计的 2/3 分量。它不会是总体上“最好”的模型,但可能比一些更简单的模型更好。
    • 我建议阅读引用peerj.com/preprints/3190.pdf的论文
    • 我不确定,但我怀疑有。
    【解决方案2】:

    您是对的,您可以以 98.4% 的概率打赌 t=4*k 存在季节性,其值为 +21108156。如果假设季节性是乘法而不是加法,则可以得到 98.5%,即存在季节性,其值为 +18.7%。

    我就是这样继续的,不使用现成的包,这样你就可以问各种类似的问题了。

    首先引入一个新的布尔变量dt$season = (dt$time %% 4)==0,对于 t=0,4,8,... 为真(即 =1),否则为假(即 =0)。然后函数x~a*season+b 等于a+b t=0,4,8,... 和b 其他地方。也就是说a是季节性效应和非季节性效应的区别。

    线性回归fit &lt;- lm(units ~ season, data= dt),给你a=21108156summary(fit)告诉你标准错误a是6697979,所以观察值a=21108156出现在的概率小于0.0161如果它是 0。因此,您可以合理地打赌,有一个 4 个周期的季节性,有超过 1-0.0161=98.388% 的机会是正确的。

    如果您假设季节性是乘法的,请对变量 dt$mult = dt$units * dt$season 使用相同的推理。这一次 a * dt$mult + b 等于 a * dt$units + b 时季节性适用,而 b 时不适用。所以季节性带来了a * dt$units的差异,即平均值乘以a=.1877=18.77%,显着性为0.01471=1-98.5%

    这就是现成包的工作原理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-21
      • 2016-07-26
      • 2018-06-01
      • 2019-05-20
      • 1970-01-01
      • 2014-07-03
      • 2019-01-16
      • 2016-09-20
      相关资源
      最近更新 更多