#author("2023-01-06T16:18:52+09:00","default:riseki","riseki")
*&color(#6A5ACD){効果量の信頼区間}; [#d2958414]
信頼区間といえば,まず平均値の信頼区間が思い浮かぶのではないかと思います。
しかし,信頼区間は平均値だけでなく,標準誤差などさまざまな統計量について計算することができます。
最近では,イータ二乗などの標準化効果量の信頼区間に対する関心が高まってきているように思います。
効果量の利用を勧めるのには,帰無仮説検定の結果を受けて有意か非有意かだけの判断をするのではなく,もっと柔軟に,標本抽出によるばらつきを考慮したうえで実験や調査の結果を評価すべきではないかとの考えがあります。
この考えからすると,効果量の指標についても点推定の値を提示してよしとするのではなく,その確かさの程度を込みにして評価したほうがよいだろうということになります。
効果量が大きくても,信頼区間の幅が広すぎるとその大きさについての評価はあまり確かなものにはなりません。
逆に,信頼区間の幅が狭ければ,小さな効果量でも確信をもって具体的な予測を行いやすくなるかもしれません。
それでは,効果量の信頼区間はどのように求めたらよいのでしょうか。
標準化効果量の信頼区間を算出する方法には,現在のところ,大きく分けて2つのアプローチがあります。
以下では,これらのアプローチについて順に簡単に説明します。
*&color(#6A5ACD){非心分布に基づくアプローチ}; [#s8ec95b6]
分散分析の標準化効果量の信頼区間を計算する方法のひとつは,非心分布に基づくものです。
非心分布とは,われわれのよく知るt分布やF分布に非心パラメータというパラメータを加えた分布です。
たとえば,通常のF分布は分子と分母の2つの自由度によって分布の形状が決まりますが,非心F分布は2つの自由度に加えて非心パラメータによっても形状が変化します。
実のところ,通常のt分布やF分布は非心パラメータが0のときの非心t分布や非心F分布に相当するので,非心分布のほうがより包括的な概念であると考えられます。
(非心分布と検定力,効果量の関係については,[[検定力についてわかったようなわからないような人がもっとわかったというようなグラフ>http://kusanagi.hatenablog.jp/entry/2015/09/06/163107]]のページが参考になります。)
効果量の信頼区間を算出するためには,まず,標本に基づいて得られたF値をもとに,反復計算アルゴリズムを用いて非心パラメータλの下限と上限を推定します(Kelley, 2005, 2007)。
そして,反復計算の結果として得られた非心パラメータλの信頼限界を効果量に変換することによって,効果量の上下の信頼区間を計算します。
具体的には,λから偏イータ二乗を計算することになりますが,これをもとにさらに複数要因計画における無印のイータ二乗やオメガ二乗を計算する方法も紹介されています(理論的には,Fidler & Thompson, 2001;SASマクロとして,Kromrey & Bell, 2010)。
このように,ややまわりくどい方法になりますが,この非心分布に基づくアプローチを用いることで効果量の正確な信頼区間が得られるといわれています。
ただし,この方法にはいくつかの限界があります。
まず,分散分析の基本的な仮定と同じく,分布の正規性,等分散性,誤差分散の独立性が成り立たなくては適切な非心パラメータを推定することができません。
次に,効果が小さいとき(具体的には,もとの分析のF値が小さいとき)には,非心パラメータが推定できないことがあります。
このような場合には,非心パラメータを0とみなして信頼区間を計算することになります(Fidler & Thompson, 2001; Kromrey & Bell, 2010)。
Morey et al.(2016)は,このような方針の恣意性を批判しています。
また,この非心分布に基づくアプローチでは,反復測定要因の効果量の信頼区間を適切に推定できない可能性があります。
反復測定の場合の効果量の分布は極めて複雑で,通常の分布でも非心分布でもないかもしれないことが指摘されています(Kline, 2013, p. 146)。
よく見ると,非心パラメータに基づいて各種効果量の信頼区間を算出する方法も“被験者間計画の”効果量の信頼区間の算出法として提示されています(Fidler & Thompson, 2001; Kromrey & Bell, 2010)。
Matlabで各種効果量の信頼区間を計算するツールボックスとして[[MES(measures of effect size)>http://www.mathworks.com/matlabcentral/fileexchange/32398-measures-of-effect-size-toolbox]]がありますが,このMESも反復測定要因を含む効果量については非心分布アプローチに基づく信頼区間を算出しません。
その代わり,反復測定効果についてはブートストラップに基づく信頼区間を指定するオプションが選べるようになっています。
このような場合には,ブートストラップ法が代案になると考えられています(Kline, 2013)。
**&color(#000080){ANOVA君における実装}; [#za153762]
ANOVA君では,オプションとして効果量を指定するとともに“nesci = T”を加えることによって非心分布アプローチに基づく信頼区間を出力します(non-central effect size confidence intervalオプション)。
少なくともひとつの効果量の指標を指定していない場合には何も起こらないので注意してください。
効果量を指定している場合,分散分析表の後に以下のような効果量の信頼区間の表が追加されます。
<< EFFECT SIZE INFORMATION >>
=== Noncentral F Distribution-Based Confidence Intervals for Effect Sizes ===
=== 95% confidence intervals are calculated. ===
-----------------------------------------------------------
ES Source Estimate CI_L CI_U ncp_L ncp_U
-----------------------------------------------------------
eta^2 A 0.0441 0.0000 0.2698 NA 8.8684
eta^2 B 0.3529 0.0000 0.5346 NA 27.5738
eta^2 A x B 0.1324 0.0000 0.3186 NA 11.2236
-----------------------------------------------------------
この表の“Estimate”は,分散分析表にあるのと同じ,効果量の点推定値です。
“CI_L”,“CI_U”は,それぞれ,信頼区間の下限と上限を表しています。
その次の“ncp_L”と“ncp_U”はF値に基づいて推定した(そして,効果量の信頼区間のもとになった)非心パラメータの信頼限界です。
非心パラメータが推定できなかった場合,この列には“NA”が表示されます。
また,反復測定を含む効果については,信頼区間はすべて“NA”と表示されます。
*&color(#6A5ACD){ブートストラップに基づくアプローチ}; [#qad88090]
分散分析の標準化効果量の信頼区間を算出するためのもうひとつの方法は,ブートストラップ法を用いることです。
ブートストラップ法は,標本からのデータの無作為抽出をくりかえすことによって疑似的に新たな標本を作成し,この再抽出した標本に基づいて母集団の性質を推測する方法です。
もう少し具体的な例を使って説明してみましょう。
いま,実験に基づいて1~10までの10個の標本が得られたとします。
説明を簡単にするため,ここでは,平均値を求めることにしましょう。
標本に基づく平均値は5.5です。
さて,ブートストラップを実行するために,10個の標本から無作為に10個のデータを選ぶことにします。
たとえば,1,2,3,3,4,5,6,7,9,10です。
この例からわかるように,ブートストラップ法では,値の重複を許す形で再抽出を行うやり方がよく用いられます(復元抽出)。
このようにして作成したデータをブートストラップ標本と呼びます。
ここで,標本に対して行ったのと同じように,ブートストラップ標本に基づいて新たに平均値を計算することができます(平均は5.0)。
この手続きを一回行っただけではたいして意味はありませんが,100回くりかえしたらどうでしょうか。
100個のブートストラップ標本に基づく,100個の平均値が得られます。
この100個の平均値は少しずつ値が違いますが,もともとの標本の(そして,母集団の)特徴をそれぞれが反映しています。
この100個の平均値を使うことで平均値の分布を描くことができます。
もとの平均よりも小さな値もあれば大きな値もあるでしょうが,もとの平均値に近い値の頻度が最も高くなるはずです。
このブートストラップ平均の分布を用いることで,真の平均値の信頼区間を推測しようというのがブートストラップ法のめざすところです。
最も素朴な直感的にもわかりやすい方法は,ブートストラップ平均の分布の上側から2.5%と下側から2.5%のところにある値を求めることです。
これらの値がそれぞれ,平均値の上側と下側の95%信頼区間の値になります。
ブートストラップ法の強みは,統計量に対する理論的な仮定をあまり必要としないことにあります。
たとえば,統計量の分布について正規分布であるとか,等分散であるといった仮定を設けずに信頼区間を算出することができます。
ブートストラップ標本に基づいて計算できる統計量であれば,それ以上に特別な工夫は要求されず,ブートストラップ法の手順にしたがって計算をくりかえすだけです。
おかげで,非心分布アプローチの場合のように効果量の種類ごとにλからの変換方法に頭を悩ませる必要もなく,一般化効果量を含むさまざまな指標の信頼区間を簡単に計算できます。
また,分布の形状に対する仮定を必要としないので,反復測定要因の場合の効果量の信頼区間の計算には,ブートストラップ法が勧められることが少なくないようです(Kline, 2013)。
もちろん,被験者間計画のデータであったとしても,正規性や等分散性の仮定を必要としないという点でブートストラップを使うメリットはあります。
こうしてみるとブートストラップ法はいいこと尽くめのようですが,弱点もあります。
ひとつには,計算のためのコストが大きいということです。
先ほどの例では100回のくりかえしを行うことにしていました。
くりかえしの適切な回数については統計量の性質によって経験的に決まってきます。
標準誤差の場合には100~200回で十分とされていますが,信頼区間の場合には2,000回くらいは必要であろうといわれています。
そうすると,ブートストラップ標本を作成し統計量を計算するという作業を2,000回くりかえし行うだけの計算コストがかかることになります。
このコストはPCによる実行時間に反映されます。
次に,サンプルサイズが少ないことによる影響があります。
ブートストラップ計算を何回くりかえしたとしても,もともとのサンプルサイズの小ささによる影響を除くことはできません。
サンプルサイズが小さい場合には,よい精度で信頼区間を計算することができなくなります。
具体的なサンプルサイズについてはいろいろ議論のあるところだと思いますが,RのBootESパッケージを作成しているKirby & Gerlanc(2013)は,各グループにつき20以上を推奨しています。
シミュレーション研究の結果によるとn=5ではかなりエラーが多くなるようなので,これほどの小さいサンプルサイズでブートストラップを用いるのは避けたほうがよいでしょう。
n=15でよい結果が得られたとの報告もあるようですが,n<20のときには特に慎重になったほうがよいかもしれません。
最後に,ブートストラップ法に基づく信頼区間は,その性質上,ひとつの値に定まりません。
基本的に無作為抽出に基づいて再抽出した結果をまとめる方法なので,実行するたびに微妙に違う値が算出されます。
この点に不満を感じる方もおられるかもしれません。
ただ,逆に考えれば,実行のたびにずれる程度の幅は誤差であるということになるのかもしれません。
**&color(#000080){ANOVA君における実装}; [#s607b6d7]
ANOVA君では,効果量とともに“besci = T”をオプションに加えることによってブートストラップに基づく信頼区間を出力します(bootstrap effect size confidence intervalオプション)。
ひとつ以上の効果量の指標を同時に指定していない場合には何も起こらないので注意してください。
効果量を指定してあれば,分散分析表の後に,以下のような効果量の信頼区間の表が追加されます。
<< EFFECT SIZE INFORMATION >>
=== Bias-Corrected and Accelerated (BCa) Confidence Intervals for ESs ===
=== 95% confidence intervals based on 2000 replications ===
-----------------------------------------------------------
ES Source Observed CI_L CI_U Bias S.E.
-----------------------------------------------------------
eta^2 A 0.0441 0.0000 0.2090 0.0220 0.0643
eta^2 B 0.3529 0.1114 0.5381 0.0555 0.1185
eta^2 A x B 0.1324 0.0118 0.2969 0.0600 0.1012
-----------------------------------------------------------
この表の“Estimate”は,分散分析表と同じ,効果量の点推定値です。
“CI_L”,“CI_U”は,それぞれ,信頼区間の下限と上限を表しています。
“Bias”はブートストラップ標本に基づく効果量の平均から効果量の点推定値を引いた値を示しています。
“S.E.”はブートストラップ標本に基づく標準誤差です。
Biasが大きすぎる場合,BiasがS.E.よりも大きい場合には,ブートストラップ法による推定がうまくいっていない可能性があります。
その場合は,サンプルサイズが小さい,データが正規性から極めて大きく逸脱しているなどの理由が考えられます。
上の説明では,簡単さのために,ブートストラップ統計量の上側と下側2.5%のところの値を調べるという方法を紹介しました。
このような方法は,パーセンタイル法と呼ばれます。
現在では,単純にパーセンタイル法を適用したのでは精度が高くないことがわかっており,これを改良したBCa法が用いられることが多くなっています。
ANOVA君でも,このBCa法を用いてブートストラップ信頼区間を計算しています。
ブートストラップ標本に基づいて信頼区間を構成する方法には他にもいろいろなものがあり,代表的なものにはブートストラップt法などがあります。
ANOVA君では,反復測定データからブートストラップ標本を作る際には,同一個人内の複数の水準のデータは固定し,どの人からデータを抽出するかをランダムにしています。
このような方法は,ペアドブートストラップ,クラスターブートストラップなど,さまざまな名称で呼ばれています。
しかし,反復測定データなどの相関関係のあるデータからブートストラップ標本を作成する方法については,他にいろいろなものが提案されています。
総じて,ここで採用している方法だけが妥当であるというわけではなく,さまざまに考えられる代案のひとつであるという点に留意してください。
besciオプションの実行には,相応の計算コストがかかるので注意してください。
具体的には,ANOVA君では,デフォルトの反復回数は2,000回に設定してありますので,2,000回の分散分析(+単純主効果の検定)を実行して効果量を計算するのに相当する処理を要求します。
実際の所要時間は実行環境やデータそのものの性質にも依存するので予測は難しいですが,完了までに数分を要することはめずらしくないと思います。
いったんブートストラップなしで出力の量(要因効果の数と単純主効果の検定の回数)を確認したうえでブートストラップを実行するかどうかを判断し,必要であればnopostオプション(下位検定なし)を併用することをお勧めします。
また,ブートストラップの途中で計算を停止したい場合にはエスケープキー(escキー)を押してください。
なお,WindowsよりもMacかLinuxのほうが実行時間が安定して短くなるかもしれません。
*&color(#6A5ACD){参考文献}; [#l815768b]
Fidler, F., & Thompson, B. (2001). Computing correct confidence intervals for ANOVA fixed- and random-effects effect sizes. '''Educational and Psychological Measurement''', ''61'', 575-604.
南風原朝和 (2014). 続・心理統計学の基礎-統合的理解を広げ深める- 有斐閣
Kelley, K. (2005). The effects of nonnormal distributions on confidence intervals for the standardized mean difference: Bootstrapping as an alternative to parametric confidence intervals. '''Educational and Psychological Measurement''', ''65'', 51-69.
Kelley, K. (2007). Confidence intervals for standardized effect sizes: Theory, application, and implementation. '''Journal of Statistical Software''', ''20'', 8.
Kirby, K. N., & Gerlanc, D. (2013). BootES: An R package for bootstrap confidence intervals on effect sizes. '''Behavior Research Methods''', ''45'', 905-927.
Kline, R. B. (2013). '''Beyond significance testing: Statistics reform in the behavioral sciences (2nd edition)'''. Washington, DC: American Psychological Association.
Kromrey, J. D., & Bell, B. A. (2010). ES_ANOVA: A SAS® macro for computing point and interval estimates of effect sizes associated with analysis of variance models. '''Southeast SAS Users Group (SESUG) Annual Meetings 2010''', Paper PO-05. [[[Link to PDF]>http://analytics.ncsu.edu/sesug/2010/PO05.Kromrey.pdf]]
Morey, R. D., Hoekstra, R., Rouder, J. N., Lee, M. D., & Wagenmakers, E.-J. (2016). The fallacy of placing confidence in confidence intervals. '''Psychonomic Bulletin & Review''', ''23'', 103-123.
汪金芳・桜井裕仁 (2011). Rで学ぶデータサイエンス4 ブートストラップ入門 共立出版