基于ARMA时间序列理论的建模及应用

2022-11-10 版权声明 我要投稿

时间序列是随时间顺序排列且相互关联及变化的数据序列。其主要模型有:AR模型、MA模型、ARMA模型。通常人们通过对历史数据的分析找出其变化规律并将其应用于气象预报、金融市场、股票市场、等众多领域。本文主要通过对江苏省泰州市近十几年的月均气温数据分析、建模、预测,从而对来年各方面决策提供有力参考价值。

1 ARMA模型概述及建立

ARMA模型又称自回归移动平均模型。其一般表达式为:用Bk表示k步线性推移算子,即,c为常数,并令则可简记为:即p阶自回归—q阶滑动平均混合模型ARMA(p,q)模型。当p=0时,为纯滑动平均模型,即MA(q)模型;当q=0时,为纯自回归模型,即AR(p)模型;当p=q=0时,xt=at,其中{xt}为白噪声。

为了建立模型首先必须确定模型的阶数,而通常我们拿到的数据时非平稳的带有线性趋势或周期性变化的时间序列,对此应当先做数据处理,即数据平稳化,一般通过对数据做一阶或二阶差分。本文所用数据(来源于江苏省统计年鉴)属于周期性变化时间序列,即如图1所示。

所以我先对原始数据取自然对数,如图2所示。然后再做一阶差分,这样就得到了相对平稳的时间序列,如图3所示。

通过观察我们可以初步认为已经对原始数据进行训练,并得到了相对平稳的时间序列。MATLAB实现程序如下:

其次,模型类别的确定,一般我们进行相关性分析。通过计算序列的自相关函数和偏相关函数,并由他们的截尾性和拖尾性进行模型类别的初步判断。本文时间序列的偏自相关性分析如图4所示。

由图可初步确定模型为ARMA模型。

MATLAB实现程序如下:

最后,确定ARMA(p,q)模型阶数p,q时,有许多定阶准则,如AIC准则、Box-Jenkins方法、BIC准则等。限于篇幅,我只介绍本文所使用的AIC准则:其中S是模型的未知参数的总数,是用某种方法得到的方差σ2的估计,N为样本大小

AIC定阶准则是指在p,q的一定范围内,找出使AIC(S)最小的作为(p,q)的估计值。AR(p)模型:模型:

MATLAB实现程序如下:

2 模型参数估计

在阶数确定后,进行模型参数估计。常用的三种基本方法有:矩估计法、逆函数估计法、和最小二乘估计法,需要说明的是白噪声方差也是一个模型参数。限于篇幅这里不做详细介绍。通过MATLAB函数调用实现程序如下:spec2=garchset('R',p,'M',q,'Display','off');%指定模型结构

[coeff X,errors X,LLFX,lnnovations,Sigmas]=garchfit(spec2,w)%拟合参数

3 模型检验

对于样本数据1x,L,xN,通过数据相关分析和AIC定阶准则确定模型及模型参数,然后运用最小二乘估计法或矩估计法确定模型参数,从而建立ARMA(p,q)模型拟合序列进行预测。然而通常判断一个模型的好坏可以通过数学方法来检验也可以通过实际效果来检验,在这里本文选择用实际效果来说明该模型的优劣程度。这里我们通过用原始数据前12组来预测最后一组数据来检验我们模型的优劣结果如图5所示。

可以看出该模型的预测效果相当好。MALAB实现程序如下:

4 结果显示

5 结语

在对时间序列建模预测时数据的训练非常之重要,有时侯时间序列中可能有随机干扰项也可能存在部分异常数据点,这就需要我们对数据做进一步挖掘和处理,同时通过MATLAB这个功能强大的数学软件,我们可以对部分函数直接调用,这在很大程度上降低了模型实现的难度。

摘要:介绍一种精度较高的时间序列短期预测方法,即带有周期性的ARMA模型。通过该数学模型的分析与研究,对时间序列整个变化的规律性做出近似描述,更准确的认识与了解到时间序列的结构与特征,进而达到最小方差意义下的最优预测。

关键词:ARMA模型,时间序列,MATLAB

参考文献

[1] 潘红宇.时间序列分析[M].北京:对外经济贸易大学出版社,2005.

[2] 许波,刘征.MATLAB工程数学应用[M].北京:清华大学出版社,2000.

[3] 王海燕,卢山.非线性时间序列分析及其应用[M].科学出版社,2006.

[4] http://www.jssb.gov.cn/jstj/tjsj/tjnj[EB/OL].

上一篇:物理化学实验的教学改革与实践下一篇:学习思考实践——有关习作教学的几点感想