沒有學(xué)過統(tǒng)計(jì),這一章晦澀難懂,學(xué)的實(shí)在太費(fèi)事,只好跟著書上的代碼跑一遍了。
第10章 功效分析
功效分析(power analysis)是心理統(tǒng)計(jì)學(xué)術(shù)語。在假設(shè)檢驗(yàn)中,根據(jù)影響功效的因素,改變和控制某些變量,以提高功效值,使研究更有效、更科學(xué)的過程。
與如下四個(gè)因素有關(guān):
(1)顯著性水平()。在假設(shè)檢驗(yàn)中,越小,第二類錯(cuò)誤就越容易發(fā)生,功效值也就越低。
(2)樣本容量(N)。樣本容量與在統(tǒng)計(jì)檢驗(yàn)中標(biāo)準(zhǔn)誤差的大小有關(guān)。在其他條件一定的情況下,樣本容量增加,可使標(biāo)準(zhǔn)誤差下降,而使統(tǒng)計(jì)功效值提高。
(3)總體效果量()。指對虛無假設(shè)的否定程度。在其他條件一定的情況下,若總體效果量增長,功效也就會(huì)提高。若包括功效在內(nèi)的其他條件一定時(shí),總體效果量越大,在一定的顯著水平所需樣本容量就越小。
(4)功效(1一)(是虛無假設(shè)H0為假時(shí),接受它所犯錯(cuò)誤的概率)。是功效分析的主體。以上四個(gè)因素是相互聯(lián)系、相互制約的,在進(jìn)行功效分析時(shí)要同時(shí)考慮。
功效分析可以幫助在給定置信度的情況下,判斷檢測到給定效應(yīng)值時(shí)所需的樣本量。反過來,它也可以幫助你在給定置信度水平情況下,計(jì)算在某樣本量內(nèi)能檢測到給定效應(yīng)值的概率。如果概率低得難以接受,修改或者放棄這個(gè)實(shí)驗(yàn)將是一個(gè)明智的選擇。
10.1 假設(shè)檢驗(yàn)速覽
在統(tǒng)計(jì)假設(shè)檢驗(yàn)中,首先要對總體分布參數(shù)設(shè)定一個(gè)假設(shè)(零假設(shè)H0),然后從總體分布中
抽樣,通過樣本計(jì)算所得的統(tǒng)計(jì)量來對總體參數(shù)進(jìn)行推斷。假定零假設(shè)為真,如果計(jì)算獲得觀測樣本的統(tǒng)計(jì)量的概率非常小,便可以拒絕原假設(shè),接受它的對立面(稱作備擇假設(shè)或者研究假設(shè)H1)。
預(yù)先約定的閾值(0.05)稱為檢驗(yàn)的顯著性水平(significance level)。

在研究過程時(shí),研究者通常關(guān)注四個(gè)量:樣本大小、顯著性水平、功效和效應(yīng)值(見圖10-1)。
?樣本大小指的是實(shí)驗(yàn)設(shè)計(jì)中每種條件/組中觀測的數(shù)目。
?顯著性水平(也稱為alpha)由I型錯(cuò)誤的概率來定義。也可以把它看做是發(fā)現(xiàn)效應(yīng)不發(fā)生
的概率。
?功效通過1減去II型錯(cuò)誤的概率來定義。我們可以把它看做是真實(shí)效應(yīng)發(fā)生的概率。
?效應(yīng)值指的是在備擇或研究假設(shè)下效應(yīng)的量。效應(yīng)值的表達(dá)式依賴于假設(shè)檢驗(yàn)中使用的
統(tǒng)計(jì)方法。

四個(gè)量(樣本大小、顯著性水平、功效和效應(yīng)值)緊密相關(guān),給定其中任意三個(gè)量,便可推算第四個(gè)量。
10.2 用pwr包做功效分析

