如何根据自相关(ACF)图和偏自相关(PACF)图选择ARIMA模型的p、q值

2023-05-16

这两天有朋友在之前👉这篇文章 👈的时候在下面评论询问如何通过自相关(ACF)和偏自相关(PACF)图找到p、q值?这里掌柜就详细阐述一下。

PS:假设你已经知道AR、MA、以及ARIMA模型是什么。
PPS: 假设这里也已经做了差分,时间序列已经平稳。
PPPS:如果不想看前面的解释,那么请直接跳到最后看确定方法。如果你觉得本文有理解错误的地方,请指出来,谢谢。

  • 首先,ACF图和PACF图分别指的是什么?

    • ACF图:

      • 需要先了解一个概念:Autocorrelation Function (ACF)自相关函数,指任意时间 t(t=1,2,3…n)的 序列值Xt 与其自身的滞后(这里取滞后一阶,即lag=1)值Xt-1之间的线性关系。
      • 这里有个简单的示例,可以更形象的解释Xt与Xt-1的变化:
        在这里插入图片描述

      那么ACF图就是指👉以滞后值(上图就是滞后值为 1阶)为x轴,自相关系数(Xt与Xt-1的相关系数值)为y轴画出的图,也叫做相关图。

    • PACF图:同样PACF可以看下图更易理解:在这里插入图片描述

      • 所以PACF图就是部分相关图。
  • 其次,为什么在PACF截尾,ACF拖尾的情况下,PACF更适合确定AR模型(p值);而在ACF截尾,PACF拖尾的情况下,ACF更适合确定MA模型(q值)?

    • 先看这样一个传悄悄话的例子:
      在这里插入图片描述
      我们可以看到,从 “红色” 衣服那个人开始,传递信息就已经被彻底打乱;PACF意义在于,从红色这个点切开,之前的蓝色和黄色参与者传递的语句还保留了原来悄悄话的大意,而红色之后就无意义。

      回到AR模型这里,理论上PACF“关闭”了原始模型的顺序。这里的 “关闭” 指理论上自“关闭点”之后的这部分自相关都等于0。换句话说,那非0部分的自相关则给出了AR模型的顺序。 所以在PACF截尾的情况下,PACF图可以用来更好的确定AR模型。

    • 对于MA模型来说,PACF理论上不会关闭,只会以某种方式逐渐趋于0。所以这个时候要看ACF,因为仅含滞后阶数的模型的自相关是平均移动的。正如上面那个悄悄话的传递,黄色参与者说的“CV is cool”同绿色参与者说的“Naomi has a pool”是同样押韵的😂。

  • 最后,如何用PACF图和ACF图来确定p、q值?

    • 首先需要通过PACF和ACF这两个图来判断是哪种模型,方法如下:
AR ( p)MA(q)ARMA(p,q)
ACF拖尾q阶后截断拖尾
PACFp阶后截断拖尾拖尾
  • 然后当确定是什么模型后,再看上面的阶数和2倍标准差范围,就能找到对应p、q值。
    下面看几个示例图,首先是一个AR模型的(对,就是上篇博客里的那个):
    在这里插入图片描述
    可以看到ACF是一个逐渐趋于0的拖尾,而PACF在7阶过后系数为0,所以模型是AR(7)或AR(8),即ARMA(7,0)或ARMA(8,0)。备选模型ARMA(7,1)。
    再看一个MA模型的例子:
    在这里插入图片描述
    只找到这样的图,可以看到PACF是拖尾,ACF自1阶过后都落在2倍标准差范围内,所以是MA(1)模型。
    最后看一个ARMA模型的例子:
    在这里插入图片描述
    ACF和PACF都呈现拖尾,在1阶位置就开始基本落在2倍标准差范围,所以是ARMA(1,1)模型。

