这里是从R语言->fUnitRoots包->ur.df函数中提取出来的。
简单一阶单位根判定模型。
涉及统计学知识应该不是很多,我想下面式子你是能看懂的。
#滞后时间lags=1时:
#模拟数据如下:
#高斯白噪声序列
data<-rnorm(n = 100,0,1)
#一阶单位根序列
datat<-cumsum(data)
udsim<-function(y){
#滞后阶数,高阶算法会多些步骤,这里为了简单不介绍了
lags <- 2
#源数据一次差分
z <- diff(y)
n <- length(z)
#生成滞后序列表
x <- embed(z, lags)
z.diff <- x[, 1]
z.lag.1 <- y[lags:n]
z.diff.lag = x[, 2]
#此处利用线性回归求解AR模型,我想这个很多实现方法不需要我解释了
result <- lm(z.diff ~ z.lag.1 - 1 + z.diff.lag)
#调取对应位置的系数
tau <- coef(summary(result))[1, 3]
#返回判定值
as.matrix(tau)
}
阀值 1pct 5pct 10pct
-2.6 -1.95 -1.61
> udsim(data)
[,1]
[1,] -7.389355
> udsim(datat)
[,1]
[1,] -0.5403172