2017/7/2 19:24:15

自回归模型(Autoregressive Model,简称 AR 模型)是最常见的平稳时间序列模型之一。接下将介绍 AR 模型的定义、统计性质、建模过程、预测及应用。

一、AR 模型的引入

考虑如图所示的单摆系统。设 xt 为第 t 次摆动过程中的摆幅。根据物理原理,第 t 次的摆幅 xt 由前一次的摆幅 xt-1 决定,即有 xt=a1xt-1。考虑到空气振动的影响,我们往往假设

(1)

其中,随机干扰 εt ~ N(0, σ2)。

设初始时刻 x0=1,现在取不同的 a1 和 σ 值进行实验。实验结果如下图。

我们可以看出,参数 a1 对序列的稳定性起到决定性的作用,而噪声强度 σ2 决定了序列的波动程度。

在这里,我们称模型 (1) 为一阶自回归模型。更一般地,可以考虑序列值 xt 可由前 p 个时刻的序列值及当前的噪声表出,即

(2)

其中,aj 为参数,{εt} 为白噪声。为了显示序列值为随机变量,这里使用 Xt 而不是 xt

二、AR 模型的定义

定义 1

如果 {εt} 为白噪声,服从 N(0,σ2),a0,a1,...,ap(ap≠0) 为实数,就称 p 阶差分方程

(3)

是一个 p 阶自回归模型,简称 AR(p) 模型,称 a=(a0,a1,...,ap)T 是 AR(p) 模型中的自回归系数。满足 AR(p) 模型 (3) 的时间序列 {Xt} 称为 AR(p) 序列。当 a0=0 时,称为零均值 AR(p) 序列,即

(4)

需要指出的是,对于 a0≠0 的情况,我们可以通过零均值化的手段把一般的 AR(p) 序列变为零均值 AR(p) 序列。

三、AR 序列的建模

对于给定的时间序列 {Xt},我们最关注的是如何对其进行建模。一般地,平稳序列的建模过程可以用下图中的流程图表示。

步骤 1 对序列作白噪声检验,若经检验判定序列为白噪声,建模结束;否则转步骤 2.

步骤 2 对序列作平稳性检验,若经检验判定为非平稳,则进行序列的平稳化处理,转步骤 1;否则转步骤 3.

步骤 3 对模型进行识别,估计其参数,转步骤 4.

步骤 4 检验模型的适用性,若检验通过,则得到拟合模型并可对序列做预测;否则转步骤 3.

在这里,对白噪声检验、平稳性检验和平稳化处理不进行介绍。有时间写两篇这方面的博文。

(一) AR 模型的判定

对于观测到的时间序列,若通过白噪声检验确定为非白噪声,且经平稳性检验确定为平稳后,我们常根据相关系数和偏相关系数来识别模型。

这一部分的主要任务是,判断该问题是否适用 AR 模型建模,以及大致确定阶数 p。

可通过下面的代码,计算自相关系数(Autocorrelation Function, SAF)和偏自相关系数(Partial Autocorrelation Function, PACF)。

from statsmodels.tsa.stattools import acf, pacf
# pacf 计算偏自相关系数
# acf 计算自相关系数

如果一个时间序列满足以下两个条件

  • ACF 具有拖尾性,即 ACF(k) 不会在 k 大于某个常数之后就恒等于 0。
  • PACF 具有截尾性,即 PACF(k) 在 k>p 时变为 0。

第 2 个条件还可以用来确定阶数 p。考虑到存在随机误差的存在,因此 PACF 在 p 阶延迟后未必严格为 0 ,而是在 0 附近的小范围内波动。具体来说

设 k 阶偏自相关系数为 ak,若阶数大于 p 大部分的偏自相关系数满足下式,则 AR 模型的阶数取 p。

(5)

其中 N 表示样本序列长度。

例如,对于模型 Xt=0.9Xt-1-0.3Xt-2t,它的 ACF 和 PACF 如下。

