如何解决有什么方法可以在python中使用ARIMA模型预测时间序列数据?
我尝试使用ARIMA模型预测target_price_index
,这是预测时间序列的不错选择。我的数据是每月的时间序列,我想根据数据预测target_price_index
。我曾与scikit-learn一起用于预测任务,但对在时间序列上使用ARIMA
模型的了解不多。为此,我尝试如下:
我的尝试
这是我使用的example data和reproducible 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,仍然无法正确预测我的时间序列数据。有人有可能的想法吗?谢谢!
解决方法
我发现代码有几个问题:
-
csv文件使用制表符作为分隔符:df = pd.read_csv(“ finaldf.csv”,sep ='\ t')
-
实例化ARIMA模型时,第一个参数应为目标:model = ARIMA(df.target_prc_index,order =(5,1,0))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。