我对 R 中的单位根检验的 Dickey-Fuller p 值和检验统计量有疑问。我尝试使用函数:
urca::ur.df()
fUnitRoots::adfTest()
tseries::adf.test()
与 gretl 输出相比,它们都显示了相同测试设置(滞后、类型)的不同结果。
例如:
set.seed(1)
x <- rnorm(50, 0, 3)
schwert.param <- trunc(12 * (length(na.omit(x)) / 100) ^ (1 / 4))
adfTest(x = na.omit(x), lags = schwert.param, type = "nc", title = NULL, description = NULL)
# Title:
# Augmented Dickey-Fuller Test
#
# Test Results:
# PARAMETER:
# Lag Order: 10
# STATISTIC:
# Dickey-Fuller: -2.4362
# P VALUE: 0.01749
对于 gretl 中的相同向量 x 我得到:
> Test statistic: tau_nc(1) = -4.03652
> Asymptotic p-value = 5.57e-005
两种测试设置都没有常数和趋势,滞后 = 10。所以,为什么我会为相同的数据输入得到不同的结果。我知道,Dickey-Fuller 测试使用蒙特卡洛来获得测试统计的 p 值,但是它们是否会有很大差异,或者我在 R 中对那个函数做错了什么?
@ChristophHanck @GraemeWalsh:好吧,我可能发现这里发生了什么。首先,我将 gretl 语言从波兰语更改为英语,我发现在 ADF 测试窗口中默认检查了一个选项 - “从最大滞后顺序测试”使用 Akaike 信息标准。如果我取消选中该选项,我将获得与 R 中相同的结果。现在我想知道如何在 R 中使用该选项。有人知道该怎么做吗?