Billy Ian's Short Leisure-time Wander

into language, learning, intelligence and beyond

统计释疑(1):什么是p值

| Comments

某互联网公司招聘程序员,招聘的方法很简单,就是从LeetCode上找$10$道题,录取解出至少$8$道题的应试者。每隔一年,公司会根据新招聘程序员的表现评估上一年招聘的不合格率。公司的期望是每年招聘的不和格率要低于$5\%$。下面是历年的招聘数据:

年份 面试人数 录取人数 不合格的人数 不合格率
2014 1000 350 30 8.57%
2015 1000 650 10 1.54%
2016 1000 200 10 5.00%

那么这家公司的招聘策略是否有效呢?

假设检验 (Hypothesis Testing)

显而易见,公司的招聘标准是根据解出题目的多寡来判断应试者是否合格。用统计的语言的说,就是每个应试者录取与否是一个随机变量 (Random Variable) $X_i$, 其样本空间 (Sample Space) 是${0, 1}$,其中$0$代表不合格,$1$代表合格。而这些随机变量均服从于一个由最少解出题数$\theta$决定的概率分布$p(x;\theta)$。用数学的语言就是$X_1,\dots,X_n \sim p(x;\theta)$。公司策略所假设的概率分布是理想化的(不切实际的),对于给定$\theta=\theta_0$, $p(x;\theta_0)$的概率分布可以用下表表示:

$p(x;\theta)$ $x=0$ $x=1$
$\theta<\theta_0$ 1 0
$\theta\ge\theta_0$ 0 1

为了判断招聘策略(假设概率分布$p$)的有效性,我们需要针对概率分布的参数,即最少解出题数$\theta$进行假设。首先,我们提出一个空假设 (Null Hypothesis) $H_0: \theta=\theta_0$和一个替代假设 (Alternative Hypothesis) $H_1: \theta \ne \theta_0$。而假设检验需要考虑的问题并非$H_0$是对是错,而是我们是否有足够的证据来证明$H_0$是错的。

显著性水平和检验力

那么去哪里找证据呢?当然是观察实际数据啦。每当我们观察到一组数据时,我们需要确定一些指标来支撑我们的判断。对于公司招聘来说,最直观的指标就是不合格率$1-\bar X$了。这里我们需要设定一个标准来决定什么时候来拒绝$H_0$,即我们的最低期望,比方说不合格率高于$c$就拒绝$H_0$。

所谓检验力$\beta(\theta)$,就是在给定$\theta$下拒绝$H_0$的概率。针对招聘问题,就是$\beta(\theta)=P_\theta(1-\bar X >c)$。而显著性水平$\alpha$就是在$H_0$成立的条件下,允许的$\beta(\theta)$的最大值。有点绕是不是?总结一下,其实$\alpha$就是“当前招聘策略下,不合格率高于$c$的最大概率”。由于在招聘问题的$H_0$下$\theta$只有一个取值$\theta_0$,所以$\alpha=\beta(\theta_0)$。需要注意的是,$\alpha$是由$c$决定的,即提前人为设定的。

P值 (p-value)

P值$p$是我们会拒绝$H_0$时能接受最小的$\alpha$,换言之,当$\alpha > p$时,我们便会拒绝$H_0$。针对招聘问题,如果我们希望不合格率不得高于$5\%$,即$c=0.05$,$\alpha=\beta(\theta_0)=P_{\theta_0}(1-\bar X > 0.05)$。当不合格率高于$5\%$的概率高于$p$时,就认为当前的招聘策略无效。所以,$p$越小,证明$H_0$是错的证据就需要越有力。正因如此,才在学界有了“$p$值为$0.05$,即可将统计结果视为显著”这样的规则。当然,不要因此而误认为$p=P(H_0)$,即招聘策略有效 ($H_0$正确) 的概率。

关于P值,还有一个很不靠谱的特征:那就是当$H_0$实际上是正确的时候,$p$服从$0-1$均匀分布。也就是说,$p$值即使很小也并一定意味着$H_0$一定是错的,而有可能只是碰巧发生的。还真是够不靠谱的,无怪乎会被各种吐槽。

最后,回归到招聘策略是否有效的问题。根据$P_{\theta_0}(1-\bar X > 0.05)$,$\alpha=0.333$,然后由于只有三条观察数据,$p$值在这个问题上并没有太大的参考价值。对于其他很多问题来说,同样也是如此。总而言之就是P值虽然被广泛使用,然后大多数情况下并没有什么卵用。

Comments