某互联网公司招聘程序员,招聘的方法很简单,就是从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值虽然被广泛使用,然后大多数情况下并没有什么卵用。