时间序列模型

2024-05-06 06:19

1. 时间序列模型

众所周知,时间序列的预测是需要假定在时间序列平稳随机过程的基础上,若为非平稳时间序列,容易造成对随机过程的伪回归,得到的回归函数及检验没有可信度, 那么到底什么是平稳时间序列 ? 什么是随机过程(白噪声)? 
  
  时间序列平稳性分为弱平稳和强平稳,弱平稳是序列的均值、标准差、协方差不随时间的变化而发生改变,强平稳则是序列的联合分布函数与时间的位移无关。 
  
 我们预测时间序列一般都用序列本身存在的前后依附关系,这种关系是时间序列预测的基础,我们这里假设本期数值只与前一期相关(与前t期相关的类似),则 平稳性的推导 过程如下
                                          
 所以当r小于1的时候,序列才为平稳序列,也称为随机游走过程,但这个至少均值还为零,是带漂移时间序列的特殊形式,那什么是带漂移序列,带漂移序列就是均值也随着时间t发生改变,即
                                          
 但是也由上图第二个公式可知,一阶差分之后的(上面三角形加Yt)的均值和方差保持不变(因为Ut服从正态分布)
  
 既然我们知道了什么是非平稳时间序列,那我们应该怎么检验呢?
  
 答案是单位根检验
  
  单位根检验由来 
                                          
 ADF检验是单位根检验的一种,也是比较常用的一种检验方法,是DF检验的优化,消除了序列的自相关性,内部使用为t统计量检验过程,若t大于临界值,则不能拒绝原假设r=1,序列非平稳,否则不能拒绝备泽假设,序列为平稳序列。
  
  白噪声 
  
 纯随机过程,是由一个不相关的随机变量的序列构成的,即不存在自相关,协方差=0。对于一个随机过程来讲,如果期望和方差均为常数,则称该过程为白噪声过程。之所以成为白噪声过程是因为它和白光的过程有些相似,白光的光谱在各个频率上有相同的强度,在各个频率上面的值相同。所以白噪声序列一定是平稳的。
  
  问题解答: 
  
 &白噪声和平稳性有什么区别?
  
 这么说吧,白噪声一定是平稳序列,因为方差和均值都不随时间的变化而变化,且不存在自相关,平稳性呢是如果不平稳的话就进行差分,差分的时候是对xt=x(t-1)+u的序列方差和均值,但实际如果一介差分是平稳的话,我们实际用的数据是(xt-x(t-1))的差值这个序列,所以还要对这个序列进行白噪声检验,但也有人说白噪声的意义不大,还有我看一本书上面说,白噪声是检验数据有用的信息有没有被提取完毕,如果是白噪声,说明信息提取完毕,剩下的全是随机扰动,无法预测和使用;另一个版本的解释是,如果通不过白噪声检验就要对其进行自相关和偏自相关模型识别,即ARMA中的q.p,说明白噪声比平稳序列多一个不存在自相关,这个问题我也没找到官方的解答资料  (所以不知道理解的对不对,欢迎大家指正)  
  
 &时间序列本身是与时间相关的,为什么又要求均值和方差与t不相关呢?
  
 可以这么理解,时间序列中的数据点的位置依赖于时间,即数据的取值依赖于时间的变化,但不一定是时间t的严格函数,而且数据点和t相关不代表方差与t相关,因为方差代表了数据在其均值上的离散程度 
   
                                          
 首先,我们看下上面这个回归模型,如果上面的模型合适,则u应该是平稳序列,则y对长期均衡关系的偏离是暂时的,即回归函数为长期均衡关系,相反,如果u为非平稳,则偏离会长时期不会消失,所以上面函数是否有价值,主要看u是否平稳
  
 也许上面的几个解释变量都是非平稳序列,但是他们的线性组合也许是平稳的,这就是协整的理论思想
  
 但是利用协整必须满足几个条件:(直接上图吧)
                                                                                  
  协整检验 
  
 利用残差平稳性检验,第一种是使用上面用到的ADF检验,但需要注意的是,协整检验的临界值不但与漂移项、趋势项有关,还与非平稳变量个数有关。我们一般用第二种DW检验,用协整回归得到的残差构造
                                          
 实际上,多变量时间序列的协整就相当于是做回归,但是要看时序在回归上的可信度,对残差进行检验,判断变量间是否为长期的均衡关系,并且这个地方要注意,使用协整的条件,必须是几个变量为同阶差分。
  
 最后说一个误差修正,因为长期关系的稳定关系一般都建立在短期动态的不断调整下得到并维持的,但由于变量的长期变量相互抵消,所以我们建立的模型看起来依然可信度高。那这个地方我们就要用误差修正模型来调节短期行为
  
  误差修正过程 :
  
 首先建立长期关系模型,并使其得到平稳的残差序列,即模型合理。然后建立短期动态关系,即误差修正方程,将长期关系中的各变量差分之后重新构造,并将长期模型中的残差序列作为解释变量引入,对短期动态关系检验,逐项剔除,直到找到适合的方法为止
  
 理论案例:(直接上图)
  
 
  
                                          
  时间序列模型的建立过程: 
  
 首先,画出散点图观察并进行检验,检验序列是否是平稳序列,不平稳进行差分或者log变换,平稳则进行白噪声检验,没有通过白噪声的情况下就要进行模型识别,AR、MA和ARMA,确定后对模型的随机扰动项u进行检验,是否为白噪声序列,如果不是,则返回到前面,对模型重新识别。

