首页 > 解决方案 > Python 时间序列预测平线

问题描述

我正在尝试使用 ARIMA 模型预测传统和有机鳄梨的价格,但它显示的预测是一条平线。我使用 2015 年 1 月至 2018 年 3 月的历史数据进行预测,并使用最低 AIC 值来拟合模型。在我重新设置常规鳄梨的索引后,只有 169 个样本。我不确定哪里出错了。任何建议都非常感谢。

org = avo[avo['type']== "organic"]
con = avo[avo['type']== "conventional"]

con_avo = con.groupby('Date'['AveragePrice'].mean().reset_index()
con_avo = con_avo.set_index(pd.DatetimeIndex(con_avo['Date']))

org_avo = org.groupby('Date')['AveragePrice'].mean().reset_index()
org_avo = org_avo.set_index(pd.DatetimeIndex(org_avo['Date']))

mod = sm.tsa.statespace.SARIMAX(y,
                            order=(0, 1, 0),
                            seasonal_order=(0, 0, 0, 12),
                            enforce_stationarity=False,
                            enforce_invertibility=False)
con_results = mod.fit()

y = con_avo['AveragePrice']
forecast = con_results.get_forecast(steps=100)
pred_ci = forecast.conf_int()
ax = y.plot(label='Observed', figsize=(14, 7))
forecast.predicted_mean.plot(ax=ax, 
label='Forecast')
ax.fill_between(pred_ci.index,
            pred_ci.iloc[:, 0],
            pred_ci.iloc[:, 1], color='k',alpha=.25)
ax.set_xlabel('Date')
ax.set_ylabel('Average Price')
plt.legend()
plt.show()

这是我目前得到的:

传统鳄梨平均价格预测

标签: pythontime-seriesarima

解决方案


推荐阅读