随机区组和被试内设计的方差分析个人笔记

北之 免费考研论坛/2008-12-07

原文内容来自免费考研论坛,请点击查看全文
http://bbs.freekaoyan.com/viewthread.php?tid=340572
近来关于随机区组和被试内实验设计以及对应的方差分析的问题,多人追问不止。既自觉已思路清晰、天下无敌。特本着一半自己再梳理一下,一半友好互助的形式小写个群邮件,充个英勇,让大家也分享下。定是不足与不当多多,盼批评指正。



相信把这个东西认真看完,思路不清晰的童鞋马上也会思路清晰起来。

看似很复杂,实际上我尽全力做到深入浅出,因此,相信只要是地球人都可以看得懂。



一、随机区组的被试分配:

a1 a2

区组 b1 b2 b1 b2

1 1 4 7 10

2 2 5 8 11

3 3 6 9 12

数据刻意简单化,不合理没有关系。
是个2*2随机区组设计,3个区组。

如何分配被试?首先,随机区组的每个区组的被试应该是有差异的,否则就不需要分区组了,直接完全随机就可以了。
因此随机区组的前提是:区组间异质,而区组内的被试尽可能同质。

被试有以下几个情况:

第一分配方式:假设该实验的被试总个数为24个,每个区组的被试为8个。他可以有两种分配方式

1、将每组中的任意每2个被试随机接受一种处理,2*4=8
2、8人同时接受所有的处理,1*8=8

需要注意的三个问题:

1、一般都用第一种情况,第二种不用,因为区组内的这8个人本来就是理论上的同质的,所以只要把他们分开,随机接受不同的处理就能说明问题,这样可以省时,省钱,还能避免每个人由于重复测量导致的额外变量的增加。

2、它强调了区组内的被试随机接受不同的实验处理,也因此叫随机区组。

3、它要求每个区组的被试单位应该是实验处理水平的整数倍。如8/4=2

第二种分配方式:假设该实验的被试一共是3个,就是说,一个被试为一个区组。那么每个区组的这个被试全部接受实验的4个不同水平的处理。这个时候就需要平衡实验的顺序,防止一个人不短的被实验而出现的顺序效应,如何平衡,一般用“ABBA”或所谓的“拉丁方”。

第三种分配方式:当一个大团体(如学校)为一个区组的时候,而大团体中又有小团体的时候(如学校中的班级),通常让一个小团体接受一种处理。例如:ABC分别是不同的三个学校,他们各自为一个区组,那么A学校是区组一, A学校就要抽四个班级出来,每个班级随机接受一种实验处理。

注意:传统的观点认为上述“第二种方式”----一个被试为一个区组的情况不叫区组,叫被试内设计,就是因为每个被试都接受了不同的实验处理,因此没有随机可言。其具体的方差分析和随机区组的方差分析也有所差别。表现在SS残差的是否细分。具体往下看。


二、随机区组的方差分析

还是那个例子:

a1 a2

b1 b2 b1 b2

区组 处理1 处理2 处理3 处理4

1 1 4 7 10

2 2 5 8 11

3 3 6 9 12



假定研究某种药物对某种操作的影响

自变量A(药物)有两个水平,药物分别是0单元和2单元

自变量B(实验环境)有两个水平,环境1和环境2。

分别取三个不同层次的个体,分别是:少年、青年、老年。

数据刻意简单化,不合理没有关系。

是个2*2随机区组设计

区组的个数n=3

a因素的处理水P=2

b因素的处理水平q=2

所有的处理水平p*q=4

所有的被试单位=N =npq =3*2*2=12

为了本质化,特意把所有的无聊的SS后面的字母统统去掉,用汉字表达

平方和的分解:

SS总=SS处理间 SS区组 SS残差

1、SS总=整个实验的每个具体测量值和整个实验的总平均数差的平方再求和。

即:SS总=∑(X-μ)^2(μ=总平均数,X=各原始测量值)

