読者です 読者をやめる 読者になる 読者になる

Unboundedly

日々大学院で学んだこと、考えたことを更新

【点と矢印で因果関係を考える】データからニセモノの関連が生じるパターンとその対策まとめ:因果ダイアグラム(DAG)によるバイアスの視覚的整理

DAGシリーズの(とりあえず)最終回です。よく「因果関係と相関関係は違う」*1といいますが、具体的にどのような場合に両者が一致しない(バイアスが生じる)のかをDAGをつかって整理します(簡単にそれぞれのバイアスへの対応策にも言及しますが、各手法の詳細は別の機会に譲ります)。

シリーズ第一回第二回では、DAGを使う意義やその書き方・読み方のルールについて書いてきましたが、実はこれらはすべて今回の第三回につなげるための伏線でした。本記事はDAGに関する基礎知識を前提として書き進めていくので、不安な方は過去記事を参照してみてください。基本的な内容ではありますが、介入効果の評価などデータを扱って因果関係を考えていくうえで避けては通れない非常に重要な内容だと思うので、気合いをいれてまとめてみます。

f:id:KRSK_phs:20170319221319j:plain

まずは用語の定義

改めて使っている言葉の定義を少しだけしておきます。

「XとYの間に関連(Association)がある」

→Xの値によってYの値が異なる状態
(例:睡眠時間(X)が長い人の方が年収(Y)が高い)

「XとYの間に因果関係(Causal Relationship)がある」

→Xの値を操作することでYの値が変化する状態*2*3

