termplot和crPlot: 部分残差图
这些函数在 y 轴上显示部分残差,在 x 轴上显示焦点变量以及相应的回归线。回归线的斜率将与完整模型中焦点变量的系数相同。这种类型的图也称为分量加残差图或部分残差图。它们通常用于检测特定预测变量和响应之间可能存在的非线性。因此,此类图的主要用途是确定是否需要对焦点预测变量进行转换。部分残差图按如下方式创建:xi
- 回归所有预测变量的响应。y
- 存储此模型的残差。r=y−y^=y−β^X
- 现在加回焦点预测器的估计影响以获得部分残差:。xir⋆i=r+β^ixi=y−∑j≠iβ^jxj
- 绘制与可能添加回归线。r⋆ixi
使用来自问题的数据:
#=====================================================================
# Partial residual plot
#=====================================================================
set.seed(142857)
sex <- factor(rep(c("Male", "Female"), times= 500))
value1 <- scale(runif(1000, min=1, max=10))
value2 <- scale(runif(1000, min=1, max=100))
value3 <- scale(runif(1000, min=1, max=200))
response <- scale(runif(1000, min=1, max=100))
df <- data.frame(sex, response, value1, value2, value3)
model <- lm(response ~ value1 + value2 + value3 + sex, data=df)
# The partial residuals
part_res <- resid(model) + df$value1*coef(model)["value1"]
plot(part_res~value1, data = df, ylab = "Partial residuals", xlab = "value1", las = 1)
abline(lm(part_res~value1, data = df), col = "steelblue2", lwd = 3)

可以很容易地检查该图与由termplot(此处未显示输出)创建的图相同:
termplot(model, terms = "value1", partial.resid = TRUE, se = TRUE, ask = FALSE, las = 1, col.res = "black")
avPlot: 加变量图
此函数创建所谓的附加变量图,有时也称为部分回归图。之间的部分关系,并针对模型中的所有其他预测变量进行了调整。实际上,添加变量图将维回归问题简化为一系列 2D 图(用于更多焦点预测变量)。这种图表是使用以下步骤创建的:xi(k+1)
- 计算一个模型,对除焦点预测变量之外的所有预测变量。存储此模型的残差。该模型的残差是响应之外的所有预测变量都没有“解释”的部分。yxiyxi
- 在所有其他预测器上回归焦点预测器并存储残差。这些残差是中未被其他预测变量“解释”的部分(即的部分)。xixixi
- 将步骤 1 的残差绘制在 y 轴上,将步骤 2 的残差绘制在 x 轴上。如果您愿意,可以添加回归线。
再次使用上述数据:
#=====================================================================
# Added-variable plot
#=====================================================================
model2 <-lm(response ~ value2 + value3 + sex, data=df)
resid2 <- residuals(model2)
model3 <- lm(value1~value2 + value3 + sex, data=df)
resid3 <- residuals(model3)
plot(resid2~resid3, las = 1, xlab = "value1 | others", ylab = "response | others")
abline(lm(resid2~resid3), col = "steelblue2", lwd = 3)

该图有一些非常有用的属性:
- 与部分残差图中一样,回归线的斜率与完整模型中xi
- 与部分残差图相比,加变量图中回归线的残差与完整模型的残差相同。
- 因为 x 轴上的值显示焦点预测变量的值取决于其他预测变量,所以在给定其他预测变量的值的情况下,向左或向右的点是的值异常的情况。因此,可以很容易地看到有影响的数据值。xixi
- 该图可用于检测非线性、异方差和异常模式。
比较
部分回归图上的维基百科页面总结了(我的小改动):
部分回归图 [添加变量图] 与部分残差图相关但不同。偏回归图最常用于识别具有高杠杆率的数据点和可能不具有高杠杆率的有影响力的数据点。部分残差图最常用于识别和之间关系的性质(考虑到模型中其他自变量的影响)。请注意,由于绘制的两组残差之间的简单相关性等于响应变量和之间线性关系的正确强度YXiXiXi. 这不适用于部分残差图。另一方面,对于偏回归图,x 轴不是。这限制了它在确定是否需要转换(这是部分残差图的主要目的)方面的有用性。Xi
参考
Fox J, Weisberg S (2019):应用回归的 R 伴侣。第三版。圣人出版物。
Velleman P , Welsch R (1981):回归诊断的高效计算。美国统计学家。35(4):234-242。