残差异方差的度量


16

该维基百科链接列出了多种检测OLS残差异方差性的技术。我想了解哪种动手操作技术在检测受异方差影响的区域时更有效。

例如,在这里,OLS“残差vs拟合”图中的中心区域的方差比图中侧面的高(我并不完全确定事实,但出于问题考虑,我们假设是这种情况)。作为确认,查看QQ图中的错误标签,我们可以看到它们与残差图中心的错误标签匹配。

但是我们如何量化方差明显更高的残差区域呢?

异方差性


2
我不确定您是对的,中间的差异更大。在我看来,离群值位于中心区域这一事实很可能是由于多数数据所在的事实所致。当然,这不会使您的问题无效。
彼得·埃利斯

1
qqplot旨在识别分布的非正态性,而不是直接识别不均匀的方差。
Michael R. Chernick

@PeterEllis是的,我在问题中指定我不确定方差是否不同,但是我很方便地使用了此诊断图片,并且示例中实际上可能存在异方差。
罗伯特·库布里克

@MichaelChernick我仅提到qqplot来说明最高误差似乎集中在残差图的中间,因此可能表明该区域的方差更高。
罗伯特·库布里克

Answers:


15

这个问题对它有探索性的感觉。John Tukey在他经典的《探索性数据分析》(Addison-Wesley 1977)中描述了探索异方差的许多程序。也许最直接有用的是他的“ 徘徊原理图 ” 的变体。此操作将一个变量(例如预测值)切分为多个bin,并使用m个字母的摘要(箱线图的概括)显示每个bin的另一个变量的位置,分布和形状。m字母统计进一步平滑,以便强调总体模式,而不是机会偏差。

可以通过利用中的boxplot过程来制作快速版本R。我们用模拟的强烈异方差数据说明:

set.seed(17)
n <- 500
x <- rgamma(n, shape=6, scale=1/2)
e <- rnorm(length(x), sd=abs(sin(x)))
y <- x + e

数据

让我们从OLS回归中获得预测值和残差:

fit <- lm(y ~ x)
res <- residuals(fit)
pred <- predict(fit)

那么,这就是使用等计数仓位作为预测值的漂移示意图。我使用lowess的是快速而又平滑的平滑效果。

n.bins <- 17
bins <- cut(pred, quantile(pred, probs = seq(0, 1, 1/n.bins)))
b <- boxplot(res ~ bins, boxwex=1/2, main="Residuals vs. Predicted",
             xlab="Predicted", ylab="Residual")
colors <- hsv(seq(2/6, 1, 1/6))
temp <- sapply(1:5, function(i) lines(lowess(1:n.bins, b$stats[i,], f=.25), 
        col=colors[i], lwd=2))

徘徊原理图

蓝色曲线使中间值平滑。其水平趋势表明回归通常很合适。其他曲线使框的末端(四分位数)和围栏(通常是极值)平滑。它们的强大收敛性和随后的分离证明了异方差性,并帮助我们对其进行了表征和量化。

(请注意,水平轴上的非线性比例反映了预测值的分布。如果做更多的工作,则该轴可以线性化,这有时很有用。)


6
很好的例子,我本以为R中可以使用一些运行分位数的实现方式(以避免所有bin一起出现问题)。有点让我想起了袋鼠。另请参见Rob Hyndman 在他的Rainbow软件包中的扩展
Andy W

9

通常,使用Breusch-Pagan方法对异方差进行建模。然后将线性回归的残差平方并回归到原始线性模型中的变量上。后一种回归称为辅助回归

ñ[R一种2ñ[R一种2[R2

为了您的目的,您可以专注于此模型中的各个系数,以查看哪些变量最能预测高或低方差结果。


1
+1但请注意,此类测试在它们可以检测到的异方差形式上受到限制。尽管异方差性非常强,但我的答案中显示的示例仍可以顺利通过。
ub
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.