时间序列模型

2. 时间序列模型简介

  目录 
   时间序列是一列观测值  的集合, 其中每个观测值是在时段  观测所得(  是自然数 ). 给定时间序列  , 如果对任意的  , 它满足下列条件:   i.      ii.      iii.      我们把它叫做(弱)平稳(weakly stationary)序列.(下文我们简称平稳序列.)
   通俗地讲,  平稳序列的期望, 方差, 协方差不随时间变化 . 例如,   服从同一个分布时, 它是平稳的.
    例1  下图中的时间序列由  生成. 从直观上看, 这个序列是"平稳的".   
                                           
    例2  下图的中的时间序列由  生成, 其中  ,   . 它起初有明显地增长, 然后趋于平稳. 利用ADF检验(详情见下文), 我们发现该序列是平稳的(p-value < 0.01).   
                                           
    Remark  弱平稳性的"弱"主要体现在时间序列在全局上是平稳的, 即,时间序列局部是波动的,但整体上看是平稳的, 或者随着时间的变化其样本的均值收敛.
   我们用统计学中假设检验的方法来判断样本的平稳性. 常用的是Augmented Dickey-Fuller(ADF)检验  [1]  .
   在显著水平  的条件下, 我们可以通过计算p-value来接受或者拒绝  :
   Python3中 statsmodels.tas.stattools 中的 adfuller 函数  [3]  实现了ADF检验. 使用方法如下所示.
   前面之所以介绍平稳序列的概念及检验方法, 是因为它是很多基础的时间序列模型的前提假设. 在本节我们介绍一些常见的时间序列模型(更多内容可以参考  [4]  ,   [5]  ).
   AR代表自回归(Autoregression). 假设时间序列  是平稳的, 它可以被表示成如下形式:     
   MA代表移动平均(Moving Average). 假设时间序列  是平稳的, 它可以被表示成如下形式:     
   ARMA模型是AR和MA的组合. 假设同上. 它可以被表示为如下形式:     
   ARIMA模型是ARMA模型的推广, 全称是Autoregressive Integrated Moving Average. 当时间序列  不满足平稳性时, 我们通常使用 差分 的技巧把序列变得平稳, 然后再应用ARMA模型.
   参数  代表差分的阶数. 下面是差分的计算公式(  为差分算子):
    例3  下图是原始的时间序列. 通过观察, 它的均值有明显的上升趋势且不收敛, 因此不是平稳序列(ADF检验的p-value为0.94).
                                           对该序列进行一阶差分后, 我们得到如下平稳的时间序列(p-value为0.00).
                                           该记号代表季节性(或周期性)ARIMA模型, 详细的表达式可以参考  [4]  ( 4.1 Seasonal ARIMA models ), 其中
   我们可以把它看成两阶段模型: 第一阶段在全局使用ARIMA(p,d,q); 第二阶段通过指定周期长度  , 再利用ARIMA(P,Q,D)模型考虑周期之间的关系.
    例4  考虑如下周期性的平稳时间序列(  ).
                                           对序列进行周期性差分:   得到新的时间序列  如下图所示(红色部分)
                                           通过使用周期性差分, 我们可以把原有时间序列的周期性移除. 同理, 通过采用周期性的自回归和移动平均系数, 我们可以把周期之间的依赖关系考虑进模型.
    例5  考虑周期s=18的数据(蓝色曲线). 用  和  分别进行预测的结果如下.
                                           不考虑周期性的ARIMA模型的预测结果(灰色曲线)逐渐收敛到时间序列的均值. 由于序列是平稳的, 这样的预测结果符合我们的期望. 考虑到该时间序列有比较强的周期性, 且通过观察发现周期  . 在本例中, 我们仅使用周期差分,  最终得到了如图所示(红色曲线)的周期性预测结果.
   ARCH的全称是Autoregressive Conditionally Heteroscedasticity, 它可以用来考虑样本的方差随着时间变化(或震荡)的时间序列. 设时间序列  是平稳的,   模型可以被表示成如下形式:
        其中     
   GARCH即Generalized ARCH, 是ARCH模型的推广  [6]  . 设时间序列  是平稳的,   模型可以被表示成如下形式:        其中     
    Remark  ARCH/GARCH随机过程产生的数据是什么样的? 前面提到它们允许 样本的方差 随时间变化, 但是由于  必须满足平稳性(前提假设), 因此样本的方差从局部看是变化(震荡)的, 但从整体看应该是"平稳的"序列. 例如下图是一个  过程生成的时间序列(  ).
                                           VAR即Vector Autoregression, 它是多变量的自回归模型. 类似地, 我们有  , 它是  的向量版本. 需要注意的是, VARMA模型处理的时间序列可以有趋势. 我们不做详细的展开, 感兴趣的读者可以参考  [4]   章节11.2: Vector Autoregressive models VAR(p) models .
   给定时间序列的观测样本, 选定预测模型之后如何确定模型的参数? 本节我们介绍两种常用的方法: 1. 画出ACF/PACF图, 然后观察出  的值; 2. 通过计算相关的统计指标, 自动化地选择参数.
   ACF的全称是Autocorrelation Function. 对变量  , ACF的值代表  与  之间的相关性.     
   PACF的全称是Partial Autocorrelation Function. 对变量  , PACF的值代表已知  的条件 下,   与  之间的相关性.     
    例6  设  . 考虑下面三个模型生成的时间序列, 并计算相应的ACF/PACF.
                                                                                                                           基本思想是通过计算一些指标, 并选择参数使得相关的指标值尽可能小. 下面我们介绍一些常用的指标.
   为方便描述, 我们先定义一些记号.
     
   (AIC的改良版, 解决小样本过拟合的问题)     
   (也称为Schwartz Criterion, SBC, SBIC)
     
     
    Remark  建议在实际中综合考虑这些指标.
    Python3 code on Github 