2、“SS处理间”是什么意思?

例子一共有4种处理,因此,SS处理间=4种处理中,n倍的“每一种处理的平均值与整个实验总平均值差的平方再求和”。

即:SS处理间=n*[∑(各种处理平均值-μ)^2](μ=总平均数)

3、“SS区组”是什么意思?

例子一共有3个区组,因此,SS区组=3个区组中,pq倍的“每一个区组的平均值与整个实验总平均值差的平方再求和”。

即:SS区组=pq*[∑(各区组平均值-μ)^2](μ=总平均数)

如何具体求SS总、SS处理间、SS区组?

1、求SS总:

因为SS总=∑(X-μ)^2(μ=总平均数,X=各原始测量值)

又因为整个实验的总平均数=6.5

因此SS总=∑(X-μ)^2=(1-6.5)^2 (2-6.5)^2 (3-6.5)^2 …… (12-6.5)^2 (μ=总平均数,X=各原始测量值)

2、求SS处理间:

因为SS处理间= n*[∑(各种处理平均值-μ)^2](μ=总平均数,X=各原始测量值)

又因为处理1的平均值是2;处理2的平均值是5;处理3是8,处理4的是11。

因此SS处理间= n*[∑(各种处理平均值-μ)^2]=3*[(2-6.5)^2 (5-6.5)^2 (8-6.5)^2 (11-6.5)^2]

3、求SS区组:

因为SS区组= pq*[∑(各区组平均值-μ)^2](μ=总平均数,X=各原始测量值)

又因为区组一的平均值是5.5,区组二的平均值是6.5,区组三的平均值是7.5。

因此SS区组= pq*[∑(各区组平均值-μ)^2]=4*[(5.5-6.5)^2 (6.5-6.5)^2 (7.5-6.5)^2]

4、求SS残差:

直接用SS残差= SS总-SS处理间-SS区组


但是实际中,计算一般不用先求对应的平均数,而是直接用原始数据。

根据数学转化,可以得出以下等式:(数学转换过程不需要管)

1、SS总=∑(X-μ)^2=∑X^2-[(∑X) ^2]/npq(μ=总平均数,X=各原始测量值)

2、SS处理间= n*[∑(各种处理平均值-μ)^2]=∑[(各种处理的总值^2)/n]-[(∑X) ^2]/npq(X=各原始测量值)

3、SS区组= pq*[∑(各区组平均值-μ)^2]=∑[(各区组的总值^2)/pq]-[(∑X) ^2]/npq(X=各原始测量值)


所以可以用原始数据这么计算:

1、SS总=∑(X-μ)^2=∑X^2-[(∑X) ^2]/npq=1^2 2^2 3^2 …… 12^2-[(1 2 3 …… 12)^2]/12

2、因为处理1的总水平=1 2 3=6;处理2的总水平=4 5 6=15;处理3的总水平=7 8 9=24;处理4的总水平=10 11 12=33

所以SS处理间=∑[(各种处理的总水平^2)/n]-[(∑X) ^2]/npq=(6^2)/3 (15^2)/3 (24^2)/3 (33^2)/3-[(1 2 3 …… 12)^2]/12

3、因为区组1的总水平=1 4 7 10=22,区组2的总水平=2 5 8 11=26,区组3的总水平=3 6 9 12=30

所以SS区组=∑[(各区组的总水平^2)/pq]-[(∑X) ^2]/npq=(22^2)/4 (26^2)/4 (30^2)/4-[(1 2 3 …… 12)^2]/12


通过上述的分析,我们可以得到SS总、SS处理间、SS区组,自然“SS残差”也就得出来了。

因此,这个时候就可以通过“SS区组/ df区组”来计算出“MS区组”,同时通过“SS残差/df残差”可以计算出“MS残差”。


在这里插个问题:

“df总”指总自由度,它等于所有被试单位-1,即npq-1=3*2*2-1=11

df区组等于多少?它等于区组数-1,即n-1=3-1

