微信直播

AME统计027|调整基线差异:协方差分析

Published at: 2015年第1卷第S1期

张天嵩
关键词:

在临床试验中,干预效应除了与处理因素如干预措施有关外,还受许多非处理因素如患者的年龄、性别、病情、心理、环境、社会等因素的影响。随机对照设计目前是被公认的临床干预性试验的金标准方法,通过随机分配可以使不同组别受试者的非处理因素等基线情况做到良好的平衡,但对于一些非随机化或无法随机化的研究设计,组间的基线可能会存在差异。为了提高试验的精确性和准确性,一般情况下,研究者会对处理因素以外的一切条件采取有效措施严加控制,使它们在各组间尽量一致,称为试验控制;但在有些情况下,即使做出很大努力也难以达到试验控制预期目的,但可以通过统计控制来辅助实验控制。

接下来,先看一个数据:该数据来源于高中学校(HSB)研究,它是对美国高中学校调查得到的数据资料,是从 28000 名高中学生中收集的一个样本数据,该数据曾被多本书籍和软件选择作为示例使用。Leech NL 等在其编写的著作(《SPSS统计应用与解析(第3版)》,何丽娟,朱红兵译)附书光盘中附有从总体随机抽取 75 名学生组成的样本数据,共含有 45 个变量,而我们围绕要讨论的问题,只选取 4 个变量的数据(见表-1)用于分析研究。

数据中,“id”表示研究对象的 ID,“gender”表示性别,作为分组的指示器(0=男性,1=女性),“mathach”表示类似 ACT 的数学测验成绩(看起来比较怪),“mathcrs”表示选修数学课程数。

表-1 HSB 数据

根据数据和研究目的,我们拟确立讨论问题:

假设我们的研究问题是调查男生和女生在数据测验上是否有差异。可以看出,该研究问题涉及两个变量:性别和数学测验成绩,前者显然是一个二分类变量,是主要的处理因素,为研究的自变量,而后者则一个连续型变量,为研究的因变量;如果有差异,是否由于其他因素(如由于男生和女性选修的数据课程数不同)造成的,这又涉及了一个非处理因素。因此,我们拟确立两个研究问题:

研究问题1:男生和女生之间在数据测验成绩上有差异吗?

研究问题2:如果对选修的数据课程数不同加以控制,男生和女生之间在数据测验成绩上有差异吗?

对于第一个问题,可能是一个很“基础”的统计分析问题。聪明的读者可以马上想到用三种方法来处理该数据:成组 t 检验、单因素方差分析(F 检验)、Wilcoxon 秩和检验(Mann-Whiteny)检验等;也会想到通用的统计软件如 SAS、Stata、R、SPSS 等均提供了这些方法,我们拟采用 Stata 软件实现。当然,在计算之前,您必须把数据输入软件中,但请不要告诉我您连数据不会输入。

最为简单和“稳健”的是 Wilcoxon 秩和检验等非参数检验方法,它不需要检验满足两个成组样本比较使用的 t 检验、F 检验等所需要的数理条件,可以由 Stata 的“ranksum”命令轻松实现。如:

. ranksum mathach,by(gender)

请注意,“by()”选择项用于指示分组变量,在命令中必不可缺。

结果为:

结果中报告了每组的样本量、秩和;样本量足够大时 u 检验的结果,如果样本量足够大时,可以根据结果中的 z 值(即 u 检验中的 u 值)和 P 值做出统计推断;如果样本量不够大,则可以根据两组样本量及秩和,查两样本比较秩和检验用的 T 界值表,进行统计推断。本例的数据中,每组样本量均大于 30,可以根据 u 检验的结果进行统计推断,z=2.575,相应 P=0.01,说明两组差异有统计学意义。

很显然,这两组观测样本是独立的(每个受试者的得分与其他受试者得分没有系统上的关系),如果再加上两组的数学测验数据这个因变量均服从正态分布、且方差齐性,则也可以选用成组 t 检验或 F 检验,为了和后面讨论内容一致,只讲解 F 检验。

首先,做正态性检验。Stata 中用于检验连续型数据是否服从正态分布的检验命令为 sktest,使用比较简单。对于检验因变量是否服从正态分布,命令如下:

. sktest mathach if gender==0

. sktest mathach if gender==1

请注意,用“if”选择项来限定数据选择范围,后跟“gender==0”表示选择男生组,“==”表示等号。

两组因变量正态性检验结果如下:

