0

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

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

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

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

谢谢!

4

2 回答 2

0

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

于 2020-11-17T02:59:06.117 回答
0

我通过检查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
于 2020-11-18T02:38:39.747 回答