[时间序列分析][4]–AR模型,MA模型,ARMA模型介绍[通俗易懂]

[时间序列分析][4]–AR模型,MA模型,ARMA模型介绍[通俗易懂]自相关和偏自相关的两个函数代码由于后面会经常画一组序列自相关和偏自相关的图像,所以就把自己写的这个两个画图的函数的代码贴上,供大家参考。首先是自相关的函数输入的三个参数分别是{数据,滞后数,置信度

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

自相关和偏自相关的两个函数代码

由于后面会经常画一组序列自相关和偏自相关的图像,所以就把自己写的这个两个画图的函数的代码贴上,供大家参考。

  • 首先是自相关的函数
    输入的三个参数分别是{数据,滞后数,置信度}
pacf[data_, lmax_, clev_: 0.95] := 
  Show[ListPlot[CorrelationFunction[data, {lmax}], Filling -> Axis, 
    PlotRange -> {{0, lmax}, {-1.5, 1.5}}, 
    PlotStyle -> PointSize[Medium], PlotLabel -> "自相关图", 
    FillingStyle -> Directive[Thickness[.01], Green, Dashed]],
   Graphics[{Dashed, Line[{{0, #}, {lmax, #}}]}] & /@ (
    Quantile[NormalDistribution[], {(1 - clev)/2, 1 - (1 - clev)/2}]/
    Sqrt[Length[data]])];
  • 接着是偏自相关的函数
papf[data_, lmax_, clev_: 0.95] := 
  Show[ListPlot[PartialCorrelationFunction[data, {lmax}], 
    Filling -> Axis, PlotRange -> {{0, lmax}, {-1.5, 1.5}}, 
    PlotStyle -> PointSize[Medium], PlotLabel -> "偏自相关图", 
    FillingStyle -> Directive[Thickness[.01], Green, Dashed]],
   Graphics[{Dashed, Line[{{0, #}, {lmax, #}}]}] & /@ (
    Quantile[NormalDistribution[], {(1 - clev)/2, 1 - (1 - clev)/2}]/
    Sqrt[Length[data]])];

AR模型

AR模型的定义

AR模型的定义 —————

AR模型平稳性判别

AR模型是常用的平稳序列的拟合模型之一,但并非所有的AR模型都是平稳的 。

判别方法
1. 单位根判别法
2. 平稳域判别法

关于这两种方法的证明挺长的,由于要是我们分析实际数据,是不必考虑这些的,关于平稳性只是从模型的角度去推的,所以我准备不讲这两个方法的推到,举几个平稳和不平稳的例子看一下。

第一个平稳的AR模型

这个AR模型的递推式子是x[t]=0.8*x[t-1]+e,其实e是一个误差项。
x[1]=5,x[2]=3

Clear[x];
x[1] = 5;
x[2] = 3;
 x[t_] := x[t] = .8*x[t - 1] + RandomReal[NormalDistribution[]];
ListPlot[
 Table[x[i], {i, 1, 100}],
 PlotRange -> All,
 PlotRangePadding -> Scaled[.09],
 Filling -> Axis
 ]

我们看一下画出来的图像

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂] 我们看一下他没有噪声的图像是什么样子的
Clear[x];
x[1] = 5;
x[2] = 3;
 x[t_] := x[t] = .8*x[t - 1];
ListPlot[
 Table[x[i], {i, 1, 100}],
 PlotRange -> All,
 PlotRangePadding -> Scaled[.09],
 Filling -> Axis
 ]

来看一下他的图像

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂] 我们可以看到是这样单调递减趋于0的

第二个平稳的AR模型

我们再来看一个平稳的AR模型

Clear[x];
x[1] = 5;
x[2] = 3;
 x[t_] := 
  x[t] = x[t - 1] - .5 x[t - 2] + RandomReal[NormalDistribution[]];
data = Table[x[i], {i, 1, 100}];
ListPlot[
 data,
 PlotRange -> All,
 PlotRangePadding -> Scaled[.09],
 Filling -> Axis
 ]

看一下画出来的图像

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂] 其实我很好奇这样的数据是不是白噪声,我们来做一下检验 首先我们来看一下他的自相关系数和偏自相关系数
pacf[data, 20, .95]
papf[data, 20, .95]
[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂] 我们看自相关图可以很明显的看出其有一阶自相关,不是白噪声 接着我们做一下白噪声检验
ListPlot[Table[
  AutocorrelationTest[Table[x[i], {i, 1, 100}], i], {i, 1, 10}], 
 Filling -> Axis, PlotRange -> All]
[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂] 可以看到p – 值很小,不是白噪声。 > 有没有觉得很神奇,明明看上去一点规律都没有的数据,其实是有规律的。我们老师最近总是爱引用爱因斯坦的一句话,宇宙最不能让人理解的地方, 是宇宙竟然能够被理解

非平稳的AR模型

接下来我们看一个非平稳的AR模型

Clear[x]
x[1] = 5;
x[2] = 3;
 x[t_] := 
  x[t] = x[t - 1] + .5 x[t - 2] + RandomReal[NormalDistribution[]];
ListPlot[
 Table[x[i], {i, 1, 100}],
 PlotRange -> All,
 PlotRangePadding -> Scaled[.09],
 Filling -> Axis
 ]
[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂] 可以看到其散点图是不收敛的。

AR模型的一些性质

  1. 若AR模型满足平稳性条件,则他的均值为0,我们可以从上面的图中看出
  2. AR模型的自相关系数是呈复指数衰减– 有拖尾性
  3. AR模型的偏自相关系数有截尾性
    注意第二,第三条很重要,后面可以用来做模型的识别。我在强调一遍
    AR模型的自相关系数是呈复指数衰减– 有拖尾性
    * AR模型的偏自相关系数有截尾性*

MA模型

MA模型的定义

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂]

MA模型的可逆性

这个性质在推到MA模型的相关系数和自相关系数的时候比较有用,在这里我们就大概了解一下他是什么意思。
看一下可逆的定义

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂] 接下来看一下MA模型怎么转换成AR模型

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂] 最后我们看一下什么样的MA模型可以转化为AR模型

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂]

可逆MA模型的应用

对于一些MA模型,虽然其生成的式子不一样,但是其自相关图是一样的,要是我们能用可逆的MA来做分析,可以将问题变得简洁,当然这些都是在式子推导的过程中的问题,在处理数据时我们可以不考虑这些。
下面我们来看一个式子不同但自相关系数图一样的例子:

rd = RandomReal[NormalDistribution[], {100}];
data = RotateLeft[rd] - 2*rd;
data = data[[;; -2]];
Transpose[{data, RotateLeft[data]}] // ListPlot
ListLinePlot[data]
pacf[data, 20, 0.95]
papf[data, 20, 0.95]
ListPlot[Table[AutocorrelationTest[data, i], {i, 1, 10}], 
 Filling -> Axis, PlotRange -> All, PlotLabel -> "白噪声检验"]

这个代码应该会画出5张图片,我这里暂时不全放。看一下其自相关和偏自相关图:

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂]
data = RotateLeft[rd] - .5*rd;
data = data[[;; -2]];
Transpose[{data, RotateLeft[data]}] // ListPlot
ListLinePlot[data]
pacf[data, 20, 0.95]
papf[data, 20, 0.95]
ListPlot[Table[AutocorrelationTest[data, i], {i, 1, 10}], 
 Filling -> Axis, PlotRange -> All, PlotLabel -> "白噪声检验"]
[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂] 这个真的是两张图片,可以看到他们是一样的,完全一样的。 而第一个是可逆的,即可以转换为AR模型的,具体转换方式可以看下图

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂]

