目录

原理

双因素等重复试验的方差分析

假设前提和模型设定

离差平方和分解

检验统计量和拒绝域

例题

应用

双因素无重复试验的方差分析

假设前提和模型设定

离差平方和分解

检验统计量和拒绝域

例题

应用


原理

在单因素方差分析的基础上,双因素方差分析有两种类型,一种是无交互作用(双因素无重复试验)的双因素方差分析,一种是有交互作用(双因素等重复试验)的双因素方差分析。

双因素等重复试验的方差分析

假设前提和模型设定

设有交互作用的两个因素A,B作用于试验的指标,因素A有r个水平

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言

,因素B有s个水平

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_02

,现对因素A,B的水平的每对组合

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_03

都作

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_04

次试验(成为等重复试验),得到结果:

因素

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_05

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_06

...

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_07

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_08

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_09

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_10

...

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_11

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_12

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_13

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_14

...

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_15

...

...

...

...

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_16

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_17

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_18

...

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_19

 由表可知,一共有r*s个总体,基于假设前提:

1.每个总体均服从正态分布,且方差相等,即,

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_20

 2.每个总体中抽取的样本相互独立

引入记号:

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_21

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_22

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_23

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_24

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_25

其中,

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_26


r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_27

的效应,

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_28


r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_29

的效应,且

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_30

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_31


r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_32

表示为

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_33

其中,

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_34

称为

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_27

因素水平和

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_29

因素水平的交互效应,且

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_37

 

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_38

因此可把

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_39

写成

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_40

,其中

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_41

,各

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_42

独立

对于这一模型,要检验以下三个假设:

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_43

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_44

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_45

离差平方和分解

引入记号:

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_46

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_47

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_48

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_49

总离差平方和:

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_50

其中,

组内离差平方和为

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_51

因素A的效应平方和为

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_52

因素B的效应平方和为

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_53

因素A、B交互效应平方和为

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_54

在实际计算中,可以使用以下公式简便计算:

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_55

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_56

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_57

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_58

计算

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_59

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_60

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_61

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_62

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_63

检验统计量和拒绝域

上述离差平方和的统计特性为

离差平方和

自由度

均值估计量

SST

rst-1

SSW

rs(t-1)

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_64

SSA

r-1

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_65

SSB

s-1

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_66

SSAB

(r-1)(s-1)

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_67


r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_68

为真时,

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_69

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_70

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_71

故拒绝域为

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_72

类似地,假设

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_73

的拒绝域为

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_74

假设

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_75

的拒绝域为

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_76

双因素等重复试验的方差分析表

方差来源

离差平方和

自由度

均方

F比

因素A

SSA

r-1

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_77

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_78

因素B

SSB

s-1

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_79

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_80

交互作用

SSAB

(r-1)(s-1)

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_81

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_82

误差

SSW

rs(t-1)

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_83

总和

SST

rst-1

例题

一火箭使用四种燃料A,三种推进器B作射程试验,每种燃料与每种推进器的组合各发射火箭两次,得到射程结果服从双因素方差分析假设条件(以海里计),检验两个因素及交互效应是否显著

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_84

B1=c(58.2,52.6,49.1,42.8,60.1,58.3,75.8,71.5)
B2=c(56.2,41.2,54.1,50.5,70.9,73.2,58.2,51.0)
B3=c(65.3,60.8,51.6,48.4,39.2,40.7,48.7,41.4)
d=cbind(B1,B2,B3)
data=data.frame(d)
rownames(data)=c("A1","A1*","A2","A2*",
                 "A3","A3*","A4","A4*")
r=4
s=3
t=2
n=24
Xbar=mean(c(mean(data$B1),mean(data$B2),mean(data$B3)))
SST=sum((c(data$B1,data$B2,data$B3)-Xbar)**2)
tdata=data.frame(t(data))
SSA=s*t*((mean(c(tdata$A1,tdata$A1.))-Xbar)**2+
  (mean(c(tdata$A2,tdata$A2.))-Xbar)**2+
  (mean(c(tdata$A3,tdata$A3.))-Xbar)**2+
  (mean(c(tdata$A4,tdata$A4.))-Xbar)**2)
