【通俗理解】显著性检验,T-test,P-value

【通俗理解】显著性检验,T-test,P-value
显著性检验,判定实验结果是否由随机误差导致的。举例很好,很清楚
虽然样本中,均值苏州销售额⼤于郑州,但T-test发现这是随机导致的,P>0.05,当样本量⾜够⼤可能他们的销售额就没有差异
假设:两个样本集之间不存在任何区别
结果:在显著性⽔平α =0.05的情况下,p>0.05接受原假设,p值<0.05拒绝原假设
⽅法:F值 = 组间⽅差与组内⽅差的⽐值,查表:F实际值>F查表值,则p<=0.05;F实际值<F查表值,则p>0.05
----------------原⽂----------------------------------------------------------
⽆论你从事何种领域的科学研究还是统计调查,显著性检验作为判断两个乃⾄多个数据集之间是否存在差异的⽅法被⼴泛应⽤于各个科研领域。笔者作为科研界⼀名新⼈也曾经在显著性检验⽅⾯吃过许多苦头。后来醉⼼于统计理论半载有余才摸到显著性检验的⽪⽑,也为显著性检验理论之精妙,品种之繁多,逻辑之严谨所折服。在此,特写下这篇博⽂,以供那些仍然挣扎在显著性检验泥潭的⾮统计专业的
科研界同僚们参考。由于笔者本⼈也并⾮统计专业毕业,所持观点粗陋浅鄙,贻笑⼤⽅之处还望诸位业界前辈,领域翘楚不吝赐教。⼩可在此谢过诸位看官了。
本篇博⽂致⼒于解决⼀下⼏点问题,在此罗列出来:1.什么是显著性检验? 2.为什么要做显著性检验? 3.怎么做显著性检验?下⾯就请跟随笔者的步伐⼀步步⾛⼊显著性检验的“前世与今⽣”。
⼀:显著性检验前传:什么是显著性检验?它与统计假设检验有什么关系?为什么要做显著性检验?
“显著性检验”实际上是英⽂significance test的汉语译名。在统计学中,显著性检验是“统计假设检验”(Statistical hypothesis testing)的⼀种,显著性检验是⽤于检测科学实验中实验组与对照组之间是否有差异以及差异是否显著的办法。实际上,了解显著性检验的“宗门背景”(统计假设检验)更有助于⼀个科研新⼿理解显著性检验。“统计假设检验”这⼀正名实际上指出了“显著性检验”的前提条件是“统计假设”,换⾔之“⽆假设,不检验”。任何⼈在使⽤显著性检验之前必须在⼼⾥明⽩⾃⼰的科研假设是什么,否则显著性检验就是“⽔中⽉,镜中花”,可望⽽不可即。⽤更通俗的话来说就是要先对科研数据做⼀个假设,然后⽤检验来检查假设对不对。⼀般⽽⾔,把要检验的假设称之为原假设,记为H0;把与H0相对应(相反)的假设称之为备择假设,记为H1。
如果原假设为真,⽽检验的结论却劝你放弃原假设。此时,我们把这种错误称之为第⼀类错误。通常把第⼀类错误出现的概率记为α
如果原假设不真,⽽检验的结论却劝你不放弃原假设。此时,我们把这种错误称之为第⼆类错误。通常把第⼆类错误出现的概率记为β
通常只限定犯第⼀类错误的最⼤概率α, 不考虑犯第⼆类错误的概率β。我们把这样的假设检验称为显著性检验,概率α称为显著性⽔平。显著性⽔平是数学界约定俗成的,⼀般有α =0.05,0.025.0.01这三种情况。代表着显著性检验的结论错误率必须低于5%或2.5%或1%(统计学中,通常把在现实世界中发⽣⼏率⼩于5%的事件称之为“不可能事件”)。(以上这⼀段话实际上讲授了显著性检验与统计假设检验的关系)
为了⽅便接下来的讲授,这⾥举⼀个例⼦。赵先⽣开了⼀家⽇⽤百货公司,该公司分别在郑州和杭州开设了分公司。现在存在下列数据作为两个分公司的销售额,集合中的每⼀个数代表着⼀年中某⼀个⽉的公司销售额。
郑州分公司Z = {23,25,26,27,23,24,22,23,25,29,30}
杭州分公司H = {24,25,23,26,27,25,25,28,30,31,29}
现在,赵先⽣想要知道两个公司的销售额是否有存在明显的差异(是否存在郑州分公司销售额>杭州分公司销售额,抑或反之),以便对接下来公司的战略业务调整做出规划。下属们知道赵⽼板的难处,
纷纷建议“只需要求平均值就知道哪个分公司的销售额更⼤了”。但是作为拥有⾼学历的赵先⽣懂得这样⼀件哲学即“我们⽣活在概率的世界之中”。那也就意味着,平均值并不能够说明什么问题,即便杭州分公司的销售额平均值⼤于郑州分公司的销售额平均值仍然不能说明杭州分公司的销售额⼀定就⼤于郑州分公司的销售额,因为“这样⼀种看似存在的⼤于关系实质上是偶然造成的⽽并不是⼀种必然”。
赵先⽣最终决定,使⽤⽅差验检查这两个数据。(请先忽略为什么⽤⽅差检验,检验⽅法的选择下⽂中会详述)
最后赵先⽣发现,⽅差检验的p 值= 0.2027,那也就意味着,虽然杭州分公司的年平均销售额26.63⼤于郑州分公司的销售额25.18,但是实质上,两个分公司的销售额并没有明显的差异。(相信此时的你⼼中有万千奔过:⽅差检验是怎么做的?p值是什么⿁?为什么p=0.2027意味着销售额没有明显差异?信息量好⼤肿么办?)
不要急,不要慌,让我们从头来过,整理⼀下赵先⽣这⾥究竟发⽣了什么。这⾥很有必要了解⼀下根植于赵先⽣思维⾥的“慢动作”。
第⼀点:如上⽂所述的⼀样,“⽆假设,不检验”,赵先⽣做了什么样的假设(Hypothesis)?
由于赵先⽣想要知道两个公司的销售额是否有存在明显的差异 ,所以他的假设就是“样本集Z(郑州分公司)和样本集H(杭州分公司)不存在显著性差异,换⾔之这两个集合没有任何区别(销售额间没有区别)!”这就是赵先⽣的假设。那么问题来了,为什么赵先⽣要假设这两个样本集之间不存在任何区别,⽽不是假设这两个样本集存在区别。因为这个假设(Hypothesis)正是⽅差检验的原假设(null hypothesis)。那么问题⼜来了,什么是原假设。所谓原假设是数学界为了⽅便讨论⽽默认的“原始的假设”。没有什么为甚么可⾔,约定俗成罢了。qltv
第⼆点:p值怎么回事?
这⾥并不⽤管p值是怎样得到的,直接给出结论。在显著性⽔平α =0.05的情况下,p>0.05接受原假设,p值<0.05拒绝原假设。我们的原假设是样本集Z和样本集H间不存在显著性差异,但是由于p=0.2027>0.05,所以接受原假设,即样本集Z和样本集H间不存在显著性差异。当然有接受就有拒接,如果这⾥的p值⼩于0.05,那么就要拒绝原假设,即集合Z和集合H间存在显著性差异。
第三点:怎么做⽅差检验以及为何做⽅差检验之后再细讲,这⾥暂且不表。
在这⼀章节的最后,给出本章的两个问题的答案,相信你现在已经可以理解:
1什么是统计假设检验?
所谓统计假设检验就是事先对总体(随机变量)的参数或总体分布形式做出⼀个假设,然后利⽤样本信息来判断这个假设是否合理。⽽把只限定第⼀类错误概率的统计假设检验就称之为显著性检验。在上例中,我们的假设就是⼀种显著性检验。因为⽅差检验不适⽤于估计参数和估计总体分布,⽽是⽤于检验试验的两个组间是否有差异。⽽⽅差检验正是⽤于检测我们所关⼼的是这两个集合(两个分布)的均值是否存在差异。
2.为什么要做显著性检验?
因为我们想要判断样本与我们对总体所做的假设之间的差异是纯属机会变异,还是由我们所做的假设与总体真实情况之间不⼀致所引起的。在我们的例⼦中,差异就是H的均值要⾼于Z的均值,但是最终的结论p>0.05证明,这个差异纯属机会变异(H均值>Z均值是偶然的,当H 和Z的采样点数趋于⽆穷多时,H的均值会趋近等于Z的均值)⽽不是假设与真实情况不⼀致。如果p值<0.05,那么也就意味着我们的假设(H集合和Z集合没差别)与真实情况不⼀致,这就使得假设不成⽴,即H集合和Z集合有差别。
马林科夫⼆:怎么做显著性检验?(基于MATLAB)
显著性检验可以分为参数检验和⾮参数检验。参数检验要求样本来源于正态总体(服从正态分布),且这些正态总体拥有相同的⽅差,在这样的基本假定(正态性假定和⽅差齐性假定)下检验各总体均
值是否相等,属于参数检验。
当数据不满⾜正态性和⽅差齐性假定时,参数检验可能会给出错误的答案,此时应采⽤基于秩的⾮参数检验。
血清铁蛋白
参数检验的⽅法及其相应知识点的解释(这⾥只给出参数检验中常见的⽅差分析):
⽅差分析主要分为'①单因素⼀元⽅差分析'; '②双因素⼀元⽅差分析 '; '③多因素⼀元⽅差分析 '; '④单因素多元⽅差分析 '。下⾯⼀节对各种⽅差分析的实现⽅法进⾏介绍。但在介绍之前,我要⾸先“剧透”⼀下两个重要的点,理解这些点有助于区别不同类型的⽅差分析。
什么叫做因素,什么叫做元?
先解释⼀下什么叫做"元"。我假定正在看这篇博⽂的⼈⼀定具有⼩学以上⽂化⽔平,那么想必你⼀定对“⼀元⼆次⽅程”“⼆元⼀次⽅
程”“多元⼀次⽅程”这种概念不陌⽣。所谓的“元”,正是指未知变量的个数。在统计假设检验中,仍然把待检验的未知变量称之
为“元”⽽把影响未知变量的⾏为(事件)称之为“因素”。有过机器学习基础的同学可以把“元”和“因素”分别理解成机器学习中
的“特征个数”和“标签个数”。拥有多个特征便是“多元”,⽽拥有多个标签便是“多因素”。
①单因素⼀元⽅差分析的⽅法和案例:
相关MATLAB函数:
函数⼀:anova1( X, Group, displayopt)
参数解释:在第⼀种⽤法中,X是⼀个n⾏1列的数组,Group也是⼀个n⾏1列的数组。X为待检验的样本集,这个样本集中包括若⼲个对照组和实验组的全部数据。那么机器怎么知道哪个数据属于哪个组呢?很简单,通过Group这个列向量⼀⼀对应指明即可。⼀下这个例⼦来⾃于MATLAB的help⽂档,在这⾥⽤于实例说明:
假定现在有三组数据
组⼀(st):82 86 79 83 84 85 86 87
组⼆(al1):74 82 78 75 76 77
组三(al2):79 79 77 78 82 79
现在需要对这三组数据做⽅差检验,使⽤anova1函数的⽅法如下
1.⾸先将所有的数据放在同⼀个数组strength中:
>> strength = [82 86 79 83 84 85 86 87 74 82 78 75 76 77 79 79 77 78 82 79];
2.设置对应与strength对应位置的标签为alloy:
>> alloy = {'st','st','st','st','st','st','st','st','al1','al1','al1','al1','al1','al1','al2','al2','al2','al2','al2','al2'};
3.调⽤anova1函数
>> p = anova1(strength,alloy)
最终得到的结果会是⼀个数值和两幅图,⼀个值是p值。p值得看法在上⽂已经介绍过,这⾥不再细细的介绍。在本例中,p的值如下
p =
1.5264e-004
显然,从p值看,三组值之间存在显著性差异。有⼀点必须提⼀下:这⾥p存在显著性差异并不意味着三组之间两两都存在显著性差异,⽽只是说明显著性差异在这三组之间存在。
第⼀幅图是⼀张表,这张表被称之为ANOVA表。相信许多⾮统计专业的同学见到ANOVA表的⼀瞬间是崩溃的,⼀堆问题奔涌⽽出:
Source是什么⿁?SS是什么⿁,df是什么⿁,MS是什么⿁,F是什么⿁,Prob>F是什么⿁,etc.
这⾥为了解决“什么⿁”的问题,对这张表给出详细的解释:
Source表⽰⽅差来源(谁的⽅差),这⾥的⽅差来源包括Groups(组间),Error(组内),Total(总计);
SS(Sum of squares)表⽰平⽅和
df(Degree of freedom)表⽰⾃由度
MS(Mean squares)表⽰均⽅差
F表⽰F值(F统计量),F值等于组间均⽅和组内均⽅的⽐值,它反映的是随机误差作⽤的⼤⼩。
Prob>F表⽰p值
这⾥需要引出两个⼩问题:第⼀个⼩问题是F值怎么使⽤,第⼆个⼩问题是p值和F值的关系是什么?
率先普及⼀下p值和F值之间的关系:
F实际值>F查表值,则p<=0.05
F实际值<F查表值,则p>0.05
不难看出F值在本例中等于15.4,它正是组间⽅差92.4和组内⽅差6的⽐值。查F分布表(下图),
根据 n=19( Total 的df),m=2(Groups的df)
可得F0.05( m, n-m-1) = F0.05( 2, 16) = 3.634。F实际值15.4>F查表值3.634,所以可以判定显著性差异存在,且p值⼩于0.05
以上讲述了如何仅仅使⽤F值判断显著性差异的⽅法并讲述了F值同p值之间的关系。下⾯这张表格是箱型图,它的看法如下图所表注:
这⾥有必要提⼀下anova1函数中的参数displayopt 的作⽤。在⼤规模的anova1调⽤中(例如把anova
1放在for循环中反复调⽤),需要把displayopt设置为'off',否则anova1每调⽤⼀次就会绘制两幅图,这样会迅速的耗费计算机的内存,容易造成程序崩溃。
除了上⽂中介绍的第⼀种调⽤anova1的⽅式,还有⼀种⽅式⽤于均衡的⽅差分析。所谓均衡就是要求不同的组别内的统计数据个数必须相同。在上例中出现的各个组的统计个数分别为{8,6,6}就属于⾮均衡。在均衡状态下,每个组的数据单独构成X中的⼀列,这样便可以省略参数Group,调⽤⽅式就可以简化为anova1(X)
在上⽂中,我们提到过。⽅差分析必须满⾜两条假设,分别是正态性假定和⽅差齐性假定。因此,在⼀个完整的统计⼯程中,必须⾸先检测数据的正态性假定和⽅差齐性假定,这就涉及到另外两个函数lillietest正态检验函数(这正是我们上⽂提到的分布假设检验⽽不是参数检验,它检验的⽬标是数据集服从何种分布)和vartestn⽅差齐性检验(这正是我们上⽂提到的参数检验⽽不是分布假设检验 ,它检测的⽬标是数据集的分布服从什么样的参数,这⾥就是⽅差)
函数⼆:lillietest(X)
>> [h,p] = lillietest (strength(1:8))
巴氏小体
h =
p =
0.5000
解释:h = 0可以认为数据服从正态分布,h=1则认为不服从正态分布
p >0.05可以认为接受原假设h = 0,则数据服从正态分布
>> [h,p] = lillietest (strength(9:14))
h =
p =
0.5000
>> [h,p] = lillietest (strength(15:20))
h =
p =
0.5000
可以得出结论,strength中三组数都服从正态分布
函数三:vartestn(X, Group)
血雨
>> p = vartestn(strength,alloy,'off')
p
=0.5142
注意:X和Group必须是列向量,否则会报错喻嘉言
p>0.05则说明X中的不同Group是齐次的,也就是⽅差性齐。
②双因素⼀元⽅差分析的⽅法和案例:
正如上⽂所述,既然是双因素,那便是有多个标签了。因此双因素⼀元⽅差分析可以理解成“单特征双标签机器学习技术”。由于双因素⼀元⽅差分析要求数据是均衡的,所以它的标签可以省略,就如同上⽂中介绍的anova1的第⼆种使⽤⽅法⼀样。这⾥的例⼦引⽤于MATLAB 的anova2的help⽂档,⽤于
说明anova2的使⽤⽅法。
这⾥有⼀批爆⽶花数据,现在我们知道这些爆⽶花的质量打分同两个因素相关,⼀个是爆⽶花的品牌(有三个品牌:
Gourmet,National,Generic)另⼀个是爆⽶花的制作⼯艺(油炸,⽓压)。这些数据如下所述:
brand    Gourmet        National      Generic
methods
油炸                        5.5000          4.5000        3.5000
油炸                        5.5000          4.5000        4.0000
油炸                        6.0000          4.0000        3.0000
⽓压                        6.5000          5.0000        4.0000
⽓压                        7.0000          5.5000        5.0000
⽓压                        7.0000          5.0000        4.5000
现在需要了解的⽬标有三个,第⼀:列和列之间是否有显著性差异(品牌间的显著性差异),原假设是显著性差异不存在;第⼆:⾏与⾏之间是否存在显著性差异,原假设是显著性差异不存在 ;第三:品牌和⽅法之间的交互作⽤是否明显,原假设是交互作⽤不明显
为了完成以上三个问题,所以特别引⼊anova2函数,anova2函数的参数如下:
p = anova2( X, reps, displayopt)

本文发布于:2024-09-21 18:56:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/575340.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:显著性   检验   假设   差异   数据   存在
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议