Winsorizing 与 Trimming 数据的相对优点是什么?

机器算法验证 意思是 截断 增删改查 修剪平均 平均类型
2022-01-19 23:39:45

Winsorizing 数据意味着将数据集的极值替换为两端的某个百分比值,而 Trimming 或 Trunting 则涉及删除这些极值。

在计算平均值或标准差等统计数据时,我总是认为这两种方法都是一种可行的选择,可以减少异常值的影响,但我不明白为什么有人会选择另一种。

使用 Winsorizing 或 Trimming 有什么相对的优点或缺点吗?在某些情况下,一种方法更可取吗?是在实践中更经常使用还是它们基本上可以互换?

4个回答

在我刚刚偶然发现的关于修剪的一个不同但相关的问题中,一个答案对为什么可能使用winsorizing或修剪有以下有用的见解:

如果您采用修剪后的分布,您明确声明:我对异常值/分布的尾部不感兴趣。如果您认为“异常值”确实是异常值(即,它们不属于分布,但属于“另一种”),请进行修剪。如果您认为它们属于分布,但您希望分布不那么偏斜,则可以考虑 Winsorising。

我很好奇是否有更明确的方法,但上述逻辑听起来很合理。

一个在所有领域都经常面临的好问题!无论哪种情况,您都在技术上将它们从数据集中删除。

我知道尝试以图形方式查找趋势以使用截断形式是一种常见的做法:使用整个数据集进行绘图,然后排除极值进行解释。

'winsorizing' 的问题在于你添加的部分是自我填充的,也就是说它们来自数据集本身,所以只是支持它。如果您在决定如何使用训练和测试数据集时查看机器学习中的交叉验证/分类工作,则会出现类似的问题。

在任何情况下,我都没有遇到过标准化的方法——它总是特定于数据的。您可以尝试找出您的数据(异常值)导致给定百分比的波动率/st。偏差,并在降低波动性和保留尽可能多的数据之间找到平衡。

显然,各自的优点取决于所分析的数据,尽管它们以非平凡的方式取决于实际导致数据按原样分布的原因,但我们至少可以考虑两种极端情况。

  1. 数据几乎没有错误,它只有合法的异常值,但您不希望您的结果受到它们的严重影响。例如:在财富分配中,有一些非常富有和负债累累的人会在你的估计中承担过多的权重。现在,您不一定要忽略这些人,您只想忽略他们如此富有或负债累累。通过Winsorizing,您将他们视为“合理富有”或“合理负债”。(请注意,在这个具体的例子中,如果你只看正财富,取对数可能更可取)

  2. 底层分布很好,可能是正常的,但是数据中存在(很少但相关的)错误,您知道只有这些错误会导致异常值。例如:在报告的工资分布中,一些调查参与者可能输入错误或以错误的货币报告了他们自己的工资,从而导致金额不合理。通过修剪,您可以排除异常值,因为它们确实不提供有用的信息,它们只是噪音(请注意,您会在分布中留下一些噪音,但至少您会消除会不成比例地扭曲您的分析的噪音)。

然后,实际数据中的异常值通常是数据错误和合法极值的混合体,解释起来并不明显。

始终将您的 Winsorized/修剪结果与完整结果平行的建议始终有效,但出于两个稍微不同的原因。在第一种情况下,警告读者您并没有声称您在谈论实际分布:相反,您研究了一种不强调极端值的修改分布。在第二种情况下,因为您声称您在谈论实际分布,但您必须警告读者您或多或少武断地决定了数据中的哪些内容实际上是噪音,而不是信息。

从更主观的角度来看,修剪后的结果(以及与完整结果的差异)通常比缩尾结果更容易正确描述和直观掌握。

这是一个很好的问题,也是我遇到的一个问题。如果您有一个大数据集或更准确地说是一个变化很大的数据集,其中少数数据值在很大范围内变化(但仍然需要显示),并且大部分数据集在一个窄带内,这样,如果按原样绘制数据,则大部分数据所在的细节会丢失,并且规范化或标准化不会显示出足够的差异(至少在视觉上),或者需要原始数据,然后截断或优化极端数据值有助于更好的数据可视化。