每小时时间序列预测

时间:2019-09-04 21:52:16

标签: python pandas time-series statsmodels

我正在上Udemy的课程,以学习一些时间序列预测,并且我试图用一年的每小时数据来运行这段代码:

from statsmodels.tsa.holtwinters import ExponentialSmoothing

model = ExponentialSmoothing(train['count'],trend='add',seasonal='add',seasonal_periods=12).fit()

但是一旦我运行了这个

predictions = model.forecast(24) 

我收到此错误:

  

ValueWarning:没有支持的索引可用。预测结果将以从start开始的整数索引给出。     ValueWarning)

这使我很难绘制数据进行比较,因为索引类型在测试数据和预测之间不匹配。

这是我创建索引的方式:

idx = pd.date_range(ts_data.index.min(), ts_data.index.max(), freq='H')
ts_data = ts_data.reindex(idx, fill_value=0)
ts_data.sort_index(inplace=True)
ts_data.head(10)

    count
date    
2018-11-19 02:00:00 70.0
2018-11-19 03:00:00 84.0
2018-11-19 04:00:00 98.0
2018-11-19 05:00:00 89.0
2018-11-19 06:00:00 87.0
2018-11-19 07:00:00 76.0
2018-11-19 08:00:00 58.0
2018-11-19 09:00:00 36.0
2018-11-19 10:00:00 38.0
2018-11-19 11:00:00 17.0

我想知道为什么预测方法没有返回正确的索引。

1 个答案:

答案 0 :(得分:0)

您正在创建一个名为 ts_data 的数据框的正确索引,但您正在将模型拟合到另一个名为 train 的数据框。

尝试查看 train 数据框的索引,并查看其格式是否正确。