有什么方法可以在python中使用ARIMA模型预测时间序列数据?

问题描述

我尝试使用ARIMA模型预测target_price_index,这是预测时间序列的不错选择。我的数据是每月的时间序列,我想根据数据预测target_price_index。我曾与scikit-learn一起用于预测任务,但对在时间序列上使用ARIMA模型的了解不多。为此,我尝试如下:

我的尝试

这是我使用的example datareproducible time series data on gist

的可再现时间序列数据
from statsmodels.tsa.arima_model import ARIMA
from matplotlib import pyplot
import pandas as pd

df = pd.read_csv("finaldf.csv",sep="\t")
model = ARIMA(df['target_price_index'],order=(5,1,0))
model_fit = model.fit(disp=0)
print(model_fit.summary())
# plot residual errors
residuals = DataFrame(model_fit.resid)
residuals.plot()
pyplot.show()
residuals.plot(kind='kde')
pyplot.show()
print(residuals.describe())

,但是上述尝试的输出并不令人满意,因为我看不到对时间序列数据进行预测的任何好处。谁能指出我有没有有效的管道或分析方法来获得有意义的预测结果?有什么建议吗?有什么想法吗?谢谢!

我还尝试了SO中的this post,仍然无法正确预测我的时间序列数据。有人有可能的想法吗?谢谢!

解决方法

我发现代码有几个问题:

  1. csv文件使用制表符作为分隔符:df = pd.read_csv(“ finaldf.csv”,sep ='\ t')

  2. 实例化ARIMA模型时,第一个参数应为目标:model = ARIMA(df.target_prc_index,order =(5,1,0))

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...