python值错误:开始日期必须为日期。收到20160101 | 20160101 00:00:00

2024-06-02 08:11:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用statsmodels.tsa.状态空间.sarimax进行预测。 这是我的密码

pprint(list(rolmean_df.index)[0])
>> datetime.date(2015, 5, 19)

mod = sm.tsa.statespace.SARIMAX(rolmean_df['IC_10_diff'], trend='n', order=(2,1,2))
results = mod.fit()
s = results.get_prediction(start = pd.to_datetime('2016-01-01').date(), dynamic= False)
>> ValueError: Start must be in dates. Got 2016-01-01 | 2016-01-01 00:00:00

我不确定我的“开始”格式是错误的还是其他什么不起作用。在


Tags: mod密码dfdatetimedateindex状态空间
3条回答

我也有类似的问题。您必须确保开始日期包含在rolmean_df['IC_10_diff']中。在

只需打印“rolmean_df['IC_10_diff']”中的所有值,然后选择最接近2016-01-01的值。在

从文件中: http://www.statsmodels.org/dev/generated/statsmodels.tsa.statespace.sarimax.SARIMAXResults.html

  • 获取样本预测([步骤])超出样本预测
  • 获取预测([开始, end,dynamic,exog])样本内预测和样本外预测 预测

所以,“Start must be in dates”意味着Start应该在数据集中。在

如果要使用模型预测,请使用get_forecast()。在

前几天我和你有同样的问题,现在我有了一个合理的解释。在

我认为这个函数的开始日期和结束日期取决于您的数据集。在

例如,我第一次希望将开始日期设置为“2017-10-01”,但我的数据中未包含此日期。然后'2017-12-01'是开始日期的值,文件可以被编译,因为这个日期在我的数据集中。在

相关问题 更多 >