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. java基础笔试题二(集合关系)

    知识点:java集合继承关系(Collection,Map) 1.集合框架体系图 2.java的集合层次 来自博客(http://blog.csdn.net/stubbornaccepted/arti ...

  2. 爬虫bs4案例

    案例:使用BeautifuSoup4的爬虫 我们以腾讯社招页面来做演示:http://hr.tencent.com/position.php?&start=10#a 使用BeautifuSou ...

  3. 【cs231n】图像分类笔记

    前言 首先声明,以下内容绝大部分转自知乎智能单元,他们将官方学习笔记进行了很专业的翻译,在此我会直接copy他们翻译的笔记,有些地方会用红字写自己的笔记,本文只是作为自己的学习笔记.本文内容官网链接: ...

  4. 我的nlp之路(1)

    1/8日任务 基础篇: 如何使用远程连接从windows或者linux连到服务器进行操作(切换用户,传递文件) (严禁使用root账户) Linux基本bash命令 a)        查看文件大小, ...

  5. NSMutableString和NSString区别,及相互转换方法

    NSString是一个不可变的字符串对象.这不是表示这个对象声明的变量的值不可变,而是表示它初始化以后,你不能改变该变量所分配的内存中的值,但你可以重新分配该变量所处的内存空间.而NSMutableS ...

  6. vue-router的一个小实例

    非2.0的 vue2.0还有vue-router2.0的改变还是挺大的 vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用.vue的单页面应用是基于 ...

  7. 揭开A*算法的神秘面纱

    揭开A*算法的神秘面纱 一.总结 一句话总结:f(n)=g(n)+h(n) 这个算法有点像BFS的优化算法. g(n)为起点到当前方格的距离,这个是已知的. h(n)为当前方格到终点的距离,这个简单点 ...

  8. TestNG入门--安装和基本介绍

    TestNG介绍 TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit,   功能都差不多, 只是功能更加强大,使用也更方便 Java中已经有一个JUnit的测试框架了.  Tes ...

  9. 使用Mysql Workbench 导入数据库提示 ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER privilege(s) for

    今天再复制服务器上数据库的时候(使用Mysql Workbench )提示1227错误, 数据库版本5.7.18,复制到的数据库也是5.7.18. 总结一下网上的几种方法: 方法一: 最直观的翻译是说 ...

  10. Ubuntu下彻底卸载mysql

    删除 mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove mysql-server sudo apt- ...