我们可以看出自相关系数呈现一定的周期性,故判定为拖尾;偏自相关系数 2 步后截尾。因此,我们可以尝试使用 AR(2) 模型来建模。

(二) AR 模型的参数估计

AR 模型的参数估计主要有三种方法:矩估计、最小二乘估计和最大似然估计。

这里仅介绍最小二乘估计。(实际上最大似然估计与最小二乘估计的结果一样)

对于样本序列 {xt},当 j≥p+1时,记白噪声 εj 的估计为

(6)

通常称 残差。我们的优化目标是使得残差平方和

(7)

达到最小。我们称使上式达到最小的 为 AR(p) 模型中自回归系数 的估计。

得到如下线性方程组

(8)

于是式 (7) 的目标函数可表示为

(9)

上式对参数 求导并令其为 0,可得

(10)

因此,参数 的最小二乘估计为

(11)

此时,误差方差的最小二乘估计

(12)

(三) AR 模型的定阶

在对 AR 模型识别时,根据其样本偏自相关系数的截尾步数,可初步得到 AR 模型的阶数 p。然而,此时建立的 AR(p) 未必是最优的。一个好的模型通常要求残差序列方差较小,同时模型页相对简单,即要求阶数较低。因此我们需要一些准则来比较不同阶数的模型之间的优劣,从而确定最合适的阶数。下面给出两种常用的定阶准则。

1. FPE 准则

最终预报误差(Final Prediction Error)准则,简称为 FPE 准则,其判据就是最终预报误差最小。设 AR(p) 为拟合模型, 是序列的各阶样本自协方差函数,其最终预报误差可表示为

(13)

在具体应用时,通常是分别建立从低阶到高阶的 AR 模型,并计算出相应的 FPE

的值,由此确定使 FPE 达到最小的 p 值。

2. 贝叶斯信息准则

定义

(14)

使得 BIC 达到最小值的 p 即为该准则下的最优 AR 模型的阶数。

(四) AR 模型的检验

在模型拟合之后需要进行模型的检验,主要分为两部分

  • 有效性检验:检验拟合模型对序列中信息的提取是否充分
  • 显著性检验:检验模型中的个参数是否显著为 0,从而判断拟合魔心是否可以进一步简化。

1. 模型的有效性检验

一个好的拟合模型应该能够提取观测值序列中几乎所有的样本相关信息,即残差序列应该为白噪声序列。因此,模型的有效性检验即为残差序列的白噪声检验。如果残差序列是白噪声,那么理论赏其延迟任意阶的自相关系数为 0,考虑数据的偏差,那么绝大多数应该在 0 附近的范围内,通常在 95% 的置信水平(2倍标准差)以内。

2. 参数的显著性检验

这一部分的目标是,删除那些不显著参数使模型结构最为精简。对于模型参数 aj(j=1,...,p) 的检验,其原假设和备择假设分别为

(15)

检验统计量为 t 统计量:

(16)

在给定的显著水平 α 下,当检验统计量 T 大部分位于分点 t1-α/2,或该统计量的 P 值小于 α 时,则可以以 1-α 的置信水平拒绝原假设,

认为模型参数显著。反之,则不能显著拒绝参数为 0 的假设。

参考文献

[1] 周永道,王会琦,吕王勇. 时间序列分析及应用. 高等教育出版社. 2015.

