这两天有朋友在之前👉这篇文章 👈的时候在下面评论询问如何通过自相关(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阶后截断 拖尾
PACF p阶后截断 拖尾 拖尾
  • 然后当确定是什么模型后,再看上面的阶数和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模型的拖尾截尾问题