統計シェアするTwitterGoogle+PocketDAGシリーズの(とりあえず)最終回です。「因果関係と相関関係は違う」*1といいますが、具体的にどのような場合に両者が一致しない(バイアスが生じる)のかをDAGをつかって整理します(簡単にそれぞれのバイアスへの対応策にも言及しますが、各手法の詳細は別の機会に譲ります)。シリーズ第一回と第二回では、DAGを使う意義やその書き方・読み方のルールについて書いてきましたが、実はこれらはすべて今回の第三回につなげるための伏線でした。本記事はDAGに関する基礎知識を前提として書き進めていくので、不安な方は過去記事を参照してみてください。基本的な内容ではありますが、介入効果の評価などデータを扱って因果関係を考えていくうえで避けては通れない非常に重要な内容だと思うので、気合いをいれてまとめてみます。使っている言葉の定義を少しだけしておきます。→Xの値を操作することでYの値が変化する状態*2*3(例:睡眠時間(X)を増やすことで年収(Y)が高くなる)実際にデータから見ることができるのは基本的に関連(Association)だけになります。上記の例でいうと、睡眠時間(X)が5時間の集団と6時間の集団の年収(Y)を比較することで「睡眠時間が一時間長いと年収が〇〇万円高い(または低い)」といった情報をデータから引き出すことができるのです。当然ですが、これは関連であって因果関係ではありませんから、「睡眠時間を一時間増やせば年収が〇〇万円変わる」とは必ずしも言えません。因果推論の目的は、「関連」と「因果関係」の差(バイアス)ができるだけ小さくすることで、データから観察可能な「関連」から実際の介入や対策(”アクション”)につなげられるような「因果関係」に関する情報を引き出すことであるといえます。言い換えるとバイアスがあるということは、1因果関係がないのに関連があると言ってしまう、または2真の因果関係よりも過大に(あるいは過少に)関連を見積もってしまうことにつながります*4。このようなバイアスがなにから生じるのか、どうすればバイアスを除去してデータから観察可能な「関連」を「因果関係」に近づけることができるのかを以下でまとめていきます。あるバイアスの原因は交絡(confounding)と呼ばれるものです。一般的には以下のように定義される第三の要因、交絡”因子”(confounder)の存在が引き起こすバイアスと知られています。X)*5この交絡因子の定義は様々な分野で長く使われてきましたが、実はこの定義だとうまく交絡の説明をできない場合があることが分かってきました。DAGをつかって交絡という現象を整理することで視覚的に交絡因子を見つけることができるだけでなく、交絡因子の定義を拡張し、上記の問題を克服することができます。path)(過去記事:「読み方2」参照)によるバイアスとして整理することができます。pathが開いている(Associationが生じている)場合を「交絡がある」と定義します。上記のように定義された交絡を除去するのに使用できる第三の要因のことを交絡”因子”と定義します。上記の古典的な交絡の定義との違いがいまいちピンとこないかもしれませんが、例をつかって考えてみましょう。以下の三つのDAGを考えてみます。例1は最もシンプルなパターンです。pathが開いています。XとYの間にはAssociationが存在するのですが、XからYに直接伸びる矢印はないので因果関係はありません。因果関係がないのに関連が見られる、「交絡バイアス」の最もシンプルな例です。pathを閉じる(過去記事:「読み方4」参照)ことができ、交絡バイアスを防ぐことができます。新しい交絡因子の定義によれば、Zは交絡因子であるということができます。古典的な定義ではどうでしょう?ZはX、Yと関連していて、Xの結果でもありません。古典的な定義に基づいてもZは交絡因子であるといえます。pathなどのDAG用語では納得いかない人は、理屈で考えてもよいかもしれません。Xが毛髪量、Yが年収、Zが年齢の場合を考えます。年齢が高いほど毛髪量は少なく(Z-X関係)、年齢が高いほど年収が高い(Z-Y関係)けれども、毛髪量を変えること自体は年収を左右しない(XとYに因果関係なし)としましょう。毛髪量と年収の間に関連が見られる(毛髪量が多い人ほど年収が高い)わけです。例2、例3も同様です。今度は新たに未測定の要因Uが登場しています。pathが開いていて、(因果関係がないのにも関わらず)XとYの間にAssociationが存在しています。交絡バイアスが生じています。pathを閉じることができます。新たな定義に基づけば、Zは交絡因子になります。古典的な定義でも、三つの条件がそろっていてZが交絡因子になっていることがわかります。上記の三つでは、古典的な交絡因子の定義を使っても、DAGによる構造的な交絡因子の定義を使っても同じ結論にいたります。次の例を考えてみましょう。一見すると、ZがXとYの共通原因になっているようにも見えます。pathがZでブロックされており、交絡バイアスは存在しません(過去記事:「読み方3」参照)。古典的な交絡の定義で考えるとどうでしょうか。path)していて、Xの結果ではありません。したがって、古典的定義に基づくとZは交絡因子となり調整(条件付け)すべき要因として考えられます。Zを条件づけると、なにがおきるでしょうか。pathが開いてしまうことになります(過去記事:「読み方4」参照)。Zを条件づけるとXとYの間に偽の関連が生まれてしまうということです。pathを確認したうえで交絡因子を特定しなければ、誤った結論を導いてしまうのです。交絡によるバイアスがあると、データから観測される関連(Association)が因果関係から乖離していきます。したがって、因果関係を正しく推定するためには交絡によるバイアスを適切な手法で除去していく必要があります。交絡バイアスの処理は因果推論の肝とも言え、巷にある「因果推論」は交絡バイアスに関する議論がほとんどであるような印象さえ受けます*6。どのようにして交絡バイアスを除去すればよいのでしょうか。交絡バイアスに対処する方法として、これまでに多くのテクニックが提唱されてきました。各手法の理論的背景や使い方などは別の機会に譲りますが、今回はこれらの手法を因果推論の考え方から大きく2つ(さらに細かく3つ)に分類し、解釈や前提条件などを整理してみようと思います。全ての交絡因子が測定されているという前提に基づく分析ほとんどの観察データを用いた因果推論を目的とする分析がこの分類に当てはまります。knowledge)に基づいて、XとYに関係する全ての交絡因子を列挙し、かつそれら全ての交絡因子のデータが収集され手元にあるという強烈な前提条件が成立していることを仮定しています。)Exchangeabilityと呼ばれる条件を整えることで因果推論が可能になるのですが、そのための前提だと思ってください。この前提が成り立つならば、以下にある手法を用いることで交絡によるバイアスを完全に除去し、(その他のバイアスがない場合は)観察可能な関連(Association)を因果関係であると解釈することができるのです。*補足*この前提はあまりに強すぎるのではと思う方もいるかもしれません。現実的には、我々は注目しているX、Yに関係するあらゆる現象を把握している神様ではありませんので、すべての交絡因子を特定することはほぼ不可能だと言えます。交絡因子であるとわかっていても(金銭的・倫理的な理由などにより)それらのデータが確保できない場合も多いと思います。要するにこの前提が完璧に成立することは難しく、必ずと言っていいほど未測定の交絡因子が存在することになります。未測定の交絡因子が存在するということは、多かれ少なかれバイアスが残り、データから観察可能な関連が因果効果と異なるという状況が生まれます。問題は、未測定の交絡因子によるバイアスがどの程度の大きさなのかということです。実は交絡バイアスはある程度、その向きや大きさ(magnitude)に予想をつけることができます。その考え方を応用したのが感度分析と呼ばれるテクニックです。感度分析では、未測定の交絡因子によるバイアスがどの程度であるのかを予想したり、逆に観察されている関連がすべてバイアスによって説明されるためにはどの程度強力な交絡が未測定の因子によって引き起こされなければいけないかを逆算することで結果の頑健性を示します。未測定の交絡によるバイアスが非常に小さいと考えられる場合は、観察されるAssociationは真の因果効果とは異なるけれども、その差は小さいのであまり気にせずAssociationをおおよその因果効果の目安として解釈することができるなどと応用することができます。pathを閉じる必要があります。pathを閉じることができます。(過去記事:「読み方4」参照)。pathが存在しないため、(交絡以外のバイアスが存在しない場合)因果関係とみなすことができます。modelというものも)あります。「条件づけ」の直感的なイメージは、交絡因子のレベルごとに対象集団を小分けして、それぞれの小集団に対して分析を行うということです。女)」だとすると「性別で条件づける」とは、解析を男性の集団と女性の集団それぞれに対して別々に行うということです。四パターン)ごとに解析を行います。「条件付け」が正しく行われた場合、小分けされた各小集団のなかでの因果関係を正しく推定することができます。Exchangeabilityという条件が成立しているため)。おける因果効果それぞれをバイアスなく推定できるということです。confounders)であることがポイントです。これはもともとの集団全体(男女合わせた集団)における(marginal)因果関係とは区別する必要があります。この時に注意しないといけないのは、交絡因子のレベルによって注目している要因の因果効果が同じであるかどうかという点です。シンプルなパターンは、男性における因果効果と女性における因果効果がドンピシャで一致する場合です。この場合は、男女合わせた集団全体における因果効果も同じになります。そのようなケースは実際にはごくまれでしょう。多くの場合で、因果効果の大きさは交絡因子のレベル(男性と女性)によって異なります。effect)」可能性を適切に考慮しないと因果効果を正しく推定できません。ある治療Aの疾病Dリスクに与える効果が男女によって異なるとした場合、その情報を回帰モデルに含める必要があります。具体的には回帰モデルにAと性別の交互作用を含めます。「条件付け」による交絡調整は「すべての交絡因子が測定されている」でなく、「交絡因子と治療Aの間の交互作用がすべて正しく考慮されている」ことも因果効果をバイアスなく推定するための前提条件になる場合がある(回帰分析など)ということです。pathを閉じてしまう交絡バイアスの調整方法もあります。effectになります。Model(なお、傾向スコアの逆数による重みづけはこれの最も単純な例になります)などがあります。これらの手法によって推定される因果効果は、条件付き(conditional)ではなく集団全体における(marginal)推定値であるというのが先ほどまでとの違いです。したがって、条件付けによる交絡調整と違って交絡因子による交互作用に関する仮定を置く必要がないのが特徴です。*7*補足*なお、個人的にこのカテゴリに入れるべきか微妙だなと思っているのが傾向スコアマッチングです。完璧なマッチングがなされている場合は「条件付け」による調整は不要であり、マッチ後の集団におけるMarginal因果効果がバイアスなく推定できます。マッチングの過程でペアの見つからなかった人たちは解析対象から抜けていくため、最終的にマッチングによって得られる集団はもともとの集団とは異なる人々の集まりであることに注意が必要です。要するに、マッチング前のデータ全体とは異なる集団に対して因果効果を推定していることになります。未知・未測定の交絡因子があっても使用可能な分析さて、前述の通り「全ての交絡因子を特定&測定」という強烈な前提条件が完璧に成立することはまったく非現実的であるといえます。このように成立し得ない条件を前提として因果推論を行うことに我慢ならない人も少なからずいます。経済学者は未測定の交絡の存在(そしてそれによって起きるバイアス)を毛気嫌いしているような印象さえあります。*8実は「未知の交絡因子、未測定の交絡因子」があっても正しく因果効果を推定できる夢のような方法もいくつか存在します。理想的なのはランダム化と呼ばれる方法です。Design)などもこのカテゴリに入ると思います。これらの素晴らしい手法があるにもかかわらず、わざわざ強い前提をおいてDAGを書いて因果推論を行う必要があるのでしょうか。三つの理由があると思います。理由1.適用可能な状況が限られているランダム化は倫理的・経済的な理由などからできない場合が多くあります。操作変数法も適切な「操作変数」呼ばれるものが見つからなければ使うことすらできません。回帰分断デザインも同様で、因果効果を知りたい治療(X)の有無を恣意的に決めるカットオフのようなものが存在しなければ使用できません。回帰分断デザインは未測定の交絡の存在を許す一方、別の強い前提状況をおきます。各前提の詳細な内容はここでは書きませんが、例えば操作変数法では操作変数の定義自体がかなり条件の強いものになっていますし、因果効果を推定するためにはその以外にも前提条件が成立することが必要になります。前提条件を弱めたのに別の条件に縛られてしまうわけです。どちらの前提が妥当と考えるかはケースバイケースだと思います。回帰分断デザインによって推定された因果効果は、分析対象の集団全体ではなく、一部のある特定の特徴を持った集団における因果効果と解釈することができます。Effectなどと呼ばれます。問題は、この部分集団における因果効果に分析者が興味があるのか、ということです。因果推論を行う動機の一つは、データが収集された集団(population)に対して介入を行ったときにどのくらいアウトカムを変えることができるかを知ることだと思います。この部分集団での因果効果が集団全体(あるいはそのほか明確な要因によって規定される小集団)における因果効果と一致しない場合は、得られた推定値の解釈に困ってしまいます。以上三つの理由から、個人的には1これらの未測定交絡因子を許す手法が使えるような場合は使うべき2しかし、これらを扱えるリサーチ・クエスチョンや場面は限られているので、使えない場合は「全ての交絡因子を測定」の前提のもと因果効果を考えていくというスタンスが良いのではないでしょうか。*9実のところ、選択バイアスは因果推論を目的としたデータ分析を行ううえで常に起こりうるもので、データから観察されるAssociationを真の因果関係に近づけるためにも適切な方法でもって対処する必要があります。選択バイアスは、「共通効果の条件づけ」によって起きるバイアスのことを指します。下の二つのDAGのうち、左のDAG上ではXとYの共通効果Z(Collider)でXとYの間のAssociationがブロックされています。XとYの間に矢印が存在しませんから、両者の間に因果関係は存在しませんし、Associationも存在しません。逆に右のDAGのように共通効果Zを条件付け(四角で囲う)をすると、ブロックされていたpathが開きXとYの間にAssociationが生まれます(過去記事:「読み方4」参照)。因果関係がないのにAssociationがあることになるので、この関連はニセモノであるといえます。このように、共通効果の条件付けによってバイアスが生じるケースを一般的に選択バイアスと定義します*10。選択バイアスが起きる具体例をいくつか考えてみます。*補足*しばしば、偏った集団を対象に分析を行っているものを一括りに「選択バイアス」があると呼んでいるケースを目にします。いわゆる一般化可能性(例:20代の集団のデータから得られた結果を、一般の成人に当てはめることができるか?)の問題と上記のように定義された選択バイアスとは意味合いが違います。どちらに当てはまるかを考え、区別する必要があるかと思います。up)ある集団においてベースライン(最初の調査)で測定した要因や行った治療(投薬など)が将来のアウトカムにどのように影響を与えるかを調べるために、追跡調査(例えば数年後にもう一度調査を行うなど)を行うことは頻繁にあります。ベースラインで調査を行った人たち全員を追跡し続けることは現実的ではありません。実際には決められた調査機関の間に、調査から離脱する(引っ越しや面倒くさくなって参加しないなど)する人が少なからず存在します。このように対象者がデータがいなくなってしまうことをcensoring(打ち切り)と読んだりするので、以下のDAGではこれを”C”として表現しています。いま、がんに対する化学療法(X)が五年後の生存率(Y)に与える因果効果を推定したいとしましょう。Lは痛みの強さ、Uは未測定の要因で「がんの進行度合い」としましょう。化学療法Xを受けた人の一部は吐き気などの副作用に苦しみ、途中でギブアップして治療にこなくなるかもしれません(X→C)。強い痛みを感じている人も同じように治療にこなくなるかもしれません(L→C)。実際にデータを分析するときのことをイメージするとわかりやすいのですが、今興味のある因果効果を推定するためには、化学療法をうけた人たちと受けていない人たちで五年後の生存率を比較する必要があります。ところが、途中で調査から抜けた人(Censoringがおきた人)は五年後の死亡に関するデータがないため、分析に含めることができず、Censoringがなかった人のみを対象に分析します。これは、Censoringのレベルによって条件付けを行った分析をしていると考えることができます(上記の交絡の条件付けに関する説明を参照ください)。CはXとLの共通効果なので、条件付けをおこなうとCでブロックされていた関連のpathが開くことになります。pathが開きバイアスが生じます。上記のDAGでは、本当はXとYの間に因果関係がない(矢印がない)にもかかわらず選択バイアスによってAssociationが存在しています。data)データの欠損(値が測定されていないこと)も、データ分析において日常的に起きることだと思います。現在の肥満(BMI)Xが将来の糖尿病リスクYに与える因果効果を推定するとしましょう。Lは食生活、Uは糖尿病の家族歴としましょう。現在肥満な人は、体重を教えるのがいやなので調査票の体重の項目を無記入にする(つまり欠損)かもしれません(X→C)。同じように食生活が乱れている人は、自分が太ったと思って体重の項目を無記入にするかもしれません(L→C)。糖尿病の家族歴がある人は、自身の健康に気を付けて食生活を変えるかもしれませんし(U→L)、将来の糖尿病リスクも高いでしょう(U→Y)。例1と同じように、XとYを比較する分析を行う際にCを条件づけることになります。pathが開きます(選択バイアス)例3:対象者の自己選択(self-selection)そもそも調査への参加の有無をCと見ることもできます。調査に参加していない人はデータにならないので、参加者のみが分析対象になります(”Cの条件付け”)。Yが健康に関連するアウトカムの場合、Uの例として「健康意識」のようなものが考えられます。要は、健康に対する意識の高い人は健康に関する調査に進んで参加するかもしれない(U→C)と同時に、普段から健康な生活を心がけているので健康アウトカムにも影響します(U→Y)。これも同様の構造ですので、共通効果Cの条件付けにより選択バイアスが生じます。選択バイアスは交絡と同様に頻繁に起こりうるバイアスなのですが、その対策法は交絡ほど多くありません(少なくとも私が知る限り)。二つだけ例をあげます。交絡の調整法として上にでてきた、IPWや標準化を用いて選択バイアスに対処することができます。これら二つはMarginalな因果効果を推定する方法であり、DAG上では矢印を消去することで交絡に対応していました。これを応用して、選択バイアスを引き起こしている矢印を消去することで選択バイアスに対応することができます。重要なのは前提条件です。どのようなときに、これらの手法は選択バイアスを除去してくれるのでしょうか。交絡バイアスの調整のときに「全ての交絡因子を測定」という仮定を置きましたが、選択バイアスへの対応の場合も同様に「全ての選択バイアスを引き起こしている要因を測定」していることが条件になります。上記の三つの例だと要因Lに相当するものがもれなく測定できている(Lの値は標準化やIPWの過程で使います)ことが選択バイアス調整のために必要です。Imputation)欠損値による選択バイアスが問題の場合は多重補完法と呼ばれる手法も使うことができます。特定のアルゴリズムによって、欠損値にもっともらしい値をあてはめることによって欠損のないデータセットを作り出す方法です。やって補完する値を求めるのかは煩雑なので省略しますが、欠損のないデータセットを複数作り出し、それぞれを別に分析した結果を最終的に併合するのが多重補完法です。多重補完法では何が要因Lにあたるのかなどを考える必要がない一方、欠損が発生するメカニズムに一定の仮定を置いています。欠損が発生している要因のレベルによって欠損の有無が左右されていると考えられる場合は、多重補完法は使えません。年収のようなものの場合、年収が低いひとのほうが高い人よりも欠損の確率が高い(言いたくないから)かもしれませんが、このような場合は多重補完法が使えないということです。因果関係の方向が逆なパターンです。一週間の運動時間(X)と体重(Y)を考えてみましょう。データを見てみると一週間の運動時間が長い人ほど体重が重いことがわかりました(Association)。この結果をもって「運動時間を増やすと体重が増える(X→Y)」と結論づけることができるでしょうか?答えは否。実際には「太っている人は(ダイエットをしないといけないと思うので)運動時間を長くする(Y→X)」という因果関係でした。このようにXとYの間の時間的な順番を無視すると、誤った因果推論をしてしまうことになります。対策としてはXとYを複数時点で測定し、前の時点の影響を調整することで純粋なX→Yの因果関係を推定することができます。実はこの方法は時間依存性交絡というひじょーーーにややこしい問題が絡んできたりもするので注意が必要です。*11ニセの関連が生じるパターン4:偶然まったく因果関係が存在しない場合でも単なる偶然で関連が生まれるときがあります。仮想的なシチュエーションを考えてみます。男性100人のグループと女性100人のグループに分かれて、サイコロを振ったとしましょう。偶数がでれば1ポイント、奇数がでれば0ポイントとして、全員がサイコロを振り終わった後の総合ポイントを男女で競います。当然ですが、サイコロの目の出方と性別に関係はありません。男性のほうが偶数が出やすいとかないですよね。当たり前ですが、男性と女性の総合ポイントは平均的に同じになるはずです(期待値が同じ)。女性のほうが偶数を出す人がたくさんいて、総合ポイントで男性を上回ることもあります。この結果をもって、「性別によって偶数の出た回数が違うのだから、性別とサイコロの目の出方には因果関係(女性のほうが偶数がでやすい)があるはず!」といえるでしょうか?言えません。bias)とよばれ、因果関係の構造から生じるバイアスです。error)の影響などがあります。XとYの中間因子を条件づけてしまうことで、XがYに与える因果効果を過少に見積もってしまうということもあります。一つの分析から得られる推定結果に対するバイアスとはまた違うのですが、出版バイアスと呼ばれるものがあります。ある栄養素Xが病気Yに与える因果効果を見る研究のうち「因果効果がある」ことを示唆するものばかり研究結果として世の中に発表され、「因果効果がない」ことを示唆する分析結果は表の世界にでにくいなんてことがあるかもしれません。すると結果的に、(本当は因果効果がないかもしれないにも関わらず)世間の目からはXがYに効果がある!という風にしか見えませんよね。まとめ実際にデータ分析にかかわる人でない限りは、バイアスの対処法まで考える必要はないと思います。構造的バイアスの4パターンがあるというのを頭に入れ、ちょっとDAGを書いてみてください。それだけで因果と関連を混同することが少なくなると思います。DAGを書くのにデータも統計ソフトも必要ありません。紙とペンと因果関係を考えたいテーマに関する「常識」があれば大丈夫です。ここまで本当に大量の内容を書きました。要するに因果推論をするうえで考えないといけないことが(基本的なものだけでも)これだけあるということです。いやはや因果の森は奥が深いです。そこが面白くてやりがいのあるところでもあるんですね。これからも精進を続けます。Pearlによる因果推論の教科書。ペーパーバックこの商品を含むブログを見るちなみに彼は最近、一般向けの因果推論の本を出版しました。Risk:林岳彦の研究メモ*1:なお、以降では意図的に「相関関係(Correlation)」ではなく「関連(Association)」という表現にしています。*2:因果関係のフォーマルな定義はやや込み入っているのでここでは省略します。気になる方は「反事実モデル」などでググってみてください。effect)という概念を指すことにします。集団全体にある治療Aをほどこしたときに、アウトカムである病気Dのリスクが平均的に〇〇上がる/下がるなどといったイメージです*4:本記事ではほとんどのDAG上で、注目している二つの要因の間に矢印がない(因果関係がない)状態を想定していますので1のケースに当てはまります。*5:条件3は、要はDAG上でXからLに矢印が伸びていないっていうことです。*6:実際には後述の選択バイアスやそのほかのバイアスの影響も考慮したうえで、やっと因果関係の推論が可能になりますので、交絡は重要だが因果推論の一部であるという認識が正確だと思います。*7:これは必ずしも強みではありません。場合によっては、交互作用を見つけることが分析の目的だったりすることもありますが、この方法では見つけることができません。*8:ちなみに経済学者は「内生性(endogeneity)」という言葉を使いますが、基本的には交絡と似たような意味だと考えてよいと思います。*9:回帰不連続デザイン(RDD)などでも選択バイアスという言葉が使われますが、異なる意味合いの表現です*10:分野によって呼び方は違うと思います。2018-12-28回帰分析を使った因果推論の仮定:パラメトリックモデルを使うということお久しぶりです。Analysis)入門1...お久しぶりです。anal...さて、今回からイデオロギー色の少ないブログ活動に戻ります。(3)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。