文章目录

假设检验和P值那些事

记得大学时候学习概率论与数理统计的时候,学习过假设检验,但我不记得课本上有提到过P值。后来翻阅了一些资料,大概弄明白了它们之间的关系,本文旨在以浅显易懂的语言描述严密的数学知识。

假设检验

在《Head First Statistics》一书中,作者给假设检验的定义是“Hypothesis tests give you a way of using samples to test whether or not statistical claims are likely to be true”。其实定义不重要,重要的是我们需要知道假设检验能做什么:以概率统计的视角判别一个统计假说是否成立。

下面举一个烂大街的例子:我有一枚专门用于玩抛硬币猜正反面的游戏的硬币,我需要判断这枚硬币是否是正常的(抛硬币游戏中出现正反面的概率相等)。所以我做了一个假说:该枚硬币是正常的,即抛硬币游戏中出现正面的概率为0.5。

那我现在需要做实验去验证我说的对不对。我抛了20次,正面朝上11次,背面朝上9次(设正面朝上记为1,反面朝上记为0)。基于这个实验结果,我应该做怎样的判断呢?

根据假设检验的一般步骤:

  1. 建立假设
  2. 寻找检验统计量
  3. 确定显著性水平和拒绝域
  4. 做出判断

第一步中我们的原假设假设检验和P值那些事_方差(null hypothesis)为该枚硬币是正常的,备择假设假设检验和P值那些事_正态分布_02(alternate hypothesis)为该硬币不正常。

注:当原假设正确,而由于样本的随机性使得样本观测值落在拒绝域(critical region或rejection region)而拒绝原假设产生的错误称为第一类错误;当原假设错误,而样本观测值落在接受域而接受原假设产生的错误称为第二类错误。

第二步中根据中心极限定理可知随机变量假设检验和P值那些事_正态分布_03服从正态分布。这里我们的检验统计量选择假设检验和P值那些事_方差_04(这里的假设检验和P值那些事_假设检验_05服从自由度为假设检验和P值那些事_正态分布_06假设检验和P值那些事_假设检验_05分布),所以我们使用假设检验和P值那些事_假设检验_05分布来估计投掷的均值(这里假设检验和P值那些事_正态分布_03为样本均值,假设检验和P值那些事_假设检验_10为原假设中的均值(期望),假设检验和P值那些事_假设检验_11为样本标准差,假设检验和P值那些事_方差_12为样本个数)。

假设检验和P值那些事_方差_13

注:假设检验和P值那些事_假设检验_05分布用于根据小样本来估计呈正态分布且方差未知的总体的均值,称为假设检验和P值那些事_假设检验_05检验。如果总体方差已知(例如在样本数量足够多时),则应该用正态分布来估计总体均值,称为假设检验和P值那些事_假设检验_16检验。

第三步中显著性水平假设检验和P值那些事_正态分布_17(significance level,拒绝原假设时概率阈值)我们一般采用0.05(当然,你也可以使用0.1或者其它)。这个0.05的意思是观测值落在拒绝域的概率为0.05,概率为0.05说明这是小概率事件,而在一次测试中发生了小概率事件,所以我们有足够的理由拒绝原假设。

接下来我们应该计算拒绝域了。对于假设检验和P值那些事_假设检验_05分布求0.025和0.975的分位数分别为-2.093024和2.093024(即假设检验和P值那些事_假设检验_05的上下界,左右两边各是0.025,合起来就是0.05的拒绝域),我们可以反推出假设检验和P值那些事_正态分布_03的上下界为0.3111171和0.7888829(这个区间就是接受域)。

注:对于拒绝域来说,有单边和双边情况,我们这里显然是双边的情况。

第四步做出判断,我们实验的结果的均值是0.4380858,我们在0.05的显著性水平下得到的接受域是假设检验和P值那些事_正态分布_21,实验结果落在接受域,所以我们不能拒绝原假设假设检验和P值那些事_方差。这里的不能拒绝指的是我们没有足够的理由推翻原假设,但是这并不代表原假设一定正确。

P值

