不,学生化残差和标准化残差是不同(但相关)的概念。
事实上,R 确实提供了内置函数rstandard()
,并rstudent()
作为影响力的一部分。同一个内置包提供了很多类似的杠杆作用、库克距离等rstudent()
功能,本质上和 是一样的MASS::studres()
,大家可以像这样自行检查:
> all.equal(MASS::studres(model), rstudent(model))
[1] TRUE
标准化残差是一种估计特定数据点误差的方法,它考虑了该点的杠杆/影响。这些有时被称为“内部学生化残差”。
ri=eis(ei)=eiMSE(1−hii)−−−−−−−−−−−√
标准化残差背后的动机是,即使我们的模型假设具有固定方差的 iid 误差项的同方差性,分布,残差不能是 iid,因为残差之和总是正好为零。ϵi∼N(0,σ2)ei
任何给定数据点的学生化残差是根据模型计算出的,该模型适合除所讨论的数据点之外的所有其他数据点。这些被称为“外部学生化残差”、“删除残差”或“折刀残差”。
这听起来在计算上很困难(听起来我们必须为每个点拟合一个新模型)但实际上有一种方法可以仅从原始模型计算它而无需重新拟合。如果标准化残差是,那么学生化残差是:riti
ti=ri(n−k−2n−k−1−r2i)1/2,
学生化残差背后的动机来自于它们在异常值测试中的使用。如果我们怀疑一个点是异常值,那么根据定义,它不是从假设的模型中生成的。因此,将异常值包含在模型拟合中将是错误的 - 违反假设。学生化残差广泛用于实际异常值检测。
学生化残差还具有理想的属性,即对于每个数据点,残差的分布将是学生的 t 分布,假设满足原始回归模型的正态性假设。(标准化残差没有那么好的分布。)
最后,为了解决 R 库可能遵循与上述不同的命名法的任何担忧,R 文档明确声明它们在与上述完全相同的意义上使用“标准化”和“学生化”。
函数rstandard
并rstudent
分别给出标准化残差和学生化残差。(这些将残差重新归一化以具有单位方差,分别使用误差方差的整体和留一法测量。)