3. 时间序列分析模型——ARIMA模型

姓名:车文扬 学号:16020199006 
    
 【嵌牛导读】:什么是 ARIMA模型 
  
 【嵌牛鼻子】: ARIMA 
  
 【嵌牛提问】: ARIMA模型可以具体应用到什么地方? 
  
 【嵌牛正文】:
  
  一、研究目的 
  
 传统的经济计量方法是以经济理论为基础来描述变量关系的模型。但经济理论通常不足以对变量之间的动态联系提供一个严密的说明,而且内生变量既可以出现在方程的左端又可以出现在方程的右端使得估计和推断变得更加复杂。为了解决这些问题而出现了一种用非结构方法来建立各个变量之间关系的模型,如向量自回归模型(vector autoregression,VAR)和向量误差修正模型(vector error correction model,VEC)。
  
 在经典的回归模型中,主要是 通过回归分析来建立不同变量之间的函数关系(因果关系),以考察事物之间的联系 。本案例要讨论如何 利用时间序列  数据本身建立模型,以研究事物发展自身的规律 ,并据此对事物未来的发展做出预测。研究时间序列数据的意义:在现实中,往往需要研究某个事物其随时间发展变化的规律。这就需要通过研究该事物过去发展的历史记录,以得到其自身发展的规律。在现实中很多问题,如利率波动、收益率变化、反映股市行情的各种指数等通常都可以表达为时间序列数据,通过研究这些数据,发现这些经济变量的变化规律(对于某些变量来说,影响其发展变化的因素太多,或者是主要影响变量的数据难以收集,以至于难以建立回归模型来发现其变化发展规律,此时,时间序列分析模型就显现其优势——因为这类模型不需要建立因果关系模型,仅需要其变量本身的数据就可以建模),这样的一种建模方式就属于时间序列分析的研究范畴。而时间序列分析中,ARIMA模型是最典型最常用的一种模型。
  
 
  
  
  二、ARIMA模型的原理 
  
  1、ARIMA的含义。 ARIMA包含3个部分,即AR、I、MA。AR——表示auto  regression,即自回归模型;I——表示integration,即单整阶数,时间序列模型必须是平稳性序列才能建立计量模型,ARIMA模型作为时间序列模型也不例外,因此首先要对时间序列进行单位根检验,如果是非平稳序列,就要通过差分来转化为平稳序列,经过几次差分转化为平稳序列,就称为几阶单整;MA——表示moving average,即移动平均模型。可见,ARIMA模型实际上是AR模型和MA模型的组合。
  
 ARIMA模型与ARMA模型的区别:ARMA模型是针对平稳时间序列建立的模型。ARIMA模型是针对非平稳时间序列建模。换句话说,非平稳时间序列要建立ARMA模型,首先需要经过差分转化为平稳时间序列,然后建立ARMA模型。
  
  2、ARIMA模型的原理。 正如前面介绍,ARIMA模型实际上是AR模型和MA模型的组合。
  
  AR模型的形式如下: 
  
 
  
  
 其中:参数为常数,是阶自回归模型的系数;为自回归模型滞后阶数;是均值为0,方差为的白噪声序列。模型记做——表示阶自回归模型。
  
  MA模型的形式如下: 
  
 
  
  
 其中:参数为常数;参数是阶移动平均模型的系数;为移动平均模型滞后阶数;是均值为0,方差为的白噪声序列。模型记做——表示阶移动平均模型。
  
  ARIMA模型的形式如下: 
  
 
  
  
 模型记做。为自回归模型滞后阶数,为时间序列单整阶数,为阶移动平均模型滞后阶数。当时,,此时ARIMA模型退化为MA模型;当时,,ARIMA模型退化为AR模型。
  
  3、建立ARIMA模型需要解决的3个问题。 由以上分析可知,建立一个ARIMA模型需要解决以下3个问题:
  
 (1)将非平稳序列转化为平稳序列。
  
 (2)确定模型的形式。即模型属于AR、MA、ARMA中的哪一种。这主要是通过 模型识别 来解决的。
  
 (3)确定变量的滞后阶数。即和的数字。这也是通过 模型识别 完成的。
  
  4、ARIMA模型的识别 
  
 ARIMA模型识别的工具为自相关系数(AC)和偏自相关系数(PAC)。
  
  自相关系数: 时间序列滞后k阶的自相关系数由下式估计:
  
 
  
  
 其中是序列的样本均值,这是相距k期值的相关系数。称为时间序列的自相关系数,自相关系数可以部分的刻画一个随机过程的形式。它表明序列的邻近数据之间存在多大程度的相关性。
  
  偏自相关系数: 偏自相关系数是在给定的条件下,之间的条件相关性。其相关程度用偏自相关系数度量。在k阶滞后下估计偏自相关系数的计算公式为:
  
 
  
  
 其中是在k阶滞后时的自相关系数估计值。称为偏相关是因为它度量了k期间距的相关而不考虑k-1期的相关。如果这种自相关的形式可由滞后小于k阶的自相关表示,那么偏相关在k期滞后下的值趋于0。
  
  识别: 
  
  AR(p)  模型 的自相关系数是随着k的增加而呈现指数衰减或者震荡式的衰减,具体的衰减形式取决于AR(p)模型滞后项的系数;AR(p)模型的偏自相关系数是p阶截尾的。因此可以通过识别AR(p)模型的偏自相关系数的个数来确定AR(p)模型的阶数p。
  
  MA(q)  模型 的自相关系数在q步以后是截尾的。MA(q)模型的偏自相关系数一定呈现出拖尾的衰减形式。
  
  ARMA(p,q)  模型 是AR(p)模型和MA(q)模型的组合模型,因此ARMA(p,q)的自相关系数是AR(p)自相关系数和MA(q)的自相关系数的混合物。当p=0时,它具有截尾性质;当q=0时,它具有拖尾性质;当p,q都不为0,它具有拖尾性质。
  
 通常,ARMA(p,q)过程的偏自相关系数可能在p阶滞后前有几项明显的 尖柱 ,但从p阶滞后项开始逐渐趋于0;而它的自相关系数则是在q阶滞后前有几项明显的 尖柱 ,从q阶滞后项开始逐渐趋于0。
  
  三、数据和变量的选择 
  
 本案例选取我国实际GDP的时间序列建立ARIMA模型,样本区间为1978—2001。数据来源于国家统计局网站上各年的统计年鉴,GDP数据均通过GDP指数换算为以1978年价格计算的值。见表1:
  
 表1:我国1978—2003年GDP(单位:亿元)
  
 年度GDP年度GDP年度GDP
  
 19783605.6198610132.8199446690.7
  
 19794074198711784.7199558510.5
  
 19804551.3198814704199668330.4
  
 19814901.4198916466199774894.2
  
 19825489.2199018319.5199879003.3
  
 19836076.3199121280.4199982673.1
  
 19847164.4199225863.7200089340.9
  
 19858792.1199334500.7200198592.9
  
 
  
  
  四、ARIMA模型的建立步骤 
  
  1、单位根检验,确定单整阶数。 
  
 由单位根检验的案例分析可知,GDP时间序列为2阶单整的。即d=2。通过2次差分,将GDP序列转化为平稳序列 。利用序列来建立ARMA模型。
  
  2、模型识别 
  
 确定模型形式和滞后阶数,通过自相关系数(AC)和偏自相关系数(PAC)来完成识别。
  
 首先将GDP数据输入Eviews软件,查看其二阶差分的AC和PAC。打开GDP序列窗口,点击View按钮,出现下来菜单,选择Correlogram(相关图),如图:
                                          
 打开相关图对话框,选择二阶差分(2nd difference),点击OK,得到序列的AC和PAC。(也可以将GDP序列先进行二阶差分,然后在相关图中选择水平(Level))
  
 
  
                                                                                  
 从图中可以看出,序列的自相关系数(AC)在1阶截尾,偏自相关系数(PAC)在2阶截尾。因此判断模型为ARMA模型,且,。即:
  
 
  
  
  3、建模 
  
 由以上分析可知,建立模型。首先将GDP序列进行二次差分,得到序列。然后在Workfile工作文件簿中新建一个方程对话框,采用 列表法 的方法对方程进行定义。自回归滞后项用ar表示,移动平均项用ma表示。本例中自回归项有两项,因此用ar(1)、ar(2)表示,移动平均项有一项,用ma(1)表示,如图:
                                          
 
  
  
 
  
  
 点击确定,得到模型估计结果:
                                          
 
  
  
 
  
  
 从拟合优度看,,模型拟合效果较好,DW统计量为2.43,各变量t统计量也通过显著性检验,模型较为理想。对残差进行检验,也是平稳的,因此判断模型建立正确。

