首页 文章

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

提问于
浏览
8

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

详细信息sub.caption - 默认情况下,函数调用 - 在每个绘图上显示为副 Headers (在x轴 Headers 下),当绘图位于不同页面上时,或者作为外边距中的副 Headers (如果有)每页多个图 . 'Scale-Location'图也称为'Spread-Location'或'S-L'图,它采用绝对残差的平方根来减小偏度(sqrt(| E |))比| | E |对于高斯零均值E) . “S-L”,Q-Q和残差 - 杠杆图使用具有相同方差的标准化残差(在假设下) . 它们以R [i] /(s * sqrt(1-h.ii))给出,其中h.ii是帽子矩阵的对角线条目,影响()$ hat(另见帽子),以及残差 - 杠杆图使用R [i]的标准化Pearson残差(residuals.glm(type =“pearson”)) . Residual-Leverage图显示Cook的距离等于Cook.levels的值(默认为0.5和1),并省略带有警告的杠杆的情况 . 如果杠杆率是恒定的(通常是在 balancer 的aov情况下的情况),则该图使用因子水平组合而不是x轴的杠杆作用 . (因子水平按平均拟合值排序 . )在库克距离与杠杆/(1-杠杆)图中,大小相等的标准化残差的轮廓是通过原点的线 . 轮廓线标有大小 .

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

Update :李哲元的回答表明残差与拟合图标点的方式实际上只是通过观察残差最大的3个点 . 确实如此 . 它可以通过以下"extreme"示例来演示 .

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

1 回答

  • 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
    

相关问题