MA模型的性质

  1. 自相关系数q阶截尾
  2. 偏自相关系数q阶拖尾
    这个是只有自相关系数是截尾的
    很重要,后面模型的识别会用到

ARMA模型

ARMA模型的定义

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂]

ARMA模型的一个例子

看一个ARMA (1, 1) 的例子 – xt = .5*x (t – 1) + et – 0.8 e (t – 1)

Clear[x];
x[1] = 10;
rd = RandomReal[NormalDistribution[0, .1], {100}];
temp = RotateLeft[rd] - .8*rd;
x[t_] := x[t] = .7*x[t - 1] + temp[[t - 1]];
data = Table[x[i], {i, 1, 100}];
Transpose[{data, RotateLeft[data]}] // ListPlot
ListLinePlot[data]
pacf[data, 20, 0.95]
papf[data, 20, 0.95]
ListPlot[Table[AutocorrelationTest[data, i], {i, 1, 10}], 
 Filling -> Axis, PlotRange -> All, PlotLabel -> "白噪声检验"]

第一张图片是前后数据画的散点图,可以用来看是否有一阶自相关,第二张图是时序图

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂]

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂]

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂]

ARMA模型的性质

  1. 自相关系数拖尾
  2. 偏自相关系数拖尾
    这个是两个系数都拖尾

