t検定を使わずにベイズアプローチ(BEST)で対象グループに平均値に差分があるか確認したいなー

はじめに

この記事では,t検定を使わずにベイズアプローチで平均値に差分があるかどうかの手法を紹介する記事です.平均値に差分があるかというのは,例えば1組は教えるのが上手い先生が授業を行うが,2組は教えるのが下手くそな先生が授業をした後,どちらの組もテスト受けた時,この1組と2組の平均値に差分があるかを調べることにあります.この例題では,当然のごとく1組の方が良さそうです.というように一般的に,1組には〇〇という効果を与え,2組には〇〇という効果を与えることを行い,どちらの方が効果が良かったのかを知る方法となります.この議論を行うために今までは,t 検定やu検定 などの古典的統計学の手法が採択されてしばしば論文の中に登場してきました.これらの違いはパラメトリックかノンパラメトリックかで使う手法が異なりますが,やりたい本質としては,対象グループの平均とか中央値に差分があるのかどうかを判断したいわけです.これらの手法は仮説検定と呼ばれ,これらには私が特に思うに3種類の共通点があり,以下に記します.

  • 得られたデータから対象グループが違うかどうかを判定する
    • 得られたデータ数が30個であるならば,その30個は平均値に差分があんの?を判定する手法が仮説検定となります.
  • 得られる分布はp値を判定するための正規化された分布
    • 0を平均値に1を分散にN(0,1)のような分布でプロットされるイメージです.
  • p値に従い棄却するかどうかを判定する
    • H_0:帰無仮説を設定し,p値(p<0.05とか)に従いh_0を棄却するかを判断.この時H_0は対象グループの平均が同じである(μ0 = μ1).

仮説検定でやっていることは主に上記の3種類がやりたいことだと思います.しかし,これらの情報が我々にとって重要なデータとなり得るのだろうか!!???ということで,上記の3種類に対してケチをつけてみましょう.

まず,1つめについてです.データ数が30個の場合はたまたま帰無仮説が棄却できたけど,データ数が50個の場合はどうなんだよ!!と言われた時に批判することはできません.なぜなら,今回用いているデータ数は一般性が十分にあるといえるほどのデータ数ではないためです.例えばデータ数が30個ではなく100,000個のデータでやっているならば100,200だろうが110,000であろうがケチを付ける人はそういないでしょう.しかし現実的にここまでのデータを直接集めることは非常に困難となります.システム実験でアンケートを使ってやるとナルト非常に多くの時間を必要とするためです.というように仮説検定はデータが少なければ少ないほどケチが付けることができてしまいます.

2種類目の分布の話はt検定の手法や u検定などの手法は直接平均値の差分の分布のようなグラフを生成するわけではありません.あくまで,正規分布の正規化系に当てはめてそれを元に分布関数を作成するため,平均値の差分がプロットされて分布関数は作成されていません.以下に図を記す.

f:id:tatsuya_happy:20210110195323p:plain

上記で記したように従来の分布は上で記されたzの分布の範囲のようなものです.一方で,本当に欲しい分布は下に記載されている平均値の差分の分布ではないでしょうか?これを見ることによって実際どれだけ離れているのかを数値的に判断することが可能です.

最後に3種類目ですが,P値の話となります.この議論はいくつもの論文でしばしば見られるかと思いますが,信頼区間が90%,95%99%のどれにするかということです.例えば,90%で棄却することができないが95%では棄却することができるとなると(信頼係数が低いほど信頼区間の幅は狭く,はずれの可能性は高くなる),研究者は95%で信頼区間を決めてやっぱり平均に差分はありました!と論文に記載するかもしれません.一方で,違う研究者は90%のままやり続けて,平均値に差分はありませんでした!と結論づけるかもしれません.このように,信頼区間を決める方法が1つ違えば結果は変わってしまい,研究者の各人にとって結論が異なるのは好ましくありません.この信頼区間を決める方法は先行研究に習うことや慣習的な95%を信頼してやる方法がありますが,実用的な議論をするならば各問題に対して最適な範囲を決めるのが妥当だと言えるのではないでしょうか?例えば,Aという問題には88%を設定し,Bという問題は93%を設定するような,95%である必要は特にないけど,慣習的にそれを定めてしまっています.