SSB=r*t*((mean(data$B1)-Xbar)**2+
       (mean(data$B2)-Xbar)**2+
       (mean(data$B3)-Xbar)**2)
SSAB=0
m=function(rc,sc){
  #引入目标数组函数简化代码,前述计算也可以用这个函数
  y=c()
  for(i in rc){
    for(j in sc){
      y=c(y,data[t*i-1,j],data[t*i,j])
    }
  }
  return(y)
}
for(i in 1:r){
  for(j in 1:s){
    Xijbar=mean(m(i,j))
    Xibar=mean(m(i,c(1,2,3)))
    Xjbar=mean(m(c(1,2,3,4),j))
    Xbar=mean(m(c(1,2,3,4),c(1,2,3)))
    SSAB=SSAB+(Xijbar-Xibar-Xjbar+Xbar)**2
  }
}
SSAB=t*SSAB
SSW=SST-SSA-SSB-SSAB
tab1=data.frame(matrix(nrow = 5,ncol = 5))
colnames(tab1)=c("方差来源","偏差平方和","自由度",
                 "均方","F比")
tab1[1,1]="因素A"
tab1[2,1]="因素B"
tab1[3,1]="交互作用"
tab1[4,1]="误差"
tab1[5,1]="总和"
tab1[1,2]=SSA
tab1[2,2]=SSB
tab1[3,2]=SSAB
tab1[4,2]=SSW
tab1[5,2]=SST
tab1[1,3]=r-1
tab1[2,3]=s-1
tab1[3,3]=(r-1)*(s-1)
tab1[4,3]=r*s*(t-1)
tab1[5,3]=r*s*t-1
tab1[1,4]=SSA/(r-1)
tab1[2,4]=SSB/(s-1)
tab1[3,4]=SSAB/((r-1)*(s-1))
tab1[4,4]=SSW/(r*s*(t-1))
tab1[1,5]=tab1[1,4]/tab1[4,4]
tab1[2,5]=tab1[2,4]/tab1[4,4]
tab1[3,5]=tab1[3,4]/tab1[4,4]
qf(1-0.05,r-1,r*s*(t-1))
qf(1-0.05,s-1,r*s*(t-1))
qf(1-0.05,(r-1)*(s-1),r*s*(t-1))

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_85

 

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_86

 由于

F_{A}=4.417388>F_{0.05}(3,12)=3.490295

F_{B}=9.393902>F_{0.05}(2,12)=3.885294

F_{AB}=14.928825>F_{0.05}(6,12)=2.99612

所以因素A,B及其交互效应都显著。

应用

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_90

A=c("A1","A1","A2","A2","A3","A3","A4","A4")
mdat=data.frame(A,B1,B2,B3)
library(reshape2)
mdata=melt(mdat,
           id.vars = "A",
           measure.vars = c("B1","B2","B3"),
           variable.name = "B",
           value.name = "range")
aov=aov(range~A+B+A*B,data=mdata)
summary(aov)

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_91

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_92

双因素无重复试验的方差分析

假设前提和模型设定

如果在实际问题中,已经知道因素A、B不存在交互作用,就可以对每一个组合

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_93

只做一次试验,得到实验结果

因素

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_94

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_95

...

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_96

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_97

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_98

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_99

...

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_100

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_101

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_102

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_103

...

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_104

...

...

...

...

...

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_105

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_106

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_107

...

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_108

 由表可知,一共有r*s个样本数据,基于假设前提:

1.每个样本数据均服从正态分布,且方差相等,即,

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_109

 2.每个样本数据

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_110

相互独立沿用上一试验的记号,由于不存在交互作用,

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_111

,于是

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_112


r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_113

,其中

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_114

且各

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_42

独立

所需检验的假设为:

 

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_43

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_44

离差平方和分解

总离差平方和为

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_118

因素A的效应平方和为

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_119

因素B的效应平方和为

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_120

组内离差平方和为

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_121

为简便计算,可先计算其他离差平方和,再计算SSW

检验统计量和拒绝域

