[英]Struggling to make a working ARIMA forecast graph with statsmodels
我希望从文件(日期和数量列)中读取数据,并将其绘制到具有ARIMA预测的图形上。
不幸的是,我使用的在线指南运气不佳,而且每个指南都会导致我遇到不同的问题。
这是我的基本代码(它只是在没有预测的情况下绘制数据):
from pandas import Series
from matplotlib import pyplot
from statsmodels.tsa.arima_model import ARIMA
series = Series.from_csv('Quantity.csv',header=0)
model = ARIMA(series, order=(2,0,1))
series.plot()
pyplot.show()
这是我正在使用的数据:
Date Quantity
2010/01/01 1358
2010/07/02 0
2010/08/03 0
2011/02/04 0
2011/11/05 0
2011/12/06 274
2012/06/07 1074
2012/08/30 2223
2013/04/16 0
2013/03/18 1753
2014/02/22 345
2014/01/27 24
2015/12/15 652
2015/09/28 275
2016/05/04 124
2017/11/07 75
2017/09/22 32
2017/04/04 12
那么,如何创建ARIMA预测并将其放到我的切除图上?
另外,我也不是完全确定Python中的ARIMA预测是如何绘制的(我只在R中看到过,但是从我看到的情况来看,对于Python并不相同),所以也许举一个例子对人好点。
首先,建议您使用read_csv方法并在此处解析日期:
series = pd.read_csv('Quantity.csv', header=0, parse_dates=[0])
series.columns = ['Date', 'Quantity']
您需要使用库中的fit方法,将Quantity列转换为float64,以避免出现您提到的错误:
model = ARIMA(series['Quantity'].astype(float), order=(2,0,1), dates=series['Date'])
(如果您不想打印所有计算细节,则disp = 0)
然后,您可以使用以下方法从拟合模型中获得预测值:
fittedModel.forecast(steps=1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.