上面讲了检验假设的一般过程,好像跟P值没什么关系?但是P值其实和检验假设息息相关的。上面的求解过程是通过判断样本观测值是否落在拒绝域而做出判断的,其实我们还可以通过计算P值直接进行判断。

那么什么是假设检验和P值那些事_假设检验_23值呢?《Head First Statistics》给出的定义是“A p-value is the probability of getting the results in the sample, or something more extreme, in the direction of the critical region.”。我的理解就是P值是在原假设成立的情况下,出现比当前样本观测值更极端(包括当前样本观测值)情况的概率。

其实这样说还是挺抽象的,我们通过计算来进行说明。

我们把检验假设步骤中的第三步修改为:确定显著性水平和计算P值

在我们的实验中假设检验和P值那些事_正态分布_24

然后我们通过查表可以得到0.4380858对应的上侧分位数为 0.3331321(和-0.4380858对应的下侧分位数相同),因为我们的实验中是双边情况,所以假设检验和P值那些事_假设检验_25

在确定了显著性水平假设检验和P值那些事_正态分布_17的情况下(假设检验和P值那些事_正态分布_27),如果计算出的假设检验和P值那些事_方差_28,说明观察值不合理,也就是样本均值离假设均值太远了,因此拒绝原假如果计算计算出的假设检验和P值那些事_正态分布_29,则我们不能拒绝原假设。

注:设连续型随机变量假设检验和P值那些事_假设检验_30的分布函数为假设检验和P值那些事_正态分布_31,密度函数为假设检验和P值那些事_方差_32,对于任意假设检验和P值那些事_方差_33,假如假设检验和P值那些事_方差_34满足条件

假设检验和P值那些事_正态分布_35

假设检验和P值那些事_方差_34称为假设检验和P值那些事_假设检验_30分布的假设检验和P值那些事_正态分布_17分位数,或称为假设检验和P值那些事_正态分布_17下侧分位数。假如假设检验和P值那些事_正态分布_40满足

假设检验和P值那些事_假设检验_41

假设检验和P值那些事_正态分布_40称为假设检验和P值那些事_假设检验_30分布的假设检验和P值那些事_正态分布_17分位数。

通俗地理解分位数就是对应某个概率面积的横坐标,如果是左侧面积(概率)叫下侧分位数,如果是右侧面积(概率)叫上侧分位数。

R中的实践

好的,下面我们来看如何在R中重复上面的实验:

产生一个随机的模拟序列(二项分布,生成0和1)

​flips <- rbinom(20, 1, 0.4)​

结果如下:​​1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1​

使用R内置的假设检验和P值那些事_假设检验_05检验函数如下:

​t.test (flips, mu=0.5)​

输出结果如下:

  One Sample t-test

data: flips
t = 0.43809, df = 19, p-value = 0.6663
alternative hypothesis: true mean is not equal to 0.5
95 percent confidence interval:
0.3111171 0.7888829
sample estimates:
mean of x
0.55

如果需要我们手动计算上面这些值,我们是否可以计算出来呢?计算的过程就是上面讲解假设减压和P值的过程。

首先假设检验和P值那些事_假设检验_05值的计算很简单,使用公式假设检验和P值那些事_方差_04即可,代码如下,结果为0.4380858

​(mean(flips) - 0.5) / (sd(flips) / sqrt(length(flips)))​

假设检验和P值那些事_方差_48指代的是自由度假设检验和P值那些事_假设检验_49

接下来我们计算P值,通过计算-0.4380858的下侧分位数再乘以2可得,代码如下,结果为0.6662642

​pt(-0.4380858, 19) * 2​

在来看我们的置信区间,其实这里就是我们所要求的接受域

左侧计算代码:​​qt(0.025, 19) * (sd(flips) / sqrt(20)) + 0.55​​ 结果为:0.3111171

右侧计算代码:​​qt(0.975, 19) * (sd(flips) / sqrt(20)) + 0.55​​ 结果为:0.7888829

参考文献

[1] 茆诗松. 概率论与数理统计 (第二版)[M]. 2000.

[2] Griffiths D. Head first statistics[M]. Oreilly Vlg Gmbh & Co, 2009.