python - 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()
这是我目前得到的:
解决方案
推荐阅读
- python - 一组开关和灯的最大流量
- protractor - 改变
量角器中的值 - selenium - 如何获得在其上执行 selenium 脚本的应用程序的代码覆盖率?
- php - 加载数据文件的无缓冲查询错误
- node.js - 使用 fluent-ffmpeg 时出现间歇性像素格式错误
- dart - Flutter StreamBuilder 类型为超类
- php - 我无法更改 plesk 中的 php 设置
- asp.net-core - Ajax 发布到 ASP .NET 2.2 Razor 页面出现 404 错误
- python-3.x - 如果该行是由变量设置的,有没有办法从文本小部件中获取一行文本?
- java - 即使满足两个输出的标准,您如何确保只使用一个输出?