方差分析
发布网友
发布时间:2022-04-23 14:03
我来回答
共1个回答
热心网友
时间:2022-06-17 23:16
单因素独立样本固定效应方差分析分析总结——效应量及其置信区间、Power、趋势分析
数据文件:OA3.sav,R中为OA3
模拟数据:
R:
n1<-n2<-n3require(pwr);require(MBESS);require(multicomp);require(car)
1 假设检验:
Anova(lm(Happy~ Type,data=OA3,contrasts=list(Type=contr.sum)),type=”III”)
##要注意当TypeIII和TypeII两者不一样的时候,需要加入语句:contrasts=list(fcategory=contr.sum, partner.status=contr.sum) ##Coding,适用TypeIII方法
参考R帮助文件>example(Anova)
(注:Type II和Type III的区别:
在没有交互作用,或不同组之间的被试数比例与总体比例相同时二者无区别;
Type II在有交互作用,且不同组之间的被试数比例与总体比例相同时适用;
Type III在有交互作用,总体为等比例但样本为不等比例时适用。
亦可以回归的方式来做:
lm.OA3<-lm(Happy~ Type,data=OA3)
summary(lm.OA3)
得到的结果中后面会用到的是:
R2=0.3719,F(2,90)=26.648
(注:回归方法当中只报告回归的一些参数,不报告SS,但是报告R2(SPSS中不报告),方便接下来计算f2(f2的求法列在下面))
2 效应量及其置信区间
①Cohen’s f2及其置信区间
f2=0.3719/(1-0.3719)
= 0.5921032
##Cohen’f2=R^2/(1-R^2 )(where R2 is the squared multiple correlation)
##参考
##Cohen’f2=ncp/N(N=n*k)
ci.ncp<-conf.limits.ncf(F.value=26.648,conf.level=0.95,df.1=2,df.2=90) ##求ncp置信区间
lambda <- c(ci.ncp$Lower.Limit,ci.ncp$Upper.Limit); ##以置信区间的形式显示结果
因为f2=ncp/N (N=nK)
sqrt(ci.f2 <- lambda / N); (进行转化)
#求非中心参数ncp的置信区间,然后根据ncp和f2的关系来求得f2的置信区间#
根据上面两个式子可得:f2的置信区间是(0.5151149 0.9806293)
②求η2及其置信区间
η2= SSeffect / SStotal
在单因素方差分析当中,因为只有一个自变量,η2=R2,所以η2=0.3719
在SPSS当中用Analyze——General Linear Model——Univariate来进行单因素方差分析可以收集到ηp2、R2、校正R2等数据,而且可以进行更复杂的Contrast。
方差分析结果
由noncf.sav计算得到的结果(前四项手工输入,最后三项为所需要的结果):
可知η2置信区间为: [0.20966,0.49021]
其实更简单的方法是在R中直接根据f2与η2的代数关系换算出η2的置信区间(^_^)。
③求ω2
ω2 = (SSeffect - (dfeffect)(MSerror)) / (MSerror + SStotal)=(1280.416-2*24.025)/(24.025+3442.627)
= 0.3554917
当前没有求总体ω2置信区间的统计技术
参考《Experimental Design Using ANOVA》:P114。
注:ω2置信区间和η2置信区间的文献常见的问题是没有定义总体值而直接谈置信区间,这是范式上的错误。
④求ηp2(偏η2)
ηp2 = SSeffect / (SSeffect + SSerror)
=η2
=0.3719
置信区间为:[0.20966,0.49021]
两者相等可以从他们的公式看出来:
η2= SSeffect / SStotal
ηp2 = SSeffect / (SSeffect + SSerror)
η2在分母当中包括了其他自变量的效应。而在单因素方差分析中只有一个自变量,所以两者相等。
注:在多因素方差分析中,需要根据两者的代数关系来求ηp2的置信区间。
如果自变量是随机因素(Random Factor),还可以求效应量指标为。这里只给出计算公式:
= (MSeffect - MSerror) / (MSeffect + (dfeffect)(MSerror))
其他的效应量还包括:Glass’sΔ、Hedges’ g等。
各效应量之间的比较:
η2和ηp2是对特定样本效应量的描述统计量,是对效应量总体参数的有偏估计,而ω2是对作为总体参数的效应量的无偏点估计。因此η2和ηp2会高估效应量,所以ω2比η2和ηp2小一点。根据公式:
η2= SSeffect / SStotal
ηp2 = SSeffect / (SSeffect + SSerror)
可以看出η2会随着自变量的变多而变小,无法准确体现一个自变量的“效应”,而ηp2则不会。根本原因是η2的的分母中是总和方SStotal,而ηp2的分母是效应变异和误差变异的和(SSeffect+SSerror),因此ηp2不随自变量的增多而变小。但也是正因为如此,各自变量的ηp2 之和不等于1。总的来说,η2的值描述的是在样本当中自变量所产生的变异效果。对于自变量效应量的总体估计值是ω2。
3 Power
pwr.f2.test(u=2,v=90,f2=0.5921032,sig.level=0.05)
Power的主要作用是在研究开始前估计样本量。但是在统计分析之后如果研究结果不显著,可以通过求Power来看还需要多少样本才能够获得显著性结果。
4 Post Hoc
require(multcomp)
g<-glht(lm.OA3, linfct = mcp(Type =c(”Senior-Mid=0〃,”Senior-Youth=0〃,”Mid-Youth=0〃)))
注:必须将所有的差异都写出来,不能一次只单独求一个差值:
g<- glht(lm.OA3, linfct = mcp(Type =c(”Senior-Mid=0,”)))
注:这是单个Planned test(事前检验)的做法。如果是多个检验,根据所要做的比较的次数会有对α的校正,因此求出的置信区间会比不做校正的要大。事后检验在数学上与对应的多个事前检验结果一样(比如:包括三次比较的时候检验与做了三个比较的事前检验结果是一样的)。因为简单主效应是事后检验,应该进行α的校正,所以在R中应该同时写出三个比较(有几个比较写几个比较)。
R中采用的是Turkey HSD的做法,结果与SPSS一致。如果在R中只进行一次比较,结果与SPSS中Post Hoc里面的LSD方法相同,也就是说SPSS当中的LSD方法没有对α进行校正。
summary(g) ##可以看显著性检验的结果
confint(g) ##求老年人与中年人的简单主效应的置信区间
## 关于事后检验的具体方法和优劣参考
求非标准化简单主效应
非标准化简单主效应就是指并非简单的差值比较,而是较为复杂的多重比较:比如老年人和中年人的平均值与青年人的差值的显著性检验。
g<- glht(lm.OA3, linfct = mcp(Type =c(”0.5*Senior + 0.5*Mid – Youth=0〃)))
##比较老年人和中年人的平均值与青年人的快乐指数
summary(g) ##显著性检验结果
confint(g) ##求置信区间:
在SPSS中选择Contrast,在Coefficients当中依次填入-1,0.5,0.5。结果与R一致。
注:这里面要注意一点:指定的系数之和必须是0才能保证各组之间的变异是正交的。
另外在网上提供的做法当中填入的系数为-2,1,1,虽然最后的显著性结果是一致的,但这个时候差值的点估计就不和题目相对应了,所以建议用第一种方法指定系数。)
SPSS做法
其中包括了SPSS的Syntax语句。
在进行Contrast比较的时候就涉及到Coding(指定各水平系数)和Orthogonality(正交性)的问题。首先在自变量、水平之间是独立的假设成立的前提下,Coding要保证系数之和等于0,这样就能保证水平之间是正交的。正交的好处在于将效应量完全独立的分解,每次比较不会有重复的部分。如图:
正交
当样本量不一致时就很不能保证正交。
注:这里所提到的Coding指的是对各个哑变量的系数赋值的过程。
参考《Experimental Designs Using ANOVA》P124
事后检验方法
事前检验的效力比事后检验更高。只有在没有条件进行事前检验、或者没有明确的理论预期的时候才进行事后检验。
常用的Post Hoc有LSD、Scheffe、Turkey HSD、Bonferroni等。
LSD需要等组条件,并且没有对α进行校正,在进行较多检验的时候会提高犯一类错误的可能。
Scheffe过于保守,损失大量的Power。但特别适用于不等组情况。
Turkey HSD要求等组。在SPSS中对α进行了校正。
5 趋势分析(Trend Analysis):
在SPSS中的Contrast选项中选择Polynomial。3个水平最多只能是二次型(Quadratic)。
SPSS中趋势分析结果为:
趋势分析
线性趋势结果显著(F=51.083,p0.001),Quadratic趋势不显著(F=2.213,p>0.001)。这里的Deviation就相当于回归分析当中的残差。
去101学习辅导答疑网看看,那里有专业的老师在线回答问题的!现在注册还免费送金豆!