我想在 statsmodels 中使用 Holt Winters 中的水平和斜率,因为对于每个时期,我想生成一个时滞(步数)大于 1 的预测。也就是说,对于每个时期,我想提前三个时期生成预测。
我看到我可以做到:
demand = pd.DataFrame({'material': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
'quantity': [32118, 32129, 32648, 33115, 34214, 34449, 36282,
36674, 38320, 40229, 41702, 42320, 42595, 42969,
44462, 44365, 44652, 45169, 45388, 46499, 46497]})
model = models.Holt(demand['quantity'], damped=True)
fit = model.fit(smoothing_level=0.1,
smoothing_slope=0.2,
damping_slope=0.9,
optimized=False)
从 fit 开始,我可以做 fit.level 和 fit.slope。很奇怪,使用这些值我无法生成预测。
我希望斜率和水平至少从 fit.params 中找到的相同值开始。对于这个例子,fit.params 的初始斜率为 9.9 和初始水平 32118。不过,当我查看 fit.level 时,第一个值是水平的 32126.91 和斜率的 9.7。
知道如何提取 fit.predict() 使用的水平和斜率吗?