做多元回归分析怎样判断诊断出来的异常值是否为影响点?以及对影响点如何处理?

理由
举报 取消

将异常值剔除后重新回归,仍然会出现新的异常值。

2017年12月14日 2 条回复 1203 次浏览

回复 ( 2 )

  1. ylchen
    理由
    举报 取消

    之前的回复,正确性有问题,而且题主问的是异常值中的影响点,我自己拐到异常值那边去了,十分抱歉。

    重新更新一下。

    ————————————————————-这是分割线————————————————————–

    一般认为异常值包括离群点影响点

    • 怎样判断影响点?

    有几种方法可以检验影响点。包括Cook距离,DFITS和DFBETA等统计量指标。

    实际中Cook距离好像比较常用。

    某个案例i的Cook距离是指,基于全部观测案例得到的所有估计值未包含观测案例i所得的估计值之间的平均差异。它实际上测量了每个观测案例对所有回归估计值的影响。

    在实际分析中,若观测案例i的Cook距离如大于2k/n (k是变量参数的个数(含常数项),<R语言实战>里取Cook距离为4/(n-k-1)),则表示该案例i是个强影响点(删掉之后回归系数会出现很大变化)。

    DFITS和DFBETA统计量定义有点绕,不太明白。有了Cook距离之后,也不太想深入→_→。

    此外可以通过画变量添加图(added variable plot)来肉眼观察影响点。(具体就不说了,因为是肉眼,所以可能有点主观)

    • 对影响点如何处理?

    强影响点会干扰结果,通常会被删除。

    删除最大离群点或强影响点后,模型需要重新拟合。

    如果离群点或强影响点依然存在,重复删除过程,直到得到较为满意的拟合。

    不过删除影响点还是要慎重,因为异常点可能会包含非常有意思的发现。

    另外,可以使用稳健回归模型替代OLS回归。稳健回归好像可以较好的处理影响点。

    – 判断影响点部分,参考《回归分析》(美国密歇根大学教授谢宇,著)第17章,回归诊断。

    – 处理影响点部分,参考Robert I. Kabacoff的《R语言实战》(即鼎鼎大名的R in Action) 第8章,回归

    有问题还请指出讨论。

  2. 胡镒
    理由
    举报 取消

    把可能的影响点去掉,然后重新跑一遍回归。

    用影响点的参数得到相应的预测值。

    然后做一个t test。。

    貌似这样就行了。。

我来回答

Captcha 点击图片更换验证码