AR模型的介绍

2024-05-20

1. AR模型的介绍

AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增加有效数据,只是AR模型是由N点递推,而插值是由两点(或少数几点)去推导多点,所以AR模型要比插值方法效果更好。

AR模型的介绍

2. 理解 AR 和 MA 模型

最近在搞一点预测技术,用过去的数据,预测将来的数据。
  
 比如说,在过去一周中,从周一到周日,武大郎卖的炊饼数是 20,20,20,20,20,20,20,那么下一周他每天能卖出多少?他必须预测出来,不然潘金莲的炊饼做多了,做少了,都要亏钱的。
  
 大朗的炊饼好预测,看起来很简单。但西门大官然的店铺好多,要预测清楚,就不容易了。
  
 我挑了不少方法,最终决定用 XGBoost,因为要考虑刮风下雨,还有大宋国假期这些因素的影响。
  
 在此之前,我还是花了不少时间在 ARIMA 上。 毕竟,炊饼经营,是时序数据,ARIMA 对付稳定的时序数据,那是最擅长的。
  
 研究 ARIMA,少不了要确定 p 和 q,要看 ACF 和 PACF 的截尾和拖尾。但各种各样的网文教程,包括大学教材,都是干巴巴的公式,就是不给个例子。
  
 我甚为怀疑,好多写教材的,自己未必真搞懂了。
  
 越看越晕。后来,看英文资料,才明白过来。老外真是太闲,也有耐心,每一个细节都写的明明白白,仿佛在教小学生。
  
 先说 AR 模型,即自回归模型。即算一个函数,让每一个观察量(就是大郎每天卖的炊饼数)都依赖过去的量。比如上面武大郎的那个 20、20、20,就可以设计出一个函数,即,今天的炊饼量等于昨天的炊饼量。一般的公式为:
  
   
  
 这是 1 阶,即 AR(1) 的公式。 看看,   和    之间相关性是个    。
  
 而 AR(2) 则为:  
  
 举个例子,  ,用 statsmodels.tsa.arima_process 模拟一个符合 AR(1) 的时序数据。画出图来:
                                          
 要注意的是,只有    是我们指定的,而    和    则是 arima_process 随机给出的,   是一个固定值,而   则是每次都随机。
  
 可以猜到,   对      的相关性为 0.9, 而    对   的相关性是   ,对  的相关性,则为   。这种相关性,会一直延续下去,传递下去。所以,自相关 ACF 图为:
                                          
 看,一个漂亮的拖尾,拖的又长又整齐。
  
 那么,这个 AR(1) 的偏自相关应该是什么? 这是一个让初学者晕的概念。
  
 做个比喻吧。 小明、小明爸爸、小明爷爷,列祖列宗,构成一个 AR(1),记住,他们万万不可构成 AR(2)。所以,他们的DNA 就一代代往下传,小明和小明爸爸的自相关性是 1/2, 小明爷爷和小明爸爸的相关性是 1/2,而小明和小明爷爷的相关性是 1/4。
  
 但小明与爷爷的偏自相关呢?太遗憾了,只能是零。 在这里脑袋里要拧个弯,把小明爸爸的影响去除掉,即小明爸爸给小明的那1/2基因去除掉,那小明和爷爷的偏自相关,就是零了。
  
 如果不是零,那就坏了。 
  
 但小明和爸爸,爸爸和爷爷的偏自相关,其实就是他们之间的自相关,都是 1/2。
  
 所以,上面这个    的偏自相关图 PACF 是:
                                          
 看,多么经典的截尾,第一阶截断,如悬崖般。 
  
 如果是 RA(2),那么就会在第二阶截断。但是,上面那个比喻就进入一个非常艰难、难以理解的境地。
  
 我们必须假设,小明的DNA有 1/2 来自爸爸,还有1/4 是直接来自爷爷。打字打到这里,有点受不了。注意,1/4是直接来自,即爷爷既是爷爷,也是爸爸。
  
 好了,就当科幻来看吧。
  
 下面来说 MA,即移动平均模型,第一个注意,此处的“移动平均模型”,不是计算 “移动平均值” 那么简单。
  
 想象一个时间序列,互相之间,毫无关系。举个例子,三体世界,他们的天气每天都是跌宕起伏的,压根没有地球上的四季分明。三体上,第一天是40度,很热,但还能喘气。第二天就是零下200度,全部冻死。 第三天呢? 春暖花开23度,第四天就是3000度炼钢厂,行星成液体。
  
 总之,每一天都是随机数。天与天之间毫无规律,没有关系。
  
 咋办? 怎么预测明天的温度? 怎么决定明天是继续活着,还是赶紧阴干成皮?
  
 没办法,只能搞个大概的移动平均,比如,把过去10 天的天气加总,然后除以 10。
  
 这个三体天气,就是一个纯粹的 MA (10) 模型。
  
 MA 的一般公式是:  
  
 注意观察,   和    没有直接关系了,不是 AR 了,而是通过移动平均    值才产生关系。
  
 举个例子,  ,用 statsmodels.tsa.arima_process 模拟一个符合 MA(1) 的时序数据。画出图来:
                                          
 一样要注意,只有    是指定的,   都是随机值。
  
 所以,可以看到    之间的自相关系数是   ,在此处是 -0.479。而R_{t}   R_{t-2}的自相关系数是 0。(这一段没有理解,why   ?倒是 2阶之后为 0,好理解。有聪明人指点指点。)
  
 所以,此 MA 的 ACF 图是:
                                          
 一个干净利落的截尾,止于 1 阶。
  
 而 PACF 的图,则为:
                                          
 对于为何一个标准的 MA(1) 的偏自相关居然是拖尾的,深思不解。 我的理解,它应该是个飘忽不定的震荡过程。 因为从1阶之后,从自相关角度看,已经没关系,那么偏自相关更应该没有规律的关系才对。
  
 如果偏自相关还有关系,何以自相关居然没关系了?
  
 在时序数据中 ARMA 或者 ARIMA 中,MA 是 AR 过程中剩余下的残差的回归。

