单因素方差分析(R)

目录

目标

原理

假设前提和模型设定

离差平方和分解

检验统计量和拒绝域

未知参数的估计

例题

应用


目标

方差分析的基本思想:通过分析不同影响来源对总体的影响程度,确定可控因素对研究对象影响力是否显著。

单因素方差分析用来研究一个控制变量的不同水平是否对观测指标变量有显著影响。

原理

观测指标变量值的变动会受控制变量和其他随机变量两方面的影响,据此,把观测指标变量的总离差平方和(SST)分解为(受控制变量影响的)组间离差平方和(SSB)和(受其他随机变量影响的)组内离差平方和(SSW)两部分,即:SST=SSB+SSW。在观测指标变量的总离差平方和中,如果组间离差平方和所占比例较大,则说明观测指标变量的变动主要由控制变量引起的,控制变量给观测指标变量有显著影响;反之,控制变量对观测指标变量没有显著影响。

假设前提和模型设定

设单因素A有r个水平,分别记为A_{1},A_{2},...A_{r},在每个水平A_{i}(i=1,2,...,r)下的观测指标变量样本值看做一个总体,故有r个总体,基于假设前提:

1.每个总体均服从正态分布,且方差相等,即X_{i}\sim N(\mu_{i},\sigma^{2}),i=1,2,...,r

2.每个总体中抽取的样本X_{i1},X_{i2},...,X_{in_{i}},i=1,2,...,r相互独立(n_{i}A_{i}因素水平的实验数据个数)

通过假设检验来探究期望控制变量对观测指标变量是否有显著影响,如果有,则意味着A因素不同水平对应的观测指标变量总体的均值有显著差异。可作出如下假设:

H_{0}:\mu_{1}=\mu_{2}=...=\mu_{r};

H_{1}:\mu_{1},\mu_{2},...,\mu_{r}不完全相等

方差分析的任务:

任务一:检验r个总体的均值是否相等,即完成上述假设的检验;

任务二:作出未知参数\mu_{1},\mu_{2},...,\mu_{r},\sigma^{2}的估计。

由假设前提有X_{ij}\sim N(\mu_{i},\sigma^{2})(\mu_{i},\sigma^{2}\,unknown),i=1,2,...,r;j=1,2,...,n_{i},即有X_{ij}-\mu_{i}=\varepsilon _{ij}\sim N(0,\sigma^{2}),故X_{ij}-\mu_{i}=\varepsilon _{ij}可视为随机误差,且相互独立,由假设前提知,各个\varepsilon _{ij}相互独立。从而得到模型:

X_{ij}=\mu_{i}+\varepsilon _{ij},i=1,2,...,r;j=1,2,...,n_{i}

记数据总个数为

n=\sum_{i=1}^{r}n_{i}

总平均值为

\mu=\frac{1}{n}\sum_{i=1}^{r}n_{i}\mu_{i}

A_{i}因素水平下的总体均值与总平均值的差异来表示 A_{i}因素水平对观测指标变量的效应:\delta_{i}=\mu_{i}-\mu。效应间的关系为

\sum^{r}_{i=1}n_{i}\delta_{i}=\sum^{r}_{i=1}n_{i}(\mu_{i}-\mu)=0

 从而改写模型为:

X_{ij}=\mu+\delta_{i}+\varepsilon _{ij},i=1,2,...,r;j=1,2,...,n_{i}

可得,前述假设等价为:

H_{0}:\delta_{1}=\delta_{2}=...=\delta_{r}=0

H_{1}:\delta_{1},\delta_{2},...,\delta_{r}不全为0

这是因为当且仅当\mu_{1}=\mu_{2}=...=\mu_{r}时,\mu_{i}=\mu,即\delta_{i}=0(i=1,2,...,r)

离差平方和分解

记 A_{i}因素水平下的样本均值为

\overline{X}_{i}=\frac{1}{n_{i}}\sum_{j=1}^{n_{i}}X_{ij}

A因素的所有水平的样本总均值为

\overline{X}=\frac{1}{r}\sum_{i=1}^{r}\overline{X}_{i}=\frac{1}{n}\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}X_{ij}

组内离差平方和为:

SSW=\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}(X_{ij}-\overline{X}_{i})^{2}

组间离差平方和为:

