衡量分布的中心趋势,均值和中位数汇报哪个更好

  |  

摘要: 均值、中位数、众数在衡量分布的中心趋势中的特性

【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:算法题刷刷
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


对于随机变量 $X$,如果我们知道它的分布函数,那么就知道了该随机变量的一切。但大多数情况下我们并不知道 $X$ 的具体分布函数是什么,此时如果知道 $X$ 的一些数字特征,也可以了解到该随机变量的一些特性。

我们比较熟悉的数字特征有均值和方差,这两个一个衡量分布的中心趋势,一个衡量分布的波动程度。本文我们讨论一下衡量中心趋势的数字特征,除了均值之外,常用的还有中位数和众数,我们先给出对于随机变量 $X$ 如何定义中位数和众数,

然后,最后我们讨论一下中位数和均值哪个作为中心趋势更好的问题,该问题也是此前我们刷过的 leetcode 上关于安排邮筒、货仓选址等问题的基础。

本文的案例参考了 Blitzstein 的《Introduction to Probability》,可以从以下链接下载。

衡量中心趋势的指标

对于均值,我们已经非常熟悉。除了均值,中位数和众数这两个数字特征也反映了随机变量分布的中心趋势,也就是关于分布中心的信息。

对于数据集来说,中位数是排序后排在中间的数、众数是出现次数最多的那个数,这在各种项目数据的描述性统计中天天用。但是对于随机变量 $X$,其取值范围可能是某个区间内的所有实数,那此时如何定义中位数和众数就是个问题了。

如果 $P(X\leq c) \geq \frac{1}{2}$ 和 $P(X\geq c) \geq \frac{1}{2}$ 同时成立,则称 $c$ 为随机变量 $X$ 的中位数。一种理解方式是,累积分布函数在 $c$ 点的取值正好是 $\frac{1}{2}$(注意有些累积分布函数存在跳跃点的问题)。

对于离散型随机变量 $X$,如果存在 $c$ 使得对任意 $x$ 都有 $P(X=c) \geq P(X=x)$,则 $c$ 称为众数;对于连续型随机变量 $X$,如果存在 $c$ 使得对任意 $x$ 都有 $f(c) \geq f(x)$,则 $c$ 称为众数

从直观的角度来说,中位数就是使得分布的一半落在 $c$ 的左边,另一本落在 $c$ 的右边(对于离散型随机变量,则是尽可能地趋于一半);众数是 $x$ 的取值范围内,具有最大质量(离散型)或最大密度(连续型)的值。

一个分布可以由多个中位数和多个众数,这里多个众数可以出现任意位置,而多个中位数必须是相邻的。比如下面的图是某个连续型随机变量的概率密度函数,概率大于零的部分为 $[-5, -1] \cup [1, 5]$,根据定义,它有两个众数:$3$ 和 $-3$;又根据定义,$[-1, 1]$ 之间所有实数都是中位数。

有个特殊情况,若累积分布函数 $F$ 是严格递增的连续函数,那么 $F^{-1}(\frac{1}{2})$ 就是中位数,并且唯一。

例子:100个人的工资

考察 100 个人,它们的工资从以下到大排序为 $S_{1}, S_{2}, \cdots, S_{100}$,从中随机选择一个员工,记随机变量 $X$ 为选出员工的工资。下面我们讨论一下随机变量 $X$ 的均值、中位数、众数。

如果将 $X$ 视为离散型随机变量,根据定义,其均值、中位数、众数都是确定的。只是它们是否有意义则需要看业务场景和我们的目标。比如如果员工工资每个人都不同,则根据定义就会有 100 个众数,此时众数就用处不大。如果工资的取值只有少数几种,此时谈众数就会很有用。

对于中位数,根据定义 $S_{50} \leq m \leq S_{51}$ 范围内的所有实数 $m$ 都是中位数,因为随机选择的员工工资 $X$ 满足 $P(X\leq m) \geq \frac{1}{2}$ 和 $P(X\leq m) \geq \frac{1}{2}$(如果员工数是奇数,那么中位数就只有一个)。