df处理间等于多少?它等于处理水平-1,即pq-1=2*2-1=3

df残差自然就等于(n-1)(pq-1)

df总=df区组 df处理间 df残差


再回到问题:

将“MS区组”除以“MS残差”,就可以得到F值,再与对应的F(0.05)以及F(0.01)比较。

若F大于F(0.05),则说明在0.05的水平上,可以得到差异显著结论。


请注意,到底是什么差异是否显著?

在这里,计算的是MS区组/ MS残差,因此,它所描述的统计结论是:该实验的三个区组的水平是否差异。具体的说,某种药物对某种操作的影响在少年、成年、老年这三个区组上的结果是差异显著的。或者说不同年龄段的人不管药物水平和环境如何,结果都是差异显著的。

同样,我们也可以通过“SS处理间/ df处理间”来计算出“MS处理间”,将“MS处理间”除以“MS残差”,就可以得到F值,再与对应的F(0.05)以及F(0.01)比较。得出是否显著显著。

请您集中全身注意,惊险时刻!!!在这里,通过计算“MS处理间/MS残差”检验的是什么差异是否显著?

实验要检验的是在A因素上实验的结果是否差异显著、B因素上实验的结果是否差异显著、在AB因素交互作用下结果差异是否显著。而按照“MS处理间/MS残差”检验的时候只能检验出实验中4个处理水平是否差异显著。每个水平既有A因素,又有B因素。因此,在多因素实验设计的时候,必须对SS处理间进行平方和的再分解,分解出A、B以及AB交互的平方和:SSA、SSB以及SSAB之后,再利用SSA/dfA、SSB/dfB以及SSAB/dfAB求出对应的MSA、MSB以及MSAB才能具体检验。

如何分解?如何计算SSA、SSB以及SSAB以及对应的dfA、dfB以及dfAB?

先等等,到这里插个问题题:

如果我们把题目改成:

区组 处理1 处理2 处理3 处理4

1 1 4 7 10

2 2 5 8 11

3 3 6 9 12

比较一下,把两个AB因素去掉了,直接说成是一个自变量的4种处理,实质上的方差分析是一模一样的。

自变量(药物)有4个处理水平,药物分别是0单元、2单元、4单元、8单元(几个单元不管,只是区分水平)

分别取三个不同层次的个体,分别是:少年、青年、老年。

这就是个单因素随机区组设计

区组的个数n=3

处理水平k=4

所有的被试单位=N =nK=3*4=12

方差分析要分析出:区组差异是否显著,以及处理间差异是否显著。

同样:

SS总=SS区组 SS处理间 SS残差

如何计算?方法跟上面一模一样,只是这里的K等于原来的pq

因此字母换一下而已:

1、SS总=∑(X-μ)^2=∑X^2-[(∑X) ^2]/nk=1^2 2^2 3^2 …… 12^2-[(1 2 3 …… 12)^2]/12

2、SS处理间=∑[(各种处理的总值^2)/n]-[(∑X) ^2]/nk=(6^2)/3 (15^2)/3 (24^2)/3 (33^2)/3-[(1 2 3 …… 12)^2]/12

3、SS区组=∑[(各区组的总值^2)/k]-[(∑X) ^2]/nk=(22^2)/4 (26^2)/4 (30^2)/4-[(1 2 3 …… 12)^2]/12

同时:

df总=nk-1=3*2*2-1=11

df区组=n-1=3-1

df处理间=k-1=2*2-1=3

df残差=(n-1)(k-1)

df总=df区组 df处理间 df残差


这个时候,用“MS区组/ MS残差”检验描述的统计结论还是:某种药物对某种操作的影响在少年、成年、老年这三个区组上的结果是差异显著的。

而用“MS处理间/MS残差”检验描述得统计结论自然变得“理所当然”:某种药物不同水平对某钟操作的影响是差异显著的。