时间序列分析模型——ARIMA模型

4. 三种时间序列模型

(1)如果除a0=1外所有其它的AR系数都等于零,则式(1-124)成为

地球物理信息处理基础

这种模型称为q阶滑动平均模型或简称为MA(q)模型(Moving Average Model),其系统函数(传输函数)为

地球物理信息处理基础

模型输出功率谱为

地球物理信息处理基础

或

地球物理信息处理基础

这是一个全零点模型,因为它只有零点,没有极点(除了原点以外)。如果模型的全部零点都在单位圆内,则是一个最小相位系统,且模型是可逆的。
(2)如果除b0=1外所有其它的MA系数都等于零,则式(1-124)成为

地球物理信息处理基础

这种模型称为p阶自回归模型或简称为AR(p)模型(Autoregressive Model),其传输函数为

地球物理信息处理基础

模型输出功率谱为

地球物理信息处理基础

或

地球物理信息处理基础

显然,该模型只有极点,没有零点(除了原点以外),因此这是一个全极点模型,而且只有当极点都在单位圆内时,模型才稳定。
(3)设a0=1和b0=1,其余所有的ak和bk不全为零。在这种情况下,模型的差分方程、系统函数和输出功率谱分别用式(1-124)、式(1-123)和式(1-125)或式(1-126)表示。分子部分称为MA部分,而分母部分称为AR部分,这两部分分别满足稳定性和可逆性的条件。这是一个“极点—零点”模型,称为自回归滑动平均模型ARMA(p,q)模型(Autore-gressive Moving Average Model)。
在上面已谈到,实际中所遇到的功率谱可分为三种:一种是“平谱”,即白噪声谱,第二种是“线谱”,即由一个或多个正弦信号所组成的信号的功率谱,第三种介于二者之间,即既有峰点又有谷点的谱,这种谱称为ARMA谱。可以看出,AR模型能突出反映谱的峰值,而MA模型能突出反映谱的谷值。
沃尔德(Wold)分解定理阐明了上述三类模型之间的联系,即:任何广义平稳随机过程都可分解成一个可预测(确定)的部分和一个不可预测(完全随机)的部分。确定性随机过程是一个可以根据其过去的无限个取样值完全加以预测的随机过程。例如,一个由纯正弦信号(具有随机相位以保证广义平稳)和白噪声组成的随机过程,可以分解成一个纯随机成分(白噪声)和一个确定性成分(正弦信号)。或者可以把这种分解看成为把功率谱分解成一个表示白噪声的连续成分和一个表示正弦信号的离散成分(具有冲激信号的形式)。
Wold分解定理的一个推论是:如果功率谱完全是连续的,那么任何ARMA过程(Au-toregressive Moving Average Process)或AR过程(Autoregressive Process)可以用一个无限阶的MA过程(Moving Average Process)表示。Колмогоров(Kolmogorov)提出的一个具有类似结论的定理:任何ARMA或MA过程可以用一个无限阶的AR过程表示。这些定理很重要,因为如果选择了一个不合适的模型,但只要模型的阶数足够高,它仍然能够比较好地逼近被建模的随机过程。
估计ARMA或MA模型参数一般需要解一组非线性方程,而估计AR模型参数通常只需解一组线性方程,因此,AR模型得到了深入的研究和广泛应用。如果被估计过程是p阶自回归过程,那么用AR(p)模型即能很精确地模拟它;如果被估计过程是ARMA或MA过程,或者是高于p阶的AR过程,那么用AR(p)模型作为它们的模型时,虽然不可能很精确,但却可以尽可能地逼近它,关键是要选择足够高的阶数。证明如下:
假设MA模型为

