Ljung-box 测试:定义 + 示例


Ljung-Box 检验以统计学家Greta M. LjungGeorge 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,但您可以根据您的具体情况选择要用于偏移的任何值。

相关: 如何在 Python 中执行 Ljung-Box 测试

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注