我按照这里的教程学习实现一个非常简单的时间序列分析: https://www.digitalocean.com/community/tutorials/a-guide-to-time-series-forecasting-with-arima-in-python-3
我在第6步,并且不理解为什么会出现错误。
我的数据看起来像这样,并从excel文件中读取。时间数据只是日期值,频率是每周一次;列车数据包含截至2017年1月最后一周的数据。
TestDate是:
Week Minutes
11/16/14 3184.2
11/23/14 137121.04
11/30/14 204525.3
12/7/14 72587.88
12/14/14 283.73
12/21/14 580455.34
12/28/14 554623.15
1/4/15 0
1/11/15 0
1/18/15 0
1/25/15 462652.36
以下代码用于训练模型:
mod = sm.tsa.statespace.SARIMAX(TrainAmt,
order=(1,1,2),
seasonal_order=(1,1,2,12),
enforce_stationarity=False,
enforce_invertibility=False)
results = mod.fit()
然后我尝试预测测试数据:
pred = results.predict(start=str(pd.to_datetime('2017-01-29').date()),
end=pd.to_datetime('2017-07-23').date(),
dynamic=False,
exog=TestData,
typ='levels')
它不断返回错误:
ValueError: no rule for interpreting end
我遇到了这篇帖子Python-Statsmodels ARIMA Out-Of-Sample forecast raises ValueError: no rule for interpreting end,其中OP得到了和我一样的错误,在评论中,我相信他提到他进入了源代码并修改了一些东西以使参数结束阅读日期时间输入。那么为什么这个错误消息仍然出现?