浅谈p值(p-value是什么)
当我们说到p-value时,我们在说什么?
“这个变量的p-value小于0.05,所以这个变量很重要”
........
你真的知道自己在说什么么???这个p-value到底是个什么鬼?为什么小于0.05就很重要?很重要是什么意思?????
终于...
这次,我们通俗易懂地来讲讲到底什么是p-value(p值)。
在讲p-value之前,我们用掷硬币来举个例子。
硬币有正反两面,在概率中我们知道,出现正反面的概率各为50%(1/2),所以作为一个正常的硬币,如果我们投无限次后,结果一定会是正反各占50%。但是,如果我想知道自己手中的硬币,到底是不是正常的硬币,有没有做过手脚,在实际操作中是没办法投掷无限次的。因此,我们只能用有限的结果来判断“硬币是否为常规硬币”这个问题的答案。
在统计学上,做这个检验时,通常会设定一个虚无假设(也叫零假设,Null Hypothesis),通常记作H0。以及一个对立假设(Alternative Hypothesis),及与虚无假设对立的假设,如果证明虚无假设错误,则可以推出对立假设成立。
在掷硬币这个例子中,我们可以设定
H0: 手中的硬币是常规硬币
H1: 手中的硬币做过手脚
如果手中硬币是常规硬币,我们知道正面和反面出现的概率各为50%,所以如果我投掷10次硬币,则正面和反面出现的次数各位5次。正面5次,反面5次,就是我们对于投掷10次硬币的期望值(expected value)。
现在我们开始投掷硬币,出现的是正面3次,反面7次。这个结果就是我们对于投掷10次硬币的观测值(observed valued),即实际的结果。
通过分析期望值和观测值的差距,我们就可以判断出硬币是否正常。而这个期望值和观测值差距的判断方法就是chi-square。
![](http://upload-images.jianshu.io/upload_images/3086153-eb4ff7c9b61bd643.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/359/format/webp)
上图即为chi-square的计算公式,O代表观测值(observed value),E代表期望值(expected value)。有没有觉得这和方差的公式很像?没错,其实方差是一组数据与其均值的比较,而chi-suaqre是一组数据与另一组数据期望值的比较。
那么在掷硬币这个例子中chi-square(卡方)=(3-5)^2/5+(7-5)^2/5=1.6
![](http://upload-images.jianshu.io/upload_images/3086153-c58cf895f9476787.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/408/format/webp)
算出了chi-square,那么又怎判断检验结果呢?现在,跟我一起把卡方分布表(见Figure 2)拿出来~
![](http://upload-images.jianshu.io/upload_images/3086153-018bccd5938c0294.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
上图即为卡方分布表,左上角的α表示错误拒绝H0假设的概率(即虚无假设事实上成立,但我们计算出的结果却错误判断虚无假设不成立的概率)。n代表自由度(degree of freedom),即独立变量数减1,在这个例子中,独立变量数为2(正面和反面),所以自由度为1(2-1=1)。
当然,你也会见到与上图不一样的卡方分布图,比如Figure 3。P代表α,即P(当H0为真时拒绝H0)(其实就是p-value),df代表自由度(degree of freedom)。
![](http://upload-images.jianshu.io/upload_images/3086153-24f8ce6acd700de8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
假设置信度为95%,即错误拒绝H0的概率为0.05。展开解释就是,我们有95%的概率确信检验结果正确,有5%的概率会错误拒绝虚无假设。(我们总说的p值与0.05比较就是这个啦,其实不一定时0.05,根据具体情况可以设置不一样的值,只是大部分时候都用0.05)
对照着卡方分布表(Figure 4),找到1所在的行(我们计算出的chi-square自由度是1),发现1.6是介于1.323和2.706之间,查表得出其p值为0.25到0.1之间,大于0.05,所以我们不能拒绝H0。换句话说,H0成立,即硬币是常规硬币,没有做手脚。
![](http://upload-images.jianshu.io/upload_images/3086153-3bb35d640a684bcc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
大家通过观察卡方分布表能够发现,在用一个自由度下,chi-square越大,其p值就越小。举个极端的例子,如果在掷硬币的例子中,我投掷10次硬币,刚好5次正面,5次反面,则此时算是的chi-square为0(观测值与期望值一致),这时的p-value是远大于0.095,没有理由拒绝H0,H0假设成立,即硬币是常规硬币。
![](http://upload-images.jianshu.io/upload_images/3086153-42ef7845ab17b5f2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
总结一下,
p-value的作用:p-value就是用来判断H0假设是否成立的依据。因为期望值是基于H0假设得出的,如果观测值与期望值越一致,则说明检验现象与零假设越接近,则越没有理由拒绝零假设。如果观测值与期望值越偏离,说明零假设越站不住脚,则越有理由拒绝零假设,从而推出对立假设的成立。
p-value的计算:计算chi-suqare,计算自由度,查卡方分布表。
总的思路是,
做出H0,H1这对互斥的假设,计算出H0为真时的期望值,统计出实际的观测值,通过期望值和观测值求得chi-square(卡方),再通过卡方查表,得到p值。根据p值与α(1-置信度)的比较,如果p-value<α,则拒绝(reject)H0,推出H1成立;如果p-value>α,则接受(accpet)H0,推出H1不成立。
最后再划重点,把开头的几个问题再解释下。
【这个p-value到底是个什么鬼?】p值可通过计算chi-square后查询卡方分布表得出,用于判断H0假设是否成立的依据。
【为什么小于0.05就很重要?】大部分时候,我们假设错误拒绝H0的概率为0.05,所以如果p值小于0.05,说明错误拒绝H0的概率很低,则我们有理由相信H0本身就是错误的,而非检验错误导致。大部分时候p-value用于检验独立变量与输入变量的关系,H0假设通常为假设两者没有关系,所以若p值小于0.05,则可以推翻H0(两者没有关系),推出H1(两者有关系)。
【很重要是什么意思?】当p值小于0.05时,我们就说这个独立变量重要(significant),因为这个独立变量与输出结果有关系。