三个模型性质的总结

[时间序列分析][4]--AR模型,MA模型,ARMA模型介绍[通俗易懂]

后记

这是我用MarkDown写的第一篇文章,感觉还是挺方便的,一切还在熟悉当中

放一下markdown的一些快捷键

一些markdown的快捷键

  • 加粗 Ctrl + B
  • 斜体 Ctrl + I
  • 引用 Ctrl + Q
  • 插入链接 Ctrl + L
  • 插入代码 Ctrl + K
  • 插入图片 Ctrl + G
  • 提升标题 Ctrl + H
  • 有序列表 Ctrl + O
  • 无序列表 Ctrl + U
  • 横线 Ctrl + R
  • 撤销 Ctrl + Z
  • 重做 Ctrl + Y

推广

最近在做一下微信公众号
欢迎大家关注我的公众号: prettymath
不仅为你推荐最新的博文,还有更多惊喜和资源在等着你!




AR模型的定义

谢谢大家支持


以上,所有
2017/4/20

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167536.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • margin对css绝对定位的影响

    margin对css绝对定位的影响原文链接 http leyteris iteye com blog 试验 css 绝对定位时 跟自己预想的不太一样 有点迷 查了之后才发现还有 margin 的影响 正文 对于 div 的绝对定位一直以为 margin 属性是无效的 只是通过 top left bottom right 定位 然而今天的却发现不是这样的 于是对其做了些实验

    2025年10月7日
    3
  • two bin system_system系统目录是什么

    two bin system_system系统目录是什么这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件, 在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。\system\app\AlarmClock.apk 闹钟\system\app\AlarmClock.odex\system\app\Browser.apk 浏览器\system\app\Browser.

    2022年10月10日
    4
  • igmp协议用来实现组播功能_组播管理协议

    igmp协议用来实现组播功能_组播管理协议igmp

    2025年11月16日
    4
  • JDK1.8下载、安装和环境配置教程

    JDK1.8下载、安装和环境配置教程一、下载安装包1.JDK1.8百度云下载路径:链接:https://pan.baidu.com/s/1ozCGy53AIeQIHWL6s9oAbw提取码:04lf网盘放的是jdk1.8版本中的1.8.0_152的版本2.如果大家想下载别的版本,可以去官网:www.oracle.com下载,进入官网页面,然后点击Downloads。…

    2022年6月12日
    40
  • 使用Java判断闰年

    使用Java判断闰年我们在做这一题之前 我们首先要弄清楚什么是闰年 简而言之闰年就是可以被 4 整除不能被 100 整除 或者可以被 400 整除 那么这一年就是闰年 leapyear 然后就按照以上条件一步一步写代码 public nbsp static nbsp void nbsp main String args nbsp nbsp nbsp nbsp nbsp nbsp Scannersc newScanner System in nbsp nbsp nbsp nbsp nbsp nbsp System out printl

    2025年8月22日
    4
  • ps入门视频全套教程零基础,ps教程百度云分享新手必看!「建议收藏」

    ps入门视频全套教程零基础,ps教程百度云分享新手必看!「建议收藏」链接:https://pan.baidu.com/s/1pQmEc-XgquF1jBXIoS6-Gg提取码:lcrw自学PS的第一步:安装软件!遇到过很多想学PS的伙伴,60%的新手都折在了软件安装这一步。新版PS一定比旧版好用,别听那些“大神”的言论,他们只是对曾经需要大力气去人工实现的功能被新版一键取代的感觉不爽罢了。第二步:想清楚学习PS的目的安装好PS,你就要想想学习PS的目的是啥了。如果你只是平时做个套版海报,帮女朋友P个照片,抠个图,免费的教程足够!但是..

    2022年8月29日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号