Ljung-box 测试:定义 + 示例
Ljung-Box 检验以统计学家Greta M. Ljung和George EP Box命名,是一种检查时间序列中是否存在自相关的统计检验。
Ljung-Box 检验广泛应用于计量经济学和其他常见时间序列数据的领域。
Ljung-Box 测试的基础知识
以下是 Ljung-Box 测试的基础知识:
假设
Ljung-Box 检验使用以下假设:
H 0 :残差独立分布。
H A :残差不独立分布;它们表现出序列相关性。
理想情况下,我们不希望拒绝原假设。也就是说,我们希望检验的 p 值大于 0.05,因为这意味着时间序列模型的残差是独立的,这通常是我们在创建模型时做出的假设。
检验统计量
Ljung-Box 检验统计量如下:
Q = n(n+2) Σp k 2 / (nk)
金子:
n = 样本量
Σ = 一个奇特的符号,表示“总和”,被视为从 1 到h的总和,其中h是测试的偏移量数量。
p k = 滞后k处的自相关样本
拒绝区域
Q检验统计量遵循具有h 个自由度的卡方分布;即Q~ X2 (h)。
我们拒绝零假设并说如果 Q > X 2 1-α, h则模型残差不是独立分布的
示例:如何在 R 中执行 Ljung-Box 测试
要在 R 中对给定时间序列执行 Ljung-Box 测试,我们可以使用Box.test()函数,该函数使用以下符号:
Box.test (x, offset=1, type=c(“Box-Pierce”, “Ljung-Box”), fitdf = 0)
金子:
- x:数值向量或单变量时间序列
- offset:指定的偏移量
- type:要执行的测试;选项包括 Box-Pierce 和 Ljung-Box
- fitdf:如果 x 是一系列残数,则要减去的 bD自由度
以下示例说明如何对遵循均值 = 0 且方差 = 1 的正态分布的 100 个值的任意向量执行 Ljung-Box 检验:
#make this example reproducible set.seed(1) #generate a list of 100 normally distributed random variables data <- rnorm(100, 0, 1) #conduct Ljung-Box test Box.test(data, lag = 10, type = "Ljung")
这会生成以下输出:
Box-Ljung test data:data X-squared = 6.0721, df = 10, p-value = 0.8092
该检验的检验统计量为 Q = 6.0721 ,检验的 p 值为0.8092 ,远高于 0.05。因此,我们未能拒绝检验的原假设并得出数据值是独立的结论。
请注意,我们在此示例中使用的偏移值是 10,但您可以根据您的具体情况选择要用于偏移的任何值。