孙亚清曹颖姝陈平雁
样本量估计及其在nQuery + nTerim和SAS软件上的实现群随机试验(一)
孙亚清1曹颖姝2陈平雁△
1.南方医科大学公共卫生与热带医学学院生物统计学系2013级硕士
2.南方医科大学公共卫生与热带医学学院生物统计学系2014级硕士
群随机试验(cluster randomized trial)又称群随机对照试验(cluster randomized controlled trial),是将研究对象以群为抽样单位进行抽样,并以群为单位将研究对象随机分配到不同处理组进行干预的一种试验设计方法。
7.1 两个均数的比较(差异性检验)
7.1.1 完全群随机设计下两个均数的比较
式中,ICC为群内相关系数;m为每组群的个数,简称群数;n为每个群的样本量,简称群样本量;|μ1-μ2|为两个均数之差,σ为标准差。这里假定两组群内相关系数、群数和群样本量都相等。以上公式基于双侧检验,当采用单侧检验时,只需将α/2替换为α。
在计算群数(群样本量)时,需给定群样本量(群数),首先设定群数(群样本量)的初始值,然后迭代群数(群样本量)直到满足设定的检验效能为止。此时的群数(群样本量),即研究所需的最小群数(群样本量)。完全群随机部分同时给出计算群数和群样本量的实例,配对群随机部分只给出计算群对子数的实例,计算群样本量的实例可参照完全群随机部分。
[例7-1]某试验欲评价某种健康教育对2型糖尿病患者的有效性。采用完全群随机设计,将社区作为群,试验组在社区接受6小时健康教育,对照组采用常规护理。研究的主要疗效指标是糖化血红蛋白HbA1c的变化。假设两组HbA1c差值为1%,标准差为2%,群内相关系数为0.05,每个社区可招募18名患者,试估计当检验效能为90%时所需的社区个数及总样本量[2]。
nQuery + nTerim 4.0实现:
设定检验水准α=0.05,采用双侧检验,检验效能取1-β=90%。
在nQuery + nTerim 4.0主菜单选择:
Goal:⊙Cluster Randomized
Number of Groups:⊙Two
Analysis Method:⊙Test
方法框中选择:CRT Two Means Completely Randomized
在弹出的样本量估计窗口计算框中选择:Calculate required number of clusters given power,将各参数值键入,结果如图7-1所示,即每组需要10个社区,每个社区随机抽取18名2型糖尿病患者,本研究总的样本量为360人。
图7-1 nQuery + nTerim 4.0关于例7-1样本量估计的参数设置与计算结果
SAS 9.4软件实现:
图7-2 SAS 9.4关于例7-1样本量估计的参数设置与计算结果
[例7-2]研究背景同例7-1。假设每组纳入社区20个,其余参数设置相同,试估计当检验效能为90%时每个社区所需的参与人数及总样本量。
nQuery + nTerim 4.0实现:
设定检验水准α=0.05,采用双侧检验,检验效能取1-β=90%。
主菜单和方法框的选择同例7-1。
在弹出的样本量估计窗口计算框中选择:Calculate required sample size for given power,将各参数值键入,结果如图7-3所示,即每个社区需随机抽取6名2型糖尿病患者,每组需要20个社区,本研究总的样本量为240人。
图7-3 nQuery + nTerim 4.0关于例7-2样本量估计的参数设置与计算结果
SAS 9.4软件实现:
图7-4 SAS 9.4关于例7-2样本量估计的参数设置与计算结果
SAS程序:
proc IML;
start CMCR(a,index,x,ICC,mdiff,sita,side,power);/ *index为指示变量,index =1表示求群数,此时x需输入群样本量;index =2表示求群样本量,此时x需输入群数*/
error =0;if(a>1|a<0)|(index^=1 & index^=2)|(x <=0)|(ICC<=0|ICC>=1)|(sita<=0)
|(side^=1&side^=2)|(power>100|power<1)then error =1;
if error =1 then stop;if(side =1)then a_t =a;if(side =2)then a_t =a/2;y =1;
do until(pw>=power);y =y + 1;if(index =1)then do;N =x;m =y;end;
if(index =2)then do;m =x;N =y;end;df =2#(m-1);nc =(abs(mdiff)/ sita)/ sqrt((2#(1 + ICC#(N-1)))/ (m#N));
pw =100#(1-probt(tinv((1-a_t),df),df,nc)+ probt (-tinv((1-a_t),df),df,nc));
end;pw =round(pw,0.001);
print a[label =“a”]side[label =“1 or 2 sided test”]mdiff[label =“|μ1-μ2|”]sita[label =“σ”]
ICC[label =“ICC”]m[label =“m”]N[label =“N”]pw[label =“Power(%)”];
finish CMCR;
run CMCR(0.05,1,18,0.05,0.01,0.02,2,90);/ * 例7-1*/
run CMCR(0.05,2,20,0.05,0.01,0.02,2,90);/ * 例7-2*/ quit;
7.1.2 配对群随机设计下两个均数的比较
方法:Donner和Klar(2000)[3]提出的配对群随机设计下两个均数差异性检验的样本量估计方法建立在大样本正态近似理论基础上,其检验效能的计算公式为:
式中,k为配对的群对子数,简称群对子数;n为每个群的样本量,简称群样本量;|μ1-μ2|为两个均数之差,σw为群内标准差,σB为群间标准差。以上公式基于双侧检验,当采用单侧检验时,只需将α/2替换为α。
在计算群对子数(群样本量)时,需给定群样本量(群对子数),首先设定群对子数(群样本量)的初始值,然后迭代群对子数(群样本量)直到满足设定的检验效能为止。此时的群对子数(群样本量),即研究所需的最小群对子数(群样本量)。
[例7-3]某试验欲评价富含微量元素的饮品对中小学生心理健康发展的有效性。采用配对群随机设计,将班级作为群,以年龄作为配对因素对班级进行配对。采用安慰剂对照,将配对好的两个班级随机分到试验组和对照组,试验组的饮品中富含微量元素,对照组的饮品没有添加微量元素。研究的主要疗效指标是中小学生体重的变化。假设两组体重的差值为0.9kg,群间标准差为0.31kg,群内标准差为3.883kg,每个班级有38名学生,试估计当检验效能为80%时所需的群对子数及总样本量[4]。
nQuery + nTerim 4.0实现:
设定检验水准α=0.05,采用双侧检验,检验效能取1-β=80%。
在nQuery + nTerim 4.0主菜单选择:
Goal:⊙Cluster Randomized
Number of Groups:⊙Two
Analysis Method:⊙Test
方法框中选择:CRT Two Means Matched Pairs
在弹出的样本量估计窗口计算框中选择:Calculate required number of matched pairs of clusters for given power and sample size,将各参数值键入,结果如图7-5所示,即需要匹配8对班级,每个班级需要38名学生,本研究总的样本量为608人。
图7-5 nQuery + nTerim 4.0关于例7-3样本量估计的参数设置与计算结果
SAS 9.4软件实现:
图7-6 SAS 9.4关于例7-3样本量估计的参数设置与计算结果
SAS程序:
proc IML;
start CMMP(a,index,x,mdiff,sitaw,sitab,side,power);
/ *index为指示变量,index =1时表示求群对子数量,此时x需输入群样本量;index =2时表示求群样本量,此时x需输入群对子数*/
error =0;if(a>1|a<0)|(index^=1 & index^=2)|(x <=0)|(sitaw<=0)|(sitab<=0)|(side^=1 & side^=2)|(power>100 |power<1)then error =1;if error =1 then stop;
if(side =1)then a_t =a;if(side =2)then a_t =a/2;y =1;do until(pw>=power);y =y +1;
if(index =1)then do;N =x;k =y;vd =sqrt(2#(sitaw/ N + sitab));end;
if(index =2)then do;k =x;N =y;vd =sqrt(2#(sitaw/ N + sitab));end;
pw =100#CDF('NORMAL′,(abs(mdiff)#sqrt(k))/ vd-probit(1-a_t));end;pw =round(pw,0.001);
print a[label =“a”]side[label =“1 or 2 sided test”]mdiff[label =“|μ1-μ2|”]sitaw[label =“σ2w”]
sitab[label =“σ2b”]k[label =“k”]N[label =“N”]pw[label =“Power(%)”];
finish CMMP;
run CMMP(0.05,1,38,0.9,3.883,0.31,2,80);/ * 例7-3*/ quit;
(责任编辑:邓 妍)
·方法介绍·
通信作者:△陈平雁