arima模型python实现_Python如何进行Arima建模

# pip install pmdarima

from pmdarima.arima import auto_arima

import pandas as pd

#1.然后,输入数据,可根据实际情况读取数据文件
data=pd.DataFrame({'gdp':[1.21,1.34,1.47,1.66,1.96,2.29,2.75,3.55,4.59,5.1,6.09,7.55,8.53,9.57,10.44,11.02,11.14,12.14,13.61],
'year':[2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018]})
data=data.set_index('year')
print("查看数据data:",data)

#2.对数据进行分割,按照7:3的比例分割训练集和测试集
train=data[:int(0.7*len(data))]
print("训练集",train)
test=data[int(0.7*len(data)):]
print("测试集",test)

#3.绘图查看训练集合测试集
import matplotlib.pyplot as plt
train.plot()
plt.title('train')
test.plot()
plt.title('test')
plt.show()
# 使用前7成数据创建模型,对训练集数据进行模型训练。
model=auto_arima(train,trace=True,error_action="ignore",suppress_warnings=True)
model.fit(train)
# 代码中trace表示是否显示尝试过的模型,这些选择TRUE,可以看到auto_arima的自动定阶过程。
# 结果中根据自动比较,找到AIC最小时对应的ARIMA(p,d,q)参数值,这里得到的结果是ARIMA(2,2,1)。如图所示


# 5.利用刚才建立的ARIMA(2,2,1)模型,对测试集数据进行预测。
gdp_pre=model.predict(n_periods=len(test))
gdp_pre=pd.DataFrame(gdp_pre,index=test.index,columns=["Prediction"])
print("forecast:",gdp_pre)
#绘制拟合曲线
plt.plot(train,label="模型数据")
plt.plot(test,label="测试数据")
plt.plot(gdp_pre,label="预测数据")
plt.legend()
plt.show()
# 从拟合图可以看出,Arima模型对短期的预测能力较好,但是在较远的时期则具有一定偏差。


# 6.评价模型,计算均方根误差。
from math import sqrt
from sklearn.metrics import mean_squared_error
rms=sqrt(mean_squared_error(test,gdp_pre))
print("均方根误差rms:",rms)
# 根据结果可知,本次建模的均方根误差为3

  • 3
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
ARIMA模型,也即自回归移动平均模型,是一种用来预测时间序列数据的统计学模型Python可以通过statsmodels库实现ARIMA模型预测,以下是实现步骤: 第一步是导入相关库,包括pandas、matplotlib、statsmodels、numpy和datetime等库。pandas库用于时间序列数据处理,matplotlib库可以绘图展示预测结果,statsmodels库是ARIMA模型实现工具,numpy库主要用于数组操作,datetime库用于处理日期时间数据。 第二步是读入数据,使用pandas库从文件或数据库中读取数据,并将其转换为时间序列数据。 第三步是检查时间序列数据的稳定性,ARIMA模型需要对稳定的时间序列进行建模,如果数据不稳定则需要进行处理。检查时间序列稳定性有多种方法,包括ADF检验、KPSS检验以及样本自协方差和自相关函数等方法。 第四步是选择合适的ARIMA模型,通过观察时间序列数据的自相关和偏自相关函数图,可以选择ARIMA模型的参数p、d和q。其中,p表示自回归项数,d表示差分阶数,q表示移动平均项数。 第五步是模型拟合,使用statsmodels库的ARIMA函数进行模型拟合,得到模型的系数。 第六步是模型预测,使用拟合好的ARIMA模型对未来时间序列数据进行预测,并进行可视化展示。 通过以上步骤,就可以使用Python实现ARIMA模型预测。在实际应用中,可以根据需要对模型进行调整和优化,提高预测精度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值