级联独立 AR(1) 过程的自相关

机器算法验证 r 自相关 独立 滞后
2022-03-17 11:52:32

是一个随机过程,它是通过连接来自 AR(1) 过程的 iid 绘制形成的,其中每个绘制是一个长度为 10 的向量。换句话说,是 AR(1) 过程的实现;来自同一个过程,但独立于前 10 个观察值;等等。{Xt}{X1,X2,,X10}{X11,X12,,X20}

的 ACF——称之为 ——会是什么样子?我期望对于长度为的滞后为零,因为根据假设,10 个观察的每个块独立于所有其他块。Xρ(l)ρ(l)l10

但是,当我模拟数据时,我得到了这个:

simulate_ar1 <- function(n, burn_in=NA) {
    return(as.vector(arima.sim(list(ar=0.9), n, n.start=burn_in)))
}

simulate_sequence_of_independent_ar1 <- function(k, n, burn_in=NA) {
    return(c(replicate(k, simulate_ar1(n, burn_in), simplify=FALSE), recursive=TRUE))
}

set.seed(987)
x <- simulate_sequence_of_independent_ar1(1000, 10)
png("concatenated_ar1.png")
acf(x, lag.max=100)  # Significant autocorrelations beyond lag 10 -- why?
dev.off()

x 的样本自相关函数

为什么在滞后 10 之后自相关还远未达到零?

我最初的猜测是 arima.sim 中的老化时间太短,但是当我明确设置例如 burn_in=500 时,我得到了类似的模式。

我错过了什么?


编辑:也许对连接 AR(1)s 的关注会分散注意力——一个更简单的例子是:

set.seed(9123)
n_obs <- 10000
x <- arima.sim(model=list(ar=0.9), n_obs, n.start=500)
png("ar1.png")
acf(x, lag.max=100)
dev.off()

原味 ar1 的 acf

基本上为零)下,我对显着非零自相关的大块感到惊讶。我可以做?ρ(l)=0.9l


另一个编辑:也许这里发生的所有事情都是,估计的 ACF,本身是非常自相关的。例如,这里是的联合分布,它们的真实值基本上为零() :ρ^(ρ^(60),ρ^(61))0.9600

## Look at joint sampling distribution of (acf(60), acf(61)) estimated from AR(1)
get_estimated_acf <- function(lags, n_obs=10000) {
    stopifnot(all(lags >= 1) && all(lags <= 100))
    x <- arima.sim(model=list(ar=0.9), n_obs, n.start=500)
    return(acf(x, lag.max=100, plot=FALSE)$acf[lags + 1])
}
lags <- c(60, 61)
acf_replications <- t(replicate(1000, get_estimated_acf(lags)))
colnames(acf_replications) <- sprintf("acf_%s", lags)
colMeans(acf_replications)  # Essentially zero
plot(acf_replications)
abline(h=0, v=0, lty=2)

估计acf的抽样分布

1个回答

执行摘要:由于样本量小,您似乎将噪声误认为是真正的自相关。

您可以通过增加k代码中的参数来简单地确认这一点。请参阅下面的这些示例(我一直使用您的相同set.seed(987)来保持可复制性):

k=1000 (您的原始代码)

1000 次模拟

k=2000

2000 次模拟

k=5000

5000 次模拟

k=10000

10000 次模拟

k=50000

50000 次模拟

这一系列图像告诉我们两件事:

  • 随着迭代次数的增加,前 10 次观察后的自相关大大减小。实际上,如果迭代次数足够多,任何都会收敛到零。这是我一开始陈述的基础——你观察到的自相关只是噪音。ρ^(l)l>10
  • 尽管上述观察表明,随着模拟次数的增加,收敛到零,对于任何实际上在正如您的模型的构造所暗示的那样。ρ^(l)l>10ρ^(l)l10ρ^(l)=ρ(l)=0.9l

请注意,我将观察到的自相关称为并将真正的自相关称为ρ^(l)ρ(l)