可以将回归用于异常检测。我了解可以通过消除异常值来改进回归模型的方法。但是这里的主要目的不是拟合回归模型,而是使用回归找出谎言
可以将回归用于异常检测。我了解可以通过消除异常值来改进回归模型的方法。但是这里的主要目的不是拟合回归模型,而是使用回归找出谎言
Answers:
使用回归查找异常值的最佳选择是使用稳健回归。
普通回归可以通过两种方式受到异常值的影响:
首先,在附近的x值处,y方向上的极端异常会影响该区域的拟合,就像异常值会影响均值一样。
其次,在x空间中的“离群”观察是有影响的观察 -它可以将线的拟合拉向它。如果距离足够远,该线将穿过影响点:
在左边的图中,有一个点很有影响力,它从大量数据中拉出一条线。在正确的图中,它被移得更远了-现在直线穿过了该点。当x值达到极限时,当您上下移动该点时,线会随着其他点的均值和一个影响点一起移动。
与其余数据完全一致的影响点可能不是一个大问题,但与其余数据相距较远的一行将使该行适合数据而不是数据。
如果看右图,则红线-最小二乘回归线- 根本没有将极端显示为离群点-残差为0。相反,最小二乘线的大残差位于数据的主要部分!
这意味着您可以完全错过一个异常值。
更糟糕的是,通过多元回归,对于任何单个x变量,x空间中的离群值看起来都不是特别不寻常。如果有可能出现这种情况,则使用最小二乘回归可能是非常危险的事情。
稳健的回归
如果您拟合一条稳固的线(尤其是一条对有影响力的异常值具有稳健性的线)(例如第二幅图中的绿线),那么该异常值将具有非常大的残差。
在这种情况下,您可能会希望识别出异常值-从某种意义上说,它们将是离直线不太近的点。
移除异常值
您当然可以使用健壮的回归来识别并从而消除异常值。
但是,一旦有了稳健的回归拟合(该回归拟合尚未受到离群值的严重影响),就不必删除离群值了-您已经有了一个非常合适的模型。
可以将回归用于离群值检测。
是。这个答案和Glen_b的答案解决了这个问题。
此处的主要目的不是拟合回归模型,而是使用回归找出谎言
在罗曼·卢斯特里克(Roman Lustrik)的评论的基础上,这是一种启发式方法,可以使用(多元线性)回归找到异常值。
假设您有样本大小。然后,执行以下操作:
在示例上拟合回归模型。记下其残差平方和误差。ř 吨ö 吨一个升
对于每个样本i,在n-1个示例(不包括示例i)上拟合回归模型,并记下相应的残差平方和。
现在,将每个与进行比较,如果,则是候选离群值。ř 吨 ö 吨我ř 我 < < ř 吨ö 吨一升我
撇开这些候选离群点,我们可以使用减少的样本再次重复整个练习。在该算法中,我们从数据中选择了对回归拟合有不良影响的示例(这是将示例标记为异常值的一种方法)。