plot.lm()如何确定残差与拟合图的异常值?

时间:2016-08-31 21:25:51

标签: r plot regression linear-regression lm

plot.lm()如何确定哪些点是残差与拟合图的异常值(即标记的内容)?我在documentation中找到的唯一一件事是:

  

详情

     

sub.caption - 默认情况下,函数调用 - 在每个绘图上显示为副标题(在x轴标题下),当绘图位于不同页面上时,或者作为外边距中的副标题(如果有)在那里是每页多个图。

     

'Scale-Location'图也称为'Spread-Location'或'S-L'图,取绝对残差的平方根以减小偏度(sqrt(| E |))更少歪斜比E |对于高斯零均值E)。

     

'S-L',Q-Q和剩余杠杆图使用具有相同方差的标准化残差(在假设下)。它们以R [i] /(s * sqrt(1-h.ii))给出,其中h.ii是帽子矩阵的对角线条目,影响()$ hat(另见帽子),以及残差 - 杠杆图使用标准化的Pearson残差(residuals.glm(type =" pearson"))用于R [i]。

     

残差 - 杠杆图显示了Cook.levels(默认值为0.5和1)的值与Cook的距离相等的轮廓,并省略了带有警告的杠杆的情况。如果杠杆率是恒定的(通常是在平衡的aov情况下的情况),则该图使用因子水平组合而不是x轴的杠杆作用。 (因子水平按平均拟合值排序。)

     

在库克的距离与杠杆/(1-leverage)图中,幅度相等的标准化残差的轮廓是通过原点的线。轮廓线标有大小。

但它没有说明如何生成残差与拟合图,以及它如何选择标记点。

更新:Zheyuan Li的回答表明,残差与拟合图标记点的方式实际上只是通过查看残差最大的3个点。确实如此。它可以通过以下"极端"示例

x = c(1,2,3,4,5,6)
y = c(2,4,6,8,10,12)
foo = data.frame(x,y)
model = lm(y ~ x, data = foo)

enter image description here

2 个答案:

答案 0 :(得分:13)

他们找到最大的3个绝对标准化残差。考虑这个例子:

fit <- lm(dist ~ speed, cars)
plot(fit, which = 1)

enter image description here

r <- rstandard(fit)  ## get standardised residuals
order(abs(r), decreasing = TRUE)[1:3]
# [1] 49 23 35

答案 1 :(得分:0)

这是3个绝对最高拟合值

r <- abs(selectedMod$residuals)
order((r), decreasing = TRUE)[1:3]