\begin{aligned} SSB&=\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}(\overline{X}_{i}-\overline{X})^{2}\\ &=\sum_{i=1}^{r}n_{i}(\overline{X}_{i}-\overline{X})^{2}\\ &=\sum_{i=1}^{r}n_{i}\overline{X}_{i}^{2}-n\overline{X}^{2} \end{aligned}

总离差平方和为:

\begin{aligned} SST&=\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}(X_{ij}-\overline{X})^{2}\\ &=\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}[(X_{ij}-\overline{X}_{i})+(\overline{X}_{i}-\overline{X})]^{2}\\ &=\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}(X_{ij}-\overline{X}_{i})^{2}+\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}(\overline{X}_{i}-\overline{X})^{2}+2\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}(X_{ij}-\overline{X}_{i})(\overline{X}_{i}-\overline{X})\\ &=\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}(X_{ij}-\overline{X}_{i})^{2}+\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}(\overline{X}_{i}-\overline{X})^{2}\\ &=SSW+SSB \end{aligned}

SST=\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}(X_{ij}-\overline{X})^{2}=\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}X_{ij}^{2}-n\overline{X}^{2}

检验统计量和拒绝域

\frac{\sum_{j=1}^{n_{i}}(X_{ij}-\overline{X}_{i})^{2}}{\sigma^{2}}=\frac{(n_{i}-1)S^{2}_{i}}{\sigma^{2}}\sim\chi^{2}(n_{i}-1)\chi^{2}分布的可加性,可得:

\frac{SSW}{\sigma^{2}}=\frac{\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}(X_{ij}-\overline{X}_{i})^{2}}{\sigma^{2}}\sim\chi^{2}(\sum^{r}_{i=1}(n_{i}-1))=\chi^{2}(n-r)

因此,

E(SSW)=(n-r)\sigma^{2}

SSB可以看做r个变量\sqrt{n_{i}}(\overline{X_{i}}-\overline{X})的平方和,它们之间仅有一个线性约束条件:

\sum_{i=1}^{r}\sqrt{n_{i}}[\sqrt{n_{i}}(\overline{X}_{i}-\overline{X})]=\sum_{i=1}^{r}n_{i}(\overline{X}_{i}-\overline{X})=\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}X_{ij}-n\overline{X}=0

故知SSB的自由度是r-1。

\begin{aligned} E(SSB)&=E(\sum_{i=1}^{r}n_{i}\overline{X}_{i}^{2}-n\overline{X}^{2})\\ &=\sum_{i=1}^{r}n_{i}E(\overline{X}_{i}^{2})-nE(\overline{X}^{2})\\ &=\sum_{i=1}^{r}n_{i}[\frac{\sigma^{2}}{n_{i}}+\mu_{i}^{2}]-n(\frac{\sigma^{2}}{n}+\mu^{2})\\ &=\sum_{i=1}^{r}n_{i}[\frac{\sigma^{2}}{n_{i}}+(\mu+\delta_{i})^{2}]-n(\frac{\sigma^{2}}{n}+\mu^{2})\\ &=r\sigma^{2}+n\mu^{2}+\sum_{i=1}^{r}n_{i}\delta^{2}_{i}+2\mu\sum_{i=1}^{r}n_{i}\delta_{i}+\sigma^{2}-n\mu^{2}\\ &=(r-1)\sigma^{2}+\sum_{i=1}^{r}n_{i}\delta^{2}_{i} \end{aligned}

并且,由SSW和SSB表达式可知二者独立,所以,

H_{0}为真时,

\frac{SSB}{\sigma^{2}}\sim\chi^{2}(r-1)

\frac{\frac{SSB}{(r-1)\sigma^{2}}}{\frac{SSW}{(n-r)\sigma^{2}}}=\frac{\frac{SSB}{(r-1)}}{\frac{SSW}{(n-r)}}\sim F(r-1,n-r)

当 H_{0}不为真时,

E(SSB)=(r-1)\sigma^{2}+\sum_{i=1}^{r}n_{i}\delta^{2}_{i}>(r-1)\sigma^{2}

\frac{\frac{SSB}{(r-1)}}{\frac{SSW}{(n-r)}}\geqslant k

因此可得拒绝域为:

F=\frac{\frac{SSB}{(r-1)}}{\frac{SSW}{(n-r)}}\geqslant F_{\alpha}(r-1,n-r)