结果发现,每组正态性 Skewness-kurtosis 检验,相应 P 值均大于0.05,提示数据满足正态性分布要求。

再次,进行 F 检验。在 Stata 中用于 F 检验的命令是 oneway,命令行操作格式为:oneway 因变量分组变量 [,选择项]。

. oneway mathach gender, tabulate

上述命令中加“tabulate”选择项,可以报告每组数学测验成绩的均数及标准差,结果如下:


聪明的读者会问,F 检验所需要的数理条件不是还要看不同组总体方差是否相等,为什么没有进行方差齐性检验啊?实际上,在方差分析结果中最后一行“Bartlett's test for equal variances”即是方差齐性检验结果,相应 P=0.534,提示满足两组方差齐性假设。

我们可以从 F 检验结果中发现,男生、女生平均成绩分别为 14.76 和 10.75,男生的数学测验成绩显著高于女生,要高出 4 分左右,那么问题来了:难道数学成绩真是男女有别吗?会不会和其它原因有关?

回到篇首的数据,除了我们关注的研究焦点或自变量――性别这个自变量外,还有一个变量――选修数学课程数,它有 6 个定序水平,且偏度值不高,认为其近似正态分布或连续型数据。因为它在数学测验之前发生,研究者已考虑到它会影响因变量,如果不控制它,可能会影响自变量预测因变量时的准确性,此类变量称为协变量。当对协变量不能够控制或不感兴趣时,可以在实验处理前予以观测,然后在统计时运用协方差分析(analysis of covariance,ANCOVA)来处理。

协方差分析是方差分析的延伸,并将线性回归与方差分析结合起来,检验两组或多组修正均数间有无差异的一种统计方法,用于消除混杂因素对分析指标的影响。它可以将协变量对因变量的影响从自变量中分离出去,从而调节协变量对因变量的影响效应,可以进一步提高实验精确度和统计检验灵敏度,是综合方差分析和回归分析技术对实验进行统计控制的一种方法,也称为带有协变量的方差分析(analysis of variance with covariance)。

在进行协方差分析时,请注意其应用条件[8]:(1)观测样本独立;(2)各组因变量服从正态分布;(3)各组方差相等(方差齐性);这三个条件也是方差分析的应用条件,可以简单记为一个抗结核药物异烟肼的简写-INH(independence,normality,homogenicity),因为协方差分析是方差分析的延伸,所以也要符合这些假设。此外,还要满足以下的附加假设,(4)协变量与因变量之间存在线性关系(即回归系数有统计学显著性);(5)每组协变量回归斜率要相等(称为回归斜率齐性)。

所以,在进行协方差分析前应该对其应用条件进行假设检验,如资料符合应用条件或经变量变换后符合应用条件,才可进行协方差分析。

在 Stata 中,anova 命令可以针对平衡或平衡设计如缺失数据设计,多重测量设计,以及多因素、嵌套、混合设计等,进行拟合方差分析和协方差分析。其菜单操作格式为 Statistics > Linear models and related > ANOVA/MANOVA > Analysis of variance and covariance,在出现的对话框中,选择合适的选择项操作即可;其命令行操作格式为:anova varname [termlist] [if] [in] [weight] [, options],要注意的是 termlist 是因子列表,如果是针对连续型数据 x,可以加 c.x 开关来忽略。

针对篇首的数据,在前面的方差分析时,已对正态性和方差齐性等已做过检验,均服从相关假设,接下来要对协方差的附加假设来进行检验。

是否存在线性关系,可以通过采用 regress 命令检验每组回归系数来证实,具体命令如下:

. regress mathach mathcrs if gender==0

. regress mathach mathcrs if gender==1

结果如下:

从中可以发现,每组的因变量与协变量间均存在线性关系,说明满足回归系数有统计学显著性假设。

 

也可以通过 twoway 命令绘制散点图来进行观察:

. graph twoway (scatter mathach mathcrs if gender==0, msymbol(O)) (scatter mathach mathcrs if gender==1, msymbol(Oh)) (lfit mathach mathcrs if gender==0) (lfit mathach mathcrs if gender==1)

图1 散点图

 

回归斜率齐性假设是协方差分析最重要的假设之一,通过 F 检验可以检验协变量与控制变量是否存在交互作用,如果 F 检验存在显著性,则说明违背该假设。具体过程如下:

. gen gendermathcrs=gender*mathcrs

. anova mathach gender c.mathcrs c.gender*mathcrs

