Python时间序列处理之ARIMA模型的使用讲解-创新互联
ARIMA模型
十载的观山湖网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整观山湖建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“观山湖网站设计”,“观山湖网站推广”以来,每个客户项目都认真落实执行。ARIMA模型的全称是自回归移动平均模型,是用来预测时间序列的一种常用的统计模型,一般记作ARIMA(p,d,q)。
ARIMA的适应情况
ARIMA模型相对来说比较简单易用。在应用ARIMA模型时,要保证以下几点:
- 时间序列数据是相对稳定的,总体基本不存在一定的上升或者下降趋势,如果不稳定可以通过差分的方式来使其变稳定。
- 非线性关系处理不好,只能处理线性关系
判断时序数据稳定
基本判断方法:稳定的数据,总体上是没有上升和下降的趋势的,是没有周期性的,方差趋向于一个稳定的值。
ARIMA数学表达
ARIMA(p,d,q),其中p是数据本身的滞后数,是AR模型即自回归模型中的参数。d是时间序列数据需要几次差分才能得到稳定的数据。q是预测误差的滞后数,是MA模型即滑动平均模型中的参数。
a) p参数与AR模型
AR模型描述的是当前值与历史值之间的关系,滞后p阶的AR模型可以表示为:
其中u是常数,et代表误差。
b) q参数与MA模型
MA模型描述的是当前值与自回归部分的误差累计的关系,滞后q阶的MA模型可以表示为:
其中u是常数,et代表误差。
c) d参数与差分
一阶差分:
二阶差分:
d) ARIMA = AR+MA
ARIMA模型使用步骤
- 获取时间序列数据
- 观测数据是否为平稳的,否则进行差分,化为平稳的时序数据,确定d
- 通过观察自相关系数ACF与偏自相关系数PACF确定q和p
- 得到p,d,q后使用ARIMA(p,d,q)进行训练预测
Python调用ARIMA
#差分处理 diff_series = diff_series.diff(1)#一阶 diff_series2 = diff_series.diff(1)#二阶 #ACF与PACF #从scipy导入包 from scipy import stats import statsmodels.api as sm #画出acf和pacf sm.graphics.tsa.plot_acf(diff_series) sm.graphics.tsa.plot_pacf(diff_series) #arima模型 from statsmodels.tsa.arima_model import ARIMA model = ARIMA(train_data,order=(p,d,q),freq='')#freq是频率,根据数据填写 arima = model.fit()#训练 print(arima) pred = arima.predict(start='',end='')#预测
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:Python时间序列处理之ARIMA模型的使用讲解-创新互联
当前URL:http://cdiso.cn/article/dsgopo.html