以上の問題を背景に,この記事ではt検定を使ってみた上で,上記の指定した問題を解決するベイズアプローチの手法の1つであるBEST(Bayesian Estimation Supersedes the t-Test)を紹介します.そこで,この記事ではBEST1 における注意点や解釈を含めて,t検定と比較しつつBEST アプローチの優位を提示することを目的とします.

馴染みのあるt検定

この章では馴染みのある,t検定(Welchのt 検定)を用いて対象グループ間に平均値の差分が確認できるかを検証します.対象とするデータは薬剤評価のための臨床試験の評価に関するデータを利用します.この試験では,治療群(薬を投与された人)と対照群(プラセボを投与された人)のIQスコアを比較することで,知能を向上させるとされる「スマートドラッグ」の有効性を評価することを目的とされたものです.治療群には47人、対照群には42人のデータが存在します(参考データ:https://docs.pymc.io/notebooks/BEST.html)以下のように,t検定の設定をします.

ここで, μ0は治療群の薬を投与された人, μ1はプラセボを投与された人の平均値をそれぞれ指します(μ0=101.91,μ1= 100.36).実験の結果,p_value=0.1098となりH_0(帰無仮説)は棄却されず(p < 0.05ではないため),このデータでは平均に差分があるかとかまではいえないという結論を得ることができます.しかし,もし帰無仮説を棄却することができれば,この議論はμ_0の方が良さそうなのでは,という結論に至ります. しかし,我々が本当に知りたい結論の情報は「数値的にどれだけ差分が本当にあるのか?」ということではないでしょうか?実際にどれだけの値が違うのだろうか,どれだけの範囲で平均の差分の分布が現れるのだろうか?ということが重要なのであり,「平均の差分が棄却できるかどうかは」平均値の差分の数値を具体的に見た上で初めて言えることです.しかし,仮説検定はこの情報を保管してくれず,出力はp値が5%有意水準より小さいか大きいかのみです.この問題を解決するために、ベイズを用いたアプローチのBESTという手法で平均の差分が棄却できるかどうかだけでなく,平均値の差分を出力することにより,どんだけ違うかを数値的に見てみましょう。

とりあえずBayse アプローチ

対象データは前述した異なる薬を投与してどちらがより大きな効果があるのかを調べたデータを利用します.ベイズのアプローチはP値を使わずにROPEという概念を使うことで棄却するかを判断します.このROPEは信頼区間とは異なり平均値の差分はこれだけなら許容できるという範囲を定めます。例えば異なる対象が[-0.1,0.1]の差分なら許容できるというように(平均の差分が実用的に-0.1~0.1の範囲ぐらいならとるだろうなーという区間を表す),具体的な数値を当てはめることをします.一方で,P値は信頼区間の元に決められており,これは慣習的な範囲で決められるものですがROPEの場合は直接平均の差分の数値を当てはめているため,解かなければならない問題に対して範囲を設定できます. 以下今回使うデータに関しては以下のように定めます。

ROPE:[-0.1,0.1] 信頼区間の分布:95%

ここでの信頼区間は今回用いているBESTが出力してくれる分布の事後分布の信頼区間です.詳しくは以下のサイトが参考になります.

qiita.com

f:id:tatsuya_happy:20210110221401p:plain

f:id:tatsuya_happy:20210110221417p:plain

また,ベイズを扱う手法は平均の差分分布を出力してくれるだけでなく,今回使うデータの分布,標準偏差の分布,自由度の分布,効果量の分布を出力します.difference of meanという分布を見ると,平均値の差分の分布がX軸にプロットされており,数値的にどれだけ差分があるのだろうか?が見ることができます.この例では95%信頼区間で[0.17,1.9]ぐらいの間で平均値の差分が出るだろうということがいえます.0より大きい値が98%以上分布が広がってることからも平均値には差分があることがいえるという結論が得られます.またROPEからも,全ての範囲から外にあるので実用的な範囲外となるので平均値の差はあるという結論となります(これは後述).この結果は前述したt検定との結果と異なります.t検定では棄却することができなかったものがベイズを用いたアプローチであると,棄却することができています.実際に数値的にみても少なくとも0.17ぐらいは差分があるといえます.中間の平均値をみても,1.0ぐらいは差分があるといえるので確かに,今回用いている対象の間では平均値に差分がありそうです.

以上がベイズを使った手法となります。次からは仮説検定と比較して何が嬉しいかを紹介していきたいと思います。

ベイズの嬉しさ

はじめに,の章で記載したように大きく異なる点個人的な主観では3種類存在します。仮説検定は「得られたデータから対象グループが違うかどうかを判定する,得られる分布はp値を判定するための正規化された分布,p値に従い棄却するかどうかを判定する」でしたがベイズの場合「MCMCを用いてパラメーターから事後分布を生成した分布で判断,得られる分布は平均値の差分分布,ROPEに従い平均値に差分があるかどうかを判定し,棄却または採択をする」の3種類です.大きく異なることはこの3種類なので以下それらについてどういうことか紹介していきます。

得られるサンプルデータ

MCMCでは確率モデルを用意しパラメータを推定することで事後分布からサンプルを生成できる手法です.それに従い沢山のパラメーターの組み合わせを作成することで、100,000個の組み合わせの事後分布を作成できます.ここで注意する必要があるのは論文で記載されているように( It is important to understand that these are histograms of parameter values; they are not simulated data.)であり,パラメータの分布でしかないということです.以下図を記す.

f:id:tatsuya_happy:20210110221951p:plain

得られる分布は平均値の差分分布

仮説検定から得られる分布は推定したいパラメーターではありません.あくまで,P値に沿ったような正規化された分布となります.一方,ベイスは図のように平均値の差分がどの範囲まで広がるかを出力します.そのため,我々が本当にみたいものである差分の数値を視覚的に把握することができます.実用的にこの範囲の差分ぐらいだったらなしかー,とかここまで差分が大きいのであれば効果があったーとか数値で判断することができます。これの良いところは各問題に対して個別にありかなしかを議論することができるので、P値の慣習的な値の議論を必要するところがないことです。

棄却または採択をする

仮説検定は平均値の差分があるかどうかを議論するが,平均値に差分はありませんでした( μ0 = μ1という結論),という結論に持っていくことはできません.帰無仮説を棄却するときの議論はこのデータでは棄却できるまでには至りませんでした,となります.しかし,ベイズのアプローチは棄却することも採択も可能となります.棄却というのは定めたROPEの範囲に信頼区間を完全に内包しないときや0以上の分布が95%以上広がるようなときです(もちろん、95%ではなく定めたい範囲で棄却することもできます).一方で採択というのはROPEの範囲を完全に内包するときです.ここでの棄却または採択の議論は後述する章で紹介します。

以上のようにベイズは仮説検定で行うことができないことをしてくれます.しかし,注意しなければいけないのはROPEの設定や棄却と採択の話を理解せずに使うことです.仮説検定とは違いアウトプットが複数存在するので多生なりとも知識が必要となります.

BESTの中身はどんなの??

数式的解釈はこの記事の本質ではないと考えたため,あまり詳細には説明しません.また,この手法だけが使いたいんだ!!という方はこの章をスキップしてください!!!!!(この手法の本質はベイズモデリングにあります.そのため,ベイズ統計学のお話を理解できる人のみを対象としてしまうため詳細に記載しません)統計モデリング2 がどういうものかを知りたいときはリンクの論文を参考にしてください.

BESTによりアウトプットされるデータはt分布に従って生成されます(先ほど上述で生成されていた).t分布は正規分布よりrobustな分布をするため外れ値に対応した分布となり,3種類のパラメータを必要とします.以下の定式に従い事後分布が作られます.

f:id:tatsuya_happy:20210106150736p:plain

ベイズの確率モデルは「階層性がある」モデルを容易に作成することができるため,パラメータに確率分布を与えることができます.ここで,xは今回求める平均値の事後分布となります.t分布に必要となるパラメータは,μは正規分布で表し,σは一様分布で表し,vはデータの外れ値を考慮するため指数分布が利用されております.そのためこれらのハイパーパラメータは,μはMμ, Sμとなり,σはLσとHσとなります. vは自由度のハイパーパラメータは1/29と設定されていますが,t分布はデータが30以上含まれると正規分布に近くなる性質を考慮して,1/29が設定されています.

数式的には上記の図のようなベイズモデルを構築することでパラメータを推定しています.この推定されたパラメータの組み合わせから,事後分布を生成しています.MCMCを用いることでこのパラメータの組み合わせを何十万個と組み合わせることができます.

ROPEの採択と棄却と設定とか諸々

ここではBESTの解釈を行うために必要となるROPEの概念について説明したのち,採択基準や設定について記載します.

ROPEは現実的にあり得る範囲を設定します.上述したように[-0.1,0.1]の範囲までの平均値の差分ぐらいなら許容できるな〜とかを記載することができます.もう少し具体的な例を出すと,とあるコインを考えた時,このコインは本当に裏と表が等価の確率であらわれるかを考える問題が挙げられます.実用的にこのコインが等価だと考えるならばROPEの範囲は[0.45,0.55]ぐらいの範囲に収まることが考えられます.単純に考えると,100回コインを投げた時,45回から55回は表が出るよ!!ということを表します.この時,N=10,000万回の回数を試行したとして,この確率分布が以下のように出力されたとします.

f:id:tatsuya_happy:20210106161911p:plain

すると信頼区間区間がROPE内に内包されることからもこのコインは実用的に表と裏は等価の確率であるといえます.何故なら,定めたROPEの範囲の[0.45,0.55]は信頼区間の[0.491,0.5]の範囲の外側にあるためです.

以上の事象のようにROPEの範囲を設定し,このコインは裏と表が等価というパラメータが実用的に見合っているか否かを判定することができます.この章では,このROPEがどんなパターンをとるのかについて紹介します.

ROPEの採択と棄却

ROPEの採択パターンは以下のようなものが見られます.上述したコインの例を題材に考えていきます.このコインの題材は求めたい情報である「表と裏は等価」であることが空値(空値とは求めたいパラメータ,この問題ではコインの表と裏が等価であること)となり,本当なのか本当ではないかを知りたいということになります.厳密にいうと,空値は棄却できるのか採択できるのかを判断します.

f:id:tatsuya_happy:20210106162634p:plain

aのパターンは,信頼区間の範囲が完全にROPEの範囲の外にあることから,空値は棄却されます.そのため,このコインは「表と裏が等価に出現しません」ということがいえます.具体的にはこのコインは表が100回投げた時70回出たりと不当なコインであることが予測されます.

bとcのパターンは.ROPEの範囲が完全に信頼区間の範囲の内側にあることから,空値は棄却されます.そのため,このコインは「表と裏が等価に出現する」ということがいえます.具体的にはこのコインは表が100回投げた時50回出たりと正当なコインであることが予測されます.

dとeとfのパターンはROPEの範囲が完全に信頼区間の範囲の内側または外側になく,一部内包していることから空値は棄却することも採択することもできません.具体的にはこのコインは表と裏が均一に出るかどうかわからない,ということになります.

以上のように,ROPEを設定することで,空値は「棄却,採択,どっちでもない」という3種類の決定を行うことができるようになります.

ROPEについてのまとめと決定

ROPEについて色々紹介してきましたが,少しだけ,上述でも利用してきたROPEについてどのように定めたら良いかについて紹介します.とはいっても,ROPEを決めることは何かしらの定められた決定規則があるわけでもありません.信頼区間95%のように慣習的に定められたもので決定するのではなく,とある問題に対して自分が定めたい範囲で設定するようにするのが我々の目的であるためです.少しだけ,基準点を話すと米国食品医薬品局(FDA)では2つのグループの平均の比について0.8および1.25のROPE限界を推奨しています(米国FDA、Center for Veterinary Medicine, 2016, p. 16).現代の業界基準では、中等度のリスクのある用途では±20%前後のROPE限界値を用いているが,リスクが高い場合にはROPEが狭く(すなわち±5%~±10%),リスクが低い場合にはROPEが広く(すなわち±26%~±50%)なることがある(Little, 2015, 表1)3

終わりに

この記事では,t検定を使わずにベイズアプローチの一つであるBESTを用いて対象グループに平均に差分があるかを確認するための手法について紹介しました.この手法にはROPEと呼ばれる概念やベイズの諸知識が必要であるため,急いで,BESTを使うんだ!!という必要性はないと思います.しかし,得られているデータ数が少ない場合や平均値の差分の分布が見てみたいときなどに利用すれば,t検定では得られない情報量を得ることができるのも事実です.そのため,こういう手法もあるんだなーという観点で調べたり納得していただけるといいのだと勝手ながら思っております.


  1. John K. Kruschke, Journal of Experimental Psychology: General, 2013, v.142(2), pp.573-603. (doi: 10.1037/a0029146)

  2. 清水 裕士 心理学におけるベイズ統計モデリング Japanese Psychological Review 2018, Vol. 61, No. 1, 22–41

  3. John K. Kruschke Rejecting or Accepting Parameter Values in Bayesian Estimation Advances in Methods and Practices in Psychological Science 2018, Vol. 1(2) 270–280