【发布时间】:2015-02-23 18:53:19
【问题描述】:
我在 R 中使用 HoltWinters() 来拟合模型。我无法理解为什么模型对 alpha、beta 和 gamma 给出零值。在这种情况下该怎么办?下面是数据和代码。提前致谢。
x<-c(2835, 2970, 2565, 2970, 2700, 4995, 3375,
2430, 2295, 3375, 3780, 1755, 2970, 2835,
1890, 1485, 3780, 2430, 3780, 1215, 3915,
1485, 3375, 3510, 2970, 2700, 2025, 3105,
3645, 2721, 1215, 4995, 2430, 2700, 1620,
2025, 2430, 3780, 2295, 4860, 1350, 3645,
6885, 2295, 1350, 2565, 2835, 2970, 2970,
2970, 4185, 3105, 1080, 2565, 2295, 3105,
1890, 3386, 3375, 3105, 2565, 2970, 5265,
5400, 2565, 1890, 3240, 4050, 2160, 4725,
5805, 6615, 2565, 4455, 1620, 2025, 1620,
2835, 1485, 4455, 3510, 1215, 2025, 3510,
3510, 2160, 1755, 1620, 4050, 2295, 2970,
2108, 3510, 4725, 2565, 5535, 2025, 1080,
675, 135, 2700, 3904, 2835, 3105, 1755,
2565, 1755, 2970, 1080, 1755)
x_ts<-ts(x,frequency=52)
hw<-hw<-HoltWinters(x_ts,seasonal="multiplicative")
Output:
hw
Holt-Winters exponential smoothing with trend and multiplicative seasonal component.
Call:
HoltWinters(x = x_ts, seasonal = "multiplicative")
Smoothing parameters:
alpha: 0
beta : 0
gamma: 0
Coefficients:
[,1]
a 3108.2165107
b 3.6027043
s1 1.0734921
s2 0.9859404
s3 0.8155082
s4 0.9450738
...
【问题讨论】:
-
您的时间序列似乎有点超过两年的每周数据。您已要求 HoltWinters 查找季节性因素以及 alpha 和 beta,因此它返回 52 个季节性系数 (s1 ... s52) 加上起始值。它首先找到季节性系数,然后显然将其余部分视为由于季节性因素而导致的残差,因此将 alpha 和 beta 返回为零。基本上,您需要更多年的数据才能找到 alpha 和 beta。只是为了演示,您可以在 x_ts 中设置频率 = 12。然后 HoltWinters 将返回 12 个季节性因素以及 alpha 和 beta。
标签: r forecasting