我只是关注这里的一篇文章,用下面的示例数据集尝试我的第一个预测。我期待一个像Expected这样的预测图,但我得到了像这里所附的图。明白啦
我的示例代码是
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.holtwinters import ExponentialSmoothing
df = pd.read_csv('data.csv',
parse_dates=['date'],
index_col='date')
df.index.freq = 'H'
train, test = df.iloc[:250, 0], df.iloc[250:, 0]
model = ExponentialSmoothing(train, seasonal='mul', seasonal_periods=12).fit()
pred = model.predict(start=test.index[0], end=test.index[-1])
plt.plot(train.index, train, label='Train')
plt.plot(test.index, test, label='Test')
plt.plot(pred.index, pred, label='Holt-Winters')
plt.legend(loc='best')
plt.show()
我每小时重新采样的样本数据集
date,count
2018-08-19 18:00,11
2018-08-19 19:00,4412
2018-08-19 20:00,4300
2018-08-19 21:00,3522
2018-08-19 22:00,2579
2018-08-19 23:00,1546
2018-08-20 00:00,918
2018-08-20 01:00,492
2018-08-20 02:00,299
2018-08-20 03:00,184
2018-08-20 04:00,201
2018-08-20 05:00,334
2018-08-20 06:00,867
2018-08-20 07:00,1767
2018-08-20 08:00,2904
2018-08-20 09:00,3892
2018-08-20 10:00,4744
2018-08-20 11:00,5081
2018-08-20 12:00,5370
2018-08-20 13:00,5408
2018-08-20 14:00,5523
2018-08-20 15:00,5162
2018-08-20 16:00,5182
2018-08-20 17:00,4685
2018-08-20 18:00,4472
2018-08-20 19:00,4454
2018-08-20 20:00,4406
2018-08-20 21:00,3719
2018-08-20 22:00,2636
我错过了什么?
[编辑]
在我将seasonal_periods 从12 更改为24 后,我得到了这张图。
[编辑]