目录

原理

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

假设前提和模型设定

离差平方和分解

检验统计量和拒绝域

例题

应用

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

假设前提和模型设定

离差平方和分解

检验统计量和拒绝域

例题

应用


原理

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

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

假设前提和模型设定

设有交互作用的两个因素A,B作用于试验的指标,因素A有r个水平,因素B有s个水平,现对因素A,B的水平的每对组合都作次试验(成为等重复试验),得到结果:

因素 ...
...
...
... ... ... ...
...

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

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

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

引入记号:

其中,的效应,的效应,且

表示为

其中,称为因素水平和因素水平的交互效应,且

因此可把写成,其中,各独立

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

离差平方和分解

引入记号:

总离差平方和:

其中,

组内离差平方和为

因素A的效应平方和为

因素B的效应平方和为

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

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

计算

检验统计量和拒绝域

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

离差平方和 自由度 均值估计量
SST rst-1
SSW rs(t-1)
SSA r-1
SSB s-1
SSAB (r-1)(s-1)

为真时,

故拒绝域为

类似地,假设的拒绝域为

假设的拒绝域为

双因素等重复试验的方差分析表
方差来源 离差平方和 自由度 均方 F比
因素A SSA r-1
因素B SSB s-1
交互作用 SSAB (r-1)(s-1)
误差 SSW rs(t-1)
总和 SST rst-1

例题

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

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))

由于

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

应用

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)

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

假设前提和模型设定

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

因素 ...
...
...
... ... ... ... ...
...

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

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

2.每个样本数据相互独立

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

,其中且各独立

所需检验的假设为:

离差平方和分解

总离差平方和为

因素A的效应平方和为

因素B的效应平方和为

组内离差平方和为

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

检验统计量和拒绝域

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

离差平方和 自由度 均值估计量
SST rs-1
SSA r-1

SSB s-1

SSW (r-1)(s-1)

假设的拒绝域为

假设的拒绝域为

双因素无重复试验的方差分析表
方差来源 离差平方和 自由度 均方 F比
因素A SSA r-1
因素B SSB s-1
误差 SSW (r-1)(s-1)

总和 SST rs-1

例题

有5个不同时间、4个不同地点空气中的颗粒物的含量(以计)的数据,符合假设前提,检验是否显著

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))

由于

所以因素A、B都显著。

应用

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)相关推荐

  1. R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA)、使用HH包中的interaction2wt函数为任何阶的双因素方差分析可视化主效应和交互作用图、箱图显示主效应

    R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA).使用HH包中的interaction2wt函数为任何阶的双因素方差分析可视化主效应和交互作用图(Main ef ...

  2. R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA)、在双因素方差分析中,受试者被分配到由两个因素交叉分类形成的组(Two-way factorial ANOVA)

    R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA).在双因素方差分析中,受试者被分配到由两个因素交叉分类形成的组(Two-way factorial ANOVA) ...

  3. R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA)、使用interaction.plot函数在双因素方差分析中可视化交互作用(Interaction)

    R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA).使用interaction.plot函数在双因素方差分析中显示(可视化)交互作用(Interaction) 目 ...

  4. R语言双因素方差分析

    R语言双因素方差分析 条件: 各个样本是相互独立的随机: 各个样本来自正态总体: 具有方差齐性: 用途: 检验两个或多样本均数间的差异有无统计学意义:注:本均数的比较可以采用 t检验或 F检验,两个以 ...

  5. R语言统计篇:双因素方差分析

    今天介绍双因素方差分析(Two-way ANOVA). 此方法用于检验两个分类变量(自变量)与一个连续变量(因变量)之间的关系. 比方说,如果一个分类变量有两个组别,另外一个分类变量有三个组别,那么一 ...

  6. Python玩转数据分析——双因素方差分析

    概念 方差分析(Analysis of Variance,简称ANOVA),又称"变异数分析"或"F检验",用于两个及两个以上样本均数差别的显著性检验.双因素方 ...

  7. 【数据分析】双因素方差分析

    0.双因素方差分析的分类 无交互作用的方差分析 假定因素AAA和因素BBB的效应之间是相互独立的,不存在相互关系. 有交互作用的方差分析 假定因素AAA和因素BBB的结合会产生出一种新的效应. 无交互 ...

  8. 【统计模型】ToothGrowth数据集双因素方差分析

    目录 ToothGrowth数据集双因素方差分析 一.研究目的 二.数据来源和相关说明 三.描述性分析 3.1 样本描述 3.2 样本均值 3.3 箱线图 四.数学建模 五.结论与建议 5.1 结论 ...

  9. 双因素方差分析_多因素方差分析

    总第173篇/张俊红 01.前言 在前面我们讲过简单的单因素方差分析,这一篇我们讲讲双因素方差分析以及多因素方差分析,双因素方差分析是最简单的多因素方差分析. 单因素分析就是只考虑一个因素会对要比较的 ...

  10. 第13章重复测量和双因素方差分析

    第1章统计学入门 第2章频数分布略 第3章集中趋势的测量 第4章变异性 第5章分数的位置及标准化分布 第6章概率和正态分布 第7章概率和样本:样本均值的分布 第8章假设检验介绍 第9章t检验介绍 第1 ...

最新文章

  1. thinkPHP5.0 URL路由优化
  2. c语言115写成16进制,C语言指针问题
  3. 007_Maven依赖管理
  4. springboot 替换tomcat_Springboot (二十八)云配置服务器
  5. topcoder SRM 625 DIV2 IncrementingSequence
  6. dynamic与var
  7. leetcode570. 至少有5名直接下属的经理(SQL)
  8. python获取月份字符串_Python时间获取及转换知识汇总
  9. Facebook人工智能实验室的前世今生
  10. 工业基础类IFC—概述
  11. linux下解压iso文件
  12. DialogFragment dismiss闪退异常DialogFragment何时持有FragmentManager
  13. 歌评-《胧月夜》-神前暁
  14. Qlikview---变量
  15. 火遍全网的chatGPT怎么使用
  16. Windows 11 任务栏、菜单栏无故消失解决方案
  17. 液晶屏接口协议 MIPI LVDS 概览
  18. seetaface6 GPU版本windows编译
  19. Web全栈~10.流程控制
  20. listview控件Android,Android中ListView控件的简单使用

热门文章

  1. ppt 母板 如何修改你的背景图片
  2. matlab实训心得,沟通实训心得体会
  3. 最新全志超清4K视频编解码芯片-V316处理器
  4. 基于Qt的学生信息管理系统
  5. 使用 wpa_supplicant 连接 WiFi
  6. 支付宝第三方登录集成文档
  7. python sass_引入sass变量
  8. 2014汽车之家笔试
  9. Overture2020免费下载直装版专业钢琴打谱软件(附序列号码)
  10. 记一次https的免费ssl证书安装及配置过程--window系统