统计学习-方差分析之单因素方差分析

1、数据背景

有A、B、C、D四个地区,不同地区的销售量不一样,现抽取了不同时间段内每个地区的销售量,试使用方差分析的方法解决:

1、每个地区间的销售量是否相同?

2、不同月份的销售量是否相同?

3、不同时间与地区的销售量是否相同?

2、术语介绍

学习方差分析,我们首先需要知道它所说的专业性术语,如:因素、水平、协方差、因变量,自变量等。单纯看定义可能会有点迷,下面我们通过一个栗子来看看这些术语具体是指什么:

以销售数据为例:现有某企业的销售数据,里面记录了5天内3个不同地区的销售额(单位:百万),数据如表1-1所示:

  2019/2/1 2019/2/3 2019/3/1 2019/4/2 2019/5/2
A地区 110 62 121 82 62
B地区 120 160 221 130 161
C地区 172 104 182 213 98

如果我们想要检验不同地区的销售额是否存在显著性差异,此时地区就是我们要检验的对象,称为因素或者因子或者自变量;A地区、B地区、C地区是这一因素的具体表现,称为水平或者处理;在每个地区下所得到的样本数据(5天内的销售额)称为观测值,销售额称为因变量,由于我们的观测数相同,所以称为均衡设计;若观测数不同,则称为非均衡设计。因为我们只想研究不同地区的销售额,与时间没有关系,所以我们这里只有一个类别型变量,所做的分析称为单因素方差分析

如果我们想知道地区和时间对销售额造成的差异,那么将两个因素同时结合起来即可,此时称为双因素方差分析。不过,这时候会多出来另外两个术语:主效应和交互效应。所谓主效应,顾名思义就是研究多个因素对同一个因变量的影响时每一个因素所造成的效应;而交互效应就是多个因素间的交互作用对因变量所造成的影响。这里的主效应就是地区和时间对销售额的影响,交互效应就是地区和时间的交互作用对销售额的影响。当设计中包含两个或者更多的因子时,便是因素方差分析, 比如两因子时称为双因素方差分析,三因子时称为三因素方差分析,以此类推。

3、方差分析流程

了解完了术语,我们来看看方差分析的基本假定:

  • 1、每个总体都应服从正态分布

  • 2、每个总体的方差s2必须相同

  • 3、观测值是独立的

什么意思?简单点就是说:对于不同地区的销售额是否存在显著性差异这个问题,我们每一个组的观测数必须来自方差相等的正态分布,且所有观测数之间相互独立。即 每个地区的销售额必须服从方差相等的正态分布且每一天的销售额都与其他天数的销售额相互独立。至此,对于方差分析我们已经有了一个基本的概念,下面我们走一遍方差分析流程:

1)、提出假设

通过检验因素的k个水平均值是否相等,来判断自变量与因变量是否相关。

H0: μ1=μ2=...=μi=...μk (自变量对因变量没有显著影响)

H1: μ1,μ2,....μk不全相等。(自变量对因变量有显著影响)

2)、构造检验统计量

需要构造三个误差平方和,总平方和(SST)、组间平方和(SSA)和组内平方和(SSA)。且SST=SSA+SSE SST:全部观测值与总均值的误差平方和,计算公式为:

SSA:各组均值与总均值的误差平方和,反映各样本均值之间的差异程度。公式为:

SSE:每个水平或组的样本数据与其组均值的误差平方和。公式为:

3)、计算统计量 

各平方误差除以它们所对应的自由度,称为均方误差。SST的自由度为n-1,其中n为全部观测值个数;SSA的自由度为k-1,k为因素水平的个数 SSE的自由度为n-k。于是:

F = MSA/MSE服从F(k-1,n-k)分布。

4)、统计决策

在给定显著性水平α下,计算F(k-1,n-k)分布的Fα,如果F>Fα(或者p<α),则拒绝原假设,表明自变量对因变量影响显著,否则则接受原假设,认为自变量对因变量无显著性影响(即组间的查差异性不显著)

4、R语言实现过程


# 1、录入数据,计算均值进行简单比较
y=c(110,62,121,82,62,120,160,221,130,161,172,104,182,213,98)
x=gl(3,5) 
z=data.frame(y,x)
mean(y) 
c(mean(y[x==1]),mean(y[x==2]),mean(y[x==3]))-mean(y)

 由结果可以看到α1 = -45.8 ,α2 =25.2  ,α3 =20.6,µ = 133.2,所以从参数结果可以看到甲地区的销售额与另外两个地区可能存在差异。


# 2、进行方差齐性检验
bartlett.test(y,x)

由结果中可知得到的p值=0.5201>0.05,所以接受原假设,认为方差齐性

# 3、进行方差分析
fit=aov(y~x,z); 
summary(fit)

# 4、画图看数据
plot(x,y,xaxt = "n",xlab = "region", ylab = "sales")
axis(1,c(1,2,3),labels=c("A","B","C"))

# 5、多重比较
TukeyHSD(fit)

 

从图中我们可以看到,在0.05的置信水平下,A地区与B地区的销售额有显著性差异,A地区与C地区、B地区与C地区之间并无显著性差异。

发布了44 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/zkyxgs518/article/details/104593045