残差的非正态性

机器算法验证 正态分布 状态 最小二乘 残差 假设
2022-03-07 08:39:19

我指的是这篇文章 ,它似乎质疑残差正态分布的重要性,认为这与异方差一起可以通过使用稳健的标准误差来避免。

我已经考虑了各种转换 - 根、日志等 - 事实证明,所有这些都无法完全解决问题。

这是我的残差的QQ图:

正态图

数据

  • 因变量:已经使用对数变换(修复异常值问题和此数据中的偏度问题)
  • 自变量:公司年龄和一些二元变量(指标)(稍后我有一些计数,用于作为自变量的单独回归)

Stata 中的iqr命令 (Hamilton) 没有确定任何排除正态性的严重异常值,但下图表明并非如此,Shapiro-Wilk 检验也是如此。

2个回答

向图表添加“类似测试的味道”的一种方法是在它们周围添加置信范围。在Stata我会这样做:

sysuse nlsw88, clear
gen lnw = ln(wage)

reg lnw i.race grade c.ttl_exp##c.ttl_exp union

predict resid if e(sample), resid

qenvnormal resid, mean(0) sd(`e(rmse)') overall reps(20000) gen(lb ub)

qplot resid lb ub, ms(oh none ..) c(. l l)     ///
    lc(gs10 ..) legend(off) ytitle("residual") ///
    trscale(`e(rmse)' * invnormal(@))          ///
    xtitle(Normal quantiles)

在此处输入图像描述

在检查这些 qq 图时要记住的一件事是,即使基础分布确实是正态的并且无论 N 有多大,尾部也会倾向于偏离线。这在Maarten 的回答中有所暗示这是因为随着 N 变得越来越大,尾部将越来越远,并且事件越来越少。因此,尾部的数据总是非常少,而且它们总是会变化很多。如果你的大部分线路在预期的地方并且只有尾部偏离,那么你通常可以忽略它们。

我用来帮助学生学习如何评估他们的 qq 图的正态性的一种方法是从已知的正态分布中生成随机样本并检查这些样本。在一些练习中,他们生成了各种大小的样本,以查看随着 N 的变化会发生什么,还有一些练习,他们采用真实的样本分布并将其与相同大小的随机样本进行比较。R的TeachingDemos包有一个使用类似技术的正态性测试。

# R example - change the 1000 to whatever N you would like to examine
# run several times
y <- rnorm(1000); qqnorm(y); qqline(y)