分享

R语言回归分析中的异常值点的介绍

 宋娃娃姓宋 2017-12-05

(1)离群点

如何识别离群点?

1、Q-Q图,落在置信区间带外的点即可被认为是离群点。

2、一个粗糙的判断准则:标准化残差值大于2或者小于2的点可能是离群

3、library(car)
   outlierTest(fit)  显示离群点

       rstudent unadjusted p-value Bonferonni p
Nevada 3.542929         0.00095088     0.047544

(2)高杠杆值点

它们是由许多异常的预测变量值组合起来的,与响应变量值没有关系

高杠杆值的观测点可通过帽子统计量(hat statistic)判断

hat.plot <- function(fit){
    p <- length(coefficients(fit))
    n <- length(fitted(fit))
    plot(hatvalues(fit), main = "Index Plot of Hat Values")
    abline(h = c(2, 3) * p/n, col = "red", lty = 2)
    identify(1:n, hatvalues(fit), names(hatvalues(fit)))
}


hat.plot(fit)


(3)强影响点

强影响点,即对模型参数估计值影响有些比例失衡的点。例如,若移除模型的一个观测点时模型会发生巨大的改变,那么你就需要检测一下数据中是否存在强影响点了

cutoff <- 4/(nrow(states) - length(fit$coefficients) - 2)
plot(fit, which = 4, cook.levels = cutoff)
abline(h = cutoff, lty = 2, col = "red")


4、如何对线性模型进行改进?

1、删除观测点;

删除离群点通常可以提高数据集对于正态假设的拟合度,而强影响点会干扰结果,通常也会被删除。删除最大的离群点或者强影响点后,模型需要重新拟合
2、变量变换:


Box-Cox正态变换

library(car)
summary(powerTransform(states$Murder))


library(car)
boxTidwell(Murder ~ Population + Illiteracy, data = states)
3、添加或删除变量;
4、
使用其他回归方法。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多