地球物理信息处理基础

对上式进行Z变换得到
X(z)=B(z)W(z)
式中B(z)是MA信号模型的系统函数,或者说是bi(i=1,2,3,…)序列的Z变换。
设MA信号模型满足可逆性条件,即B-1(z)的存在,令
B-1(z)=G(z)=1+g1z-1+g2z-2+g3z-3+…
这样
X(z)G(z)=(1+g1z-1+g2z-2+g3z-3+…)X(z)=W(z)
则

地球物理信息处理基础

对上式进行Z反变换,得到
x(n)+g1x(n-1)+g2x(n-2)+g3x(n-3)+…=w(n)
上式就是x(n)的AR信号模型,因此证明了一个时间序列可以用有限阶MA信号模型表示时,也可以用无限阶的AR模型表示,对于ARMA模型也同样可以证明。
[例1-2]已知x(n)的功率谱为

地球物理信息处理基础

求出该模型的系统函数H(z)。
解:利用欧拉公式可以将Pxx(ejω)变为

地球物理信息处理基础

取z=ejω,则上式变为

地球物理信息处理基础

令  ,那么,  ,显然有理多项式B(z)的分子、分母都是最小相位的。所以有

地球物理信息处理基础

与式(1-120)相比较,得  。又由式(1-125)得到所求的系统函数

