ARMA 模型中的自相关和偏相关图

机器算法验证 时间序列 自相关 自回归的
2022-04-14 16:40:26

考虑以下输入及其自相关和偏自相关图(来源)。

  1. 这些图中的蓝色阴影区域是什么?我在研究 ARMA 模型时经常看到它们。它们代表什么?

  2. 我已经阅读了偏自相关函数的技术定义,但我仍然很难将它与我理解的标准自相关函数联系起来。PACF 究竟测量了什么,为什么它与 ARMA 模型相关?

在此处输入图像描述 在此处输入图像描述

2个回答
  1. 假设系列是独立的,蓝色阴影部分连接各个相关性的大约 95% 区间的边界。因此,如果您的数据是白噪声,则预计这些自相关中约有 5% 位于这些范围之外。

  2. PACF 基本上是针对低阶相关性影响调整的滞后相关性。例如,如果您有一个自相关的 AR(1),滞后 1ρ1,那么滞后 2 处的相关性将是ρ12. 如果您想评估由于滞后 1 的相关性而在滞后 2 时已经预期的相关性之外发生了什么,您需要滞后 2 的 PACF。

如果您有一个大致正弦的系列,您通常会在 ACF 中看到一个阻尼正弦曲线。但是请注意,您的 PACF 会中断……因此,持续的正弦曲线主要是由于早期滞后的模式;低阶 AR 可能会相当好地描述数据(但实际上,查看数据,我认为这不是一个简单的 AR;看起来像是一些周期性效应,你应该尝试对其进行建模。而且数据似乎是积极的,正确的偏斜和非平稳的,所以你应该小心试图根据 ARMA 模型过度解释你的显示。

蓝色阴影区域用于测试自相关和偏自相关系数的统计显着性。在 ACF 中,这些频带有时基于 Bartlett 的标准误差,这可以追溯到 1946 年发表的一篇论文。它们是使用下面的公式计算的,其中rk表示第k个估计的自相关系数,并且n是时间序列的观察次数:

(1+2j=1k1rj2)1/2n1/2.

绘制在 PACF 中的估计标准误差(有时绘制在 ACF 中而不是 Bartlett 误差)使用以下公式计算:

n1/2.

ACF 显示了由不同时间跨度分隔的有序对之间的相关性。例如,之间的相关性xtxt1,或者说,xtxt2, 等等。

PACF 测量由不同时间跨度分隔的有序对之间的相关性,同时考虑到干预对的影响。因此,PACF 在考虑干预效应方面与 ACF 不同。例如,第二个偏自相关系数衡量的是xtxt2考虑到影响xt1. 同样,第四个偏自相关系数是衡量两者之间的相关性xtxt4考虑到影响xt1,xt2, 和xt3.

下面的 R 代码提供了一个演示。

最后,ACF 和 PACF 是重要的时域工具,可以帮助人们理解数据的时间序列属性。它们在 Box-Jenkins 方法中广泛用于识别 ARIMA 模型。

    # Simulate an AR(2) process ---

    x <- c(rep(0,200))    # Vector to hold the simulated series
    w <- rnorm(200)       # Errors drawn from normal distribution
    phi <- c(1.58,-0.64)  # Autoregressive paramters 

    # Simulation
    for(t in 3:200) x[t] <- phi[1] * x[t-1] + phi[2] * x[t-2] + w[t]

    # Housekeeping
    x <- ts(x[-(1:2)]) # Remove leading zeros
    maxLags <- 6       # Number of lagged series for regressions

    # Prepare data for lm() function
    data <- ts(embed(c(rep(NA,maxLags), x), maxLags+1)) # Dataset 
    colnames(data) <- c("x",paste0("AR",1:6))           # Varnames

    # Autocorrelation Function ---
    lm(x ~ AR1, data=data)
    acf(x)$acf[2]

    lm(x ~ AR2, data=data)
    acf(x)$acf[3]

    lm(x ~ AR3, data=data)
    acf(x)$acf[4]

    lm(x ~ AR4, data=data)
    acf(x)$acf[5]

    lm(x ~ AR5, data=data)
    acf(x)$acf[6]

    # Partial Autocorrelation Function ---
    lm(x ~ AR1, data=data)
    pacf(x)$acf[1]

    lm(x ~ AR1 + AR2, data=data)
    pacf(x)$acf[2]

    lm(x ~ AR1 + AR2 + AR3, data=data)
    pacf(x)$acf[3]

    lm(x ~ AR1 + AR2 + AR3 + AR4, data=data)
    pacf(x)$acf[4]

    lm(x ~ AR1 + AR2 + AR3 + AR4 + AR5, data=data)
    pacf(x)$acf[5]

    lm(x ~ AR1 + AR2 + AR3 + AR4 + AR5 + AR6, data=data)
    pacf(x)$acf[6]

一些系数之间存在微小差异,但这仅与所使用的估计方法有关。PACF 可以通过线性回归来估计,但软件通常使用近似方法,例如 Yule-Walker 方程和其他估计方法。