很多小伙伴一个都知道python的应用领域是非常广泛的,特别是在数字建模和统计模型建立方面也有一定的涉及。那么本篇文章就会介绍在python之中如何使用第三方库statsmodels建立ARIMA模型。
1.因为ARIMA模型是处理单变量时间序列上使用最广泛的统计技术之一,需要导入建模、画图、数据计算这个几个包。
from scipy import stats import pandas as pd import matplotlib.pyplot as pltimport
2.创建数据处理对象并进行图像构建,代码如下:
info = pd.read_csv(’data.csv’,index_col=0) info.index = pd.Index(sm.tsa.datetools.dates_from_range('1949', '2008'))
2.数据有向上递增的趋势,进行平稳性检验,示例如下:
sm.tsa.adfuller(info,regression='c')sm.tsa.adfuller(info,regression='nc')sm.tsa.adfuller(data,regression='ct')
3.检验后可得数据的涨幅曲线非常不平稳,做一阶差分处理进一步稳定:
diff=data.diff(1)diff.dropna(inplace=True)diff.plot(figsize=(12,8),marker='o',color='black')
4.数据曲线增长曲率稳定完成后就可以根据先有数据来确定ARIMA的阶数进行模型搭建了,代码如下:
fig = plt.figure(figsize=(12,8)) ax1 = fig.add_subplot(211)
5.模型构建完成后导入参数并进行模型的初次检验,代码如下:
model = ARIMA(data, order=(1, 1, 1)).fit() sm.stats.durbin_watson(model.resid.values)
6.检验无误差就可以正式开始进行统计数据的预测了,需要至少两个参数表示起始时间和结束时间,示例如下所示:
predict = model.predict('2006', '2016', dynamic=True)print(predict) # 输出预测图像及结果 fig, ax = plt.subplots(figsize=(10,8))
以上就是关于“如何在Python中建立一个ARIMA模型?方法步骤看这里”的全部内容了,想要了解更多python的实用知识和代码示例可以在网页顶部栏目中找到python查看更多哦。