pandas Python Statmodels get_prediction(),'ValueError:得到了开始和日期的字符串为None'

0pizxfdo  于 2023-08-01  发布在  Python
关注(0)|答案(1)|浏览(107)

我有下面的时间序列 Dataframe 提取从一个更大的。

df_test = df.loc[(df['time'] >= '2015-05-01') & (df['time'] <= '2015-05-09')]
df_test.set_index('time')

字符串
数据的头部看起来像这样:

time  total_consumption
122400 2015-05-01 00:01:00            106.391
122401 2015-05-01 00:11:00            120.371
122402 2015-05-01 00:21:00            109.292
122403 2015-05-01 00:31:00             99.838
122404 2015-05-01 00:41:00             97.387


使用SARIMAX,我得到了这个模型:

mod = sm.tsa.statespace.SARIMAX(np.asarray(df_test['total_consumption']),
                                        order=(1,1,1),
                                        seasonal_order=(0,1,1,12),
                                        enforce_stationarity=False,
                                        enforce_invertibility=False)          
results_final = mod.fit()


然后,我尝试根据模型进行预测:

start = pd.to_datetime('2015-05-08 00:01:00')
pred = results_final.get_prediction(start, dynamic=False)
pred_ci = pred.conf_int()


然而,当我尝试使用get_prediction()命令获得 Dataframe 结束的预测时,我得到了这个错误消息,并且似乎无法找出原因。

ValueError: Got a string for start and dates is None


谢谢你的好意

wkftcu5l

wkftcu5l1#

我想问题在于你没有使用时间索引。如果要使用日期,则数据需要是具有日期/时间索引的pandas Series。删除np.asarray后尝试,并在创建模型时直接使用df_test['total_consumption']
numpy数组没有任何日期信息,因此日期不能用于指定预测期间。在使用numpy数组的情况下,需要使用通常的numpy整数索引来指定forecast或predict周期。

相关问题