上述离差平方和的统计特性为

离差平方和

自由度

均值估计量

SST

rs-1

SSA

r-1

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_122

SSB

s-1

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_123

SSW

(r-1)(s-1)

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_124

假设

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_68

的拒绝域为

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_126

假设

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_73

的拒绝域为

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_128

双因素无重复试验的方差分析表

方差来源

离差平方和

自由度

均方

F比

因素A

SSA

r-1

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_77

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_78

因素B

SSB

s-1

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_79

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_80

误差

SSW

(r-1)(s-1)

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_133

总和

SST

rs-1

例题

有5个不同时间

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言_27

、4个不同地点

r语言双因素柱状图多重比较 r语言双因素方差分析_r语言双因素柱状图多重比较_29

空气中的颗粒物的含量(以

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_136

计)的数据,符合假设前提,检验是否显著

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_137

B1=c(76,82,68,63)
B2=c(67,69,59,56)
B3=c(81,96,67,64)
B4=c(56,59,54,58)
B5=c(51,70,42,37)
data2=data.frame(B1,B2,B3,B4,B5)
rowname=c("A1","A2","A3","A4")
rownames(data2)=rowname
r=dim(data2)[1]
s=dim(data2)[2]
n=r*s
m=function(rc,sc){
  y=c()
  for(i in rc){
    for(j in sc){
      y=c(y,data2[i,j])
    }
  }
  return(y)
}
data2[5,1]=sum(m(1:r,1))
data2[5,2]=sum(m(1:r,2))
data2[5,3]=sum(m(1:r,3))
data2[5,4]=sum(m(1:r,4))
data2[5,5]=sum(m(1:r,5))
rownames(data2)=c(rowname,"Tj")
Ti=c()
for(i in 1:(r+1)){
  Ti=c(Ti,sum(m(i,1:s)))
}
data2$Ti=Ti
SST=sum(m(1:r,1:s)**2)-(sum(m(1:r,1:s))**2)/r/s
SSA=sum(m(1:r,6)**2)/s-(sum(m(1:r,1:s))**2)/r/s
SSB=sum(m(5,1:s)**2)/r-(sum(m(1:r,1:s))**2)/r/s
SSW=SST-SSA-SSB
tab2=data.frame(matrix(nrow = 4,ncol = 5))
colnames(tab2)=c("方差来源","平方和","自由度","均方","F比")
tab2[1,1]="因素A"
tab2[2,1]="因素B"
tab2[3,1]="误差"
tab2[4,1]="总和"
tab2[1,2]=SSA
tab2[2,2]=SSB
tab2[3,2]=SSW
tab2[4,2]=SST
tab2[1,3]=r-1
tab2[2,3]=s-1
tab2[3,3]=(r-1)*(s-1)
tab2[4,3]=r*s-1
tab2[1,4]=tab2[1,2]/tab2[1,3]
tab2[2,4]=tab2[2,2]/tab2[2,3]
tab2[3,4]=tab2[3,2]/tab2[3,3]
tab2[1,5]=tab2[1,4]/tab2[3,4]
tab2[2,5]=tab2[2,4]/tab2[3,4]
qf(1-0.05,r-1,(r-1)*(s-1))
qf(1-0.05,s-1,(r-1)*(s-1))

r语言双因素柱状图多重比较 r语言双因素方差分析_方差分析_138

 由于

F_{A}=10.72241>F_{0.05}(3,12)=3.490295

F_{B}=13.23929>F_{0.05}(4,12)=3.259167

所以因素A、B都显著。

应用

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_141

library(reshape2)
month=c("A1","A2","A3","A4")
Dat2=data.frame(month,B1,B2,B3,B4,B5)
rdata2=melt(Dat2,
            id.vars = "month",
            measure.vars = c("B1","B2","B3","B4","B5"),
            variable.name = "province",
            value.name = "concentration")
aov=aov(concentration~month+province,
  data=rdata2)
summary(aov)

r语言双因素柱状图多重比较 r语言双因素方差分析_概率论_142

 

r语言双因素柱状图多重比较 r语言双因素方差分析_开发语言_143