执行多重回归时,是否删除统计软件标记为异常值的案例?


23

我正在执行多元回归分析,不确定是否应该删除数据中的异常值。我关注的数据在SPSS箱形图上显示为“圆圈”,但是没有星号(这使我认为它们并不“糟糕”)。我关注的案例确实出现在输出的“案例诊断”表下-因此我应该删除这些案例吗?


非常感谢Charlie和Epigrad。您能否建议我查看SPSS中的哪个图来评估残差中是否存在离群值?散点图看起来很乱!我没有这样的数据问题(因为他们没有被错误输入),我只是认为我的一些参与者在我的一些量表上得分更高,即因为他们对社交的焦虑程度更高其余的样本。
Anon

3
您应该在x轴上绘制y的预测值(根据您估计的模型给出的预测值),在y轴上绘制残差。代替y的预测值,您可以在x轴上放置一个预测变量/独立变量。您可以创建多个图,每个图在x轴上具有不同的预测变量,以查看哪个x值导致异常行为。同样,我会警告不要移除异常值;相反,请分析为什么发生异常值。
查理

1
呼应查理的声明,重要的是“为什么”,而不是“如果”,我也将告诫不要将其删除。我对SPSS并不熟悉,但是您用于运行回归的任何功能都应该能够为您提供残差图,或者至少可以将其值用于绘制Charlie建议的图。
Fomite 2011年

@Anon我已经合并了您的两个帐户。请注册,以便您可以更新和/或评论您的问题。
chl

3
@ user603不,您没有正确阅读我的内容。“异常值”没有任何意义-尤其是在统计软件中由自动程序进行标记时。在“异常值”中存在许多重要研究发现的例子。每当您要删除数据时,都应该是有原因的。“它们不方便”不是原因。
Fomite

Answers:


25

标记异常值不是判断的依据(或者在任何情况下都不必是判断依据)。给定一个统计模型,离群值有一个精确的客观定义:它们是不遵循大多数数据模式的观察结果。这种观察需要在任何分析开始时加以区分,仅因为它们与大量数据的距离可确保它们对最大似然拟合的任何多变量模型(或实际上是任何其他凸损失函数)施加不成比例的拉力。

需要指出,重要的是多变量离群小号可以简单地不使用残差从最小二乘拟合(或由ML估计的任何其他模型,或任何其他凸损失函数)被可靠地检测。简而言之,多变量离群值只能通过使用不易受其影响的估计程序拟合的模型中的残差来可靠地检测出来。

