参考资料:R语言实战【第2版】
功效分析中,预期效应值时最难决定的参数。它通常要求我们对研究主题有一定的了解,并由相应的测量经验。例如,过去研究中的数据可以用来计算效应值,这能为后来深层次的研究提供一些参考。
当面对全新的研究情况,没有任何过去的经验可借鉴时,我们该如何做?在行为科学领域,Cohen层尝试提出一个基准,可为各种统计检验划分“小”“中”“大”三种效应值。
统计方法 | 效应值 | 建议的效应值基准 | ||
小 | 中 | 大 | ||
t检验 | d | 0.20 | 0.50 | 0.80 |
方差分析 | f | 0.10 | 0.25 | 0.40 |
线性模型 | f2 | 0.02 | 0.15 | 0.35 |
比例检验 | h | 0.20 | 0.50 | 0.80 |
卡方检验 | w | 0.10 | 0.30 | 0.50 |
假如我们想在0.05的显著性水平下,对5个组、每组25个受试者的设计进行单因素方差分析,那么拒绝错误零假设(也就是发现真实的效应值)的概率是多大呢?
# 加载pwr包
library(pwr)
pwr.anova.test(k=5,n=25,f=0.10,sig.level=0.05)
pwr.anova.test(k=5,n=25,f=0.25,sig.level=0.05)
pwr.anova.test(k=5,n=25,f=0.40,sig.level=0.05)
由上图结果可知:得到对于小效应值功效水平为0.118,中等效应值得功效水平为0.574,大效应值得功效水平为0.957。在给定样本大小的限制下,在大效应值时我们才可能发现要研究的效应。
需要注意的是:Cohen的基准值仅仅是许多社科类研究得出的一般性建议,对于特殊的研究领域可能并不适用。其他可选择的方法是改变研究参数,记录其对诸如样本量大小和功效等方面的影响。以五个分组的单因素方差分析为例,下面的代码用于检测一系列效应值所需要的样本大小。
# 加载pwr包
library(pwr)
es<-seq(0.1,0.5,0.01)
nes<-length(es)
samsize<-NULL
for(i in 1:nes){
result<-pwr.anova.test(k=5,f=es[i],sig.level=0.05,power=0.9)
samsize[i]<-ceiling(result$n)
}
plot(samsize,es,type="l",lwd=2,col="red",
ylab="Effect Size",
xlab="Sample Size(per cell)",
main="One Way ANOVA with Power=0.9 and Alpha=0.05")
试验设计中,这样的图形有助于我们估计不同条件下的影响值。在本图在观测量为100时,曲线向右逐渐变缓,当高于200时,增加样本对效应值得影响已不大。