(例:睡眠時間(X)を増やすことで年収(Y)が高くなる

実際にデータから見ることができるのは基本的に関連(Association)だけになります。上記の例でいうと、睡眠時間(X)が5時間の集団と6時間の集団の年収(Y)を比較することで「睡眠時間が一時間長いと年収が〇〇万円高い(または低い)」といった情報をデータから引き出すことができるのです。当然ですが、これは関連であって因果関係ではありませんから、「睡眠時間を一時間増やせば年収が〇〇万円変わる」とは必ずしも言えません。

因果推論の目的は、「関連」と「因果関係」の差(バイアス)ができるだけ小さくすることで、データから観察可能な「関連」から実際の介入や対策(”アクション”)につなげられるような「因果関係」に関する情報を引き出すことであるといえます。

言い換えるとバイアスがあるということは、①因果関係がないのに関連があると言ってしまう、または②真の因果関係よりも過大に(あるいは過少に)関連を見積もってしまうことにつながります*4。このようなバイアスがなにから生じるのか、どうすればバイアスを除去してデータから観察可能な「関連」を「因果関係」に近づけることができるのかを以下でまとめていきます。

ニセの関連が生じるパターン1:交絡 

古典的な交絡の定義

最もよくあるバイアスの原因は交絡(confounding)と呼ばれるものです。一般的には以下のように定義される第三の要因、交絡”因子”(confounder)の存在が引き起こすバイアスと知られています。XがYに与える因果的な影響に興味があるとした場合、

交絡因子:以下の三つの条件を満たす変数Z
1. Xと関連がある(Association between X and Z)
2. Yと関連がある(Association between Y and Z)
3. Xによって引き起こされる結果ではない (Not a downstream consequence of X)*5

この交絡因子の定義は様々な分野で長く使われてきましたが、実はこの定義だとうまく交絡の説明をできない場合があることが分かってきました。DAGをつかって交絡という現象を整理することで視覚的に交絡因子を見つけることができるだけでなく、交絡因子の定義を拡張し、上記の問題を克服することができます。

 DAGによる交絡の整理と交絡”因子”の再定義

交絡はDAGにおける共通原因による裏口経路(Backdoor path)(過去記事:「読み方2」参照)によるバイアスとして整理することができます。共通原因の存在によってbackdoor pathが開いている(Associationが生じている)場合を「交絡がある」と定義します。そして、上記のように定義された交絡を除去するのに使用できる第三の要因のことを交絡”因子”と定義します。まだ上記の古典的な交絡の定義との違いがいまいちピンとこないかもしれませんが、例をつかって考えてみましょう。

まずは以下の三つのDAGを考えてみます。

f:id:KRSK_phs:20170320012009p:plainf:id:KRSK_phs:20170320013301p:plainf:id:KRSK_phs:20170320015346p:plain

例1は最もシンプルなパターンです。ZはXとYの共通原因ですからDAGのルールにのっとると、XとYの間にbackdoor pathが開いています。つまりXとYの間にはAssociationが存在するのですが、XからYに直接伸びる矢印はないので因果関係はありません。因果関係がないのに関連が見られる、「交絡バイアス」の最もシンプルな例です。この場合、Zを条件づけることでbackdoor pathを閉じる(過去記事:「読み方4」参照)ことができ、交絡バイアスを防ぐことができます。新しい交絡因子の定義によれば、Zは交絡因子であるということができます。古典的な定義ではどうでしょう?ZはX、Yと関連していて、Xの結果でもありません。つまり古典的な定義に基づいてもZは交絡因子であるといえます。

*補足*
backdoor pathなどのDAG用語では納得いかない人は、理屈で考えてもよいかもしれません。例えば、Xが毛髪量、Yが年収、Zが年齢の場合を考えます。年齢が高いほど毛髪量は少なく(Z-X関係)、年齢が高いほど年収が高い(Z-Y関係)けれども、毛髪量を変えること自体は年収を左右しない(XとYに因果関係なし)としましょう。年収が高い人を見ると年齢が高い人が多く年齢が高い人には毛髪量が少ない人が多い一方、年収が低い人は若い人が多く、若い人には毛髪量が多い人が多いといえます(Y-Z-Xのbackdoor path)。つまり、毛髪量と年収の間に関連が見られる(毛髪量が多い人ほど年収が高い)わけです。

例2、例3も同様です。今度は新たに未測定の要因Uが登場しています。UはXとYの共通原因ですのでbackdoor pathが開いていて、(因果関係がないのにも関わらず)XとYの間にAssociationが存在しています。つまり交絡バイアスが生じています。Uは未測定なので直接条件づけることはできませんが、Zという別の要因を条件づけてあげることでbackdoor pathを閉じることができます。新たな定義に基づけば、Zは交絡因子になります。古典的な定義でも、三つの条件がそろっていてZが交絡因子になっていることがわかります。

つまり上記の三つでは、古典的な交絡因子の定義を使っても、DAGによる構造的な交絡因子の定義を使っても同じ結論にいたります。では、なぜわざわざ再定義をしたのか。次の例を考えてみましょう。

f:id:KRSK_phs:20170320021810p:plain

一見すると、ZがXとYの共通原因になっているようにも見えます。しかし、ZはU1とU2の共通効果(collider)となっているため、backdoor pathがZでブロックされており、交絡バイアスは存在しません(過去記事:「読み方3」参照)

古典的な交絡の定義で考えるとどうでしょうか。ZはXと関連(共通原因U1によるbackdoor path)、Yと関連(共通原因U2によるbackdoor path)していて、Xの結果ではありません。したがって、古典的定義に基づくとZは交絡因子となり調整(条件付け)すべき要因として考えられます。

Zを条件づけると、なにがおきるでしょうか。ZはU1とU2の共通効果(collider)であるためZを条件づけると、せっかく閉じていたbackdoor pathが開いてしまうことになります(過去記事:「読み方4」参照)。つまり、Zを条件づけるとXとYの間に偽の関連が生まれてしまうということです。このような場合では、古典的な交絡因子の定義ではなく、きちんと各領域の専門知識に基づきDAGを書いてBackdoor pathを確認したうえで交絡因子を特定しなければ、誤った結論を導いてしまうのです。

交絡によるバイアスを除去する方法

交絡によるバイアスがあると、データから観測される関連(Association)が因果関係から乖離していきます。したがって、因果関係を正しく推定するためには交絡によるバイアスを適切な手法で除去していく必要があります。交絡バイアスの処理は因果推論の肝とも言え、巷にある「因果推論」は交絡バイアスに関する議論がほとんどであるような印象さえ受けます*6

では、どのようにして交絡バイアスを除去すればよいのでしょうか。交絡バイアスに対処する方法として、これまでに多くのテクニックが提唱されてきました。各手法の理論的背景や使い方などは別の機会に譲りますが、今回はこれらの手法を因果推論の考え方から大きく2つ(さらに細かく3つ)に分類し、解釈や前提条件などを整理してみようと思います。

1. 全ての交絡因子が測定されているという前提に基づく分析

ほとんどの観察データを用いた因果推論を目的とする分析がこの分類に当てはまります。XがYに与える因果的な影響を推論するのが目的とした分析では基本的に、

その領域の専門知識(subject-matter knowledge)に基づいて、XとYに関係する全ての交絡因子を列挙し、かつそれら全ての交絡因子のデータが収集され手元にある

という強烈な前提条件が成立していることを仮定しています。(Conditional )Exchangeabilityと呼ばれる条件を整えることで因果推論が可能になるのですが、そのための前提だと思ってください。この前提が成り立つならば、以下にある手法を用いることで交絡によるバイアスを完全に除去し、(その他のバイアスがない場合は)観察可能な関連(Association)を因果関係であると解釈することができるのです。

*補足*
この前提はあまりに強すぎるのではと思う方もいるかもしれません。現実的には、我々は注目しているX、Yに関係するあらゆる現象を把握している神様ではありませんので、すべての交絡因子を特定することはほぼ不可能だと言えます。また、交絡因子であるとわかっていても(金銭的・倫理的な理由などにより)それらのデータが確保できない場合も多いと思います。要するにこの前提が完璧に成立することは難しく、必ずと言っていいほど未測定の交絡因子が存在することになります。未測定の交絡因子が存在するということは、多かれ少なかれバイアスが残り、データから観察可能な関連が因果効果と異なるという状況が生まれます。問題は、未測定の交絡因子によるバイアスがどの程度の大きさなのかということです。実は交絡バイアスはある程度、その向きや大きさ(magnitude)に予想をつけることができます。その考え方を応用したのが感度分析と呼ばれるテクニックです。感度分析では、未測定の交絡因子によるバイアスがどの程度であるのかを予想したり、逆に観察されている関連がすべてバイアスによって説明されるためにはどの程度強力な交絡が未測定の因子によって引き起こされなければいけないかを逆算することで結果の頑健性を示します。例えば未測定の交絡によるバイアスが非常に小さいと考えられる場合は、観察されるAssociationは真の因果効果とは異なるけれども、その差は小さいのであまり気にせずAssociationをおおよその因果効果の目安として解釈することができるなどと応用することができます。

1.1 「条件付け」によって因果関係を推定する手法

観察される関連(Association)を因果関係に近づけるためには、交絡によって開いているbackdoor pathを閉じる必要があります。「全ての交絡因子が測定されている」と仮定した場合、DAGのルールに従ってこれらの交絡因子の周りを”四角で囲う”、つまり条件付けを行うことで共通原因による全てのbackdoor pathを閉じることができます(過去記事:「読み方4」参照)。この条件付け後に観察されるAssociationはbackdoor pathが存在しないため、(交絡以外のバイアスが存在しない場合)因果関係とみなすことができます

f:id:KRSK_phs:20170123141447p:plain

このような「条件づけ」による交絡バイアスの調整を行うための手法として知られているものに、回帰分析(Regression)、層別分析(Stratification)、対象者の限定(Limitation)、傾向スコア(Propensity Score)を含んだ回帰分析など(加えて、疫学の分野で最近提唱された手法としてg-estimationによるstructural nested modelというものも)あります。

「条件づけ」の直感的なイメージは、交絡因子のレベルごとに対象集団を小分けして、それぞれの小集団に対して分析を行うということです。例えば、交絡因子が「性別(男 or 女)」だとすると「性別で条件づける」とは、解析を男性の集団と女性の集団それぞれに対して別々に行うということです。交絡因子が複数ある場合は、各交絡因子のレベルの組み合わせ(例えば「性別」と「人種(簡単のため、白人 or 有色人種)」の場合、「男、白人」「男、有色人種」「女、白人」「女、有色人種」の四パターン)ごとに解析を行います。

「条件付け」が正しく行われた場合、小分けされた各小集団のなかでの因果関係を正しく推定することができます。(Conditional Exchangeabilityという条件が成立しているため)。「性別」が交絡因子であった例だと、男性集団における因果効果、女性集団における因果効果それぞれをバイアスなく推定できるということです。因果関係が条件付き(conditional on confounders)であることがポイントです。これはもともとの集団全体(男女合わせた集団)における(marginal)因果関係とは区別する必要があります。

この時に注意しないといけないのは、交絡因子のレベルによって注目している要因の因果効果が同じであるかどうかという点です。最もシンプルなパターンは、男性における因果効果と女性における因果効果がドンピシャで一致する場合です。この場合は、男女合わせた集団全体における因果効果も同じになります。しかし、そのようなケースは実際にはごくまれでしょう。多くの場合で、因果効果の大きさは交絡因子のレベル(男性と女性)によって異なります

回帰分析を使って条件付けによる交絡調整を行う場合などでは、「因果効果が同一でない(heterogeneous effect)」可能性を適切に考慮しないと因果効果を正しく推定できません。例えばある治療Aの疾病Dリスクに与える効果が男女によって異なるとした場合、その情報を回帰モデルに含める必要があります。具体的には回帰モデルにAと性別の交互作用を含めます。「条件付け」による交絡調整は「すべての交絡因子が測定されている」でなく、交絡因子と治療Aの間の交互作用がすべて正しく考慮されている」ことも因果効果をバイアスなく推定するための前提条件になる場合がある(回帰分析など)ということです。

1.2 集団全体における(marginal)因果関係を直接推定する手法

「条件付け」がDAG上の交絡因子を四角で囲んでいたのに対して、DAG上の交絡因子から伸びる矢印を消去することでbackdoor pathを閉じてしまう交絡バイアスの調整方法もあります。矢印がないのであれば、そもそもbackdoor pathは存在しませんし、association = causal effectになります。(もちろん描いているDAGが完璧である、すなわち「全ての交絡因子が測定されている」ことが前提)

このような手法に標準化(Standardization), 逆確率重みづけ(Inverse Probability Weighting: IPW)を用いたMarginal Structural Model(なお、傾向スコアの逆数による重みづけはこれの最も単純な例になります)などがあります。

これらの手法によって推定される因果効果は、条件付き(conditional)ではなく集団全体における(marginal)推定値であるというのが先ほどまでとの違いです。したがって、条件付けによる交絡調整と違って交絡因子による交互作用に関する仮定を置く必要がないのが特徴です。*7

*補足*
なお、個人的にこのカテゴリに入れるべきか微妙だなと思っているのが傾向スコアマッチングです。完璧なマッチングがなされている場合は「条件付け」による調整は不要であり、マッチ後の集団におけるMarginal因果効果がバイアスなく推定できます。しかしマッチングの過程でペアの見つからなかった人たちは解析対象から抜けていくため、最終的にマッチングによって得られる集団はもともとの集団とは異なる人々の集まりであることに注意が必要です。要するに、マッチング前のデータ全体とは異なる集団に対して因果効果を推定していることになります。

2. 未知・未測定の交絡因子があっても使用可能な分析

さて、前述の通り「全ての交絡因子を特定&測定」という強烈な前提条件が完璧に成立することはまったく非現実的であるといえます。このように成立し得ない条件を前提として因果推論を行うことに我慢ならない人も少なからずいます。特に経済学者は未測定の交絡の存在(そしてそれによって起きるバイアス)を毛気嫌いしているような印象さえあります。*8

実は「未知の交絡因子、未測定の交絡因子」があっても正しく因果効果を推定できる夢のような方法もいくつか存在します。最も理想的なのはランダム化と呼ばれる方法です。そのほか、経済学で主に使われる操作変数法(Instrumental variable: IV)や回帰分断デザイン(Regression Discontinuity Design)などもこのカテゴリに入ると思います。

なぜこれらの素晴らしい手法があるにもかかわらず、わざわざ強い前提をおいてDAGを書いて因果推論を行う必要があるのでしょうか。主に三つの理由があると思います。

理由1.適用可能な状況が限られている
ランダム化は倫理的・経済的な理由などからできない場合が多くあります。また、操作変数法も適切な「操作変数」呼ばれるものが見つからなければ使うことすらできません。回帰分断デザインも同様で、因果効果を知りたい治療(X)の有無を恣意的に決めるカットオフのようなものが存在しなければ使用できません。
理由2.「全ての交絡因子を観察」に代わる前提条件
操作変数法や回帰分断デザインは未測定の交絡の存在を許す一方、別の強い前提状況をおきます。各前提の詳細な内容はここでは書きませんが、例えば操作変数法では操作変数の定義自体がかなり条件の強いものになっていますし、因果効果を推定するためにはその以外にも前提条件が成立することが必要になります。せっかく前提条件を弱めたのに別の条件に縛られてしまうわけです。どちらの前提が妥当と考えるかはケースバイケースだと思います。
理由3.限定的な集団における因果推論
操作変数法や回帰分断デザインによって推定された因果効果は、分析対象の集団全体ではなく、一部のある特定の特徴を持った集団における因果効果と解釈することができます。部分的な集団なので、Local Average Causal Effectなどと呼ばれます。問題は、この部分集団における因果効果に分析者が興味があるのか、ということです。因果推論を行う動機の一つは、データが収集された集団(population)に対して介入を行ったときにどのくらいアウトカムを変えることができるかを知ることだと思います。この部分集団での因果効果が集団全体(あるいはそのほか明確な要因によって規定される小集団)における因果効果と一致しない場合は、得られた推定値の解釈に困ってしまいます。

以上三つの理由から、個人的には
①これらの未測定交絡因子を許す手法が使えるような場合は使うべき
②しかし、これらを扱えるリサーチ・クエスチョンや場面は限られているので、使えない場合は「全ての交絡因子を測定」の前提のもと因果効果を考えていく

というスタンスが良いのではないでしょうか。

「未測定の交絡があるから因果推論として誤っている!」と主張するのはあまり生産的でないと思います(私見)

ニセの関連が生じるパターン2:選択バイアス

選択バイアスの定義

交絡の陰に隠れて、意外と見過ごされがちなのが選択バイアス(Selection bias)です。*9実のところ、選択バイアスは因果推論を目的としたデータ分析を行ううえで常に起こりうるもので、データから観察されるAssociationを真の因果関係に近づけるためにも適切な方法でもって対処する必要があります。

選択バイアスは、「共通効果の条件づけ」によって起きるバイアスのことを指します。下の二つのDAGのうち、左のDAG上ではXとYの共通効果Z(Collider)でXとYの間のAssociationがブロックされています。XとYの間に矢印が存在しませんから、両者の間に因果関係は存在しませんし、Associationも存在しません。逆に右のDAGのように共通効果Zを条件付け(四角で囲う)をすると、ブロックされていたpathが開きXとYの間にAssociationが生まれます(過去記事:「読み方4」参照)。因果関係がないのにAssociationがあることになるので、この関連はニセモノであるといえます。

f:id:KRSK_phs:20170125023018p:plainf:id:KRSK_phs:20170125023033p:plain

このように、共通効果の条件付けによってバイアスが生じるケースを一般的に選択バイアスと定義します*10。選択バイアスが起きる具体例をいくつか考えてみます。

*補足*
しばしば、偏った集団を対象に分析を行っているものを一括りに「選択バイアス」があると呼んでいるケースを目にします。しかし、いわゆる一般化可能性(例:20代の集団のデータから得られた結果を、一般の成人に当てはめることができるか?)の問題と上記のように定義された選択バイアスとは意味合いが違います。どちらに当てはまるかを考え、区別する必要があるかと思います。

例1:追跡調査の失敗(loss to follow up)

ある集団においてベースライン(最初の調査)で測定した要因や行った治療(投薬など)が将来のアウトカムにどのように影響を与えるかを調べるために、追跡調査(例えば数年後にもう一度調査を行うなど)を行うことは頻繁にあります。しかし、ベースラインで調査を行った人たち全員を追跡し続けることは現実的ではありません。実際には決められた調査機関の間に、調査から離脱する(引っ越しや面倒くさくなって参加しないなど)する人が少なからず存在します。このように対象者がデータがいなくなってしまうことをcensoring(打ち切り)と読んだりするので、以下のDAGではこれを”C”として表現しています。いま、がんに対する化学療法(X)が五年後の生存率(Y)に与える因果効果を推定したいとしましょう。

f:id:KRSK_phs:20170322152306p:plain

Lは痛みの強さ、Uは未測定の要因で「がんの進行度合い」としましょう。化学療法Xを受けた人の一部は吐き気などの副作用に苦しみ、途中でギブアップして治療にこなくなるかもしれません(X→C)。強い痛みを感じている人も同じように治療にこなくなるかもしれません(L→C)。がんの進行が進むと、痛みが強くなり、五年後までに死亡するリスクも高くなります(U→L, U→Y)。

実際にデータを分析するときのことをイメージするとわかりやすいのですが、今興味のある因果効果を推定するためには、化学療法をうけた人たちと受けていない人たちで五年後の生存率を比較する必要があります。ところが、途中で調査から抜けた人(Censoringがおきた人)は五年後の死亡に関するデータがないため、分析に含めることができず、Censoringがなかった人のみを対象に分析します。これは、Censoringのレベルによって条件付けを行った分析をしていると考えることができます(上記の交絡の条件付けに関する説明を参照ください)

CはXとLの共通効果なので、条件付けをおこなうとCでブロックされていた関連のpathが開くことになります。結果、XとYの間にbackdoor pathが開きバイアスが生じます。上記のDAGでは、本当はXとYの間に因果関係がない(矢印がない)にもかかわらず選択バイアスによってAssociationが存在しています。

例2:欠損のあるデータ(missing data)

データの欠損(値が測定されていないこと)も、データ分析において日常的に起きることだと思います。現在の肥満(BMI)Xが将来の糖尿病リスクYに与える因果効果を推定するとしましょう。

f:id:KRSK_phs:20170322154316p:plain

Lは食生活、Uは糖尿病の家族歴としましょう。現在肥満な人は、体重を教えるのがいやなので調査票の体重の項目を無記入にする(つまり欠損)かもしれません(X→C)。同じように食生活が乱れている人は、自分が太ったと思って体重の項目を無記入にするかもしれません(L→C)。糖尿病の家族歴がある人は、自身の健康に気を付けて食生活を変えるかもしれませんし(U→L)、将来の糖尿病リスクも高いでしょう(U→Y)。

例1と同じように、XとYを比較する分析を行う際にCを条件づけることになります。例1と全く同じ構造のDAGですから、同様に共通効果の条件付けによってXとYの間にBackdoor pathが開きます(選択バイアス)

例3:対象者の自己選択(self-selection)

f:id:KRSK_phs:20170322155510p:plain

そもそも調査への参加の有無をCと見ることもできます。調査に参加していない人はデータにならないので、参加者のみが分析対象になります(”Cの条件付け”)。Yが健康に関連するアウトカムの場合、Uの例として「健康意識」のようなものが考えられます。要は、健康に対する意識の高い人は健康に関する調査に進んで参加するかもしれない(U→C)と同時に、普段から健康な生活を心がけているので健康アウトカムにも影響します(U→Y)。

これも同様の構造ですので、共通効果Cの条件付けにより選択バイアスが生じます

選択バイアスの対処法

選択バイアスは交絡と同様に頻繁に起こりうるバイアスなのですが、その対策法は交絡ほど多くありません(少なくとも私が知る限り)。二つだけ例をあげます。

IPW法または標準化

交絡の調整法として上にでてきた、IPWや標準化を用いて選択バイアスに対処することができます。これら二つはMarginalな因果効果を推定する方法であり、DAG上では矢印を消去することで交絡に対応していました。これを応用して、選択バイアスを引き起こしている矢印を消去することで選択バイアスに対応することができます

重要なのは前提条件です。どのようなときに、これらの手法は選択バイアスを除去してくれるのでしょうか。交絡バイアスの調整のときに「全ての交絡因子を測定」という仮定を置きましたが、選択バイアスへの対応の場合も同様に「全ての選択バイアスを引き起こしている要因を測定」していることが条件になります。上記の三つの例だと要因Lに相当するものがもれなく測定できている(Lの値は標準化やIPWの過程で使います)ことが選択バイアス調整のために必要です。

多重補完法(Multiple Imputation)

欠損値による選択バイアスが問題の場合は多重補完法と呼ばれる手法も使うことができます。特定のアルゴリズムによって、欠損値にもっともらしい値をあてはめることによって欠損のないデータセットを作り出す方法です。どうやって補完する値を求めるのかは煩雑なので省略しますが、欠損のないデータセットを複数作り出し、それぞれを別に分析した結果を最終的に併合するのが多重補完法です。

多重補完法では何が要因Lにあたるのかなどを考える必要がない一方、欠損が発生するメカニズムに一定の仮定を置いています。欠損が発生している要因のレベルによって欠損の有無が左右されていると考えられる場合は、多重補完法は使えません。例えば、年収のようなものの場合、年収が低いひとのほうが高い人よりも欠損の確率が高い(言いたくないから)かもしれませんが、このような場合は多重補完法が使えないということです。

ニセの関連が生じるパターン3:逆因果

因果関係の方向が逆なパターンです。例えば一週間の運動時間(X)と体重(Y)を考えてみましょう。データを見てみると一週間の運動時間が長い人ほど体重が重いことがわかりました(Association)。

この結果をもって「運動時間を増やすと体重が増える(X→Y)」と結論づけることができるでしょうか?

答えは否。実際には「太っている人は(ダイエットをしないといけないと思うので)運動時間を長くする(Y→X)」という因果関係でした。

f:id:KRSK_phs:20170123135812p:plain

このようにXとYの間の時間的な順番を無視すると、誤った因果推論をしてしまうことになります。

対策としてはXとYを複数時点で測定し、前の時点の影響を調整することで純粋なX→Yの因果関係を推定することができます。ただし、実はこの方法は時間依存性交絡というひじょーーーにややこしい問題が絡んできたりもするので注意が必要です。*11

ニセの関連が生じるパターン4:偶然

まったく因果関係が存在しない場合でも単なる偶然で関連が生まれるときがあります。仮想的なシチュエーションを考えてみます。男性100人のグループと女性100人のグループに分かれて、サイコロを振ったとしましょう。偶数がでれば1ポイント、奇数がでれば0ポイントとして、全員がサイコロを振り終わった後の総合ポイントを男女で競います。

当然ですが、サイコロの目の出方と性別に関係はありません。男性のほうが偶数が出やすいとかないですよね。なので当たり前ですが、男性と女性の総合ポイントは平均的に同じになるはずです(期待値が同じ)。

ですが、たまたま女性のほうが偶数を出す人がたくさんいて、総合ポイントで男性を上回ることもあります。この結果をもって、「性別によって偶数の出た回数が違うのだから、性別とサイコロの目の出方には因果関係(女性のほうが偶数がでやすい)があるはず!」といえるでしょうか?言えません。

その他因果推論に関係するもの

大変な長文になりましたが、これまで紹介したバイアス(特に交絡、選択バイアス、逆因果)は構造的バイアス(structural bias)とよばれ、因果関係の構造から生じるバイアスです。

このほかにも因果関係の正しい推定を妨げるものがあり、例えば使用しているデータの測定誤差(measurement error)の影響などがあります。XとYの中間因子を条件づけてしまうことで、XがYに与える因果効果を過少に見積もってしまうということもあります。

また、一つの分析から得られる推定結果に対するバイアスとはまた違うのですが、出版バイアスと呼ばれるものがあります。例えば、ある栄養素Xが病気Yに与える因果効果を見る研究のうち「因果効果がある」ことを示唆するものばかり研究結果として世の中に発表され、「因果効果がない」ことを示唆する分析結果は表の世界にでにくいなんてことがあるかもしれません。そうすると結果的に、(本当は因果効果がないかもしれないにも関わらず)世間の目からはXがYに効果がある!という風にしか見えませんよね。

まとめ

実際にデータ分析にかかわる人でない限りは、バイアスの対処法まで考える必要はないと思います。まずは構造的バイアスの4パターンがあるというのを頭に入れ、ちょっとDAGを書いてみてください。それだけで因果と関連を混同することが少なくなると思います。DAGを書くのにデータも統計ソフトも必要ありません。紙とペンと因果関係を考えたいテーマに関する「常識」があれば大丈夫です。

さて、ここまで本当に大量の内容を書きました。要するに因果推論をするうえで考えないといけないことが(基本的なものだけでも)これだけあるということです。いやはや因果の森は奥が深いです。しかし、そこが面白くてやりがいのあるところでもあるんですね。これからも精進を続けます。

参考資料

ハーバード大学教授Miguel Hernanらによる因果推論の教科書(無料オンライン公開中):Causal Inference Book | Miguel Hernan | Harvard T.H. Chan School of Public Health

Hernán, Miguel A., Sonia Hernández-Díaz, and James M. Robins. "A structural approach to selection bias." Epidemiology 15.5 (2004): 615-625.(選択バイアスのDAGによる整理)

http://journals.lww.com/epidem/Abstract/2004/09000/A_Structural_Approach_to_Selection_Bias.20.aspx

Pearce, Neil, and Debbie A. Lawlor. "Causal inference-so much more than statistics." International journal of epidemiology (2017).(DAGに関する解説)

https://academic.oup.com/ije/article-lookup/doi/10.1093/ije/dyw328

Krieger, Nancy, and George Davey Smith. "The tale wagged by the DAG: broadening the scope of causal inference and explanation for epidemiology." International Journal of Epidemiology (2016): dyw114.(DAGや反事実モデルの乱用によって起きうる因果推論上の問題について)

https://academic.oup.com/ije/article-abstract/doi/10.1093/ije/dyw114/2617188/The-tale-wagged-by-the-DAG-broadening-the-scope-of?redirectedFrom=fulltext

林さんのブログ(私とは違う分野ですが、ものすごく丁寧にまとめてあると感じました):因果関係がないのに相関関係があらわれる4つのケースをまとめてみたよ(質問テンプレート付き) - Take a Risk:林岳彦の研究メモ

 

*1:なお、以降では意図的に「相関関係(Correlation)」ではなく「関連(Association)」という表現にしています。

*2:因果関係のフォーマルな定義はやや込み入っているのでここでは省略します。気になる方は「反事実モデル」などでググってみてください。

*3:なお、以下では「因果関係」や「因果効果」は平均因果効果(average causal effect)という概念を指すことにします。例えば集団全体にある治療Aをほどこしたときに、アウトカムである病気Dのリスクが平均的に〇〇上がる/下がるなどといったイメージです

*4:本記事ではほとんどのDAG上で、注目している二つの要因の間に矢印がない(因果関係がない)状態を想定していますので①のケースに当てはまります。

*5:条件3は、要はDAG上でXからLに矢印が伸びていないっていうことです。

*6:実際には後述の選択バイアスやそのほかのバイアスの影響も考慮したうえで、やっと因果関係の推論が可能になりますので、交絡は重要だが因果推論の一部であるという認識が正確だと思います。

*7:これは必ずしも強みではありません。場合によっては、交互作用を見つけることが分析の目的だったりすることもありますが、この方法では見つけることができません。

*8:ちなみに経済学者は「内生性(endogeneity)」という言葉を使いますが、基本的には交絡と似たような意味だと考えてよいと思います。

*9:回帰不連続デザイン(RDD)などでも選択バイアスという言葉が使われますが、異なる意味合いの表現です

*10:分野によって呼び方は違うと思います。少なくとも疫学ではこう呼ばれます

*11:そのうち時間依存性交絡について簡単にまとめます