地球物理信息处理基础

5. 时间序列-ARIMA

 1、自回归模型(AR)   描述当前值与历史值之间的关系,用变量自身的历史时间数据对自身进行预测   自回归模型必须满足 平稳性 的要求   
                                                                                                                                                                                                           
   8、如何确定模型和p,d,q
                                           注:可能不止一组p,q   9、ARIMA建模流程   1)将序列平稳(差分法确定d)   2)p和q阶数确定(ACF与PACF)   3)ARIMA(p,d,q)   10、模型选择AIC与BIC:选择更简单的模型
                                           1)ARIMA模型的残差是否是平均值为0且方差为常数的正态分布   2)QQ图:线性即正态分布

时间序列-ARIMA

6. 数据分析技术:时间序列分析的AR/MA/ARMA/ARIMA模型体系

前面草堂君已经按照时间序列分析的教学顺序推送了以下文章,大家可以直接点击下方文章名称阅读回顾:
  
 在以上这些文章中,介绍了什么是时间序列以及时间序列分析的作用、时间序列的描述、时间序列的变动成分组成、如何用指数平滑模型分析带有长期趋势和季节变动两种变动成分的时间序列。可惜的是,事实总比想象来得复杂,很多时间序列的变动成分组成并不能直接通过时间序列图看出来,这个时候,通过时间序列分解的方法分析时间序列就不太合适了,而且准确性也会大打折扣。
  
 因为传统时间序列分析技术(时间序列分解法)的缺陷,所以统计学家开发出更为通用的时间序列分析方法,其中AR/MA/ARMA/ARIMA在这个发展过程中扮演了非常重要的角色,直到现在,它们都在实际工作生活中发挥重要作用。这四种分析方法的共同特点都是跳出变动成分的分析角度,从时间序列本身出发,力求得出前期数据与后期数据的量化关系,从而建立前期数据为自变量,后期数据为因变量的模型,达到预测的目的。来个通俗的比喻,大前天的你、前天的你、昨天的你造就了今天的你。
  
 虽然AR/MA/ARMA/ARIMA是四种可以独立使用的分析方法,但是它们其实是互补的关系,适用于包含不同变动成分的时间序列。由于这四种分析方法涉及的原理解释起来需要大量篇幅,所以草堂君在这里做通俗介绍。
  
   
  
 通俗介绍四种时间序列分析法之前,需要先回顾前面介绍的一个知识点,平稳时间序列和非平稳时间序列,AR/MA/ARMA用于分析平稳时间序列,ARIMA通过差分可以用于处理非平稳时间序列。平稳时间序列和非平稳时间序列如下面两幅图所示:
                                          
 一般具有长期趋势的时间序列都是非平稳时间序列。根据趋势的不同,可以使用差分将具有长期趋势的时间序列转换成平稳时间序列。例如,线性增长的长期趋势,可以通过一阶差分形成新的平稳的(消除长期趋势)时间序列:
                                          
 例如,时间序列的数值为线性增长的(1,2,3,4,5,6,7,8),经过一阶差分以后,新的时间序列的数值为(1,1,1,1,1,1,1),就成为稳定的时间序列了。
  
 根据长期趋势的发展趋势不同,可以进行差分的次数和方法也不相同,一般的规律如下:
  
   
  
 这四种模型的名称都是它们英文全称的缩写。AR模型称为自回归模型(Auto Regressive model);MA模型称为移动平均模型(Moving Average model);ARMA称为自回归移动平均模型(Auto Regressive and Moving Average model);ARIMA模型称为差分自回归移动平均模型。
  
   
  
 如果某个时间序列的任意数值可以表示成下面的回归方程,那么该时间序列服从p阶的自回归过程,可以表示为AR(p):
                                          
 可以发现,AR模型利用前期数值与后期数值的相关关系(自相关),建立包含前期数值和后期数值的回归方程,达到预测的目的,因此成为自回归过程。这里需要解释白噪声,大家可以将白噪声理解成时间序列数值的随机波动,这些随机波动的总和会等于0,例如前面统计基础文章中介绍的,某条饼干的自动化生产线,要求每包饼干为500克,但是生产出来的饼干产品由于随机因素的影响,不可能精确的等于500克,而是会在500克上下波动,这些波动的总和将会等于互相抵消等于0。
  
   
  
 如果某个时间序列的任意数值可以表示成下面的回归方程,那么该时间序列服从q阶的移动平均过程,可以表示为MA(q):
                                          
 可以发现,某个时间点的指标数值等于白噪声序列的加权和,如果回归方程中,白噪声只有两项,那么该移动平均过程为2阶移动平均过程MA(2)。比较自回归过程和移动平均过程可知,移动平均过程其实可以作为自回归过程的补充,解决自回归方差中白噪声的求解问题,两者的组合就成为自回归移动平均过程,称为ARMA模型。
  
   
  
 自回归移动平均模型由两部分组成:自回归部分和移动平均部分,因此包含两个阶数,可以表示为ARMA(p,q),p是自回归阶数,q为移动平均阶数,回归方程表示为:
                                          
 从回归方程可知,自回归移动平均模型综合了AR和MA两个模型的优势,在ARMA模型中,自回归过程负责量化当前数据与前期数据之间的关系,移动平均过程负责解决随机变动项的求解问题,因此,该模型更为有效和常用。
  
   
  
 介绍时间序列平稳性时提到过,AR/MA/ARMA模型适用于平稳时间序列的分析,当时间序列存在上升或下降趋势时,这些模型的分析效果就大打折扣了,这时差分自回归移动平均模型也就应运而生。ARIMA模型能够用于齐次非平稳时间序列的分析,这里的齐次指的是原本不平稳的时间序列经过d次差分后成为平稳时间序列。
  
 在现实生活中,存在很多非平稳的时间序列,它们的均值和方差是随着时间的变化而变化的,幸运的是,统计学家们发现,很多时间序列本身虽然不平稳,但是经过差分(相邻时间点的指标数值相减)之后,形成的新时间序列就变成平稳时间序列了。因此,差分自回归移动平均模型写成ARIMA(p,d,q)。p代表自回归阶数;d代表差分次数;q代表移动平均阶数。在spss软件中,有时输出的ARIMA模型包括6个参数:ARIMA(p,d,q)(P,D,Q),这是因为如果时间序列中包含季节变动成分的话,需要首先将季节变动分解出来,然后再分别分析移除季节变动后的时间序列和季节变动本身。这里小写的p,d,q描述的是移除季节变动成分后的时间序列;大写的P,D,Q描述的是季节变动成分。两个部分是相乘的关系。因此,ARIMA(p,d,q)(P,D,Q)也被称为复合季节模型。
  
   
  
 时间序列分析的文章更新到这里,总共介绍了两个时间序列分析的体系:时间序列分解模型体系和AR/MA/ARMA/ARIMA模型体系。两者的分析原理是不同的,时间序列分解是力求将时间序列分解成不同的变动成分,分析每种变动成分的规律,然后在综合各种成分的规律用于预测;AR/MA/ARMA/ARIMA模型体系是从时间序列数值本身的相关关系出发,将移动平均技术、相关分析技术和平稳技术(差分)等纳入模型,力求建立时间序列数值之间的回归方程,从而达到预测的目的。
  
 下篇推送将重点介绍ARIMA模型的分析原理:包括如何确定p,d,q参数;如何判断模型的拟合效果;如何利用SPSS做时间序列的ARIMA模型分析。