3. AR模型的MA模型

MA模型(moving average model)滑动平均模型,模型参量法谱分析方法之一,也是现代谱估中常用的模型。设一个离散线性系统,输入u(n)是一个具有零均值与方差为σ的白噪声序列,输出是x(n),该离散线性系统的输出和输入之间的关系可用如下图3的差分方程来表示。其系统函数为图4。式中X(Z)为输出信号x(n)的Z变换,U(Z)为输入信号u(n)的Z变换,br(r=0,…M)是系数。式①表达的信号模型称为MA模型,又称移动平均模型。按公式的物理意义可以解释为模型表示现在的输出是现在和过去M个输入的加权和。按②式,MA模型是一个全零点模型。用MA模型法求信号谱估计的具体作法是:①选择MA模型,在输入是冲激函数或白噪声情况下,使其输出等于所研究的信号,至少应是对该信号一个好的近似。②利用已知的自相关函数或数据求MA模型的参数。③利用求出的模型参数估计该信号的功率谱。在ARMA参数谱估计中,大多数估计ARMA参数的两步方法都首先估计AR参数,然后在这些AR参数基础上,再估计MA参数,然后可求出ARMA参数的谱估计。所以MA模型参数估计常作为ARMA参数谱估计的过程来计算。

AR模型的MA模型

4. AR模型的MA模型

MA模型(moving
average
model)滑动平均模型,模型参量法谱分析方法之一,也是现代谱估中常用的模型。
设一个离散线性系统,输入u(n)是一个具有零均值与方差为σ的白噪声序列,输出是x(n),该离散线性系统的输出和输入之间的关系可用如下图3的差分方程来表示。
其系统函数为图4。
式中X(Z)为输出信号x(n)的Z变换,U(Z)为输入信号u(n)的Z变换,br(r=0,…M)是系数。式①表达的信号模型称为MA模型,又称移动平均模型。按公式的物理意义可以解释为模型表示现在的输出是现在和过去M个输入的加权和。按②式,MA模型是一个全零点模型。
用MA模型法求信号谱估计的具体作法是:①选择MA模型,在输入是冲激函数或白噪声情况下,使其输出等于所研究的信号,至少应是对该信号一个好的近似。②利用已知的自相关函数或数据求MA模型的参数。③利用求出的模型参数估计该信号的功率谱。
在ARMA参数谱估计中,大多数估计ARMA参数的两步方法都首先估计AR参数,然后在这些AR参数基础上,再估计MA参数,然后可求出ARMA参数的谱估计。所以MA模型参数估计常作为ARMA参数谱估计的过程来计算。

