小胖说统计Word文档下载推荐.docx
《小胖说统计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《小胖说统计Word文档下载推荐.docx(89页珍藏版)》请在冰豆网上搜索。
(1)某病人的身高220cm
(2)某病人的收缩压250mmHg
。
这时我们的第一感觉就是这些数据不正常,不符合常规,其实这就是所谓的离群值(Outliers),即某个数据值和其他的数据值看上去不一致。
从统计学上来说,离群值有很低的概率来源于其他数据相同的统计分布。
那么造成这些离群值的原因有哪些呢,其实想来,无外乎两种可能:
(1)数据错误,这可能是我们的第一反应。
当我们再重新核对原始资料后,可能发现这些值可能是数据记录或数据输入等方面的错误。
(2)人家这个值确实就是这样的,那只能说明这些值是一些罕见的情况,比如
人家确实身高就220cm人家血压就高,就是250mmHg世界之大,无奇不有吗。
而且虽然人家罕见,但确实也是总体的一部分吗。
那outliers会带来什么问题呢,最大的影响莫过于所有基于均数和标准差的统计检验都会被损害,由此带来的问题包括
(1)估计发生偏倚
(2)sumsofsquares增大
(3)p值错误
(4)结论错误
关于outliers的危害,小胖在下篇博文中将结合一个例子来给大家简单介绍一下。
关于outliers的危害,我们来看下边这个极端的例子:
5个受试者某指标的测量数据实际应该为1,3,5,9,12;
但由于数据输入错误变成了1,3,5,9,120,这就形成了两组数据如下:
实际组:
1,3,5,9,12
错误组:
1,3,5,9,120
现在我们来看一下这两组数据的统计结果:
中位数均数方差均数的95%可信区间实际组56.020.00(0.45,11.55)错误组527.62676.8(-36.63,91.83)
从上边的数据,我们可以看出,两组前四个数值是一样的,但在第二组中第五个值与其他的值相差很大,而这个值(120)就是我们所称的outliers。
这时我们看一下统计结果,发现两组的中位数没有变化,这也说明了中位数是比较稳健的统计量,如果outliers比较少,其值也不会变化太大。
但我们却看到两组均数、方差、均数的95%可信区间有了巨大变化,这就说明仅仅一个严重的outliers就会
导致均数、方差、均数的95%可信区间的巨大扭曲。
同样的道理,那些基于均数、方差的统计量如回归系数、p值等都会收到极大的影响。
从以上这个极端的例子,我们就可以看出离群值的发现以及处理对于一个正确的统计分析显
得尤为重要,它应该是完整的一个统计分析过程的一个重要组成部分。
这一
点,ICHE9中
也有以下论述:
“Asimilarapproachshouldbeadoptedtoexploringtheinfluenceofoutliers,thestatisticaldefinitionofwhichis,tosomeextent,arbitrary.Clearidentificationofaparticularvalueasanoutlierismostconvincingwhenjustifiedmedicallyas
wellasstatistically,andthemedicalcontextwillthenoftendefinetheappropriate
action.Anyoutlierproceduresetoutintheprotocolorthestatisticalanalysis
planshouldbesuchasnottofavouranytreatmentgroupapriori.Onceagain,this
aspectoftheanalysiscanbeusefullyupdatedduringblindreview.Ifnoprocedure
fordealingwithoutlierswasforeseeninthetrialprotocol,oneanalysiswiththe
actualvaluesandatleastoneotheranalysiseliminatingorreducingtheoutlier
effectshouldbeperformedanddifferencesbetweentheirresultsdiscussed.”上文中,小胖提及了离群值对统计分析的危害,既然有这么多危害,那么首先我们就应该把
它找出来,那具体怎么找呢,下边我们来介绍一下几种常见的方法。
1.BoxPlot(IQRcomputation)
BoxPlot法也叫IQRcomputation法,即基于百分位数(percentile)的方法。
大家都知
道BoxPlot是利用中位数、上百分位数、下百分位数来描述数据分布的一种图表。
这里所
说的上百分位数和下百分位数分别是指第75百分位数(75thpercentile)和第25百分位
数(25thpercentile),我们通常以Q3和Q1来表示。
那么两者之差Q3-Q1,我
们也有个
名称叫四分位距,英文叫interquartilerange简称IQR。
我们就是利用
Q1,Q3和IQR来识
别异常值的。
一般来说:
(1)如果某个值小于Q1-1.5*IQR或者大于Q3,1.5*IQR,那么这个值我们就视为潜在的
outliers
(2)如果某个值小于Q1-3*IQR或者大于Q33*IQR,那么这个值我们就视为有问题的
至于Q1,Q3和IQR的计算,我们可以通过SAS程序中的PROCUNIVARIAT来实现。
下边是
一段SAS程序,仅供大家参考。
PROCUNIVARIATEDATA=mydataNOprint;
VARy;
OUTPUTOUT=qdataQ1=q1Q3=q3QRANGE=iqr;
RUN;
DATA_null_;
SETqdata;
CALLSYMPUT("
q1"
q1);
CALLSYMPUT("
q3"
q3);
iqr"
iqr);
*savetheoutliers;
DATAoutliers;
SETmydata;
LENGTHseverity$2;
severity="
"
;
IF(y<
=(&
q1-1.5*&
iqr))OR(y>
q3+1.5*&
iqr))THENseverity="
*"
q1-3*&
q3+3*&
**"
IFseverityIN("
"
)THENOUTPUToutliers;
PROCPRINTDATA=outliers;
VAR<
idvariables>
yseverity;
TITLE'
Dataoutliersforreview'
RUN;
BoxPlot对数据分布没有什么特别的要求,对outliers的识别是描述性的,样本量越大,就会有更多的outliers检查出来。
除了BoxPlot描述法,对于outliers的识别还有建立在假设检验基础上的方法,下篇博文中,小胖将简单介绍两种建立在假设检验基础上的方法ESD法(Grubbstests)和Dixontests。
上篇博文,小胖介绍了识别outliers的BoxPlot法,除了BoxPlot描述法,对于outliers的识别还有建立在假设检验基础上的方法。
常见的outliers识别的统计检验有Grubbstests和Dixontests。
下面让我们来分别看一下这两种方法:
Grubbstests通常也叫ESD(ExtremeStudentizedDeviate)法
ESD法是以远离均值的标准差的倍数多少为基础的一种方法。
通俗地理解,我们可以先选择离均值最远的一个值,然后远离均值的标准差的倍数乙即这个值与
均值的差再除以标准差。
然后我们拿Z值与ESD界值进行比较,如果Z值小于ESD界值,那么我们就说这个数据集里没有outliers,如果Z值大于ESD界值,那么
这个值就是outliers,然后我们再重复前边的步骤来检验第二远的、第三远的。
是不是outliers。
这种方法也可以扩展到同时检测多个outliers。
关于ESD界值Grubbs也给出了专门的一个界值表。
而关于outliers的ESD法有一个专
门的小计算程序,即GraphPad'
sFreeonlinecalculator,有兴趣的同学可以可以看一下下边的链接:
也可以从以下链接,下载一个专门计算的EXCEL文件:
对于ESD小胖还要重复的一点就是,ESD方法是建立在正态分布的基础上的,因此比较适用于大样本量的临床试验。
关于ESD方法的详细方法学介绍,在下边的书籍中有相关的中文翻译的介绍,有兴趣的同学可向小胖索取:
伯纳德.罗斯纳著。
孙尚拱译.《生物统计学基础》:
283,288。
科学出版社。
Dixontests法
Dixontests法比较灵活,算法比较简单,适用于较少样本量的数据。
Dixontests法具体的思路方法简单如下:
(1)把N个数据值按照升序进行排序:
x<
x<
...<
x12N
(2)计算Dixonratio,r,具体的计算方法如下表:
NDixonratioxxN1
3-7r10(x-x)/(x-x)(x-x)/(x-x)NN-1N121N18-10r11(x-x)/(x-x)
(x-x)/(x-x)NN-1N221N-1111-13r21(x-x)/(x-x)(x-x)/(x-x)NN-
2N231N-1114-30r22(x-x)/(x-x)(x-x)/(x-x)NN-2N331N-21
其中第三列的公式是来判断最大值,第四列的公式是来判断最小值的
(3)把Dixonratio值与相应的界值进行比较,而这个界值是根据N和显著性
水平决定的。
如果r值大于界值,则为outliers。
我们来看下边这个例子吧:
某组10个数据:
7.6,6.4,6.7,5.8,9.3,5.4,5.3,4.1,2.1,16.3我们先对其进行排序:
X1X2X3X4X5X6X7X8X9X102.14.15.35.45.86.46.77.69.3
16.3
如果我们怀疑最大值16.3可能是个outliers,那我们可以对其进行统计学检验:
因为N=10,那么我们选取r11=(x-x)/(x-x)=(16.3-9.3”(16.3-4.1)=0.574NN-1N2
查界值表N=10,显著性水平为0.05得界值为0.477,则r11大于界值,因此
16.3是个statistical
outliers。
如果我们怀疑最小值2.1可能是个outliers,那我们也可以对其进行统计学检验:
r11=(x-x)/(x-x)=(4.1-2.1)/(9.3-2.1)=0.278<
0.477,因此2.1不是个
statistical21N-11
具体的Dixontests界值表,可以参见下边的链接:
而关于Dixontests的SASMacros,大家可参加下边链接的全文:
前文中,小胖主要介绍了outliers识别的几种常见方法,而对outliers的判断不仅应从统计学方面来判断,更应从医学专业知识方面来判断。
正如ICHE9中指出的:
“Clearidentificationofaparticularvalueasanoutlierismost
convincingwhen
justifiedmedicallyaswellasstatistically,andthemedical
contextwillthenoften
definetheappropriateaction.”
而一旦确定了outliers,下一步该怎么处理呢,对于outliers的处理是一个很困难的问题。
随意地忽略或者删除outliers都不是好的方法。
那具体有什么方法呢,
1.Transformations(数据转换)
数据转换往往有两种方式,即平方根或自然对数。
它的思路通俗地来理解就是对于比较大的数值,它压缩的程度比小的数值大,从而缩写数值之间的差距,比如说两个值100和25,本来相差很大,通过去平方根后,一个变成了10,另一个变成了5,两个之间的差距就变小了。
然而,数据转换往往会导致outliers被过分地压缩。
数据转换可能不适合模型理论,影响模型的解释。
你对原始数据进行了数据转换,那么就可能改变了原始变量与其他变量之间的关系,对结果的解释也会不同。
另外,通常用到的数据转换往往要求数据都是非负值。
2.Deletion(删除)
删除outliers这种做法是最后不得已的做法,只有在这个值发现确实是错误值,而且无法更改的情况下或者这个值大大远离其他数值以致于严重影响统计推断。
同时你可以同时报告保留outliers和删除outliers后的结果,看看到底有多大的变化。
3.Accommodation(调整)
所谓Accommodation就是通过某种调整方法来减轻outliers的有害影响。
Accommodation的一大优点便是对outliers的Accommodation无需事先对
outliers进行确认。
这种思路很好理解,既然处理outliers那么困难,那我们就选择即使outliers存在使用起来也比较robust的方法。
其中最常见的方法便是非参数检验。
例如我们可以用非参检验wilcoxon秩和检验来代替参数检验两样本t检验,这样就可以大大缓解那些outliers如一些极大值或极小值的影响,因为前者wilcoxon秩和检验基于观察值的排序而不是均值会更为robust。
而在统计效率方面,模拟研究显示,非参数检验方法检验出统计学差异的能力仅仅略低于相
对应的参数检验方法。
另外我们也可以采取一些比较robust的回归模型来进行统计检验。
关于临床试验中outliers的处理,小胖最后还是再重复一下ICHE9中的论述:
“Anyoutlierproceduresetoutintheprotocolorthestatistical
analysisplanshouldbesuchasnottofavouranytreatmentgroupa
priori.Onceagain,thisaspectoftheanalysiscanbeusefullyupdatedduringblindreview.Ifnoprocedurefor
dealingwithoutlierswasforeseeninthetrialprotocol,one
analysiswiththe
actualvaluesandatleastoneotheranalysiseliminatingor
reducingtheoutlier
effectshouldbeperformedanddifferencesbetweentheirresults
discussed.”
翻译过来大体意思是
对于ouliers的处理可以在研究方案中或统计分析计划中加以事先规定,而且这些处理方
法不能对任何治疗组有所偏向。
而如果未在试验方案中预先制定处理缺失值的方法,那么实
际资料分析所得结果,以及采用去除或消弱outliers影响方法后的结果均需列出来,并加
以比较,对结果不一致做出解释。
众所周知,参数估计、可信区间和假设检验是对临床试验评价的三大手段。
而一谈到统计,
很多人想到的的第一个东西便是p值。
那怎么获得p值,我们自然会想到假设检验,而各种
统计检验的方法,小胖在另一个小胖说统计系列临床试验常见的统计分析方法中将加以详细
介绍。
因此,在这里对于假设检验的具体方法,小胖不做过多阐述。
小胖在这里要说的是,
很多人在做临床试验时把p值看作第一位的东西,总觉得p值的大小直接决定着这个试验的
成败,是衡量你成功与否的标准。
的确,p值是很重要,但有时我们过分高估了p值的作用
甚至被某些p值所蒙蔽了眼睛。
下面让我们来先看一个经典的临床试验的例子:
CohnJN,lohnsonG,ZiescheSetal.Acomparisonofenalaprilwithhydralazine-isosorbidedinitrateinthetreatmentofchroniccongestiveheartfailure.NEngl.Med1991;
325:
303-310
在这个随机对照临床试验中,对Enalapril治疗和hydralazine联合nitrates治疗心力衰
竭进行了比较。
试验共有804例病人参加。
所有病人进行了6个月到5.7年的随访,最后结
果发现,Enalapril组33,(132/403)的病人死亡,hydralazine联合nitrates组38,
(153/401)的病人死亡。
两组死亡率(两分类变量,死亡或生存)差异的卡方检验显示,
p=0.11。
看到上边这个结果,也许很多人会认为由于p值为0.11大于0.05,那么两组
疗效没啥区别,
然后会把这个试验归为negative(阴性)试验。
但可能也有人会提出,从临床试验结果来看,Enalapril组比hydralazine联合nitrates
组的死亡率能降低5%,如果这个5,是实际存在的差异的话,降低5,其实是有临床意义的,
如果是这样的话,他们觉得Enalapril组的疗效会更有优势,然而实际的统计检验却没有显示出统计差异,这又怎么来解释呢,
其实,这个问题就涉及到了小胖曾在《小胖说统计之二:
怎样认识
Non,positive试验》中提到的假阴性或者说under-powered问题。
对此,小胖将在下一篇博文中加以介绍。
参数估计、可信区间和假设检验
(二)
在上文的例子中,虽然死亡率5,的差异在临床上是有意义的,那为什么未能得出两组差异的结论呢,答案是入组病人数太少以致于没有检验出差异来。
而本来有
差异却没有检验出来,这就是我们常说的II类错误(B),在这里由于样本量过少造成了II类错误(B)较大。
当某个试验II类错误(B)较大时,那么它的power(1,B)就会较低。
在本例中,小胖可以通过结果来算一下power,,最后的
power实际只有约31,。
也就是说,如果两组死亡率分别为33,和38,,在样本量为804的情况下,只有31,的把握检验出两组的差异,换言之,本来有差异却没有检验出差异的概率有69,(1,31,)。
在这个试验中,对于两分类变量(死亡或生存)来说,两组之间较小的差异往往需要很大的样本量来检验出来。
我们可以算一下,如果两组死亡率还是分别为33,和38,,假设80,的power,那么算下来需要将近3000例病人。
此外,在上文的例子中,研究者对两年后的死亡率的比较发现两组死亡率分别为18,和25,,p,0.016。
这也从另一方面说明了Enalapril组与hydralazine联合nitrates组相比,疗效确实有优势。
从上边这个例子来看,在一个简单的p值背后其实有很多东西需要我们仔细地进行分析,对于一个临床试验结果的解释,不是仅仅看看p值大小就做出结论那么
简单,而通常这种仅看重p值大小的做法也是我们在临床试验统计分析和结果解释中的大忌。
正如小胖在开篇就提及的那样,不要过高地看重p值的作用,更不要让
p值蒙蔽你的眼睛,对临床试验的结果,我们要综合各方面来看待,其中这里不得不提的一个重要的东西便是可信区间,而