10.2.1 t 檢驗(yàn)
Pwr.t.test(n=, d= , sig.level=, power=, type = c("two.sample","one.sample", "paired"), alternative =c("two.sided", "less", "greater"))
n:樣本大小。
d:效應(yīng)值,即標(biāo)準(zhǔn)化的均值之差。
其中 :組1均值;
:組2均值;
:誤差方差;
sig.level:顯著性水平(默認(rèn)為0.05);
power:功效水平;
type:檢驗(yàn)類型:雙樣本t檢驗(yàn)(two.sample)、單樣本t檢驗(yàn)(one.sample)或相依樣本t檢驗(yàn)(paired)。默認(rèn)為雙樣本t檢驗(yàn);
alternative:統(tǒng)計(jì)檢驗(yàn)是雙側(cè)檢驗(yàn)(two.sided)還是單側(cè)檢驗(yàn)(less或greater)。
默認(rèn)為雙側(cè)檢驗(yàn)。
library(pwr) # 調(diào)用pwr包。
pwr.t.test(d=0.8, sig.level = 0.05, power = 0.9, type = "two.sample", alternative = "two.sided") # 效應(yīng)值設(shè)0.8,希望90%的把握檢測到兩組的差異,顯著性水平設(shè)0.05,計(jì)算所需的樣本量。
##
## Two-sample t test power calculation
##
## n = 33.82555
## d = 0.8
## sig.level = 0.05
## power = 0.9
## alternative = two.sided
##
## NOTE: n is number in *each* group
每組中需要34個(gè)受試者(總共68人),才能保證有90%的把握檢測到0.8的效應(yīng)值,并且最多5%的可能性會(huì)誤報(bào)差異存在。
如果兩組中樣本大小不同,使用pwr.t2n.test()函數(shù)。
library(pwr) # 調(diào)用包。
pwr.t2n.test(n1=20, d=0.8, sig.level = 0.05, power = 0.9, alternative = "two.sided") # 樣本1容量為20,效應(yīng)值設(shè)0.8,效應(yīng)水平設(shè)0.9,顯著水平設(shè)0.05。
##
## t test power calculation
##
## n1 = 20
## n2 = 100.7648
## d = 0.8
## sig.level = 0.05
## power = 0.9
## alternative = two.sided
給定1組樣本量為20,計(jì)算得第2組樣本量應(yīng)為101。
10.2.2 方差分析
pwr.anova.test()函數(shù)可以對平衡單因素方差分析進(jìn)行功效分析。格式為:
pwr.anova.test(k = NULL, n = NULL, f = NULL, sig.level =0.05, power = NULL)
其中,k是組的個(gè)數(shù),n是各組中的樣本大小
對于單因素方差分析,效應(yīng)值可通過f來衡量:
其中,;
:組i的觀測數(shù)目;
N:總觀測數(shù)目;
:組i均值;
:總體均值;
:組內(nèi)誤差方差;
pwr.anova.test(k=5,f=.25,sig.level=.05,power=.8) # k=5表示5組觀測值,效應(yīng)值設(shè)0.25,效應(yīng)水平0.8,顯著水平0.05。
##
## Balanced one-way analysis of variance power calculation
##
## k = 5
## n = 39.1534
## f = 0.25
## sig.level = 0.05
## power = 0.8
##
## NOTE: n is number in each group
10.2.3 相關(guān)性
pwr.r.test(n=, r=, sig.level=, power=, alternative=)
n:觀測數(shù)目;
r:效應(yīng)值(通過線性相關(guān)系數(shù)衡量);
sig.level:顯著性水平;
power:功效水平;
"alternative":統(tǒng)計(jì)檢驗(yàn)是雙側(cè)檢驗(yàn)("two.sided")還是單側(cè)檢驗(yàn)("less"或"greater")。默認(rèn)為雙側(cè)檢驗(yàn)。
library(pwr) # 調(diào)用pwr包。
pwr.r.test(r = .25, sig.level = 0.05, power = .90,alternative = "greater") # 效應(yīng)值0.25,功效水平0.9,顯著水平0.05。
##
## approximate correlation power calculation (arctangh transformation)
##
## n = 133.2803
## r = 0.25
## sig.level = 0.05
## power = 0.9
## alternative = greater
要研究抑郁與孤獨(dú)的關(guān)系,樣本容量為134個(gè),以便在零假設(shè)為假的情況下有90%的信心拒絕它。
10.2.4 線性模型
對于線性模型(比如多元回歸),pwr.f2.test()函數(shù)可以完成相應(yīng)的功效分析,格式為:
pwr.f2.test(u=, v=, f2=, sig.level=, power=)
其中,u和v分別是分子自由度和分母自由度,f2是效應(yīng)值。
其中,R2 =多重相關(guān)性的總體平方值;
其中,
=集合A中變量對總體方差的解釋率
=集合A和B中變量對總體方差的解釋率;
當(dāng)要評價(jià)一組預(yù)測變量對結(jié)果的影響程度時(shí),適宜用第一個(gè)公式來計(jì)算f2;當(dāng)要評價(jià)一組預(yù)
測變量對結(jié)果的影響超過第二組變量(協(xié)變量)多少時(shí),適宜用第二個(gè)公式。
pwr.f2.test(u=3, f2=0.0769, sig.level=0.05, power=0.90)
##
## Multiple regression power calculation
##
## u = 3
## v = 184.2426
## f2 = 0.0769
## sig.level = 0.05
## power = 0.9
多元回歸中,分母的自由度等于N–k–1,N是總觀測數(shù),k是預(yù)測變量數(shù);本例中,N–7–1=185,即需要樣本大小N=185+7+1=193。
10.2.5 比例檢驗(yàn)
當(dāng)比較兩個(gè)比例時(shí),可使用pwr.2p.test()函數(shù)進(jìn)行功效分析。格式為:
pwr.2p.test(h=, n=, sig.level=, power=)
其中,h是效應(yīng)值,可用ES.h(p1, p2)函數(shù)進(jìn)行計(jì)算,n是各組相同的樣本量。
當(dāng)各組中n不相同時(shí),則使用函數(shù):
pwr.2p2n.test(h=, n1=, n2=, sig.level=, power=)
alternative=選項(xiàng)可以設(shè)定檢驗(yàn)是雙尾檢驗(yàn)("two.sided")還是單尾檢驗(yàn)("less"或"greater")。默認(rèn)是雙尾檢驗(yàn)。
pwr.2p.test(h=ES.h(.65, .6), sig.level=.05, power=.9, alternative="greater")
##
## Difference of proportion power calculation for binomial distribution (arcsine transformation)
##
## h = 0.1033347
## n = 1604.007
## sig.level = 0.05
## power = 0.9
## alternative = greater
##
## NOTE: same sample sizes
例:假定對某流行藥物能緩解60%使用者的癥狀感到懷疑,一種更貴的新藥如果能緩解65%使用者的癥狀,就會(huì)被投放到市場中。
假設(shè)想有90%的把握得出新藥更有效的結(jié)論:power=0.9
希望有95%的把握不會(huì)誤得結(jié)論:顯著性水平0.05
只對評價(jià)新藥是否比標(biāo)準(zhǔn)藥物更好感興趣,因此只需用單邊檢驗(yàn):alternative=”greater”
為滿足以上要求,在本研究中需要1605個(gè)人試用新藥,1605個(gè)人試用已有藥物。
10.2.6 卡方檢驗(yàn)
卡方檢驗(yàn)常常用來評價(jià)兩個(gè)類別型變量的關(guān)系。典型的零假設(shè)是變量之間獨(dú)立,備擇假設(shè)是不獨(dú)立。
pwr.chisq.test()函數(shù)可以評估卡方檢驗(yàn)的功效、效應(yīng)值和所需的樣本大小。格式為:
pwr.chisq.test(w=, N=, df=, sig.level=, power=)
其中,w是效應(yīng)值,N是總樣本大小,df是自由度。
效應(yīng)值w定義如下:
其中,時(shí)第i單元格中的概率;
時(shí)第i單元格中的概率;
此處從1到m進(jìn)行求和,連加號(hào)上的m指的是列聯(lián)表中單元格的數(shù)目。
函數(shù)ES.w2(P)可以計(jì) 算雙因素列聯(lián)表中備擇假設(shè)的效應(yīng)值,P是一個(gè)假設(shè)的雙因素概率表。
prob <- matrix(c(.42, .28, .03, .07, .10, .10), byrow=TRUE, nrow=3)
ES.w2(prob)
## [1] 0.1853198
pwr.chisq.test(w=.1853, df=3 , sig.level=.05, power=.9)
##
## Chi squared power calculation
##
## w = 0.1853
## N = 412.7286
## df = 3
## sig.level = 0.05
## power = 0.9
##
## NOTE: N is the number of observations
10.2.7 在新情況中選擇合適的效應(yīng)值

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")