因此,以上借两因素的随机区组实验的方差分析实际上讲的是单因素的随机区组方差分析。

灰常正经的:这就是单因素随机区组实验的方差分析!

这也说明方差分析的本质是一样的。

而实际的两因素的方差分析才进行到一半。


继续两因素的方差分析,以上已经计算出SS总、SS处理间、SS区组以及SS残差,和对应的自由度,同时完成了区组的检验,即MS区组/MS残差。而SS处理间还要进一步分解。


分解:SS处理间=SSA SSB SSAB
因此:SS总=SS区组 SS残差 SSA SSB SSAB


1、SSA=在A因素中,nq倍的“每一种水平对应的具体测量值和这个水平的平均值的差的平方再求和”。

即:SSA=np*[∑(A因素各水平的平均值-A因素平均值)^2](A因素的平均值实际上就是总平均值)

因为A因素水平1的平均数是=(1 2 3 4 5 6)/6=3.5,

水平2的平均值=(7 8 9 10 11 12)/6=57=9.5,

总平均值=6.5

nq=6

因此SSA=6*(3.5-6.5)^2 (9.5-6.5)^2

也可以用数学方法转换成原始数据计算的公式:

SSA=∑[(A因素各种水平的总值^2)/nq]-[(∑X) ^2]/npq

因为A因素水平1的总值=1 2 3 4 5 6=21,A因素水平2的总值=7 8 9 10 11 12=57

因此SSA= [(21^2)/6 (57^2)/6]-[(1 2 3 …… 12)^2]/12

2、SSB=在B因素中,np倍的“每一种处理水平对应的具体测量值和这个水平的平均值的差的平方再求和”。

即:SSB=np*[∑(B因素各水平的平均值-B因素平均值)^2](B因素的平均值实际上也就是总平均值)

因为B因素水平1的平均数是=(1 2 3 7 8 9)/6=5,

水平2的平均值=(4 5 6 10 11 12)/6=8,

总平均值=6.5

nq=6

因此SSB=6*(5-6.5)^2 (8-6.5)^2

也可以用数学方法转换成原始数据计算的公式:

SSB=∑[(B因素各种水平的总值^2)/np]-[(∑X) ^2]/npq

因为B因素水平1的总值=1 2 3 7 8 9=30,B因素水平2的总值=4 5 6 10 11 12=48

因此SSB= [(30^2)/6 (48^2)/6]-[(1 2 3 …… 12)^2]/12

3、求SSAB=SS处理间-SSA-SSB

同时:dfA=p-1

dfB=q-1

dfAB=(p-1)(q-1)

df处理间=dfA dfB dfAB

df总=df区组 df处理间 df残差=df区组 df残差 dfA dfB dfAB

因此SS总=SS区组 SS残差 SSA SSB SSAB中的任何值都求出来了,同时也知道了各自的自由度df,就可以求任意的均方(MS),通过和残差均方的对比,来构建F检验,从而判断各种因素或区组是否差异显著。

需要说明的是:AB的交互作用是非常重要的,如果检验AB的交互作用是不显著的,那么检验AB因素各自的主效应就很重要;如果AB的交互作用很显著,那么对AB因素各自主效应的检验的意义就不大。

此外,很多时候,在检验A因素和B因素的时候会发现一个问题,那就是,是否可以把AB因素各自的主效应再细分,例如,是否可以检验A因素在B1和B2哪个水平上更显著?或者B因素在A1和A2哪个水平上更显著?

1、如何检验A因素在B1和B2哪个水平上更显著?(仅限2*2设计时)

将SSA SSAB=SSAB1 SSAB2

求SSAB1=(A1B1水平上的和的平方 A2B1水平上的和的平方)/n-(A1B1水平上的和 A2B1水平上的和)^2/qn

=[(1 2 3)^2 (7 8 9)^2]/3-(1 2 3 7 8 9)^2/6

求SSAB2=(A1B2水平上的和的平方 A2B2水平上的和的平方)/n-(A1B2水平上的和 A2B2水平上的和)^2/qn

