本章内容
判断所需样本量
计算效应值
评价统计功效
- 功效分析可以帮助在给定置信度的情况下,判断检测到给定效应值时所需的样本量。
- 反过来, 它也可以帮助你在给定置信度水平情况下,计算在某样本量内能检测到给定效应值的概率。如果 概率低得难以接受,修改或者放弃这个实验将是一个明智的选择
- 在本章中,你将学习如何对多种统计检验进行功效分析,包括比例检验、t检验、卡方检验、 平衡的单因素ANOVA、相关性分析,以及线性模型分析。
- 由于功效分析针对的是假设检验,我 们将首先简单回顾零假设显著性检验(NHST)过程,然后学习如何用R进行功效分析,主要关 注pwr包。
- 最后,我们还会学习R中其他可用的功效分析方法。
10.1 假设检验速览
在研究过程时,研究者通常关注四个量:样本大小、显著性水平、功效和效应值。
样本大小指的是实验设计中每种条件/组中观测的数目。
显著性水平(也称为alpha)由Ⅰ型错误的概率来定义。也可以把它看作发现效应不发生 的概率。
功效通过1减去Ⅱ型错误的概率来定义。我们可以把它看作真实效应发生的概率。
效应值指的是在备择或研究假设下效应的量。效应值的表达式依赖于假设检验中使用的 统计方法。
虽然研究者可以直接控制样本大小和显著性水平,但是对于功效和效应值的影响却是间接 的。
例如,放宽显著性水平时(换句话说,使得拒绝原假设更容易时),检验的功效便会增加。 类似地,样本量增加,功效也会增加。
- 通常来说,研究目标是维持一个可接受的显著性水平,尽量使用较少的样本,然后最大化统 计检验的功效。
- 也就是说,最大化发现真实效应的几率,并最小化发现错误效应的几率,同时把 研究成本控制在合理的范围内。 四个量(样本大小、显著性水平、功效和效应值)紧密相关,给定其中任意三个量,便可推 算第四个量。接下来,本章将利用这一点进行各种各样的功效分析。下一节将学习如何用R中的 pwr包实现功效分析。随后,我们还会简要回顾一些专门在生物学和遗传学中使用的功效函数。
10.2 用pwr包做功效分析
对于每个函数,用户可以设定四个量(样本大小、显著性水平、功效和效应值)中的三个量,第四个量将由软件计算出来。
pwr.t.test(n=, d=, sig.level=, power=, type=, alternative=)
让我们举例说明函数的用法。仍继续10.1节使用手机与驾驶反应时间的实验,假定将使用双 尾独立样本t检验来比较两种情况下驾驶员的反应时间均值。
结果表明,每组中你需要34个受试者(总共68人),这样才能保证有90%的把握检测到0.8的 效应值,并且最多5%的可能性会误报差异存在。
现在变化一下这个问题。假定在比较这两种情况时,你想检测到总体均值0.5个标准偏差的 差异,并且将误报差异的几率限制在1%内。此外,你能获得的受试者只有40人。那么在该研究 中,你能检测到这么大总体均值差异的概率是多少呢?
pwr.t.test(n=20, d=.5, sig.level=.01, type="two.sample",
alternative="two.sided")
上面的例子都是假定两组中样本大小相等,如果两组中样本大小不同,可用函数:
pwr.t2n.test(n1=, n2=, d=, sig.level=, power=, alternative=)
此处,n1和n2是两组的样本大小,其他参数含义与pwr.t.test()的相同。可以尝试改变 pwr.t2n.test()①函数中的参数值,看看输出的效应值如何变化。
10.2.2 方差分析
pwr.anova.test()函数可以对平衡单因素方差分析进行功效分析。格式为:
pwr.anova.test(k=, n=, f=, sig.level=, power=)
- 让我们举例说明函数用法。现对五个组做单因素方差分析,要达到0.8的功效,效应值为0.25, 并选择0.05的显著性水平,计算各组需要的样本大小。
pwr.anova.test(k=5, f=.25, sig.level=.05, power=.8)
10.2.3 相关性:pwr.r.test()
pwr.r.test(n=, r=, sig.level=, power=, alternative=)
- 其中,n是观测数目,r是效应值(通过线性相关系数衡量),sig.level是显著性水平,power是功效水平,alternative指定显著性检验是双边检验("tow.sided")还是单边检验("less" 或"greater")。
10.2.4 线性模型(多元的计算方式稍有差异)
pwr.f2.test(u=, v=, f2=, sig.level=, power=)
现假设你想研究老板的领导风格对员工满意度的影响,是否超过薪水和工作小费对员工满意 度的影响。
领导风格可用四个变量来评估,薪水和小费与三个变量有关。过去的经验表明,薪水 和小费能够解释约30%的员工满意度的方差。
而从现实出发,领导风格至少能解释35%的方差。 假定显著性水平为0.05,那么在90%的置信度情况下,你需要多少受试者才能得到这样的方差贡 献率呢?
10.2.5 比例检验:pwr.2p.test(h=, n=, sig.level=, power=)
n=1605:根据结果可知,为满足以上要求,在本研究中需要1605个人试用新药,1605个人试用已有 药物
10.2.6 卡方检验:用来评价两个类别型变量的关系pwr.chisq.test()
典型的零假设是变量之间独立,备择假设是 不独立。
pwr.chisq.test(w=, N=, df=, sig.level=, power=)
10.2.7 在新情况中选择合适的效应值
Cohen 基准
library(pwr)
es <- seq(.1, .5, .01)
nes <- length(es)
samsize <- NULL
for (i in 1:nes){
result <- pwr.anova.test(k=5, f=es[i], sig.level=.05, power=.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=.90 and Alpha=.05")
实验设计中,这样的图形有助于估计不同条件时的影响值。例如,从图形可以看到各组样本 量高于200个观测时,再增加样本已经效果不大了
10.3 绘制功效分析图形
例子:检验各种效应值下的相关性所需的样本量曲线
library(pwr)
# 使用seq函数来生成一系列功效值r(H1的相关系数)和功效水平p。
r <- seq(.1,.5,.01)
nr <- length(r)
p <- seq(.4,.9,.1)
np <- length(p)
# 获取样本大小
samsize <- array(numeric(nr*np), dim=c(nr,np))
for (i in 1:np){
for (j in 1:nr){
result <- pwr.r.test(n = NULL, r = r[j],
sig.level = .05, power = p[i],
alternative = "two.sided")
samsize[j,i] <- ceiling(result$n)
}
}
# 创建图形
xrange <- range(r)
yrange <- round(range(samsize))
colors <- rainbow(length(p))
plot(xrange, yrange, type="n",
xlab="Correlation Coefficient (r)",
ylab="Sample Size (n)" )
# 添加功效曲线
for (i in 1:np){
lines(r, samsize[,i], type="l", lwd=2, col=colors[i])
}
# 添加网格线
abline(v=0, h=seq(0,yrange[2],50), lty=2, col="grey89")
abline(h=0, v=seq(xrange[1],xrange[2],.02), lty=2, col="gray89")
# 添加注释
title("Sample Size Estimation for Correlation Studies\n
Sig=0.05 (Two-tailed)")
legend("topright", title="Power", as.character(p),
fill=colors)
- 使用seq函数来生成一系列的效应值r(H1时的相关系数)和功效水平p➊。
- 然 后,利用两个for循环来循环读取这些效应值和功效水平,并计算相应所需的样本大小,将其存 储在数组samsize中➋。【学一下用这个】
- 随后,创建图形,设置合适的水平轴和垂直轴以及标签➌。
- 使用曲线形 式(lines)而不是点形式(points)来添加功效曲线➍。
- 最后,添加网格➎和图例➏,以使 图形易于理解。结果见图10-3。
从图10-3中可以看到:
- 在40%的置信度下,要检测到0.20的相关性,需要约75的样本量。
- 在 90%的置信度下,要检测到相同的相关性,需要大约185个额外的观测(n=260)。做少许改动, 这个方法便可以用来对许多统计检验创建样本量和功效的曲线图。
10.4 其他软件包
MBESS包也包含了可供各种形式功效分析所用的函数。这些函数主要供行为学、教育 学和社会科学的研究者使用。