通过 gen 命令产生一个名为“gendermathcrs”变量,表示性别与选修数学课程数这两个变量的交互;“c.”是用来将某一协变量告知 Stata 将其作为连续数型变量处理。

结果如下:

结果显示,表明总的线性模型存在统计学显著性(F=40.91,P= 0.0000);定性因素性别(自变量)对因变量数学测验成绩的影响较小(F=0.00,P= 0.9984);定量因素选修数学课程数(协变量)对数学测验成绩的影响结果为 F=50.68,相应 P=0.0000,提示协变量与因变量的直线存在统计学显著性;性别与选修数学课程数之间的交互作用无统计学显著性(F=0.20,P=0.6574),可以认为两条直线回归方程的总体斜率相同。

最后,拟合协方差分析模型。因为两组斜率相同,所以交互项不需要纳入模型,所以拟合最终模型命令为:

. anova mathach gender c.mathcrs

结果如下:

如果在运行 anova 命令之后,不进行其他操作,在命令行操作窗口,键入“regress”,则可以显示系数、标准误等,接上步:

. regress

结果解读:结果上半部分左边为协方差分析表格,是结局变量的方差,分为 Model、 Residual 和 Total 三类,总方差被分为可以由自变量解释的方差(model)和不能由自变量解释的方差(Residual);右边为全模型拟合结果(Overall Model Fit),Prob > F = 0.0000,说明拒绝所有模型的系数为 0 的无效假设。R-squared = 0.6325,可以由自变量解释的因变量方差比例;下半部分为参数估计部分,主要显示了自变量、协变量的系数及标准误,以及 95% CI 等。

结果显示:如果选择相同数量的数学课程情况下,女生的数学测验成绩仅比男生仅少了 0.602 分,差异无统计学意义,相应 P=0.51,说明自变量 gender(性别)对因变量 mathach(数学测验成绩)的影响较小;协变量 mathcrs(选修数学课程数)对 mathach 的结果有影响,相应 P<0.001。

可以通过边缘均值估计来获得每组数学测验数据的修正均数或调整均数(adjusted mean),它是假定协变量取值固定在其总均数时的观察变量的均数。可以在 Stata 软件运行 anvoa 命令后,再运行 margins 命令即可:

. margins gender

结果如下:

结果发现,在控制了选修数学课程数这个变量后,实际上男生和女生的数学测验平均成绩是非常接近的(12.894 VS 12.291);而前面采用方差分析所得两者有显著性差异的原因,是选修数学课程数不同,女生是输在选课这个起跑线上,还真应了中国父母亲对小盆友们的关爱:不能输在起跑线上!

也许有读者会问,协方差分析这么多结果,在写论文时怎么报告呢?可以按以下表-2、表-3 格式报告。

表-2 调整协变量前后不同性别学生数学测验成绩结果

表-3 协方差分析结果

最后,我们回顾一下本章学到了什么:(1)两个独立样本资料差异的秩和检验、方差分析,还涉及了连续型数据的正态性检验、方差齐性检验等;(2)重点学习了协方差分析方法的步骤及在 Stata 中实现。

值得牢记的是:(1)应用协方差分析的数理条件;(2)协方差分析可以调整基线差异。还要提出一个重要的建议,即使是你没有理由怀疑或者没有发现基线差异,也可以采用协方差分析消除基线变量的差异,提高统计检验效能!事实上,令人惊讶的是,很少有人知道这一点!

 

笔者|张天嵩,医学博士,主任医师,上海中医药大学兼职教授,潍坊医学院硕士生导师;上海市中西医结合学会循证医学专业委员会委员,上海市中西医结合学会心身医学专业委员会委员,上海市中医药学会呼吸分会委员,中华中医药学会学术流派研究专家委员会委员,中国中西医结合学会儿科分会青年委员;《中国循证医学杂志》第六届编委会委员;《中医杂志》、《中国中医药信息杂志》、《循证医学》、《中南大学学报(医学版)》等杂志审稿专家。擅长内科常见病、多发病、疑难病的中西医结合治疗;对循证医学方法学、数据挖掘、医学统计等方面造诣颇深。主持和以主要研究者参与上海市卫生局、上海市科委等研究课题8项,目前在国内外医学期刊已发表学术论文百余篇;主编、合著、参加编写和翻译医学著作10部,主编《实用循证医学方法学》第1版、第2版。

往期精彩文章

doi:

10.3978/kysj.2014.1.1316
comments powered by Disqus

附件