因SST的n个变量X_{ij}-\overline{X}之间有一个约束条件\overline{X}=\frac{1}{r}\sum_{i=1}^{r}\overline{X}_{i}=\frac{1}{n}\sum_{i=1}^{r}\sum_{j=1}^{n_{i}}X_{ij},所以SSW的自由度为n-1。

据上述分析结果,可得方差分析表:

单因素试验方差分析表
方差来源平方和自由度均方F比
因素ASSBr-1\overline{SSB}=\frac{SSB}{r-1}F=\frac{\overline{SSB}}{\overline{SSW}}
误差SSWn-r\overline{SSW}=\frac{SSW}{n-r}
总和SSTn-1

在实际中,可先计算SST和SSB,再由二者相减得到SSW,以简便计算。

未知参数的估计

E(\overline{X})=\mu知,\mu的无偏估计为:\hat{\mu}=\overline{X}

E(\overline{X}_{i})=\mu_{i}知,\mu_{i}的无偏估计为:\hat{\mu}_{i}=\overline{X}_{i}

不管H_{0}是否为真,E(\frac{SSW}{n-r})=\sigma^{2},可知\sigma^{2}的无偏估计为:\hat{\sigma^{2}}=\frac{SSW}{n-r}

当拒绝H_{0}时,效应\delta_{1},\delta_{2},...,\delta_{r}不全为0,且E(\delta_{i})=E(\mu_{i}-\mu),可知,\delta_{i}的无偏估计为\hat{\delta}_{i}=\hat{\mu}_{i}-\hat{\mu}=\overline{X}_{i}-\overline{X}

 当拒绝H_{0}时,常常需要作出两总体N(\mu_{j},\sigma^{2})N(\mu_{k},\sigma^{2})j\neq k的均值差\mu_{j}-\mu_{k}=\delta_{j}-\delta_{k}的区间估计,由于

E(\overline{X}_{j}-\overline{X}_{k})=\mu_{j}-\mu_{k}

D(\overline{X}_{j}-\overline{X}_{k})=\sigma^{2}(\frac{1}{n_{j}}+\frac{1}{n_{k}})

并且\overline{X}_{j}-\overline{X}_{k}\hat{\sigma^{2}}=\frac{SSW}{n-r}独立,于是,

\frac{(\overline{X}_{j}-\overline{X}_{k})-(\mu_{j}-\mu_{k})}{\sqrt{\frac{SSW}{n-r}(\frac{1}{n_{j}}+\frac{1}{n_{k}})}}\\ =\frac{\frac{(\overline{X}_{j}-\overline{X}_{k})-(\mu_{j}-\mu_{k})}{\sigma\sqrt{\frac{1}{n_{j}}+\frac{1}{n_{k}}}}}{\sqrt{\frac{SSW}{\sigma^{2}(n-r)}}}\sim t(n-r)

据此得均值差\mu_{j}-\mu_{k}=\delta_{j}-\delta_{k}的置信水平为1-\alpha的置信区间为:

((\overline{X}_{j}-\overline{X}_{k})\pm t_{\alpha/2}(n-r)\sqrt{\frac{SSW}{n-r}(\frac{1}{n_{j}}+\frac{1}{n_{k}})})

例题

设有三台机器,用来生产规格相同的铝合金薄板,并且假定除了机器这一因素之外,其他条件都相同。取样并测量薄板的厚度精确到千分之一厘米,得到结果(服从单因素方差分析假设前提):

machine1=c(0.236,0.238,0.248,0.245,0.243)
machine2=c(0.257,0.253,0.255,0.254,0.261)
machine3=c(0.258,0.264,0.259,0.267,0.262)
data1=cbind(machine1,machine2,machine3)
write.csv(data1,"D:/CSDN/方差分析/r/data1.csv",row.names = FALSE)

先假设检验三个总体的均值是否相等 

做出假设:

H_{0}:\mu_{1}=\mu{2}=\mu{3}

H_{1}:\mu_{1},\mu_{2},\mu_{3}不全相等

由数据可知,r=3,n_{1}=n_{2}=n_{3}=5,n=15,则,

SST=\sum_{i=1}^{3}\sum_{j=1}^{n_{i}}X_{ij}^{2}-\frac{(\sum_{i=1}^{3}\sum_{j=1}^{n_{i}}X_{ij})^{2}}{15}

SSB=\sum_{i=1}^{3}\frac{(\sum_{j=1}^{n_{i}}X_{ij})^{2}}{n_{i}}-\frac{(\sum_{i=1}^{3}\sum_{j=1}^{n_{i}}X_{ij})^{2}}{n}

