ADF test suggesting incorrectly that series is stationary

augmented-dickey-fullerstationaritytime series

The code below generates series y, which by design is clearly non-stationary. The ADF test below was run with 12 lags to yield (what visually appear to be) uncorrelated residuals and it would have us conclude that y is stationary. What went wrong here?

enter image description here

enter image description here

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="")

Best Answer

The ADF test correctly concluded that the series does not have a unit root. The test does not say anything about stationarity beyond the mean of the series. Your series is nonstationary due to variance, not mean, so no wonder the ADF test did not react to that.

Related Question