如何解释 Breusch-Pagan 测试的结果?

机器算法验证 解释 异方差
2022-03-10 00:03:13

在I 中,我可以使用包的功能R对异方差性进行 Breusch-Pagan 检验Breusch-Pagan 检验是一种卡方检验。ncvTestcar

我如何解释这些结果:

> require(car)
> set.seed(100)
> x1 = runif(100, -1, 1)
> x2 = runif(100, -1, 1)
> ncvTest(lm(x1 ~ x2))
Non-constant Variance Score Test 
Variance formula: ~ fitted.values 
Chisquare = 0.2343406    Df = 1     p = 0.6283239 
> y1 = cumsum(runif(100, -1, 1))
> y2 = runif(100, -1, 1)
> ncvTest(lm(y1 ~ y2))
Non-constant Variance Score Test 
Variance formula: ~ fitted.values 
Chisquare = 1.191635    Df = 1     p = 0.2750001 
2个回答

首次应用ncvTest不存在异方差性的报告,这是应该的。第二个没有意义,因为您的因随机变量是随机游走。Breusch-Pagan 检验是渐近的,所以我怀疑它不能轻易地应用于随机游走。我不认为有随机游走的异方差性测试,因为非平稳性比异方差性带来的问题要多得多,因此在前者存在的情况下测试后者是不切实际的。

您是特别询问这些结果还是更普遍地询问 Breusch-Pagan 测试?对于这些特定测试,请参阅@mpiktas 的答案。从广义上讲,BP 测试询问是否可以使用某些预测变量来预测回归的平方残差。这些预测变量可能与原始回归中的预测变量相同。BP 测试的 White 测试版本包括来自原始回归的所有预测变量,以及它们在回归中与平方残差的平方和交互作用。如果平方残差可以使用一组协变量来预测,那么估计的残差平方和残差的方差(因为残差的平均值为 0)似乎在单位之间变化,这是异方差或非方差的定义-恒定方差,