HoltWinter初始值与Rob Hyndman理论不匹配

kos*_*osa 6 r time-series forecasting holtwinters

我正在按照Rob Hyndman的教程进行初始化(添加剂).

计算初始值的步骤指定为: 在此输入图像描述

我在Rob Hydman免费在线教科书中提供的数据集上手动(使用笔/纸)上面的步骤.我在前两个步骤后得到的值是: 在此输入图像描述

我在"R"上使用了相同的数据集,但R中的季节性输出值却截然不同(截图如下) 在此输入图像描述

不确定我做错了什么.任何帮助,将不胜感激.

我刚刚观察到的另一个有趣的事情是,(l(t))教科书中的初始级别是33.8,但在R输出中它是:48.24,这证明我在手动计算时遗漏了一些东西.

编辑:

以下是我如何计算平均移动平均值(基于此链接第2节中使用的公式.)

计算后我已经去趋势,意味着原始值 - 平滑值.

然后是季节性价值:这是

S1 =Average of Q1
S2 = Average of Q2
...
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Rob*_*man 6

移动平均线的前两个值不正确.您假设第一次观察之前的值为零.它们不是零,它们是缺失的,这是完全不同的.由于这个原因,不可能计算前两个观测值的移动平均值.

移动平均线的第三个值和后续值只是大致正确,因为您已将数据四舍五入到第一个小数点,而不是使用fppR 中包中提供的数据.

在此过程之后获得的值用作优化中的初始值ets().因此,输出ets()将不包含初始值,而是包含优化值.书中的表格给出了优化的值.您将无法使用简单的过程重现它们.

但是,您可以重现所提供的内容,HoltWinters因为它不会对初始值进行任何优化.使用时HoltWinters,初始季节值如下:

> HoltWinters(y)$fitted[1:4,]
         xhat    level    trend    season
[1,] 43.73934 33.21330 1.207739  9.318302
[2,] 28.25863 35.65614 1.376490 -8.774002
[3,] 36.86581 37.57569 1.450688 -2.160566
[4,] 41.87604 38.83521 1.424568  1.616267
Run Code Online (Sandbox Code Playgroud)

(输出in coefficients给出最终状态而不是初始状态.)

最后一列中的季节性指数可以计算如下:

       y   MAsmooth  detrend detrend.adj
 41.72746       NA        NA          NA
 24.04185       NA        NA          NA
 32.32810 34.41724 -2.089139   -2.160566
 37.32871 35.64101  1.687695    1.616267
 46.21315 36.82342  9.389730    9.318302
 29.34633 38.04890 -8.702575   -8.774002
 36.48291       NA        NA          NA
 42.97772       NA        NA          NA
Run Code Online (Sandbox Code Playgroud)

最后一列是调整后的去趋势数据(因此它们加零).