我尝试使用ARIMA模型预测target_price_index
,这是预测时间序列的一个很好的选择。我的数据是每月的时间序列,我想从数据中预测target_price_index
。我曾使用scikit-learn进行预测任务,但对在时间序列上使用ARIMA
模型知之甚少。为此,我尝试如下:
我的尝试
这是我在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
中尝试了这篇文章,但仍然无法正确预测我的时间序列数据。有人有可能的想法吗?谢谢
我发现代码有几个问题:
-
csv文件使用制表符作为分隔符:
df = pd.read_csv("finaldf.csv",sep='t')
-
当您实例化ARIMA模型时,第一个参数应该是您的目标:
model = ARIMA(df.target_prc_index,order=(5,1,0))