ベイズ分散分析のモデル解析

心理学実験を題材として

Statistics
Bayesian
Author

司馬 博文

Published

9/24/2024

Modified

9/24/2024

概要

心理学などの人間を対象にする研究では変数の数が多く,正しいモデルを見つけるために分散分析 (ANOVA) が広く用いられる. しかし,古典的な ANOVA 解析手法である F-検定や t-検定は,データの一側面しか伝えない. 一方で,モデルの仮定を前面に出したベイズ的な解析手法は,データを探索的に吟味することができ,極めて微妙な消息も捉えることが可能になる. 本稿では特にベイズ ANOVA 手法 (Rouder et al., 2012) を採用して,そのモデルケースを実証する.本稿は (Don van den Bergh and Wagenmakers, 2020) を参考にしている.

関連記事

1 社会的なロボット

library(foreign)
data <- read.spss("Files/pone.0201581.s001.sav", to.data.frame=TRUE)
Warning in read.spss("Files/pone.0201581.s001.sav", to.data.frame = TRUE):
Files/pone.0201581.s001.sav: Very long string record(s) found (record type 7,
subtype 14), each will be imported in consecutive separate variables
Warning in read.spss("Files/pone.0201581.s001.sav", to.data.frame = TRUE):
Undeclared level(s) 2, 3, 4 added in variable: AS01
Warning in read.spss("Files/pone.0201581.s001.sav", to.data.frame = TRUE):
Undeclared level(s) 4, 10, 12, 17, 26, 29, 31, 43, 45, 48, 52, 53, 55, 59, 60,
62, 64, 65, 68, 69, 70, 72, 74, 77, 78, 81, 82, 83, 84, 85, 86, 89, 90, 91, 93,
94, 97, 99 added in variable: AS03
Warning in read.spss("Files/pone.0201581.s001.sav", to.data.frame = TRUE):
Undeclared level(s) 3, 5, 19, 20, 30, 32, 37, 38, 41, 42, 44, 50, 52, 53, 54,
55, 56, 57, 59, 61, 62, 66, 68, 69, 71, 76, 78, 79, 84, 85, 88, 89, 90, 91, 92,
93, 94, 95, 99, 100 added in variable: AS04
Warning in read.spss("Files/pone.0201581.s001.sav", to.data.frame = TRUE):
Undeclared level(s) 10, 17, 23, 24, 26, 34, 35, 38, 45, 48, 51, 52, 53, 55, 56,
58, 60, 62, 64, 67, 71, 72, 73, 75, 77, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91,
92, 93, 94, 96, 99 added in variable: AS05
Warning in read.spss("Files/pone.0201581.s001.sav", to.data.frame = TRUE):
Undeclared level(s) 2, 3, 5, 6, 13, 14, 18, 19, 20, 22, 23, 26, 28, 29, 31, 35,
42, 44, 49, 52, 55, 56, 57, 58, 59, 60, 62, 65, 68, 69, 70, 72, 74, 78, 81, 90,
93, 97, 98, 100 added in variable: AS06

2 ハリーポッターを用いた性格テスト

3 終わりに

ベイズ ANOVA の注意点をここに付しておく.

科学としては,ANOVA と統計的検定はベイズ推論とモデル比較の手続きで代替されるべきであると言える.

しかし,発見を端的に要約したり,伝えるべき聴衆に伝わるためには,「検定」ライクな結果とコミュニケーションは大いに有用である.

ベイズ ANOVA はそのためにベストであるが,上述の目標を達成するための特殊な手続きであり,ベイズデータ分析のワークフローの中に自然な位置を見つけるような解析段階ではないことには注意を要する.

ベイズ ANOVA を実行するためのパッケージには BayesFactor (CRAN / GitHub) がある.BayesFactor では大規模な \(M\)-元配置 ANOVA モデルにおいても Bayes 因子を用いたモデル比較を行うことができる.

一方で bayesanova (CRAN / GitHub) (Kelter, 2022) は,検定ライクな手続きを根本的に排除しており,Gauss 混合モデルとして Gibbs サンプラーによるベイズ推定を実行し,ROPE (Region of Practical Equivalence) (Kruschke, 2018) を用いたベイズ事後分布に基づくモデル比較を行う.

もちろんこのような完全なモデリングを行うことが理想かもしれないが,従来の ANOVA になれきっている研究者にとっては,Bayesian ANOVA に手を伸ばしてみることが次のステップとして大変良いだろう.

References

Don van den Bergh, M. M., Johnny van Doorn, and Wagenmakers, E.-J. (2020). A Tutorial on Conducting and Interpreting a Bayesian ANOVA in JASP. L’Année Psychologique, 120, 73–96.
Kelter, R. (2022). Bayesanova: An r package for bayesian inference in the analysis of variance via markov chain monte carlo in gaussian mixture models. The R Journal, 14, 54–78.
Kruschke, J. K. (2018). Rejecting or accepting parameter values in bayesian estimation. Advances in Methods and Practices in Psychological Science, 1(2), 270–280.
Rouder, J. N., Morey, R. D., Speckman, P. L., and Province, J. M. (2012). Default bayes factors for ANOVA designs. Journal of Mathematical Psychology, 56(5), 356–374.