多重比較:実践的な対処法【multiple testing】

多重比較(multiple testing)は、統計検定を繰り返し行う際の問題です。

結論が変わりうるのでかなり注意すべき事項ですが、特に臨床研究では残念ながらそうとも限りません。

この記事では、多重比較についてわかりやすく解説し、対応方法を紹介します。

具体的には、Bonferroni adjustmentとFDR(false discovery rate)について解説します。

 

 

多重比較が問題となる状況

多重比較とは

統計検定って、よくやりますよね。

多くの人がみるのがp値。

これが0.05未満だと有意、そうでなければ有意でない。

*p値、仮設検定の枠組みについてはこちらにて

 

そして、

「p<0.05」で判断するフレームワークこそ、多重比較が問題となる状況です。

 

******

 

例えば、死亡に関わる因子の検定で、こんな結果が出たとします。

年齢 p=0.045

性別 p=0.01

喫煙 p=0.009

飲酒 p=0.23

糖尿病 p=0.001

 

p=0.05未満が有意なので、

年齢と性別と喫煙と糖尿病が死亡に関連する

・・とはいきません

 

なんででしょう?

 

 

統計検定は5%の間違いを許容する

p<0.05というのは、5%の確率で「本当は差がないのにあると結論してしまう」ことを許容しています(p値の解釈についてはこちら)。

5%が些細なものと考えているのです。

*なお5%であるべき論理的な正当性は特にありません。

 

でも上のモデル、5回も統計検定していますね。

5回も5%の誤差を許容してしまっています。

なので誤差がない確率は0.95の5乗、77%です

→23%の確率で間違っている。これは無視できませんよね。

 

つまり、上のように統計検定を複数行なっている場合、p=0.05をカットオフとして考えてはいけません

カットオフの調整が必要なのです。

 

この問題、何回も統計検定(比較)しているので、多重比較といいます。

英語ではmultiple testingとかmultiple comparisonとか言います。

仮設検定の枠組みに関わる根本的な問題なので、必ず意識しなくてはなりません。

 

そして、多重比較には対処法がいくつもあります。

必ず知っておきましょう。

 

 

対処法1:Bonferroni adjustment

簡単かつ歴史ある方法です。

単純に

カットオフを、0.05/比較の回数

とします。

 

年齢 p=0.045

性別 p=0.01

喫煙 p=0.009

飲酒 p=0.23

糖尿病 p=0.001

 

この例だと5回比較しているので、カットオフはp=0.05/5=0.01。

p<0.01を「有意に関連性あり」と結論します。

結果、有意なのは喫煙と糖尿病だけ、となります。

 

*****

 

これでほとんどの場合問題ないです。

論文には、「そのTableにある比較の数で0.05を割り、それをカットオフだと明示」すればOKです。

p値はそのまま記載します。p値は解釈可能だからです。

→単純に0.04で有意にならないということ。

 

*もしくは「adjusted p」として記載するのもOKです。

adjusted p = p値*比較の数

です。

もし計算結果が1以上になった場合は、adjusted p = 1とします。

 

 

Bonferroni correctionの注意点

大事なBonferroni correctionのlimitationはただ一つ。

Conservativeな結論になること。

=本当は有意な差があるのに、「有意な差はなし」と結論してしまう確率が高くなること

 

なぜなら、この補正法は「比較それぞれが独立だ」ということを推定しているからです。

*実際、喫煙と糖尿病や年齢が独立なわけないですね。

 

特に沢山比較がある場合は、色々大事な要素を落としてしまっているかもしれません。

よって、他の方法で

もうちょっと有意なものを拾いたい

というモチベーションが生まれます。

 

いくつか代替がありますが、その中でもFDR (false discovery rate)がメジャーです。

 

 

対処法2:FDR

False discovery rateっていうくらいなので、解釈は次のようになります。

有意だが実は有意でない因子の数÷有意な因子の数

 

FDR=0.05をカットオフとすると

「20個の有意な結果のうち1個は本当は有意でない」

ということになります。

 

p値からq値(FDRとも言われます)を計算し、0.05未満かをみます。

q値の定義は:

比較の数✕p値÷p値のランク

実際に計算してみましょう。

 

まず、p値を小さい順に並べます。

糖尿病 p=0.001

喫煙 p=0.009

性別 p=0.01

年齢 p=0.045

飲酒 p=0.23

 

5回検定をしているので、全てに5をかけます(Bonferroni correctionによるadjusted p valueです)。

糖尿病 Bonferroni p=0.005

喫煙 Bonferroni p =0.045

性別 Bonferroni p =0.05

年齢 Bonferroni p =0.225

飲酒 Bonferroni p =1.15 → これはp=1となります

 

そしてこれをそれぞれのランク(小さい順)で割ります

....糖尿病はランク1なのでそのまま、喫煙はランク2なので2で割る・・等です。

糖尿病 q=0.005/1 = 0.005

喫煙 q =0.045/2 = 0.0225

性別 q =0.05/3 = 0.017

年齢 q=0.225/4 = 0.056

飲酒 q=1.15/5= 0.23

 

最後に。

性別の方が喫煙よりp値は大きいのにq値は小さくなってしまっています

→この場合、性別のq値は喫煙のq値と同じにします(どちらもq = 0.0225になる)。

 

q値のカットオフがFDR

→FDRはよく0.05を用いるので、FDRで有意なのは糖尿病、喫煙、性別となります。

 

Bonferroni adjustmentと比べて有意なのが一つ増えましたね。

FDRの方がConservativeでないのです。

 

FDRのlimitationは、20個に1個は間違った結論を出している、ということです。

type 1 errorが起きうるということを念頭に置いておきましょう。

 

 

簡単すぎない?

そんな難しくないですよね。

医学論文を書いたり読んだりする上で、最低限これだけ知っておけば大丈夫だと思います。

 

ただ、Multiple testingについては突き詰めると深いです。

興味ある方は是非理論から学ぶことをおすすめします。。。

 

そもそもmultiple testingという問題を知らない人が多すぎることが問題なのです。

 

 

結論

複数の統計検定をしていたらmultiple testingが問題となる。

補正法はBonferroni adjustmentとFDRを覚えておけばよい。

ではまた。

-疫学・臨床研究

Copyright© Riklog , 2021 All Rights Reserved Powered by AFFINGER5.