修剪平均值与中位数

机器算法验证 意思是 异常值 中位数 修剪平均 平均类型
2022-03-20 12:58:01

我有一个数据集,其中包含所有拨打紧急服务的电话以及救护车部门的响应时间。他们承认响应时间存在一些错误,因为在某些情况下他们没有开始记录(因此值为 0)或没有停止时钟(因此值可能非常高)。

我想找出集中趋势,我想知道使用中位数还是修剪均值来消除异常值是否更好?

2个回答

考虑修剪后的意思是什么:在典型情况下,您首先按升序对数据进行排序。然后你从底部数到修剪百分比并丢弃这些值。例如,10% 的修剪平均值很常见;在这种情况下,您从最低值开始计数,直到您传递了集合中所有数据的 10%。低于该标记的值被搁置。同样,您从最高值开始倒计时,直到超过您的修剪百分比,然后将所有大于该值的值放在一边。你现在只剩下中间的 80%。您取其平均值,这就是您的 10% 修剪平均值。(请注意,您可以修剪两条尾巴的不等比例,或只修剪一条尾巴,但这些方法不太常见,似乎不适用于您的情况。)

现在想想如果你计算一个 50% 的修剪平均值会发生什么。下半部分将被搁置,上半部分也是如此。您将只剩下中间的单个值(通常)。您将取其平均值(也就是说,您只需取该值)作为修剪后的平均值。但是请注意,该值是中位数。换句话说,中位数是修剪后的平均值(它是 50% 修剪后的平均值)。这只是一个非常具有侵略性的。从本质上讲,它假定 99% 的数据受到污染。这为您提供了针对异常值的终极保护,但代价是功率/效率的最终损失。

我的猜测是中位数 / 50% 修剪后的平均值比您的数据所需的更具侵略性,并且太浪费您可用的信息。如果您对存在的异常值的比例有任何了解,我会使用该信息来设置修剪百分比并使用适当的修剪平均值。如果您没有任何基础来选择修剪百分比,您可以通过交叉验证选择一个,或者使用只有截距的稳健回归分析。

首先,删除无效数据。

其次,您不需要删除异常值,因为它们是观察值。在某些情况下,它很有用(例如在线性回归中),但在您的情况下,我看不出重点。

最后,更喜欢使用中位数,因为它可以更精确地找到数据的中心。正如您所说,均值可能对异常值敏感(使用修剪后的均值可能会产生偏差)。