假设检验和P值那些事

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 记得大学时候学习概率论与数理统计的时候,学习过假设检验,但我不记得课本上有提到过P值。后来翻阅了一些资料,大概弄明白了它们之间的关系,本文旨在以浅显易懂的语言描述严密的数学知识。

假设检验和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. 做出判断

第一步中我们的原假设$H_0$(null hypothesis)为该枚硬币是正常的,备择假设$H_1$(alternate hypothesis)为该硬币不正常。

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

第二步中根据中心极限定理可知随机变量$\bar{X}$服从正态分布。这里我们的检验统计量选择$t=\frac{\bar{X}-\mu_0}{S/\sqrt{n}}$(这里的$t$服从自由度为$n-1$的$t$分布),所以我们使用$t$分布来估计投掷的均值(这里$\bar{X}$为样本均值,$\mu_0$为原假设中的均值(期望),$S$为样本标准差,$n$为样本个数)。

$$t=\frac{\bar{X}-\mu_0}{S/\sqrt{n}} = \frac{0.55 - 0.5}{0.5104178 / \sqrt{20}} = 0.4380858$$

注:$t$分布用于根据小样本来估计呈正态分布且方差未知的总体的均值,称为$t$检验。如果总体方差已知(例如在样本数量足够多时),则应该用正态分布来估计总体均值,称为$U$检验。

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

接下来我们应该计算拒绝域了。对于$t$分布求0.025和0.975的分位数分别为-2.093024和2.093024(即$t$的上下界,左右两边各是0.025,合起来就是0.05的拒绝域),我们可以反推出$\bar{X}$的上下界为0.3111171和0.7888829(这个区间就是接受域)。

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

第四步做出判断,我们实验的结果的均值是0.4380858,我们在0.05的显著性水平下得到的接受域是$(0.3111171, 0.7888829)$,实验结果落在接受域,所以我们不能拒绝原假设$H_0$。这里的不能拒绝指的是我们没有足够的理由推翻原假设,但是这并不代表原假设一定正确。

P值

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

那么什么是$P$值呢?《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值

在我们的实验中$t=\frac{\bar{X}-\mu_0}{S/\sqrt{n}} = \frac{0.55 - 0.5}{0.5104178 / \sqrt{20}} = 0.4380858$

然后我们通过查表可以得到0.4380858对应的上侧分位数为 0.3331321(和-0.4380858对应的下侧分位数相同),因为我们的实验中是双边情况,所以$P = 0.4380858\times2 = 0.6662642 \gt 0.05$

在确定了显著性水平$\alpha$的情况下($\alpha=0.05$),如果计算出的$P\le0.05$,说明观察值不合理,也就是样本均值离假设均值太远了,因此拒绝原假如果计算计算出的$P\gt0.05$,则我们不能拒绝原假设。

注:设连续型随机变量$X$的分布函数为$F(x)$,密度函数为$f(x)$,对于任意$\alpha (0\lt\alpha\lt1)$,假如$x_\alpha$满足条件

$$F(x_\alpha) = \int_{-\infty}^{x_\alpha} f(x) dx = \alpha$$

则$x_\alpha$称为$X$分布的$\alpha$分位数,或称为$\alpha$下侧分位数。假如$x^{\prime}_\alpha$满足

$$1 - F(x^{\prime}_\alpha) = \int_{-\infty}^{x_\alpha} f(x) dx = \alpha$$

则$x^{\prime}_\alpha$称为$X$分布的$\alpha$分位数。

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

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内置的$t$检验函数如下:

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值的过程。

首先$t$值的计算很简单,使用公式$t=\frac{\bar{X}-\mu_0}{S/\sqrt{n}}$即可,代码如下,结果为0.4380858

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

$df$指代的是自由度$n-1=20-1=19$

接下来我们计算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.

目录
相关文章
|
6月前
【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享(上)
【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享
|
6月前
|
数据可视化
R平方/相关性取决于预测变量的方差
R平方/相关性取决于预测变量的方差
|
6月前
|
大数据
stata具有异方差误差的区间回归
stata具有异方差误差的区间回归
|
6月前
在R语言和Stan中估计截断泊松分布
在R语言和Stan中估计截断泊松分布
|
6月前
【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享(下)
【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享
|
6月前
|
数据可视化
R语言离群值处理分析
R语言离群值处理分析
|
测试技术 Python
为什么以及如何在多重假设检验中调整 P 值
为什么以及如何在多重假设检验中调整 P 值
315 0
|
数据挖掘
假设检验多重比较的P值修正
在进行假设检验时,我们通常会使用P值来判断样本数据是否支持原假设。当我们进行多重比较时,也就是对多个假设进行检验时,如果不进行P值修正,就会出现多重比较问题。多重比较问题指的是在进行多次假设检验时,由于进行多次检验,就会增加发生假阳性的概率,从而导致P值的误判。这种误判可能会导致我们错误地拒绝原假设或者错误地接受备择假设,从而影响数据分析的准确性和可靠性。为了避免多重比较问题,进行P值修正可以有效地避免多重比较问题的发生。
561 0
|
机器学习/深度学习 Linux Python
如何知道一个变量的分布是否为高斯分布?
如何知道一个变量的分布是否为高斯分布?
199 0
如何知道一个变量的分布是否为高斯分布?
多变的夏普率二---正态分布约束下的样本的标准差是无偏估计?
多变的夏普率二---正态分布约束下的样本的标准差是无偏估计?
78 0
多变的夏普率二---正态分布约束下的样本的标准差是无偏估计?