自回归模型(AR )的更多相关文章

  1. 时间序列算法(平稳时间序列模型,AR(p),MA(q),ARMA(p,q)模型和非平稳时间序列模型,ARIMA(p,d,q)模型)的模型以及需要的概念基础学习笔记梳理

    在做很多与时间序列有关的预测时,比如股票预测,餐厅菜品销量预测时常常会用到时间序列算法,之前在学习这方面的知识时发现这方面的知识讲解不多,所以自己对时间序列算法中的常用概念和模型进行梳理总结(但是为了 ...

  2. ARIMA模型原理

    一.时间序列分析 北京每年每个月旅客的人数,上海飞往北京每年的游客人数等类似这种顾客数.访问量.股价等都是时间序列数据.这些数据会随着时间变化而变化.时间序列数据的特点是数据会随时间的变化而变化. 随 ...

  3. ARIMA模型总结

    时间序列建模基本步骤 获取被观测系统时间序列数据: 对数据绘图,观测是否为平稳时间序列:对于非平稳时间序列要先进行d阶差分运算,化为平稳时间序列: 经过第二步处理,已经得到平稳时间序列.要对平稳时间序 ...

  4. 时间序列算法理论及python实现(1-算法理论部分)

    如果你在寻找时间序列是什么?如何实现时间序列?那么请看这篇博客,将以通俗易懂的语言,全面的阐述时间序列及其python实现. 就餐饮企业而言,经常会碰到如下问题. 由于餐饮行业是胜场和销售同时进行的, ...

  5. 向量自回归模型VS风险价值模型(VAR&VaR)

    单从外观上看,VAR&VaR两个模型很容易混淆,但就模型方法和用处两者截然不同,R语言作为数据分析的有力工具,其函数包库中包含各种各样的统计模型.通过vars包可以调用向量自回归模型,通过Pe ...

  6. 现代数字信号处理——AR模型

    1. AR模型概念观       AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增加有效数据,只是AR模型是由N点递推, ...

  7. VAR向量自回归模型学习笔记2

    向量自回归模型 今天的你 和昨天的你 和前天的你,是否具有相关性. 1. 定义 向量自回归(VAR,Vector Auto regression)分析联合内生变量间的动态关系 联合:n个变量间的相互影 ...

  8. 【AR实验室】mulberryAR : ORBSLAM2+VVSION

    本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...

  9. 【AR实验室】OpenGL ES绘制相机(OpenGL ES 1.0版本)

    0x00 - 前言 之前做一些移动端的AR应用以及目前看到的一些AR应用,基本上都是这样一个套路:手机背景显示现实场景,然后在该背景上进行图形学绘制.至于图形学绘制时,相机外参的解算使用的是V-SLA ...

随机推荐

  1. wamp升级php7

    原文:http://blog.csdn.net/cheng6251/article/details/50730441 1.下载php7   http://windows.PHP.net/downloa ...

  2. Angular如何给动态生成的元素绑定事件

    在AngularJS中,操作DOM一般在指令中完成,事件监听机制是在对于已经静态生成的dom绑定事件,而如果在指令中动态生成了DOM节点,动态生成的节点不会被JS事件监听. 举例来说: angular ...

  3. bootstrap系统学习

    1.响应式中注意的内容: 一行(row)必须在.container中. col-xs- col-sm- col-md- col-lg- 列偏移 .col-md-offset-* 列排序 .col-md ...

  4. MooseFS技术详解

    原文 http://www.tuicool.com/articles/vQvEZ3y MooseFS是一款具有冗余容错功能的分布式文件系统.它把数据分散在多台服务器上,确保一份数据多个备份副本,对外提 ...

  5. HDU-4355-三分

    Party All the Time Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  6. 设置了width和height的a元素在IE11与IE11以下浏览器中的不同渲染方式

    #welcomeMiddleBtn { display: block; width: 73px; height: 120px; margin: 0px auto; } <a id="w ...

  7. lr设置监控本地和远程windows系统资源

    LoadRunner之设置监控本地和远程Windows系统资源   一般在客户端通过LoadRunner对服务器进行压力测试,都需要实时监控服务器端的系统资源,本篇主要简单介绍一下如何设置在LoadR ...

  8. C++编译错误:multiple types in one declaration

    这是在使用QT的时候看到的.这种情况往往是结构体或者是class最后少加了一个分好,加上即可,这个bug找了我好久,mark一下.

  9. 03_模拟DVD

    package com.entity; import java.text.SimpleDateFormat; import java.util.Date; public class DVD { pri ...

  10. javascript: 对象2

    数字对象Number Number 对象表示数值日期,整数或浮点数.一般情况下,你不需要担心 Number 对象,因为浏览器自动将数字文 本转换为数字类的实例. 语法 创建一个 Number 对象: ...