
多変量回帰における多重検定とsimultaneous confidence bands
今週のTXP勉強会は多重検定の話。
仮説がいくつもある状況、例えばアウトカムがいくつもあるとか、そういう場合において多重検定の補正をしないといけないんじゃないの?的な話はよくあると思います。
1. αエラーとβエラー
このnoteをわざわざ読みにくる人にとっては今更でしょうが、いわゆるtype I/II (α/β)errorの話。差の検定を例としてあげると、
・Type I error (α error):本当は差がないデータの平均同士で「差がある」と誤って判定すること、いわゆる「あわてん坊のα」ですね
・Type II error (β error):本当は差があるデータの平均同士で「差がない」と誤って判定すること
基本的にはα errorを小さく・power (1 - β error)を大きくし、「誤って正とする」を減らし、「正を確実に正とする」と言えるようにする。
大事なのは a priori(研究を始める前に)仮説を一つだけに定めておけばいいわけで、臨床研究のRCTで強く求められる部分です。
2. HARKing
一番の問題は、沢山の仮説を同時にテストし、a posteriori(研究を始めた後)にp値を元に探索すること。真実じゃないかもしれないのに「これが有意だから、こういう仮説が成り立つのではないか?」という探索的な話で、すなわち「結果が判明したあとに仮説を作る」:HARKing(hypothesizing after the results are known)という研究上好ましくない行為になります。
特にclaims dataに代表されるビッグデータ関係だと、論文を書く上では見た目上「元々一個のexposureとアウトカムに注目していた」と言えますが、実際はそうではないことも多々あり、研究者倫理に依存しています。まあ見る人が見れば『あ、これはHARKingだな』と何となくわかることもありますが。
データベース研究者は自分がそうなっていないか一度振り返ってみてください。
3. 多変量回帰における多重検定
実は多変量回帰にも同じ問題があって、例えば年齢、性別、既往歴とかでロジスティック回帰を回して性別が有意でした、のような研究だと多重検定をしていると考えることができます。複数の変数において有意かどうかを同時に検定しているわけなので。
探索的な仮説生成研究においては、いわゆる「関連性の探索」として上記研究がよく行われています(過激な一派としては、このような研究の根絶を目指しているようですが、その辺は割愛)。そうなると確かに補正した方が良いのかもしれません。探索的研究な上に、αエラーが多くて「関連あると思ったけど違ってましたテヘペロ」みたいなのは避けたい。
因果推論ではなぜ問題にならないかというと、因果推論のフレームワークでは興味のあるexposureは一つ、すなわちRCTと同様一つの仮説を検定しているというイメージだから。従って多重検定の補完は必要ないし、そもそもがプライマリアウトカムのために設定されているので、それが全てというわけです。
考えれば考えるほど「関連性の探索」は色々問題がありますね。
4. 多重検定の補正
よく用いられるのがBonferroni補正でしょうか。
少し専門用語を細く書いておきます。
Multiple testing:いわゆる多重検定。複数の仮説を同時に検定すること。
Marginal P value:ある一つの仮説を検定するときのp値(直感的にはRCTのプライマリアウトカムに対するP value)。Multiple testingはこのmarginal p-valueの組み合わせ。
Multiple test procedure:Bonferroniとかの補正手法
False discovery:type I errorと似たコンセプトで、rejectされた帰無仮説のうちのαエラー
False discovery rate(FDR):上記False discoveryのrate。ゲノムの世界、例えばGWASとかの大量に検定するような環境で重要(SNIPとか)。
Familywise Error Rate:複数回繰り返された検定全体において帰無仮説が棄却される可能性、すなわち多重検定において一個でもfalse rejectionを許さない、一番厳しい概念。
下記の大阪大学腎臓内科のサイトがよくまとまっています。
で、このFamiliywise Error Rate (FWE)をsignificance level α(通常0.05)で抑えたい、となった時に用いられるのがBonferroni補正とかです。一個の検定だけなら0.05としていますが、多重検定なら多重検定全体で0.05にしたい、というイメージ。
Bonferroniは一番保守的なので、testの数が多ければ多いほど厳しくなりますが、その一方でpowerが下がります。つまり正しいものを正しいと判定できなくなる。僕たちは正しいものを正しいと評価したい訳ですよね。
それでは?ということで方法としてHolm法やRomano-Wolfなどいくつかの手法が挙げられます。
ただ、実践的には結局Bonferroniになっちゃうんですよね。なぜかと言うと一番保守的な方法で「有意」だったと言えるから。有意差の魔物と言うか。ここでHolm法やRomano-Wolfなどを用いても「なんでその方法用いたの?Bonferroniだと有意じゃなかったからでしょ?」って思われるわけです。多分僕も同じ事指摘する。
5. FWEではなくFDRに注目する?
上記のようにFWEは厳しすぎるし、Powerが下がるため、ある程度α errorを許容して、Powerを維持するにはどうしたらいいか?その方法の一つが、false discovery rateを調整するという方法。これは先ほどの大阪大学のpageに説明を譲ります。
6. Simultaneous confidence bands
今回の主題ですが、普通に臨床研究やるなら知らなくても全然大丈夫です。ただ、なぜこういう概念が生み出されているかを知っておくと、多分理解を深めてくれるるかもしれません。

