多変量解析:「調整しすぎ」の問題とその解決策

多変量解析は「交絡因子」を余すことなく調整することが大前提です。

それができれば、例えば観察研究のデータから因果関係を言及することができます。

しかし、「調整しすぎてはいけない」と、まことしやかに言われた/習ったことはないでしょうか?

実にその通りで、それはサンプル数が多くてoverfitにならない状況でも問題になります

そして解決策があるのです。

この記事では、そんな「調整しすぎの問題」を解説していきます。

 

 

多変量解析:「調整しすぎ」の問題とその解決策

多変量解析:「調整しすぎ」の問題とその解決策

歯磨きと心筋梗塞の因果関係を調べる研究を考えます。

想定通り、歯磨きしない人は心筋梗塞になるリスクが高く、相関関係がありました。

でもこれは「歯磨きの影響」なのかは、謎ですよね。

たくさん交絡因子があるからです。

*交絡因子の基本はこちら

 

そこで、多変量解析を試みます。

大きなデータベースなので、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を入れないと結果がバイアスされる

たくさん交絡因子がある時は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を選択することは困難。

ではまた。

-疫学・臨床研究

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