5. AR模型的ARMA 模型

ARMA模型(auto regressive moving average model)自回归滑动平均模型,模型参量法高分辨率谱分析方法之一。这种方法是研究平稳随机过程有理谱的典型方法,适用于很大一类实际问题。它比AR模型法与MA模型法有较精确的谱估计及较优良的谱分辨率性能,但其参数估算比较繁琐。设一个离散线性系统,输入u(n)是一个具有零均值与方差为σ的白噪声序列,输出是x(n),该离散线性系统输出和输入之间的关系可用如下图1的差分方程来表示。其系统函数如图2。式中X(Z)为输出信号的Z变换,U(Z)为输入信号的Z变换,以①式表达的信号模型称为ARMA模型或称为自回归滑动平均模型。一旦确定了ARMA(P,M)模型的参数,就可得到其功率谱估计。ARMA模型参数估计的方法很多:如果模型的输入序列{u(n)}与输出序列{a(n)}均能被测量时,则可以用最小二乘法估计其模型参数,这种估计是线性估计,模型参数能以足够的精度估计出来;许多谱估计中,仅能得到模型的输出序列{x(n)},这时,参数估计是非线性的,难以求得ARMA模型参数的准确估值。从理论上推出了一些ARMA模型参数的最佳估计方法,但它们存在计算量大和不能保证收敛的缺点。因此工程上提出次最佳方法,即分别估计AR和MA参数,而不像最佳参数估计中那样同时估计AR和MA参数,从而使计算量大大减少。

AR模型的ARMA 模型

6. ARIS模型的简介

ARIS是德国Scheer教授提出的一种面向过程的、集成化的信息系统模型框架。ARIS结构是从过程链模型抽取、发展而来的。在ARIS概念中,“过程”是由起始事件和终止事件定义的。过程的对象可以是物质的转变过程,也可以是信息的转变过程。在ARIS结构中,控制视图是ARIS区别于其它建模框架的重要特征,被用来记录和维护数据视图、组织视图和功能视图之间的关系,而组织、数据、功能视图的发展过程是相对独立的;面向系统的生命周期,ARIS定义了需求定义、设计说明和实施描述三个建模层次。为减少结构的复杂性以及冗余,ARIS还对过程链模型做了简化,更加关注信息的转变,舍弃与信息过程无关的因素,利用分阶段的或者程序化的模型来减少描述视图相互之间的关系。例如:真实的物质转变过程、物质转变过程中人的行为、所需的物料及设备,都以“环境条件”的形式出现在信息描述中,从而,从信息过程的角度看,生产过程不再是物料、人力和生产设备的使用,而是生产过程中数据的交换,这个信息过程的操作还涉及:过程计划、能力规划、生产进度控制等。

7. ARIMA模型

我看过的对ARMIA模型最简单明了的文章:https://www.cnblogs.com/bradleon/p/6827109.html
  
 1,什么是 ARIMA模型
  
 ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model)。也记作ARIMA(p,d,q),是统计模型(statistic model)中最常见的一种用来进行时间序列 预测的模型。
  
 1.1. ARIMA的优缺点
  
 优点: 模型十分简单,只需要内生变量而不需要借助其他外生变量。(所谓内生变量指的应该是仅依赖于该数据本身,而不像回归需要其他变量)
  
 缺点:
  
 1.要求时序数据是稳定的(stationary),或者是通过差分化(differencing)后是稳定的。
  
 2.本质上只能捕捉线性关系,而不能捕捉非线性关系。
  
 注意,采用ARIMA模型预测时序数据,必须是稳定的,如果不稳定的数据,是无法捕捉到规律的。比如股票数据用ARIMA无法预测的原因就是股票数据是非稳定的,常常受政策和新闻的影响而波动。
  
 1.2. 判断是时序数据是稳定的方法。
  
 严谨的定义: 一个时间序列的随机变量是稳定的,当且仅当它的所有统计特征都是独立于时间的(是关于时间的常量)。
  
 判断的方法:
  
 稳定的数据是没有趋势(trend),没有周期性(seasonality)的; 即它的均值,在时间轴上拥有常量的振幅,并且它的方差,在时间轴上是趋于同一个稳定的值的。
  
 可以使用Dickey-Fuller Test进行假设检验。
  
 1.3 ARIMA的参数与数学形式
  
 ARIMA模型有三个参数:p,d,q。
  
 p--代表预测模型中采用的时序数据本身的滞后数(lags) ,也叫做AR/Auto-Regressive项
  
 d--代表时序数据需要进行几阶差分化,才是稳定的,也叫Integrated项。
  
 q--代表预测模型中采用的预测误差的滞后数(lags),也叫做MA/Moving Average项
                                          
 4.ARIMA模型的几个特例
  
 1.ARIMA(0,1,0) = random walk:
  
 当d=1,p和q为0时,叫做random walk,如图所示,每一个时刻的位置,只与上一时刻的位置有关。
  
 预测公式如下:Yˆt=μ+Yt−1