基本的にhypothesis testingは95%信頼区間の外はnull hypothesisが棄却される領域です。例えばregressionして、その点推定値が1.3、信頼区間が正(1.2 - 1.5)だったら、有意に正としていますよね。これはnull hypothesis=0が棄却されたと言うことになります。
この点推定値に対する信頼区間は各点に対する確率的な意味を持ちますが、そうではなく、多次元のhypothesisに対して信頼区間を構築しようというもの。ある領域を用意してあげて、その中に真の値が入る確率が95%であるような領域にしよう、多重検定全体に対する信頼区間を用いて評価しましょうと言うイメージです。
例えば二次元で身長と体重が変数とてあるなら、171-174:65-74に真の値が入るようにしようと言う感じでしょうか。どうやって求めるかはシミュレーションとかが入ってくるので割愛しますが、Sup-t bandとして下記の式からcを求めます

で、これが何で良いかというのが下記の図です。二次元で考えてみた場合、四角が広がれば広がるほどより「厳しい」一方、小さいとpowerを担保できます。下記の図だとBonferroniは黄色の点線で、通常のPointwiseだと緑線(普通に回帰とかして求めた信頼区間は大体これ)、そしてその間に今回のSup-t(Simaltaneous confidence band)が入るため、保守的になりすぎず、Powerを保ったまま評価できますよ、という話です。残念ながらパッケージが多分まだないので手を動かすには自分でやらないといけないのですが。

多変量回帰でこの変数があーだこーだ言うのは、多重検定の問題を無視したpointwiseになっているという点が問題なのですが、そこをボンフェローニだけで見ちゃうとp値しか見なくなってしまうわけです。
こう見ると全部このようにSup-tにすればいいのではないかと思うかもしれませんが、変数全部の95%CIをカバーしておきたいかどうか?そもそもカバーできてなくても問題ないのでは?という意見もあります。
繰り返しますが、因果推論においてexposureが一つならこの問題は考える必要はありません。ただ、なんとなく関連性の研究をしているのであればこういう一連の流れを知っておいて損はないと思います、というのが今回の趣旨になります。
7. (補足)Heterogeneous Treatment Effectとの関連
実際の臨床研究で上記を用いることはまずないと思うのですが、Heterogeneous Treatment Effect (HTE)とかだと沢山因果効果を見ていくので、もしかしたらSup-Tのような概念が使えるかもしれません。
ただそもそもHTEはパワー不足に悩んでいて、まだ補正するかどうかという話にもなってないのではないか?と。そしてHTEにおけるLeafから個人Xの情報を入れた所謂Individual Treatment Effectに向かうとなるとまた話が変わってくるのではないかといった議論がありました。
8. (補足)ベイズとの関連
そもそも多重比較という考え方自体が頻度主義論に内包される問題というのは以前から指定されています。これはTJOさんのブログに書かれており、津川先生も似たような事を以前呟かれていました。僕は正直詳しくないので、どなたか詳しい方がいたら教えて欲しいです。
そもそも多重比較という考え方が頻度主義的な点推定に拠った考え方であり、点推定である以上は何かしらの偏りを持ってしまう可能性が否定できない。故に、ベイジアン的枠組みによって「分布」の情報を推定することでパラメータの信頼性に関わる情報をもっと増やすべきだ
「Bonferroniなどの多重比較の補正は役に立たない。P値は補正してくれるがpoint estimateは変わらず、それは間違っている可能性が高いからである。」
「サンプルサイズが小さくて95%信頼区間が広い研究結果を信じるのは危険だ。推定値が間違っているだけでなく、関係の方向性自体が間違っている可能性がある。それを信じると真逆のことをやってしまうかもしれない。」
「全ての研究はメタアナリシスの一部分であるという認識を持って行われるべきである。ベイズ統計がやっているのはある意味これに近い。他の人が自分の研究を後で再現すると分かるだけでも研究者の結果に対する自信の強さが変わってくるだろう。」
「Bonferroniなどの多重比較の補正は役に立たない。P値は補正してくれるがpoint estimateは変わらず、それは間違っている可能性が高いからである。」
— 津川 友介 (@TsugawaYusuke) March 2, 2017