为什么在不同样本中均值趋于比中位数更稳定?


22

安迪·菲尔兹(Andy Fields)等人在使用R发现统计信息的第1.7.2节中列出了均值与中位数的优点,同时指出:

...平均值在不同样本中趋于稳定。

在解释了中位数的许多优点之后,例如

...中位数不受分布两端的极端得分的影响...

鉴于中位数相对不受极端得分的影响,我认为它在各个样本中都更加稳定。因此,我对作者的主张感到困惑。为了确认我进行了模拟,我生成了1M个随机数,并采样了100个数字1000次,计算了每个样本的均值和中位数,然后计算了这些样本均值和中位数的sd。

nums = rnorm(n = 10**6, mean = 0, sd = 1)
hist(nums)
length(nums)
means=vector(mode = "numeric")
medians=vector(mode = "numeric")
for (i in 1:10**3) { b = sample(x=nums, 10**2); medians[i]= median(b); means[i]=mean(b) }
sd(means)
>> [1] 0.0984519
sd(medians)
>> [1] 0.1266079
p1 <- hist(means, col=rgb(0, 0, 1, 1/4))
p2 <- hist(medians, col=rgb(1, 0, 0, 1/4), add=T)

如您所见,均值比中位数分布更紧密。

在此处输入图片说明

在所附的图像中,红色直方图是中位数-如您所见,它的身高较小,尾巴较胖,这也证实了作者的主张。

不过,我对此感到惊讶!中位数哪个更稳定,最终在样本之间往往会有更大的变化?看来很矛盾!任何见解将不胜感激。


1
是的,但请尝试从nums <-rt(n = 10 ** 6,1.1)进行采样。t1.1分布将给出一堆极值,不一定在正负之间平衡(恰好有机会获得另一个正极值作为负极值来平衡),这将导致出现巨大差异。这就是中位数所要防止的。正态分布不太可能给出任何特别的极端值来将分布扩展到比中值更宽。ˉ Xx¯x¯
戴夫

10
作者的陈述通常是不正确的。(我们在这里收到许多与作者书中的错误有关的问题,因此这并不奇怪。)标准反例位于“稳定分布”中,均值不是“稳定”(在任何合理的意义上,项),中位数要稳定得多。
ub

1
“ ...平均值在不同样本中趋于稳定。” 是胡说八道。“稳定性”的定义不明确。(样本)平均值在单个样本中确实非常稳定,因为它是一个非随机量。如果数据“不稳定”(高度可变?),则平均值也“不稳定”。
AdamO

1
stats.stackexchange.com/questions/7307提供的详细分析可能会回答此问题,其中以特定方式(对“稳定”的定义已明确定义)提出了相同的问题。
ub

2
尝试替换rnormrcauchy
埃里克塔

Answers:


3

中值对异常值具有最大的鲁棒性,但极易受到噪声的影响。如果对每个点引入少量噪声,只要噪声足够小而不会改变这些点的相对顺序,则它将输入未放大的中值。意思是相反。噪声被平均,但是单个异常值可以任意改变平均值。

您的测试主要是测量噪声的鲁棒性,但是您可以轻松地创建一个中值性能更好的测试。如果您想要一个对异常值和噪声都具有鲁棒性的估计器,只需丢弃顶部和底部的三分之一,然后对其余部分求平均值即可。


是否有比“ 33%的均值 ” 更具体的名称?
David Cary

25

正如@whuber和其他人所说,该声明通常是不正确的。而且,如果您愿意变得更直观-我跟不上这里的数学高手-您可能会考虑平均值和中位数稳定与否的其他方式。对于这些示例,假设点数为奇数,因此我可以使描述保持一致和简单。

  1. 假设您在数字线上散布了许多点​​。现在,假设您将所有点都放在中间上方,并将其移动到其值的10倍。中位数不变,均值显着移动。因此中位数似乎更稳定。

  2. 现在想象一下这些观点已经相当分散。上下移动中心点。单位移动将中位数改变一,但均值几乎不变。现在,中位数似乎不太稳定,并且对单个点的小幅移动更加敏感。

  3. 现在想象一下获取最高点并将其从最高点平滑地移动到最低点。均值也将平稳移动。但是中位数不会连续移动:直到您的最高点变得低于上一个中位数,它才会完全移动,然后它开始跟随该点,直到低于下一个点,然后中位数一直停留在该点,然后再次当您继续向下移动点时,不要移动。[按评论编辑]

因此,您的点的不同变换会导致均值或中值在某种意义上看起来不太平滑或稳定。这里的数学高手向您展示了可以从中进行采样的分布,它与您的实验更加匹配,但是希望这种直觉也能有所帮助。


1
关于项目3:中位数会不会也平稳移动?说初始点集是[1, 3, 5, 7, 9]。最初的中位数为5。它将保持中位数,直到第五个点(最初9)下降到5该点以下为止,此时中位数将随着其减小而平滑地跟随第五个点,直到达到峰值为止3,此时中位数将保持在3。因此,即使定义中位数的点是“跳跃”(从第三点到第五点,再到第二点),中位数的实际也没有跳跃/间断。
Scott M

@ScottM您似乎是正确的。不知道为什么我认为它会跳。如果有机会,我会改写。
韦恩

18

假设您从某个基础连续分布中获得数据点,均值和方差。令为该分布的密度函数,令为中值。为了进一步简化这个结果,让是相应的标准化通过给定的密度函数,所有。样本均值和样本中位数的渐近方差分别由下式给出:nμσ2<fmf~f~(z)=σf(μ+σz)zR

V(X¯n)=σ2nV(X~n)σ2n14f~(mμσ)2.

因此,我们有:

V(X¯n)V(X~n)4f~(mμσ)2.

如您所见,样本均值和样本中位数的方差的相对大小由真实中位数处的标准化密度值(渐近地)确定。因此,对于大我们具有渐近对应关系:n

V(X¯n)<V(X~n)ff~(mμσ)<12.

也就是说,对于大的,并且渐近而言,当且仅当在标准化中位数的标准化密度小于二分之一时,样本均值的方差才会小于样本中位数的方差。在模拟示例中使用的数据是从正态分布生成的,因此。因此,在该示例中发现样本中位数有较高的方差就不足为奇了。nf=1/2π=0.3989423<1/2


太棒了!谢谢。
Alok Lal

4

注释:只是为了回显您的模拟,使用分布的平均值和中位数的SD得出相反的结果:

具体而言,nums现在来自拉普拉斯分布(也称为“双指数”),可以将其模拟为具有相同速率(此处为默认速率1)的两个指数分布之差。[也许请参阅有关Laplace发行版的Wikipedia。]

set.seed(2019)
nums = rexp(10^6) - rexp(10^6)
means=vector(mode = "numeric")
medians=vector(mode = "numeric")
for (i in 1:10^3) { b = sample(x=nums, 10^2); 
  medians[i]= median(b); means[i]=mean(b) }
sd(means)
[1] 0.1442126
sd(medians)
[1] 0.1095946   # <-- smaller

hist(nums, prob=T, br=70, ylim=c(0,.5),  col="skyblue2")
 curve(.5*exp(-abs(x)), add=T, col="red")

在此处输入图片说明

注意: @whuber链接中明确提到的另一种容易的可能性是Cauchy,可以将其模拟为具有一个自由度的Student t分布rt(10^6, 1)。但是,它的尾巴太重,以至于无法绘制出良好的直方图。

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.