Holt在python的冬季初始季节指数计算

时间:2014-01-01 22:01:29

标签: python numpy time-series smoothing

我无法找到Holt Winters指数平滑的季节性指标的正确计算。

我使用了NIST中的计算方法,并使用了adorio-research

中的数据
z =[146, 96, 59, 133, 192, 127, 79, 186, 272, 155, 98, 219]


Results:
s= [ 1.3744  0.8627  0.5373  1.2257]

使用NIST方法的计算在Stackoverflow上为here。但是对于adorio-research,他们使用相同的值获得了不同的结果。

Results:
S= [ 1.4789  0.8985  0.5152  1.1074]

我是否使用不同的方法来计算错误或是用于计算初始季节指数的adorio研究代码?

2 个答案:

答案 0 :(得分:0)

来自Holt-Winters的代码错误。您可以在下面的链接中查看使用R代码来计算Holt-Winters

http://www.wessa.net/rwasp_exponentialsmoothing.wasp#output

输入以下数据并在链接中设置season period at 4Type of Exponential Smoothing to TripleType of seasonality to multiplicative

146
96
59
133
192
127
79
186
272
155
98
219

它会返回alpha,beta和gamma的参数

alpha   0.735716596454859
beta    0.0382359201508119
gamma   1

和结果

t   Observed    Fitted            Residuals
5   192        170.088248700704   21.9117512992958
6   127        122.981857107346   4.01814289265398
7   79         75.9008222744013   3.09917772559865
8   186        172.139757560624   13.8602424393755
9   272        272.260398525039   -0.260398525038966
10  155        173.023900179977   -18.0239001799769
11  98         95.2888315311983   2.71116846880174
12  219        213.920670513984   5.07932948601567

将alpha,beta和gamma插入到python代码中,然后得到:

holtwinters(y, 0.735716596454859, 0.0382359201508119, 1,4)

[ 158.3686  113.11     73.8393  175.5253  262.0823  176.5653  112.4055
  268.6787  401.3833  243.3259  150.7145  343.6221]

你可以看到它的错误。但R模型使用误差校正,因此也可以确定如何设置初始点。

答案 1 :(得分:0)

Holt Winters没有正式定义初始化,文献中提出了各种技术。 Hyndman的This post描述了一种明智有效的程序。

易于使用的python包(也可估算数据的周期)为seasonal(可在PyPI或here上找到)