=[(4 5 6)^2 (10 11 12)^2]/3-(4 5 6 10 11 12)^2/6

将求得的SSAB1、SSAB2分别求MSAB1和MSAB2,并分别除以MS残差。并检验结论。

2、如何检验B因素在A1和A2哪个水平上更显著?(仅限2*2设计时)

同理将SSB SSA=SSA1B SSA2B

求SSA1B=(A1B1水平上的和的平方 A1B2水平上的和的平方)/n-(A1B1水平上的和 A1B2水平上的和)^2/pn

求SSA2B=(A2B1水平上的和的平方 A2B2水平上的和的平方)/n-(A2B1水平上的和 A2B2水平上的和)^2/pn

同时:dfAB1=dfAB2=dfA1B=dfA2B=1


三、被试内设计方差分析


还是那个例子:

a1 a2

b1 b2 b1 b2

区组 处理1 处理2 处理3 处理4

1 1 4 7 10

2 2 5 8 11

3 3 6 9 12


如果这个时候把“区组”俩字改成“被试”,意味着该实验有3名被试,每一名被试均接受4种不同的处理。

那么就成了一个被试内实验。

(一)单因素时

被试 处理1 处理2 处理3 处理4

1 1 4 7 10

2 2 5 8 11

3 3 6 9 12

被试的个数n=3

自变量的水平K=4

所有的被试单位=N =nk =3*4=12

原来的平方和分析是:SS总=SS区组 SS处理间 SS残差

因此相应的也就改成:SS总=SS被试间 SS处理间 SS残差

(SS处理间 SS残差=SS被试内,这个没有任何意义,知道下就可以了)


进行对应的方差分析:(和原来一模一样,就把原来的区组统统改成被试间)

方差分析要分析出:被试间差异是否显著,以及处理间差异是否显著。

1、SS总=∑(X-μ)^2=∑X^2-[(∑X) ^2]/nk=1^2 2^2 3^2 …… 12^2-[(1 2 3 …… 12)^2]/12

2、SS处理间=∑[(各种处理的总值^2)/n]-[(∑X) ^2]/nk=(6^2)/3 (15^2)/3 (24^2)/3 (33^2)/3-[(1 2 3 …… 12)^2]/12

3、SS区组=∑[(各个被试的侧量总值^2)/k]-[(∑X) ^2]/nk=(22^2)/4 (26^2)/4 (30^2)/4-[(1 2 3 …… 12)^2]/12

同时:

df总=nk-1=3*2*2-1=11

df被试间=n-1=3-1

df处理间=k-1=2*2-1=3

df残差=(n-1)(k-1)

df总=df被试间 df处理间 df残差

再算

MS被试间/ MS残差

MS处理间/MS残差

(二)两因素时

a1 a2

b1 b2 b1 b2

被试 处理1 处理2 处理3 处理4

1 1 4 7 10

2 2 5 8 11

3 3 6 9 12


被试的个数n=3

a因素的处理水P=2

b因素的处理水平q=2

所有的处理水平p*q=4

所有的被试单位=N =npq =3*2*2=12

原来的平方和分析是:SS总=SS区组 SS残差 SSA SSB SSAB

因此相应的也就改成:SS总=SS被试间 SS残差 SSA SSB SSAB

其中,SS总、SS被试间、SSA、SSB、SSAB的计算方法和随机区组一模一样,就是把字改一下:

1、SS总=∑(X-μ)^2=∑X^2-[(∑X) ^2]/npq=1^2 2^2 3^2 …… 12^2-[(1 2 3 …… 12)^2]/12

2、SS处理间=∑[(各种处理的总水平^2)/n]-[(∑X) ^2]/npq=(6^2)/3 (15^2)/3 (24^2)/3 (33^2)/3-[(1 2 3 …… 12)^2]/12

