我希望从文件中读取数据(日期和数量列)并将其绘制到带有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),所以也许一个例子会很好。
答案 0 :(得分:0)
首先,我建议使用read_csv方法并在此处解析您的日期:
npm install
您需要使用库中的fit方法,将Quantity列转换为float64,以避免您提到的错误:
series = pd.read_csv('Quantity.csv', header=0, parse_dates=[0])
series.columns = ['Date', 'Quantity']
(如果你不想打印计算的所有细节,则发送= 0)
然后使用以下方法从拟合模型中获得预测值:
model = ARIMA(series['Quantity'].astype(float), order=(2,0,1), dates=series['Date'])