ARIMA模型

8. AR模型的稳定性

AR(p)模型稳定的充分必要条件是H(z)的极点(即A(z)的根)都在单位圆内。如果Yule-Walker方程的系数矩阵是正定的,则其解ak(k=1,2,…,p)所构成的A(z)的根都在单位圆内。在用Levinson算法进行递推计算的过程中,还可得到各阶AR模型激励信号的方差  (k=1,2,…,p),它们都应当是大于零的,即  。根据式(4-25)可知,必有|γk+1|<1和  (k=1,2,…,p)。这就是说,在Levinson算法递推计算过程中,如果有  <  或,|γk+1|<1,则AR(p)模型一定是稳定的。反之,稳定的AR(p)模型将具有以下性质:
(1)H(z)的全部极点或A(z)的所有根都在单位圆内。
(2)自相关矩阵是正定的。
(3)激励信号的方差(能量)随阶次增加而递减,即  。
(4)反射系数的模恒小于1,即,γk<1,k=1,2,…,p。
但在实际应用中,Levinson算法的已知数据(自相关值)是由xN(n)来估计的,有限字长效应有可能造成大的误差,致使估计出来的AR(p)参数所构成的A(z)的根跑到单位圆上或外,从而使模型失去稳定。在递推计算过程中如果出现这种情况,将导致  或,|γk|≥1,即停止递推计算。
若将式(4-22)中的自相关矩阵R定为

地球物理信息处理基础

并记其行列式的值为detRp+1。矩阵Rp+1与AR(p)模型稳定性的关系有以下三个结论。
结论1:如果Rp+1是正定的,那么,由Yule-Walker方程解出的ak(k=1,2,…,p)构成的p阶AR模型是稳定的,且是唯一的。也即A(z)的零点都在单位圆内。此性质为AR模型的最小相位性质。
结论2:若x(n)由p个复正弦波组成,即

地球物理信息处理基础

式中:Ck、ωk为常数;φk是在(-π,π)内均匀分布的零均值随机变量;x(n)的自相关函数为

地球物理信息处理基础

则由前p+1个值rxx(0)、rxx(1)、…、rxx(p)组成的自相关矩阵Rp+1是奇异的,而R1、R2、…、Rp是正定的,即
det Rp+1=0,det Rk>0 k=1,2,…,p (4-55)
结论2说明,一般情况下,若x(n)由复正弦波组成,RM是其M×M的自相关矩阵,那么,当M>p时,RM的秩最大为p,即rankRM=p,但若x(n)由p个实正弦波组成,则RM的秩最大为2p。
结论3:若x(n)由p个正弦波组成(实的或复的),则x(n)是完全可以预测的,即预测误差为零。
结论2给出了Rp+1何时奇异、何时正定的条件,它和结论3一起揭示了正弦信号的某些性质。特别需要指出的是:用AR模型对纯正弦信号建模是不合适的,可能会出现自相关矩阵为奇异的情况。但是,在信号处理中经常要用正弦信号作为实验信号以检验某个算法或系统的性能。为了克服自相关矩阵奇异的情况,最常用的方法是给正弦信号加上白噪声,这样det Rp+1不会等于零。
最新文章
热门文章
推荐阅读