3、SS被试间=∑[(各被试间的总水平^2)/pq]-[(∑X) ^2]/npq=(22^2)/4 (26^2)/4 (30^2)/4-[(1 2 3 …… 12)^2]/12

4、SS残差= SS总-SS处理间-SS被试间

5、SSA=∑[(A因素各种水平的总值^2)/nq]-[(∑X) ^2]/npq

= [(21^2)/6 (57^2)/6]-[(1 2 3 …… 12)^2]/12

6、SSB=∑[(B因素各种水平的总值^2)/np]-[(∑X) ^2]/npq

= [(30^2)/6 (48^2)/6]-[(1 2 3 …… 12)^2]/12

7、求SSAB=SS处理间-SSA-SSB

同时:

1、df总=npq-1=3*2*2-1=11

2、df被试间n-1=3-1

3、df处理间=pq-1=2*2-1=3

4、df残差=(n-1)(pq-1)

5、dfA=p-1

6、dfB=q-1

7、dfAB=(p-1)(q-1)

8、df总=df被试间 df处理间 df残差=df被试间 df残差 dfA dfB dfAB


注意:从这里开始,就不一样了~

传统的心理统计认为:在进行被试内设计的方差分析的时候,需要把SS残差细分,尽管张版统计认为一个被试可以当成一个区组,因此直接利用总的残差计算。但是貌似主流的观点还是将SS残差进行一个划分,因此,那就分吧~

SS残差=SSA*被试间 SSB*被试间 SSAB*被试间

因此在最后计算完MSA、MSB、以及MSAB之后,不能将他们分别直接除以SS残差。

而是要对应的除以:SSA*被试间、SSB*被试间、SSAB*被试间

即:F=MSA/ MSA*被试间

F=MSB/ MSB*被试间

F=MSAB/MAB*被试间

最后比较他们和F(0.05)以及F(0.01)的关系,进而作出结论。

据说这样细分的结果更科学、更合理、更敏感、更·#¥%……

那么如何算SSA*被试间、SSB*被试间、SSAB*被试间以及对应的自由度?

(灰常痛苦~)

1、SSA*被试间=∑[(A因素任意水平上每个被试两次处理结果的和^2)/q]-[(∑X) ^2]/npq-SSA-SS被试间

=[(1 4)^2 (2 5)^2 (3 6)^2 … (9 12)^2]/2-[(∑X) ^2]/npq-SSA-SS被试间

2、SSB*被试间=∑[(B因素任意水平上每个被试两次处理结果的和^2)/p]-[(∑X) ^2]/npq-SSB-SS被试间

=[(1 7)^2 (2 8)^2 (3 9)^2 … (6 12)^2]/2-[(∑X) ^2]/npq-SSB-SS被试间

3、SSAB*被试间=SS残差-SSA*被试间-SSB*被试间

同时:

dfA*被试间=(p-1)(n-1)

dfB*被试间=(q-1)(n-1)

dfAB*被试间=(p-1)(q-1)(n-1)

df残差= dfA*被试间 dfB*被试间 dfAB*被试间

df总=df被试间 dfA*被试间 dfB*被试间 dfAB*被试间 dfA dfB dfAB


终于结束了。

多因素只考两因素的,去年考过混合的,实际上混合的计算比这个简单。单因素的又太简单。

所以个人认为今年考个区组或被试内的可能还是有的。


把这个弄懂,我相信再看完全随机或混合的时候,那太简单了。


同志们加油~

---------------------------------
好牛的笔记...
终于坐上了沙发…哇哈哈!
---------------------------------
支持北之,支持自己!牛人!

---------------------------------
牛人
谢谢啦
---------------------------------
这个帖子未免有点忒强了~~~
---------------------------------
谢谢楼主!!
---------------------------------
正需要‘非常感谢
---------------------------------
顶一下~~感谢北之

---------------------------------
太强了,光看字我就已经头晕眼花了....

---------------------------------
北北~~~~~~强人~~~~~~

相关话题/

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19