认为离群值将在经典拟合的残差中脱颖而出的信念排在其他地方,还有其他难以揭穿的统计否定值,例如将p值解释为证据的度量或从有偏见的样本中推断总体。也许除了这个可能更老之外:高斯本人建议使用鲁棒的估计器(例如中位数和mad(而不是经典的均值和标准差))从嘈杂的观测值中估计正态分布的参数(甚至进行就推导mad(1)的一致性因子而言。

为了给出一个基于实际数据的简单直观示例,请考虑臭名昭著的CYG星数据。这里的红线表示最小二乘拟合,蓝线表示使用稳健的线性回归拟合获得的拟合。这里的稳健拟合即FastLTS(2)拟合,它是LS拟合的替代方法,可用于检测离群值(因为它使用一种估计程序来确保任何观测值对估计系数的影响都是有限的)。重现它的R代码是:

library(robustbase)
data(starsCYG)
plot(starsCYG)
lm.stars <- lm(log.light ~ log.Te, data = starsCYG)
abline(lm.stars$coef,col="red",lwd=2)
lts.stars <- ltsReg(log.light ~ log.Te, data = starsCYG)
abline(lts.stars$coef,col="blue",lwd=2)

starCYG数据

有趣的是,相对于LS拟合和LS拟合的残差的QQ图(或从中得出的任何诊断工具,例如库克距离或dfbeta)无法显示其中任何一个有问题。这实际上是一种规范:以不超过两个异常值(不考虑样本大小)的方式得出最小二乘估计值,以使异常值不会在残差图中脱颖而出。这就是所谓的掩盖效果并且有据可查。也许CYGstars数据集的唯一显着之处是它是双变量的(因此我们可以使用目视检查来确认稳健拟合的结果),并且对于为什么这四个观察值如此异常实际上有很好的解释。

顺便说一句,这是除规则之外的例外:除了在涉及少量样本和少量变量的小型试点研究中,并且在进行统计分析的人员也参与了数据收集过程的情况下,我从未遇到过这样的情况:异常值的标识实际上是真实的。顺便说一下,这很容易验证。无论是否使用离群值检测算法或研究人员的直觉来识别离群值,从定义上看,离群值都是对从LS拟合获得的系数具有异常杠杆作用(或“拉动”)的观察结果。换句话说,离群值是从样本中去除会严重影响LS拟合的观察值。

尽管我也从未亲身经历过,但是在文献中有一些文献充分记录的案例,后来发现异常值检测算法标记为异常值的观察结果是严重错误或由其他过程产生。在任何情况下,仅以某种方式可以理解或解释的异常值都无法消除,因此从科学上讲也不是明智的选择。如果一小部分观察结果与数据主体相去甚远,以至于它可以单凭一己之力就可以得出统计过程的结果,那么明智的做法(我可能会自然而然地)将其分开,无论是否并非这些数据点也可能出于其他原因而令人怀疑。

(1):参见斯蒂芬·斯蒂格勒(Stephen M. Stigler),《统计历史:1900年之前的不确定性的度量》。

(2):为大型数据集计算LTS回归(2006)PJ Rousseeuw,K. van Driessen。

(3):高故障稳健多元方法(2008)。Hubert M.,Rousseeuw PJ和Van AelstS。资料来源:统计学家。科学 第23卷,第92-119页。


6
这是好东西(+1)。但是,我认为您误用了常规术语,并选择了“异常值”来指代“有影响力的观察”。这些概念都是有价值的,您在这里对后者的处理很好,但是它们似乎并不像您指出的那样可互换。举例来说,一个有影响力的意见,即与广大的数据的一致性会适合你的描述“有异常杠杆意见(或‘拉’),以符合从LS获得的系数超过”,但不会被大多数作家被视为本身就是
whuber

2
@whuber:好点。的确,我认为,就像最近有关稳健统计的教科书(例如,稳健统计:理论和方法。Wiley)那样,这种观察(所谓的“良好杠杆率”)也是有害的。理由是它们缩小了估计系数的标准误差,从而使用户对观察到的关系的强度放了不必要的信心。考虑到良好的杠杆点作为离群也使得正规的方法更加一致:都好杠杆点后不要有其本身的过度影响力在LS / ML配合的一个组成部分。
user603 2013年

3
+1非常好的例子。实际数据显示两个拟合几乎是正交的,并且在OLS拟合之后,左上角的四个很有影响力的残差不会最大。
韦恩

19

总的来说,我很警惕删除“异常值”。可以在存在非正态分布的错误,表现出异方差的错误或与其余变量“相距较远”的预测变量/独立变量的值的情况下正确地进行回归分析。离群值的真正问题是它们没有遵循每个其他数据点都遵循的线性模型。您怎么知道是这种情况?你不知道

如果有的话,您不想查找离群值的变量值;相反,您想查找残差值是离群值。看这些数据点。是否正确记录了它们的变量?是否有任何理由使他们不会采用与您其余数据相同的模型?

当然,这些观察结果可能显示为异常值(根据残留诊断)的原因可能是因为您的模型错误。我有一位教授喜欢说,如果我们抛弃离群值,我们仍然会相信行星会绕太阳绕完美的圆周旋转。开普勒本可以扔掉火星,而圆形轨道的故事看起来还不错。火星提供了关键的见解,认为该模型是不正确的,如果他忽略了该行星,他将错过这个结果。

您提到删除异常值不会对您的结果产生太大影响。这是因为相对于样本您只删除了很少的观测值,或者它们与模型相当一致。这可能表明,尽管变量本身看起来可能与其他变量不同,但它们的残差并不是那么突出。我会把它们留在原地,而不是试图证明我的决定要消除我的批评者的某些观点。


6
+1不要丢弃数据,因为它是异常值。找出为什么有些数据偏远。
Fomite 2011年

2
这是可怕的建议。离群点离其余数据太远通常很普遍,以至于将回归线拉向离群点,以至于它们不会在残差图上脱颖而出(或更糟的是:为真实数据产生大量残差数据点)。实际上,可以证明,一旦您拥有多个异常值,就无法使用经典回归中的残差图可靠地检测到该异常值。这就是所谓的“ 掩盖效应”,在许多实际数据示例中,我都进行了充分证明。
user603 2013年

顺便说一句,这也是为什么我避免使用Mars示例的原因:它说明了仅在处理单个异常值时有效的过程。在大多数应用中,没有这样的保证。对于通常有缺陷的方法,这给人一种错误的信心(作为统计学家,这确实是我们应努力避免的)。
user603 2013年

15

+1 @Charlie和@PeterFlom; 您在那里获得了很好的信息。也许我可以通过质疑问题的前提在这里做出一点贡献。一箱线一般(软件可以改变的,我不知道知道什么SPSS做)标注点的1.5倍以上各国四分位数高于(低于)第三(第一)四分位数为“异常值”。但是,当我们知道所有点都来自同一分布的事实时,我们可以问我们期望多久找到至少一个这样的点?一个简单的模拟可以帮助我们回答以下问题:

set.seed(999)                                     # this makes the sim reproducable

outVector = vector(length=10000)                  # to store the results
N = 100                                           # amount of data per sample

for(i in 1:10000){                                # repeating 10k times
  X = rnorm(N)                                    # draw normal sample
  bp = boxplot(X, plot=FALSE)                     # make boxplot
  outVector[i] = ifelse(length(bp$out)!=0, 1, 0)  # if there are 'outliers', 1, else 0
}

mean(outVector)                                   # the % of cases w/ >0 'outliers'
[1] 0.5209

这表明,在大小为100的样本中,即使没有任何缺陷,也可以预期此类点会普遍发生(> 50%的时间)。就像最后一句话所暗示的那样,通过箱线图策略发现假“离群值”的可能性将取决于样本量:

   N    probability
  10    [1] 0.2030
  50    [1] 0.3639
 100    [1] 0.5209
 500    [1] 0.9526
1000    [1] 0.9974

还有其他策略可以自动识别离群值,但是任何此类方法有时都会将有效点误识别为“离群值”,有时会将真正的离群点误识别为“有效点”。(你可以把这些作为I型和II型错误。)我在这个问题上(对于它的价值)的思想是把重点放在影响,包括/问题排除点。如果您的目标是预测,则可以使用交叉验证来确定是否/在多大程度上包括所涉及的点会增加预测的均方根误差。如果您的目标是解释,那么可以看看dfBeta(即,查看模型的beta估算值根据所考虑的点是否包括在内而变化了多少)。另一个观点(可以说是最好的)是避免不得不选择是否应该抛出异常点,而只是使用可靠的分析


您建议的过程仅在最多有一个异常值(与数据集的大小无关)时才可靠地工作,这是不现实的假设。如果数据是从高斯分布中提取的,那么Tukey校正了晶须规则,以排除每端大约1%的观测值。您的模拟证实了这一点。Tukey的观点是,在观察结果表现良好的情况下,由于忽略了数据的一小部分而造成的损失对于所有实际问题都是无关紧要的。特别是在没有数据的情况下的好处。
user603 2013年

2
感谢您的评论,@ user603; 那是发人深省的位置。哪些程序,我建议你反对:例如使用dfbeta以检测可能的异常值,或使用强大的分析(prototypically杜克的bisquare作为替代损失函数)的保护对他们的影响力,而不是选择哪些数据点扔出去?
gung-恢复莫妮卡

感谢您指出我的评论不够清晰(我受长度限制的约束)。当然,我特别指的是前者:dfbeta和交叉验证(仅当从原始样本中随机抽取用于执行交叉验证的观察值时,后者才有问题。可以使用交叉验证的情况示例)处于所谓的质量控制设置中,用于测试的观察值是从时间上不相交的样本中提取的)。
user603 2013年