参考资料:
How does ACF & PACF identify the order of MA and AR terms?
Autoregressive Moving Average (ARMA): Sunspots data
Lesson 3: Identifying and Estimating ARIMA models; Using ARIMA models to forecast future values
ARIMA模型的拖尾截尾问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据自相关(ACF)图和偏自相关(PACF)图选择ARIMA模型的p、q值 的相关文章

  • OMNET++/Veins VANET仿真:SUMO场景生成

    场景对于车载自组织网络 xff08 VANET xff09 的仿真来说至关重要 xff0c 因为VANET是一种特殊的Ad Hoc网络 xff0c 其特殊性主要变现在应用场景上 传统的Ad Hoc网络 xff0c 比如sensor netw
  • VC++2017关于项目"const char *" 类型的实参与 "char *" 类型的形参不兼容错误的解决方法

    34 const char 34 类型的实参与 34 char 34 类型的形参不兼容 函数形参为char 的类型直接写入字符串报错 解决办法 xff1a 在项目属性 gt C C 43 43 gt 语言中的符合模式项 选择 否
  • 详解VS2017使用scanf报错的解决方法

    1 在程序最前面加 xff1a define CRT SECURE NO DEPRECATE 2 在程序最前面加 xff1a pragma warning disable 4996 3 把scanf改为scanf s xff1b 4 无需在
  • 在MATLAB中手动安装MinGW64详细教程

    在MATLAB中手动安装MinGW64详细教程 话题背景 针对MATLAB官方License限制附件安装的问题 xff0c 可以尝试线下手动自行安装 部分版本的Matlab由于License到期问题或者破解版限制 xff0c 已无法获得Ma
  • ubuntu18.04部署jenkins,图文并茂,记录一下。

    1 因为Jenkins运行需要jdk的环境 xff0c 所以首先得安装Java xff0c 先下载jdk安装包 xff08 听说用wget下载安装时会有问题 xff0c 说是什么Oracle的安装协议 xff0c 本人用wget亲测 xff
  • 通过hdparm将挂载的硬盘休眠再关机

    hdparm Y dev sda1 root 64 cubietruck plus span class token comment hdparm span hdparm get set hard disk parameters versi
  • 教程 | 简单实用的pandas技巧:如何将内存占用降低90%

    pandas 是一个 Python 软件库 xff0c 可用于数据操作和分析 数据科学博客 Dataquest io 发布了一篇关于如何优化 pandas 内存占用的教程 xff1a 仅需进行简单的数据类型转换 xff0c 就能够将一个棒球
  • 哈佛大学cs50课程笔记_哈佛CS50指南:如何为您选择正确的课程(带有免费证书)

    哈佛大学cs50课程笔记 In January I wrote an article on Class Central about CS50 Harvard s Introduction to Computer Science which
  • 使用Docker快速安装部署mysql

    使用Docker快速安装部署mysql的前提 xff1a 首先需要确保已经安装了Docker环境 如果没有安装Docker的话 xff0c 可以参考上一篇的内容 xff1a Linux上安装Docker 有了Docker环境后 xff0c
  • docker下gitlab安装配置使用(完整版)

    docker 安装gitlab以及使用 一 安装及配置 1 gitlab镜像拉取 gitlab ce为稳定版本 xff0c 后面不填写版本则默认pull最新latest版本 docker pull gitlab gitlab ce 拉取镜像
  • Linux 配置Gradle

    一 下载gradle 如果windows中有可以直接拷贝 xff0c 如果没有可以去官网下载 http www gradle org downloads 二 解压下载得到的gradle unzip gradle 2 2 1 all zip
  • gitlab配置通过smtp发送邮件(QQ exmail腾讯企业为例)

    首先祭出官网文档链接 xff1a https docs gitlab com omnibus settings smtp html 其实官网已经说的很清楚了 xff0c 并且给出了QQ邮箱的范例 xff08 BAT还是屌的 xff09 1
  • 文本编辑器Notepad++使用技巧

    除了语法高亮 xff0c 一般不用操作 还有两点经常使用的 xff1a 正则表达式查找替换和列模式编辑 这些可以在VS Eclipse Word等里也有 xff0c 但是有时打开一个文件就慢了 本来想总结记录一下技巧的 xff0c 却无意中
  • linux系统磁盘block、inode占满处理

    1 磁盘的block占满 xff0c 查看命令 df vh 然后查看占用百分比 2 磁盘inode占满 xff0c 查看命令df ih 同样也是查看占用百分比 block占满处理办法 需要用到的命令如下 LL 列出当前目录下的文件 df v
  • Code::Blocks平台下Fortran的编译

    问题背景 xff1a 因为之前学习数值方法 xff0c 有用到Fortran的地方 xff0c 所以上网查了一些资料 关于Fortran语言的编辑器安装 xff0c 目前本人接触到的支持Fortran的编辑器有VisualStdio和Cod
  • powershell远程连接

    在Linux中 xff0c 我们可以使用安全的SSH方便的进行远程管理 但在Windows下 xff0c 除了不安全的Telnet以外 xff0c 从Windows Server 2008开始提供了另外一种命令行原创管理方式 xff0c 那
  • 2022年学习总结暨2023年规划

    2022年总结 2022年是我在C站的创作元年 xff0c 在第一年也收获了不少成就 xff0c 比如 Java领域新星创作者 发布100篇博文 拿到了C站的书包 吃到了C站的月饼 成功上榜了330 43 截止目前收获粉丝8600 43 在
  • 《Prometheus+Grafana 实践派》专栏介绍

    专栏名称 Prometheus 43 Grafana 实践派 专栏介绍 本专栏根据本公司统一监控落地实践编写 在该专栏您将学到 企业级监控的选型Prometheus的基础知识Grafana的基础知识快速搭建Prometheus 43 Gra
  • 泊松分布–计算概率分布的公式

    Probability Distributions play an important role in our daily lives We commonly use them when trying to summarise and ga
  • Prometheus 的介绍和安装

    介绍 Prometheus 是一个开源的监控和报警系统 最初由SoundCloud于2012年创建 随着越来越多的公司采用Prometheus以及非常活跃的社区 Prometheus于2016年加入云原生基金会 成为Kubernetes之后

随机推荐