多変量解析は「交絡因子」を余すことなく調整することが大前提です。
それができれば、例えば観察研究のデータから因果関係を言及することができます。
しかし、「調整しすぎてはいけない」と、まことしやかに言われた/習ったことはないでしょうか?
実にその通りで、それはサンプル数が多くてoverfitにならない状況でも問題になります。
そして解決策があるのです。
この記事では、そんな「調整しすぎの問題」を解説していきます。
Contents
多変量解析:「調整しすぎ」の問題とその解決策
歯磨きと心筋梗塞の因果関係を調べる研究を考えます。
想定通り、歯磨きしない人は心筋梗塞になるリスクが高く、相関関係がありました。
でもこれは「歯磨きの影響」なのかは、謎ですよね。
たくさん交絡因子があるからです。
*交絡因子の基本はこちら
そこで、多変量解析を試みます。
大きなデータベースなので、overfit(詳細こちら)を気にせず、たくさんの因子で調整できます。
高血圧、糖尿病、脂質異常症、年齢、性別、肥満、・・・
どれも比較的強い交絡因子なので、調整するのは妥当ですね。
*調整因子の決め方はこちら
結果なんと、、、
歯磨きしない人が心筋梗塞になるリスクが低い
という結果になり驚愕!!!
これが今回解説したい「調整しすぎの問題」です。
原因、解決策を思い浮かぶでしょうか??
「複数の同方向の強い交絡因子」が問題
具体的に考えてみましょう。
高血圧がある人は歯磨きしない人が多く、心筋梗塞のリスクも高まる。
これを「高血圧はpositively confounded」とかいうのですが、用語よりもその結果が大事。
つまり、高血圧を調整することで、歯磨き-心筋梗塞の関連性は弱まる方向に動きますね。
今回のシナリオでは、
糖尿病もpositively confounded
脂質異常症もpositively confounded
年齢もpositively confounded
・・・
ということで、たくさんの因子が「それを調整することで関連性が弱まる方向に動く」ものと言えます。
これが問題なのです。
え、交絡因子なんだから調整した方が正しいんで無いの?
と思ったあなた。
この先、読む価値ありです。
調整の「仕方」に問題がある
こう考えてみましょう。
・糖尿病を調整することで、Aという値だけ関連性が弱まった
・高血圧を調整することで、Bだけ関連性が弱まった
・脂質異常症を調整することで、Cだけ関連性が弱まった
逆に考えると、この3つの病気が全てある人はA+B+Cだけ関連性が強い結果となるわけです。
が、それは正しいのでしょうか??
違います!
こうも単純に「additive」にリスクが高まるなら、リスクが多い人はとんでもなくhigh riskになってしまいます。
常識的に、リスク因子が複数あったとして、高まるリスクには上限があります。
つまり、実際はA+B+C–αであり、上のモデルでは「–α」を考えていないのです!
では「–α」をモデルするには、どうしたらよいのでしょうか?
Interaction termなのです。
*Interactionの徹底解説はこちら
たくさん交絡因子がある時はInteraction termを入れないと結果がバイアスされる
*ここでのバイアスとは統計用語で、「estimateが真の値から離れる」という意味です。
疫学用語のバイアスとは異なります。
Logistic regressionで、
心筋梗塞リスク=intercept + 歯磨き + 糖尿病 + 高血圧 + 脂質異常症
とモデルしては、上述した問題が生じます。
これを解決するには、例えば「糖尿病*高血圧」というinteraction termを入れます。
心筋梗塞リスク=intercept + 歯磨き + 糖尿病 + 高血圧 + 脂質異常症 + 糖尿病*高血圧
すると、interaction termのcoefficientはマイナスとなり、それが上記の「–α」となるのです。
簡単ですね。
極論を言えばInteraction termなしのモデルは須く間違っているのですが、交絡因子の程度が弱ければ、そこまで問題にはなりません。
今回のように交絡因子が強いかつ同方向の場合、かなり大きな問題となってしまうのです。
・・・・
しかし衝撃の事実。
解決策がわかったところで、実は問題解決していないのです・・・
なんのinteraction termを入れればよいか、誰にもわからない
こんな根本的な問題があるのです。
サンプルサイズが大きいとはいっても、入れられる変数の数はある程度限られているはず。
では、なんのinteraction termをいれますか?
交絡因子がp個あるとして、
「糖尿病*高血圧」といった2種類の組み合わせはpC2あります。
さらに、「糖尿病*高血圧*脂質異常症*…」といった、3つ以上のinteraction termも存在します。
こんな広い選択肢の中から、knowledgeベースで選択することは不可能です。
*ですので、ほとんどの疫学研究では、よっぽど報告されているinteraction term以外は無視されているのです。
でも、それは誤っている可能性が高い。
そういう意味で、data drivenな交絡因子の調整=機械学習を使う方法の方が、より正確なestimateを算出できます。
そして、これは別に難しい論理は何も必要なく、行うことは簡単です。
が、疫学の研究者には一般的でないので、やっても受け入れてもらえないことでしょう・・・・
結論
「調整しすぎ」は、本来のEstimateから逆方向の関連性の結果となりうる。
これは、「複数の同方向の強い交絡因子」を調整していることによる。
Interaction termを適切に調整できればこの問題は解決するが、適切なInteraction termを選択することは困難。
ではまた。