第五节 实验设计方案
统计学中可提供的实验设计方案有很多种,如完全随机设计、随机区组设计、配对设计、拉丁方设计、交叉设计、析因实验设计、裂区实验设计、正交设计、均匀设计、重复测量设计等,本节我们介绍两种常用的设计方案。
一、完全随机化分组设计
完全随机化分组设计(completely randomized design)是一种单因素设计方案,一个实验因素有两个水平或者有多个水平,将实验对象随机的分配到各处理水平组(图2-15)。完全随机化分组设计要求除处理因素外,各组间的其他可能影响观测指标的因素应当保持一致。
图2-15 完全随机分组设计方案示意图
有时我们会先按照实验对象进行分层,然后再分别从每个层中随机抽取所需的样本,进行相同的处理。如比较不同疾病时某一指标的变化规律,此时尽管不是完全随机设计,但分析时仍然可以使用完全随机设计时的分析方法。可以看出完全随机化分组设计是一种简单、实用、应用非常广泛的设计。完全随机化分组设计的优点是设计简单、易于实施,出现缺失数据时仍可进行统计分析;但如果除了处理因素外,还有其他因素的影响时,完全随机化分组设计的结果会出现问题,使其不能正确地反映事物自身的变化规律。
二、区组化设计
区组化设计是一类采用局部控制的方法减少实验误差、提高实验效率的设计方法。经常使用的有随机区组设计、平衡不完全区组设计、裂区设计等。区组是由若干特征相似的实验对象组成,如同一窝的动物,批号相同的试剂,体重相近的受试者等。区组内随机化是指在每个区组内的处理顺序要随机排列。
随机区组设计(randomized block design)又称为配伍组设计,该设计属单因素的设计方案,它可以控制一组非处理因素。当处理因素的水平数k = 2时,即为配对设计(paired design)。随机区组设计首先要将各观察对象按一定条件组成若干个区组(配伍组),区组内各受试者的非处理因素基本保持一致,如同性别、年龄、职业、病情等。然后采用随机化方法分别对每个区组内的受试对象接受不同的处理水平。这样保证了各组内受试对象的可比,即减少组间误差,提高检验效率。随机区组设计中每个区组内的受试对象数量相同,并且等于实验处理因素的水平数。
例2-2
为了研究酵解作用对血糖浓度的影响,研究者准备以8名健康人受试者为研究对象,从每一位受试者抽取10ml静脉血并制备成血滤液。将每一位受试者的血滤液等分成4份,并对每位受试者的4份血滤液进行编号。分别在0、45、90、135分钟时对其中一份血滤液测定其中血糖浓度。
在本例中使用的是随机区组设计,所要控制的非处理因素是不同受试对象的血糖浓度,每个人的四份血滤液可以作为一个区组,每份血滤液为实验对象;处理因素为放置时间,此处理因素共有4个处理水平;区组内随机化的目的是为了确定测定血糖的顺序。
1.CHISS软件实现随机区组设计随机化分组
首先,将受试者及每位受试者的4份血滤液按顺序编号。然后点击“设计”按钮,此时在主菜单中出现“实验设计”的选项,点击“实验设计”→“设计方案”→“随机区组设计分组”,将会出现“随机区组设计分组”对话框,在检验样本总例数的位置填入32,处理组数选择4,随机数种子填入种子数,本例选24680,如图2-16。此时点击“确定”可将结果输出到结果编辑窗口,见表2-2。
图2-16 CHISS软件中随机区组设计随机化分组的对话框
可以看出第1位受试者的第1份血滤液用于第135分钟的测试,第1位受试者的第2份血滤液用于第45分钟的测试,第1位受试者的第3份血滤液用于第0分钟的测试,第1位受试者的第4份血滤液用于第90分钟的测试。以此类推。
对于随机区组设计资料的统计分析,如果观测指标是计量资料,可用随机区组方差分析或Friedman秩和检验处理,属分类变量可用χ2检验。
但是需要指出的是,使用随机区组设计的目的是为了使各处理组之间的非处理因素具有可比性,而且随机化只是在每个区组内进行的,因此对区组因素的统计检验是意义不大的。
表2-2 随机区组设计随机排列结果
2.SAS软件实现随机区组设计随机化分组
采用proc plan语句,对8个受试者,区组内通过随机数分配号码1~4,输出至数据集blood。
结果如图2-17,block代表受试者的编号,length代表该受试者每份血滤液对应分配的号码。
图2-17 SAS软件中随机区组设计分配号码
将上述数据集blood里的变量block、length读入数据集result中,生成变量id为血滤液的编号,变量blood为每个受试者中血滤液的编号,之后通过length的大小将血滤液分为四组,length为1则分配到A组,length为2则分配到B组,length为3则分配到C组,length为4则分配到D组。
输出数据集result中的变量block,blood和group,即为每个受试者血滤液的分组,前10个观测结果如图2-18。
图2-18 SAS软件中随机区组设计编号分组结果
可以看出第1位受试者的第1份血滤液用于第135分钟的测试,第1位受试者的第2份血滤液用于第90分钟的测试,第1位受试者的第3份血滤液用于第0分钟的测试,第1位受试者的第4份血滤液用于第45分钟的测试。以此类推。
3.Stata软件实现随机区组设计随机化分组
*设置观测值32个
set obs 32
*生成变量id,“_n”表示产生与观测数相对应的id编号
gen id = _n
*生成区组变量block,并以每4个观测作为一个单位,按顺序赋值
egen block = seq(),block(4)
*设置随机数种子,固定值为24680
set seed 24680
*生成随机数变量r,默认生成(0,1)之间的随机数
gen r = uniform()
*先对block进行排序,再对每个block下的r排序
sort block r
*在每个block中,生成分组变量group,按顺序赋值
by block: gen group = group(4)
*先对block进行排序,再对每个block下的group排序
sort block group
*展示含有block id group变量的表格,如图2-19
list block id group
图2-19 Stata软件中随机区组设计编号分组结果
4.SPSS软件实现随机区组设计随机化分组
首先,将受试者及每位受试者的4份血滤液按顺序编号,将1至20设置成序号,如图2-20所示。
第二,将血滤液按受试者进行区组,每个区组长度为4如图2-21所示。
选择菜单“数据”→“拆分文件”,点击“比较组”,分组依据选择“区组”,如图2-22所示。
点击“确定”,结果如图2-23所示。
图2-20 血滤液序号
图2-21 血滤液区组
图2-22 拆分文件对话框
图2-23 区组结果
第三,设置随机数种子,选择菜单“转换”→“随机数生成器”,将会出现“随机数生成器”对话框,在活动生成器初始化选项框中,勾选“设置起点”,选择“固定值”,输入种子数,本例选24680,点击“确定”。如图2-24所示。
第四,生成随机数,选择菜单“转换”→计算变量,将目标变量命名为“随机数”,在函数组中选择“随机数”,函数和特殊变量选择“Rv.Uniform”双击,在数字表达式中范围选择0和1,点击“确定”,对话框如图2-25所示。
图2-24 设置随机数种子
图2-25 生成的随机数变量
生成得到随机变量如图2-26所示。
第五,数据编秩,选择菜单“转换”→“个案排秩”,将“随机数”变量作为排秩变量,将秩1赋予“最大值”,点击“确认”。个案排秩对话框如图2-27所示。
生成得到新变量“R随机数”如图2-28所示。
可以看出第1位受试者的第1份血滤液用于第135分钟的测试,第1位受试者的第2份血滤液用于第90分钟的测试,第1位受试者的第3份血滤液用于第0分钟的测试,第1位受试者的第4份血滤液用于第45分钟的测试,以此类推。
图2-26 生成的随机数变量
图2-27 个案排秩对话框
图2-28 SPSS软件中随机区组设计编号分组结果
(王洪源 童新元 赛晓勇)