SSW=SST-SSB

F比=32.91667>F_{0.05}(2,12)=3.885294

故在0.05显著性水平下拒绝H_{0},认为各台机器生产的薄板厚度有显著的差异。

write.csv(data1,"D:/CSDN/方差分析/r/data1.csv",row.names = FALSE)
Data1=read.csv("D:/CSDN/方差分析/r/data1.csv")
n=15
r=3
n1=n2=n3=5
SST=sum(c(Data1$machine1**2,
          Data1$machine2**2,
          Data1$machine3**2))-(sum(Data1)**2)/n
SSB=sum(c((sum(Data1$machine1)**2)/n1,
          (sum(Data1$machine2)**2)/n2,
            (sum(Data1$machine3)**2)/n3))-(sum(Data1)**2)/n
SSW=SST-SSB
tab1=data.frame(matrix(nrow = 3,ncol = 5))
colnames(tab1)=c("方差来源","平方和","自由度","均方","F比")
tab1[1,1]="因素"
tab1[2,1]="误差"
tab1[3,1]="总和"
tab1[1,2]=SSB
tab1[2,2]=SSW
tab1[3,2]=SST
tab1[1,3]=r-1
tab1[2,3]=n-r
tab1[3,3]=n-1
tab1[1,4]=SSB/(r-1)
tab1[2,4]=SSW/(n-r)
tab1[1,5]=tab1[1,4]/tab1[2,4]
qf(1-0.05,r-1,n-r)

接着对未知参数\sigma^{2},\mu_{i},\delta_{i}(i=1,2,3)进行点估计及均值差的0.95置信区间

\hat{\sigma^{2}}=\frac{SSW}{n-r}

1.6e-05

\hat{\mu}=\overline{X}

0.2533333

\hat{\mu}_{i}=\overline{X}_{i}

\hat{\delta}_{i}=\hat{\mu}_{i}-\hat{\mu}=\overline{X}_{i}-\overline{X}

((\overline{X}_{j}-\overline{X}_{k})\pm t_{\alpha/2}(n-r)\sqrt{\frac{SSW}{n-r}(\frac{1}{n_{j}}+\frac{1}{n_{k}})})

 

hatsigma2=SSW/(n-r)
hatmu=mean(c(mean(Data1$machine1),
             mean(Data1$machine2),
             mean(Data1$machine3)))
tab2=data.frame(matrix(nrow = 2,ncol = 3))
colnames(tab2)=c("machine1","machine2","machine3")
rownames(tab2)=c("hatmu","hatdelta")
tab2[1,1]=mean(Data1$machine1)
tab2[1,2]=mean(Data1$machine2)
tab2[1,3]=mean(Data1$machine3)
tab2[2,1]=tab2[1,1]-hatmu
tab2[2,2]=tab2[1,2]-hatmu
tab2[2,3]=tab2[1,3]-hatmu
tab3=data.frame(matrix(nrow = 3,ncol = 2))
colnames(tab3)=c("lower","upper")
rownames(tab3)=c("interval12","interval13","interval23")
t=qt(1-0.025,n-r)
tab3[1,1]=mean(Data1$machine1)-mean(Data1$machine2)-
  t*sqrt(SSW/(n-r)*(1/n1+1/n2))
tab3[1,2]=mean(Data1$machine1)-mean(Data1$machine2)+
  t*sqrt(SSW/(n-r)*(1/n1+1/n2))
tab3[2,1]=mean(Data1$machine1)-mean(Data1$machine3)-
  t*sqrt(SSW/(n-r)*(1/n1+1/n3))
tab3[2,2]=mean(Data1$machine1)-mean(Data1$machine3)+
  t*sqrt(SSW/(n-r)*(1/n1+1/n3))
tab3[3,1]=mean(Data1$machine2)-mean(Data1$machine3)-
  t*sqrt(SSW/(n-r)*(1/n2+1/n3))
tab3[3,2]=mean(Data1$machine2)-mean(Data1$machine3)+
  t*sqrt(SSW/(n-r)*(1/n2+1/n3))

应用

library(reshape2)
tData1=melt(Data1,
            measure.vars=c("machine1","machine2","machine3"),
            variable.name = "machine",
            value.name = "thickness")

aov=aov(thickness~machine,data=tData1)
summary(aov)

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值