ADF 测试错误地表明序列是平稳的

机器算法验证 时间序列 平稳性 增强的 dickey-fuller
2022-03-04 06:40:12

下面的代码生成序列 y,这在设计上显然是非平稳的。下面的 ADF 测试以 12 个滞后运行,以产生(视觉上看起来是)不相关的残差,它会让我们得出 y 是平稳的结论。这里出了什么问题?

在此处输入图像描述

在此处输入图像描述

set.seed(100)
y<-rep(NA,100)
for (i in 1:100) {
 y[i]<-rnorm(1,mean=0,sd=i)
}
par(mfrow=c(1,3))
plot(y,type="l",main="y")
  
u<-urca::ur.df(y=y, type = "none",lags=12)
summary(u)
forecast::Acf(u@res,lag.max=70,type="correlation",main="ACF",xlab="")
forecast::Acf(u@res,lag.max=70,type="partial",main="PACF",xlab="")
2个回答

ADF 测试正确地得出该系列没有单位根的结论。该测试没有说明超出系列平均值的平稳性。由于方差而不是均值,您的系列是非平稳的,因此难怪 ADF 测试对此没有反应。

增强的 Dickey-Fuller (ADF) 检验没有数据“静止”的替代假设。相反,ADF 检验了该系数的证据β下式中不等于0(相当于测试是否ρ=1在未增强的 Dickey Fuller 测试中):

Δyt=α+βyt1+δt+ζ1Δyt1++ζkΔytk+εtwhere εN(0,σ2)

虽然确实ρ=1(或者ρ=1) 暗示时间序列数据的非平稳性,但请注意β=0,但对于σ2=f(t),因此 ADF 在提供数据是平稳的证据方面的有用性对这个问题并不稳健。