我正在R中运行adf.test:
x <- rnorm(1000) # no unit-root
plot(x)
adf.test(x)#p-value = 0.01 thus stationary
y <- diffinv(x)# integrate the stationary series
adf.test(y)# p-value = 0.02847 thus stationary
kpss.test(y)# p-value = 0.01 thus non stattionary
plot(y)
显然,这是一个正态分布,其结果由p值稳定 但是,我对x系列进行了积分并再次进行adf.test,测试p值仍然表示平稳过程,而绘图是非平稳过程。我在y系列上使用kpss检验,但它拒绝了平稳假设。谁能告诉我为什么adf测试会犯这样简单的错误? THX!
答案 0 :(得分:0)
如果您使用tseries
软件包,则代码中可能存在错误。
我用
回来了library(vars)
library(tseries)
x <- rnorm(1000)
plot(x)
summary(ur.df(x))
adf.test(x)
y <- diffinv(x)
plot(y)
summary(ur.df(y,type=c("trend"),lags=1))
adf.test(y,k=1)
summary(ur.kpss(y))
kpss.test(y)
这给了我x的平稳过程和y的非平稳过程。 (请注意,adf adf.test
始终包含漂移和趋势。ur.df
允许手动设置它们。)