【问题标题】:Forecast and fable package returning slightly different parameters when forecasting using same dataset使用相同数据集进行预测时,预测和寓言包返回的参数略有不同
【发布时间】:2021-02-28 06:19:31
【问题描述】:

这可以被视为this 的后续问题,作为研究forecastfable 包之间差异的探索练习的一部分。

我使用相同的数据集来预测未来价值,如下所示:

library(fpp2)
library(forecast)
library(fable)

data(ausair)

set.seed(1)

holt(ausair,h=5)$model$par

#      alpha       beta          l          b 
# 0.84796776 0.09695709 6.51760869 0.68206040

set.seed(1)

tsibble::as_tsibble(ausair) %>%
  model(ETS(value ~ error('A') + trend('A') + season('N'))) %>%
  coef() %>%
  select(term,estimate) %>%
  data.frame

#    term   estimate
# 1 alpha 0.84811600
# 2  beta 0.09695788
# 3     l 6.51735643
# 4     b 0.68214725

我只是想确保使用两种不同方法计算的估计值的微小差异是由于函数本身造成的,而不是我自己在不知情的情况下使用了不同的参数。

谢谢!

【问题讨论】:

    标签: r forecast fable-r


    【解决方案1】:

    在代码前使用set.seed(1)

    【讨论】:

    • 我按照建议更新了脚本,数字没有变化,看起来随机种子不是这里的问题
    【解决方案2】:

    我通过检查holt函数发现了不同之处,缺少的参数是opt.crit='mse'

    library(fpp2)
    library(forecast)
    library(fable)
    library(dplyr)
    
    data(ausair)
    
    holt(ausair,h=5)$model$par
    
    #      alpha       beta          l          b 
    # 0.84796776 0.09695709 6.51760869 0.68206040
    
    tsibble::as_tsibble(ausair) %>%
      model(ETS(value ~ error('A') + trend('A') + season('N'),opt_crit='mse')) %>%
      coef() %>%
      select(term,estimate) %>%
      data.frame
    
    #    term   estimate
    # 1 alpha 0.84796776
    # 2  beta 0.09695709
    # 3     l 6.51760869
    # 4     b 0.68206040
    

    【讨论】:

      猜你喜欢
      • 2019-07-20
      • 1970-01-01
      • 2019-07-25
      • 2018-11-07
      • 2014-03-21
      • 2020-05-19
      • 2018-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多