我试着用holt-winters model
进行预测,如下所示,但得到的预测与我的预期不一致。我还展示了情节的可视化
Train = Airline[:130]
Test = Airline[129:]
from statsmodels.tsa.holtwinters import Holt
y_hat_avg = Test.copy()
fit1 = Holt(np.asarray(Train['Passengers'])).fit()
y_hat_avg['Holt_Winter'] = fit1.predict(start=1,end=15)
plt.figure(figsize=(16,8))
plt.plot(Train.index, Train['Passengers'], label='Train')
plt.plot(Test.index,Test['Passengers'], label='Test')
plt.plot(y_hat_avg.index,y_hat_avg['Holt_Winter'], label='Holt_Winter')
plt.legend(loc='best')
plt.savefig('Holt_Winters.jpg')
我不确定我在这里遗漏了什么。
这个预测似乎与之前的训练数据相吻合
错误的主要原因是你的开始和结束值。它预测到十五日为止的第一次观测值。然而,即使你纠正了这一点,Holt只包括趋势成分,你的预测也不会带来季节性影响。相反,使用带有季节性参数的
ExponentialSmoothing
。以下是数据集的工作示例:
从而得出以下曲线图:
这是上述答案的即兴创作 https://stackoverflow.com/users/2285236/ayhan
以下是我如何获得最佳参数的方法
评估模型的函数
摘要:
新模型结果:
旧模型结果:
奖金:
您将得到这个很好的数据框,在这里您可以比较原始值和预测值。
输出
相关问题 更多 >
编程相关推荐