零假設顯著性檢驗(NHST)是目前社會科學研究數據分析的主要工具。但是在統計學領域,NHST受到了廣泛的批評。越來越多的統計學者提倡使用貝葉斯方法檢驗研究假設,也經常有做實證研究的學者諮詢如何使用貝葉斯因子(Bayes factor, BF)進行數據分析。本文首先介紹貝葉斯因子的相關問題,隨後展示如何使用R軟體包bain進行貝葉斯檢驗。貝葉斯因子是貝葉斯假設檢驗指標。以零假設H0與備擇假設Hu為例,貝葉斯因子BF0u量化了數據在假設H0下比在假設Hu下更有可能被觀測到的程度,換言之,BF0u衡量了H0相對於Hu受到數據支持的程度。比如BF0u = 5表示數據對H0的支持程度是Hu的5倍。
一些統計學者認為,零假設太過精確以至於不可能成立(Cohen, 1994; Royal, 1997),因此,即使沒有數據零假設也該被拒絕。此外,很多時候零假設不能準確描述研究理論,比如很難找到兩個總體均值是完全相等的。鑑於此,研究者同樣可以構造區間假設、次序假設、約等假設來更精確的描述研究理論:
https://psyarxiv.com/cu43gbain是BAyesian INformative hypotheses evaluation的簡稱。R軟體包bain的主要功能是通過計算貝葉斯因子,評估研究者的理論。bain使用部分樣本數據構造先驗分布,給出完全客觀的貝葉斯檢驗結果,研究者不再需要考慮先驗分布的選取問題。目前bain軟體包可處理的統計模型包括t檢驗(one sample t test; two samples t test; Welch’s t test; paired samples t test),等效性檢驗(equivalence test);方差分析(ANOVA),協方差分析(ANCOVA),多重回歸(multiple regression),重複測量(repeated measures),邏輯回歸(logistic regression),結構方程模型(包括驗證性因子分析confirmatory factor analysis,潛變量回歸latent regression等),同時可處理多組數據與缺失數據。bain軟體包可在R語言平臺和JASP軟體平臺(0.11.1及以後版本)中實現。其中x表示檢驗模型對象,可為t檢驗x<-t_test(),線性回歸x<-lm(),結構方程模型x<-sem()等輸出結果。hypothesis為待檢驗的研究假設,如hypotheses <- "a > b > c & b > 0; a = b = c = 0"指定了兩個研究假設,a, b, c為所關心的模型參數,符號&用於連接假設中的限制條件,符號;用於區分不同假設。同時比較多個假設(模型)時,可將不同假設(模型)以;號區分。 給定模型x和假設hypothesis,運行bain函數可得到每個待檢驗假設或模型的擬合度(Fit),複雜度(Com), 與備擇假設相比的貝葉斯因子(BF.u),與補充假設相比的貝葉斯因子(BF.c),以及假設或模型的後驗概率(PMP)。下面我們使用bain的built-in數據sesamesim,以方差分析、回歸模型、和驗證性因子分析為例來具體介紹。選取sesamesim數據中的postnumb為因變量,site為分組變量,方差分析的待檢驗假設為各組postnumb相等vs各組大小關係為組2>組5>組1>組3>組4,R語言代碼如下:sesamesim$site <- as.factor(sesamesim$site) #make factor variableanov <- lm(postnumb ~ site - 1, sesamesim) #anova using lm()result <- bain(anov, hypothesis = "site1=site2=site3=site4=site5;site2>site5>site1>site3>site4") #test由上述結果可知假設H1(與備擇假設Hu相比)的貝葉斯因子BF1u=0,因此數據不支持各組postnumb相等;假設H2的貝葉斯因子為BF2u=16.013,即數據支持各組大小關係為2>5>1>3>4的研究理論。此外,我們可以得到假設H1,H2與Hu的後驗模型概率PMPb,可知H2收到數據支持的程度最高(後驗模型概率為0.941)。選取sesamesim數據中的postnumb為因變量,age, peabody, prenumb為自變量,待檢驗假設為prenumb的效應強於peabody強於age。R語言代碼如下:regr <- lm(postnumb ~ age + peabody + prenumb, sesamesim) #regressionresult<-bain(regr, "prenumb>peabody>age", standardize = T) #test需注意的是,比較回歸效應(係數)時,應對回歸係數進行標準化處理,即指定standardize = T。由上述結果可知假設H1:prenumb>peabody>age的貝葉斯因子為BF1u=5.769,即數據支持待檢驗假設的證據是備擇假設的5.769倍。R軟體包bain檢驗結構方程模型參數需藉助軟體包lavaan。選取sesamesim數據中Ab, Al等指標測量A因子; Bb, Bl等指標測量B因子。待檢驗假設為所有因子載荷均大於0.6。R語言代碼如下:
library(bain)library(lavaan)# Specify and fit the confirmatory factor modelmodel <- ' A =~ Ab + Al + Af + An + Ar + Ac B =~ Bb + Bl + Bf + Bn + Br + Bc'# Use the lavaan sem function to execute the confirmatory factor analysisfit <- sem(model, data = sesamesim, std.lv = TRUE)# Formulate hypotheses, call bain, obtain summary statshypotheses <-"A=~Ab>.6 & A=~Al>.6 & A=~Af>.6 & A=~An>.6 & A=~Ar>.6 & A=~Ac>.6 &B=~Bb>.6 & B=~Bl>.6 & B=~Bf>.6 & B=~Bn>.6 & B=~Br>.6 & B=~Bc>.6"result <- bain(fit, hypotheses, standardize=TRUE)sr <- summary(result, ci = 0.95)上述代碼前半部分利用lavaan軟體包中的sem()函數定義了驗證性因子分析模型。後半部分使用sem()輸出結果與指定的假設在bain()函數中計算貝葉斯因子。其中A=~Ab表示Ab對於因子A的載荷。計算結果如下:由上述結果可知假設「所有因子載荷均大於0.6」的貝葉斯因子為BF.u=94.273,表明得到數據的支持。同時結果給出了因子載荷估計值與95%可信區間。https://cran.r-project.org/web/packages/bain/vignettes/Introduction_to_bain.html軟體包bain仍在持續開發更多模型與功能,歡迎大家關注與使用。以下是關於bain的參考文獻,有貝葉斯因子統計方法的如Gu et al. (2018),有貝葉斯因子應用的如Gu et al. (2020),有介紹bain的使用教程如Hoijtink et al. (2019a)和Van Lissa et al. (2020)。Van Lissa, C.J., Gu, X., Mulder, J., Rosseel, Y., van Zundert, C, & Hoijtink, H. (2020). Teacher’s corner: Evaluating informative hypotheses using the Bayes factor in structural equation models. Structural Equation Modelling-A Multidisciplinary Journal. Doi: 10.1080/10705511.2020.1745644.Gu, X., Hoijtink, H., & Mulder, J. (2020). Bayesian one-sided variable selection. Multivariate Behavioral Research. DOI: 10.1080/00273171.2020.1813067.Hoijtink, H., Mulder, J., van Lissa, C., & Gu, X. (2019). A tutorial on testing hypotheses using the Bayes factor. Psychological Methods, 24, 539-556. DOI: 10.1037/met0000201Hoijtink, H., Gu, X.,& Mulder, J. (2019). Bayesian evaluation of informative hypotheses for multiple populations. British Journal of Mathematical and Statistical Psychology, 72, 219-243. DOI: 10.1111/bmsp.12145Hoijtink, H., Gu, X., Mulder, J., & Rosseel, Y. (2019). Computing Bayes factors from data with missing values. Psychological Methods, 24, 253-268. DOI: 10.1037/met0000187.Gu, X., Mulder, J., & Hoijtink, H. (2018). Approximate adjusted fractional Bayes factors: A general method for testing informative hypotheses. British Journal of Mathematical and Statistical Psychology, 71, 229-261. DOI: 10.1111/bmsp.12110.
1.8w研究者的聚集地。