中位数对异常值不敏感,比如可能某一个人工资非常高,它对均值的影响很大,但对中位数几乎没什么影响;另一方面,均值隐含了总量,也就是乘以员工数就是总工资,但中位数并未隐含这一信息。

虽然这三个指标都是反映的中心趋势,但还是揭示了不同特征,各有优势。如果想对 $X$ 有充分的了解,通常需要把这三个特征一起来看,而不是只看一个。

均值和中位数哪个更好

前面我们提到,均值和中位数各有优势,反映了数据的不同特征,在实际问题中一般都会一起考查。

但如果有人试图让你一定要选一个最好的,比如有人问你,如果要取一个数字特征 $c$ 来描述(也可以理解为代表/猜测/预测)数据,均值和中位数这两个谁更好。这个问题也不是不能回答,但一定要先定义清楚什么叫“好”。

按照我们过往的工作经验,有两个常见的判断 $c$ 取什么值最好的标准:

  • 均方误差 $E(X-c)^{2}$
  • 平均绝对误差 $E|X-c|$

在这两种标准下,选出的结果是不同的,下面我们来说明这个事。

定理

设随机变量 $X$ 均值为 $\mu$,中位数为 $m$。则:

  • 当 $c = \mu$ 时,均方误差 $E(X - c)^{2}$ 达到最小;
  • 当 $c = m$ 时,平均绝对误差 $E|X - c|$ 达到最小。

证明

从 $Var(X)$ 出发,由于平移不会改变方差,再根据方差的定义,期望的性质,有:

得到 $E(X - c)^{2} = Var(X) + (\mu - c)^{2}$。

从上式可以知道,只有当 $c = \mu$ 时,$(\mu - c)^{2}$ 取到 $0$,其它情况均有 $(\mu - c)^{2} > 0$,所以 $c = \mu$ 是使得均方误差 $E(X - c)^{2}$ 最小的唯一选择。

下面考虑平均绝对误差的情况。我们要证的是当 $a \neq m$ 时均有 $E|X - m| \leq E|X - a|$ 成立。这等价于证明 $E(|X - a| - |X - m|) \geq 0$ 成立。

不妨设 $m < a$($m > a$ 的情况类似),分 $X \leq m$ 和 $X > m$ 两种情况讨论,可以通过以下等式或不等式处理绝对值:

  • 当 $X \leq m$ 时:$|X - a| - |X - m| = a - X - (m - X) = a - m$;
  • 当 $X > m$ 时:$|X - a| - |X - m| \geq X - a - (X - m) = m - a$

令 $Y = |X - a| - |X - m|$,首先对 $Y$ 做分解 $Y = YI + Y(1 - I)$,$I$ 可以取任何随机变量,上式都成立。

这里取 $I$ 为 $X \leq m$ 的示性变量,那么 $1 - I$ 就是 $X > m$ 的示性变量,再结合概率和期望的性质,于是有:

而 $2P(X \leq m) - 1$ 正是中位数的定义的其中一半,也就是 $2P(X \leq m) - 1 \geq 0$,因此 $E(Y) > 0$,也就是 $E|X - m| \leq E|X - a|$ 成立。

$m > a$ 的情况,推导过程完全一样,最终会导向中位数定义的另一半。

$\Box$

总结

当以均方误差为标准时,均值更好,这在文章 数据直觉:任意数据集都很难有偏离均值多倍标准差的数据 中我们讨论过。

当以平均绝对误差为标准时,中位数更好,这是货仓选址、安排邮筒等优化问题的贪心算法的理论基础,此前我们刷过这类题,参考文章 货仓选址与安排邮筒

证明过程中,通过分类讨论和不等式来拆绝对值,将随机变量进行分解,以及引入示性变量都是比较有技巧性的部分,在算法分析中会经常使用。


Share