10.3 繪制功效分析圖形
library(pwr)
# 生成一系列相關(guān)系數(shù)和功效值
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)
}
}
# 創(chuàng)建圖形
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])
}
# 添加網(wǎng)格線
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)

10.4 其他軟件包
表10-4列出了其他與功效分析有關(guān)的軟件包。

10.5 小結(jié)
本章主要內(nèi)容是pwr包中函數(shù)的使用方法。這些函數(shù)可以對常見的統(tǒng)計(jì)方法(包括t檢驗(yàn)、卡
方檢驗(yàn)、比例檢驗(yàn)、ANOVA和回歸)進(jìn)行功效和樣本量的計(jì)算。
典型的功效分析是一個(gè)交互性的過程。研究者會(huì)通過改變樣本量、效應(yīng)值、預(yù)期顯著性水平
和預(yù)期功效水平這些參數(shù),來觀測它們對于其他參數(shù)的影響。這些結(jié)果對于研究的籌備是非常有意義的。過去研究的信息(特別是效應(yīng)值)可以幫助你在未來設(shè)計(jì)更有效和高效的研究。
參考資料:
- 《R語言實(shí)戰(zhàn)》(中文版),人民郵電出版社,2013.
- 功效分析-百度,https://baike.baidu.com/item/%E5%8A%9F%E6%95%88%E5%88%86%E6%9E%90