我需要检查线性回归残差的方差同质性。我读到 Kruskal 在不假设正态分布的情况下也很好。但我不知道这是否适合我的情况。我正在对两个价格向量(股票价格)进行线性回归。我还使用 Anderson-Darling 正态性检验(ad.test of nortest 包)检查了正态性,残差似乎不是正态分布的,但也许我选择了错误的检验来检查它。
所以,我的目标是检查残差的方差是否均匀。显然,我将残差列表细分为两组:
res[1:300]
res[301:600]
我能做些什么?
我需要检查线性回归残差的方差同质性。我读到 Kruskal 在不假设正态分布的情况下也很好。但我不知道这是否适合我的情况。我正在对两个价格向量(股票价格)进行线性回归。我还使用 Anderson-Darling 正态性检验(ad.test of nortest 包)检查了正态性,残差似乎不是正态分布的,但也许我选择了错误的检验来检查它。
所以,我的目标是检查残差的方差是否均匀。显然,我将残差列表细分为两组:
res[1:300]
res[301:600]
我能做些什么?
如果我理解正确,您在简单的线性回归中)和一个标准(预测变量显着性检验基于模型假设,即对于每个观察 其中是我们要估计和检验假设的参数,误差是均值为 0 且方差恒定的正态分布随机变量。所有都被假定为彼此独立,并且与无关。x_
您使用了术语“方差同质性”,通常在您有不同的组时使用(如在 ANOVA 中),即当仅采用几个不同的值时。在回归的上下文中,的假设称为同方差。这意味着所有条件误差分布具有相同的方差。这个假设不能用不同组的测试来测试(Fligner-Killeen,Levene)。
下图试图说明相同条件误差分布的概念(此处为 R 代码)。

异方差检验是 Breusch-Pagan-Godfrey-Test(bptest()来自 packagelmtest或ncvTest()from package car)或 White-Test(white.test()来自 package tseries)。您还可以考虑仅使用异方差一致的标准误差(修改后的 White 估计器,请参阅hccm()packagecar或vcovHC()from package 的函数sandwich)。然后可以将这些标准错误与coeftest()package中的函数结合使用lmtest(),如 Fox & Weisberg (2011), An R Companion to Applied Regression 中的第 184-186 页所述。
您也可以根据拟合值绘制经验残差(或其某种变换)。典型的变换是学生化残差(spread-level-plot)或绝对残差的平方根(scale-location-plot)。这些图不应显示依赖于预测的残差分布的明显趋势。

N <- 100 # number of observations
X <- seq(from=75, to=140, length.out=N) # predictor
Y <- 0.6*X + 10 + rnorm(N, 0, 10) # DV
fit <- lm(Y ~ X) # regression
E <- residuals(fit) # raw residuals
Estud <- rstudent(fit) # studentized residuals
plot(fitted(fit), Estud, pch=20, ylab="studentized residuals",
xlab="prediction", main="Spread-Level-Plot")
abline(h=0, col="red", lwd=2)
plot(fitted(fit), sqrt(abs(E)), pch=20, ylab="sqrt(|residuals|)",
xlab="prediction", main="Scale-Location-Plot")
直截了当的答案似乎是Levene's Test。也在Wikipedia上进行了描述。Levene's 适用于您的情况,因为它对偏离常态的敏感性低于替代方法 Bartlett 检验。Levene's 是参数化的,但即使具有某种程度的非正态性也适用。如果分布从根本上偏离正态,就像极端异常值一样,你会想要使用非参数替代方案。
我认为这里没有任何适用的 Kruskal 测试。但是您还需要检查其他线程,例如这个线程。