感谢您澄清@ user603。我必须发挥这些想法才能更全面地理解它们。我的直觉是,要注意使您的结果失真的异常值是很困难的。似乎您需要使异常值在两端均等地失真,在这种情况下,您的Beta最终将近似无偏,并且结果将不再那么“重要”。
gung-恢复莫妮卡

1
我的直觉是,很难注意到异常值会扭曲您的结果,但是不幸的是,事实并非如此。还要看看我在答案中提供的示例。
user603 2013年

12

首先,您应该查看残差图:它们是否遵循(大致)正态分布?它们显示出异方差的迹象吗?还要查看其他图(我不使用SPSS,因此无法确切说明该程序中的操作方式,也无法说明正在查看的箱形图;但是,很难想象星号的意思是“还不错”从某些标准来看,这些都是非常不寻常的点)。

然后,如果您有异常值,请查看它们并尝试找出原因。

然后,您可以尝试使用有无异常值的回归。如果结果相似,则生活是美好的。报告全部结果并添加脚注。如果不相似,则应解释两个回归。


1
彼得,非常感谢。我已经检查了QQ图,数据似乎不是异常异常。当我删除异常值时,它们似乎对结果没有太大影响。因此,我应该把它们留在里面吗?我仍然很想听听其他人在SPSS中的案例诊断表上的想法。非常感谢。
匿名

1
是的,然后我将其留在脚注中,例如“删除了多个异常值的分析显示了非常相似的结果”
彼得·弗洛姆-恢复莫妮卡

2
即使假设可以使用这种方法可靠地找到异常值(在大多数情况下,也不能),但是当您无法“弄清楚” /解释异常值时,仍然奇怪地解决了该怎么办的问题。我赞同建议,以避开SPSS。–
user603 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.