7. 时间序列模型的简介

时间序列分析是根据系统观测得到的时间序列数据,通过曲线拟合和参数估计来建立数学模型的理论和方法。它一般采用曲线拟合和参数估计方法(如非线性最小二乘法)进行。时间序列分析常用在国民经济宏观控制、区域综合发展规划、企业经营管理、市场潜量预测、气象预报、水文预报、地震前兆预报、农作物病虫灾害预报、环境污染控制、生态平衡、天文学和海洋学等方面。

时间序列模型的简介

8. 时间序列模型的种类

 ARMA模型的全称是自回归移动平均(auto regression moving average)模型,它是目前最常用的拟合平稳序列的模型,它又可细分为AR模型(auto regression model)、MA模型(moving average model)和ARMA模型(auto regression moving average model)三大类。具有如下结构的模型称为 阶自回归模型,简记为:如果一个系统在某时刻的响应与其以前的响应无关,而与其以前进入系统的扰动存在一定的相关关系,这一类系统则称之为移动平均MA系统。这是因为是由一系列的及其滞后项的加权和构造而成。这里的“移动”指的变化,而“平均”指加权和。一般移动平均模型由部分构成,形成如下:为了分析的方便将其表述为与系统因素的延迟项一致,即将模型中各加号改为减号有:用滞后因子表示为:把具有如下结构的模型称为自回归移动平均模型,简记为:引进延迟算子,模型简记为:式中:,为阶自回归系数多项式。,为阶移动平均系数多项式。限制条件条件一:这个限制条件保证了模型的最高阶数。条件二:这个限制条件实际上是要求随机干扰序列 为零均值白噪声序列。条件三:这个限制条件说明当期的随机干扰与过去的序列值无关。 ARIMA模型又称自回归求和移动平均模型,当时间序列本身不是平稳的时候,如果它的增量,即的一次差分,稳定在零点附近,可以将看成是平稳序列。在实际的问题中,所遇到的多数非平稳序列可以通过一次或多次差分后成为平稳时间序列,则可以建立模型:这说明任何非平稳序列只要通过适当阶数的差分运算实现差分后平稳,就可以对差分后序列进行ARIMA模型拟合了。模型是指阶差分后自相关最高阶数为,移动平均最高阶数为的模型,通常它包含个独立的未知系数:。它可以用最小均方误差原则实现预测:用历史观察值的线性函数表示为:式中,的值由下列等式确定:如果把记为广义自相关函数,有容易验证的值满足如下递推公式:那么,的真实值为:由于的不可获取性,所以的估计值只能为:真实值与预测值之间的均方误差为:要使均方误差最小,当且仅当,所以在均方误差最小原则下,期预报值为:预测误差为:真实值等于预测值加上预测误差:其中,预测误差的均值和方差分别为: