统计学
─从数据到结论
第九章 方差分析
试验设计问题
一个养蟹户要遇到许多影响生产的因素或因子(factor),如水温,饲料,水质等。
要想稳定高产,就要进行各种因素的不同水平(level)的搭配(组合)试验。
这里的“水平”就是一个因素可能取的值。如有三种饲料,那饲料因素就有三个水平。而如果水温有四种水平,则水温和饲料就有12种可能的搭配。
试验设计问题
试验设计模型可以说就是回归模型的一种。试验设计问题本身有很大一部分是如何设计试验,使得人们有可能用最少的资源得到最好的结果。
这里,我们不打算详细讨论如何设计试验,而把主要精力放在试验设计数据的方差分析和建立线性模型上。
方差分析
方差分析(analysis of variance,ANOVA)是分析各个自变量对因变量影响的一种方法。
这里的自变量就是定性变量的因子及可能出现的称为协变量(covariate)的定量变量。
分析结果是由一个方差分析表表示的。
方差分析
原理为:把因变量的值随着自变量的不同取值而得到的变化进行分解,使得每一个自变量都有一份贡献,最后剩下无法用已知的原因解释的则看成随机误差的贡献。
然后用各自变量的贡献和随机误差的贡献进行比较(F检验),以判断该自变量的不同水平是否对因变量的变化有显著贡献。输出就是F-值和检验的一些p-值。
下面看一个例子。
单因素方差分析回顾
饲料比较数据, n=19头猪, 用p=4种饲料喂养一段时间后的重量增加问题: 四种饲料是否不同?
饲料
A
B
C
D
SPSS中的
数据形式
饲料例子(继续):
饲料(fodder)为自变量(单因子),重量增加(weight) 为因变量(一个数量变量) (SPSS计算机数据形式有所不同)
饲料
A
B
C
D
均值A= 均值B= 均值C= 均值D=
对数据的描述性输出(SPSS) (ANOVA-CONTRASTS/POST HOC-LSD,T2/OPTION-DES.,HOMO./MEAN PLOT)
Descriptives
WEIGHT
N
Mean
Std. Deviation
Std. Error
95% Confidence Interval for Mean
Minimum
Maximum
Lower Bound
Upper Bound
A
5
B
5
C
5
D
4
Total
19
四种饲料的箱图
四种饲料的均值图
模型中的假定:
涉及的检验: H0: m1=…=mp
线性模型:
公式:总平方和=组间平方和+组内平方和
其中, SST 有自由度 n-1, SSB有自由度 p-1, SSE 有自由度 n-p,在正态分布的假设下, 如果各组增重均值相等(零假设), 则
有自由度为 p-1 和n-p 的F 分布.
ANOVA
WEIGHT
由SPSS可以得到方差分析表:
Sum of Squares
Df
Mean Square
F
Sig.
Between Groups
3
.000
Within Groups
15
Total
18
该表说明各饲料之间有显著不同.
(比较一元总体的) ANOVA
WEIGHT(重量)
方差分析表的说明:
Sum of Squares(平方和)
Df
自由度
Mean Square(均方)
F
Sig.
Between Groups(处理)
SSB
P-1
MSB=SSB/(p-1)
F=
MSB/MSE
P(F>Fa)
Within Groups
(误差)
SSE
n-p
MSE=SSE/(n-p)
Total(总和)
SST
n-1
这里n 为观测值数目p 为水平数,Fa满足 P(F>Fa)=a.这是自由度为 p-1和n-p 的 F-分布的概率
Test of Homogeneity of Variances (A robust test)
这是SPSS输出之一,明白即可,不用记住
Levene Statistic
df1
df2
Sig.
.024
3
15
.995
(3,15)
面积=
F (3,15)分布密度图
SPSS操作
Compare Means→One Way ANOVA:
fodder(饲料) → Factor
Weight(重量) → Dependent List
Options:
Descriptive
Homogeneity of Variance
Mean Plot
销售数据()
研究这个数目的主要目的是看销售额(因变量)是否受到促销方式、售后服务和奖金这三个自变量的影响(头两个是定性变量,亦称为因子,分别有3个和2个水平;而定量变量奖金是协变量)以及怎样的影响。
方差分析
(只考虑主效应,不考虑交互效应及协变量)
首先假定因变量受到的仅有主效应(main effect)而没有交互效应(interaction)和协变量的影响。
主效应就是每个自变量对因变量的单独影响,而交互效应是当两个或更多的自变量的某些水平同时出现时除了主效应之外的附加影响。
方差分析
(只考虑主效应,不考虑交互效应及协变量)
拿我们例子来说,当单独考虑时,假定主动促销比被动促销可以多产生8万元效益,而有售后服务比没有售后服务多产生9万元效益。那么在没有交互作用时,同时采取主动促销和售后服务会产生8+9=17万元的效益(称为可加的)。
但如果存在交互效应,那么同时采取主动促销和售后服务会产生一个附加的效应即交互效应(可能是正面的,也可能是负面的),这时的总效应就不是17万元了。
方差分析
(只考虑主效应,不考虑交互效应及协变量)
如只考虑主效应。用y表示销售额,ai表示促销(下标表示不同水平),bj表示售后服务;则相应的只有主效应的线性模型为:
这里的下标i代表促销的水平,下标j代表是否有售后服务,下标k代表每种ij组合中的第k个观测;最后一项eijk为随机误差。
公式:总平方和=组间平方和+组内平方和
其中, SSA 有自由度 p-1, SSB有自由度 q-1, SSE 有自由度 (p-1)(q-1),在正态分布的假设下, 如果各组增重均值相等(零假设), 则
分别有自由度为 p-1 和(p-1)(q-1) 及自由度为q-1 和(p-1)(q-1)的F 分布.
用我们数据拟合这个模型,SPSS输出为
促销(promot)的F检验统计量(其自由度来自promot和error的自由度:2,20)取值为,p-值为(更精确些是).而售后服务的F检验统计量为,p-值为(更精确些是). R2为.
这里的估计只有相对意义。一定要放在模型中,或者考虑同一因子水平之间的差,比如a1-a3、a2-a3、b1-b2等等。
对于这个模型,参数估计为
这个模型还可以有截距,这时的SPSS默认约束是固定a3=b2=0;而目前的没有截距的a1,a2,a3的估计实际上等于截距的估计加上有截距时的a1,a2,a3的估计。
由于约束条件不一样,所以各种软件的各种选项的估计不尽相同,但相对大小是不会变的。
没有交互作用的模型可以从下面点图中直观看出。图中下面两条折线分别连接了有及没有售后服务时三种促销状况的销售均值。由于模型选择为无交互作用,所以这两条线是平行的。从该图可以看出,两个因子效应综合效应是简单的加法。
SPSS实现(只有因子主效应的方差分析)
拿为例,在SPSS中选Analyze-General Linear Model-Univariate进入主对话框;
然后把sales选入Dependent Variable,把promot和service选入Fixed Factors;
然后点击Model,选择Custom,在Build Terms中选择Main effects,再把promot(F)和service(F)选入Model;
选择或不选择Include intercept in model则确定是否在模型中包含常数项;回到主对话框(Continue),这时点OK即可;
如果要输出参数估计可以在Options选诸如Parameter Estimates等。
方差分析
(考虑交互效应但不考虑协变量)
加上交互效应,这时的线性模型就又多了一项(ab)ij:
而计算机的方差分析表的输出(主要部分)为:
这个模型的交互作用可以用下面的来描述:
还要说明的是,如果每一种因子水平的组合只有一个观测值(这里例中每个组合有四个观测值),那么,无法对是否有交互作用进行判断;这是由于数据量不够,交互作用即使有也混在误差项中,无法剥离出来进行分析。
SPSS实现(有交互效应,但没有协变量的方差分析 )
为例,在SPSS中选Analyze-General Linear Model-Univariate进入主对话框;
然后把sales选入Dependent Variable,把promot和service选入Fixed Factors;
然后点击Model,选择Custom,在Build Terms 中选择Interaction,先把promot(F)和service(F)选入Model,再把promot(F)和service(F)同时选入Model(出现“promot*service”);
选择或不选择Include intercept in model则确定是否包含常数项;回到主对话框(Continue),这时点OK即可;如果要输出参数估计可以在Options选诸如Parameter Estimates等。
方差分析(考虑协变量 )
现在再加上作为协变量,这时的线性模型就又多了代表自变量奖金x的一项(加上系数g)gx:
而计算机的方差分析表的输出(主要部分)为:
SPSS实现(有交互效应及协变量的方差分析 )
拿为例,在SPSS中选Analyze-General Linear Model-Univariate进入主对话框;
然后把sales选入Dependent Variable,把promot和service选入Fixed Factors,把bonus选入Covariate;然后点击Model,选择Custom,在Build Terms中选择Interaction,先把promot(F),service(F)和bonus(C)选入Model,再把promot(F)和service(F)同时选入Model(出现“promot*service”);
选择或不选择Include intercept in model则确定是否包含常数项;回到主对话框(Continue),这时点OK即可;如果要输出参数估计可以在Options选诸如Parameter Estimates等。
附:一般方差分析表的数学意义
而计算机的方差分析表的输出的意义为(这里包含在SSM中还有一个SS和1个自由度属于截距的(没有用处)没有列出):
方差分析表公式的意义为: