中位数比均值更公平吗?

机器算法验证 意思是 中位数 平均类型
2022-02-14 00:36:14

我最近阅读了建议您通常应该使用中位数而不是意味着消除异常值。示例:以下文章 http://www.amazon.com/Forensic-Science-Introduction-Scientific-Investigative/product-reviews/1420064932/

目前有 16 条评论:

review = c(5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 3, 2, 1, 1)
summary(review)  ## "ordinary" summary

Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
1.000   3.750   5.000   4.062   5.000   5.000 

因为他们使用均值,所以文章获得 4 星,但如果他们使用中位数,则获得 5 星。

中位数不是一个“更公平”的法官吗?


实验表明,中位数的误差总是大于均值。中位数更差吗?

library(foreach)

# the overall population of bookjudgments
n <- 5
p <- 0.5
expected.value <- n*p
peoplesbelieve <- rbinom(10^6,n, p)

# 16 ratings made for 100 books
ratings <- foreach(i=1:100, .combine=rbind) %do% sample(peoplesbelieve,16)
stat    <- foreach(i=1:100, .combine=rbind) %do% c(mean=mean(ratings[i,]), 
                   median=median(ratings[i,]))

# which mean square error is bigger? Mean's or Median's?
meansqrterror.mean   <- mean((stat[,"mean"]-expected.value)^2)
meansqrterror.median <- mean((stat[,"median"]-expected.value)^2)

res <- paste("mean MSE",meansqrterror.mean)
res <- paste(res, "| median MSE", meansqrterror.median)
print(res)
4个回答

问题是您还没有真正定义获得良好或公平评级的含义。您在对@Kevin 的回答的评论中建议,如果一个差评取消了某个项目,您不喜欢它。但是比较两个项目,一个有“完美记录”,另一个有一个差评,也许应该反映这种差异。

中位数和均值之间有一个完整的(高维)连续体。您可以按价值对投票进行排序,然后根据该顺序中的位置取权重的加权平均值。平均值对应于所有权重相等,中值对应于中间只有一个或两个条目获得非零权重,修剪平均值对应于给予除第一对和最后一对之外的所有相同权重,但您也可以决定加权kn带重量的样品11+(2k1n)2或者exp((2k1n)2n2), 在里面随意扔东西。也许这样一个加权平均,离群值的权重较小,但仍然是一个非零数量,可以结合中值和均值的良好特性?

您得到的答案取决于您提出的问题。

均值和中值回答不同的问题。所以他们给出了不同的答案。并不是说一个人比另一个人“更公平”。中位数通常用于高度倾斜的数据(例如收入)。但是,即使在那里,有时平均值是最好的。有时你不想要任何集中趋势的度量。

此外,每当你给出一个集中趋势的度量时,你应该给出一些传播的度量。最常见的配对是平均标准差和中位数-四分位距。我认为,在这些数据中,仅给出 5 的中位数具有误导性,或者至少没有提供信息。如果每张选票都是 5,中位数也将是 5。

如果唯一的选择是 1 到 5 范围内的整数,那么真的可以将任何选择视为异常值吗?

我敢肯定,对于小样本,流行的异常值测试会失败,但这只是指出了小样本固有的问题。实际上,给定 5、5、5、5、5、1 的样本,Grubbs 的测试报告 1 作为异常值α=0.05. 您在上面给出的数据的相同测试不会将 1 识别为异常值。

Grubbs test for one outlier

data:  review  G = 2.0667, U = 0.6963,
p-value = 0.2153 alternative
hypothesis: lowest value 1 is an outlier

实验表明,中位数的误差总是大于均值。

这取决于您使用的成本函数。

MSE 通过均值最小化。因此,如果您使用 MSE,中位数总是比平均值差。

但是,如果您使用绝对误差,那么平均值会更糟!

可以在这里找到一个很好的解释:http: //www.johnmyleswhite.com/notebook/2013/03/22/modes-medians-and-means-an-unifying-perspective/

选择取决于您的问题和偏好。如果您不希望异常值对“中心点”的位置产生太大影响,那么您选择中位数。如果您关心异常值,则选择均值。