adf.test返回p>使用xts为0.99,但返回p <0。 0.01与coredata(xts)

时间:2013-05-08 18:14:32

标签: r xts

这是输出:

library(tseries) # for adf.test function

adf.test(data)
Augmented Dickey-Fuller Test

data:  data
Dickey-Fuller = 11.1451, Lag order = 16, p-value = 0.99
alternative hypothesis: stationary

Warning message:
In adf.test(spread.princomp) : p-value greater than printed p-value

adf.test(coredata(data))
Augmented Dickey-Fuller Test

data:  coredata(data)
Dickey-Fuller = -4.031, Lag order = 16, p-value = 0.01
alternative hypothesis: stationary

Warning message:
In adf.test(coredata(spread.princomp)) :
p-value smaller than printed p-value

基础数据是数字向量。人们似乎成功地使用xts应用adf.test,所以我不确定我做错了什么。请让我知道我能提供的其他信息。

1 个答案:

答案 0 :(得分:7)

?adf.test表示x(第一个参数)应该是数字向量或时间序列。通过“时间序列”,它表示ts分类对象,而不是任何时间序列类对象。在调用ts之前,您应该将xts对象转换为adf.test对象。

例如:

library(tseries)
library(xts)
data(sample_matrix)
x <- as.xts(sample_matrix[,1])
adf.test(as.ts(x))