📜  如何在 R 中执行增强的 Dickey-Fuller 测试(1)

📅  最后修改于: 2023-12-03 14:52:32.241000             🧑  作者: Mango

如何在 R 中执行增强的 Dickey-Fuller 测试

介绍

增强的 Dickey-Fuller 测试是广泛用于时间序列分析中的工具,用于判断序列的平稳性。在 R 语言中,我们可以使用 tseries 包中的 adf.test() 函数执行增强的 Dickey-Fuller 测试。

安装 tseries

在执行增强的 Dickey-Fuller 测试之前,我们需要确保 tseries 包已安装。如果未安装此包,请使用以下命令进行安装:

install.packages("tseries")
准备数据

在执行增强的 Dickey-Fuller 测试之前,我们需要准备数据。这里我们使用 AirPassengers 数据集作为示例。这个数据集包含 1949 年至 1960 年间每个月国际航班的数量。

library(datasets)

# 导入数据
data(AirPassengers)

# 展示数据
head(AirPassengers)

输出结果应该类似于以下内容:

     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1949 112 118 132 129 121 135 148 148 136 119 104 118
1950 115 126 141 135 125 149 170 170 158 133 114 140
1951 145 150 178 163 172 178 199 199 184 162 146 166
1952 171 180 193 181 183 218 230 242 209 191 172 194
1953 196 196 236 235 229 243 264 272 237 211 180 201
1954 204 188 235 227 234 264 302 293 259 229 203 229
执行增强的 Dickey-Fuller 测试

现在我们可以使用 adf.test() 函数执行增强的 Dickey-Fuller 测试。该函数接受两个必需的参数:x 为要测试的时间序列数据,alternative 表示零假设的备选假设。我们使用默认的 alternative = "two.sided" 表示双侧检验。

library(tseries)

# 执行增强的 Dickey-Fuller 测试
adf.test(AirPassengers)

输出结果应该类似于以下内容:

	Augmented Dickey-Fuller Test

data:  AirPassengers
Dickey-Fuller = 0.81536, Lag order = 9, p-value = 0.9911
alternative hypothesis: stationary

输出结果包含了增强的 Dickey-Fuller 测试的一些信息,如 DF 统计量的值、滞后阶数、p 值以及备选假设等。在此示例中,p 值为 0.9911,远远高于通常使用的显著性水平 0.05,因此我们不能拒绝零假设,即该序列不是平稳的。

结论

在本文中,我们介绍了如何在 R 中执行增强的 Dickey-Fuller 测试,并演示了如何使用 tseries 包中的 adf.test() 函数执行该测试。在实际应用中,增强的 Dickey-Fuller 测试是一种非常有用的工具,可以用于判断时间序列数据的平稳性。