統計シェアするTwitterGoogle+Pocketデータに基づく因果推論がどのように行われるのか、詳しく説明していきます。因果の定義、因果推論に必要な条件、RCTの意義などいろいろまとめていたら、例のごとくすごいボリュームになってしまいました。本記事で使われる用語は、「疫学」の因果推論で使われているものが基本です。同じコンセプトでも分野によって呼び方が違うので、その点はご了承ください。Exchangeabilityが成立しているとき(例:観察研究)その他の仮定についてまとめ参考資料まずは「因果効果」の定義からそもそも因果関係なんて得体のしれないものを、どうやって統計的に考えることができるのか。そのためには、まず統計の世界でいう「因果」を定義する必要があります。なにもこれから説明するものが、「因果」の唯一の定義とはいいません。なにをもって因果関係とするかについては、きっと哲学者の間でディープな議論がなされているとおもいます。Model)と呼ばれる考え方に基づいて定義されるのが一般的です。反事実モデルについては以下の記事で軽く触れましたが、もう一度丁寧に確認しておきます。この辺り、余裕で理解しているって方も多いと思うので適当に飛ばしてください。前回と同じくダイエットの例を使います。スポーツジムの会員になったこと(A)で、半年後の体脂肪率(Y)が変わったかどうか、その因果効果を考えたいと思います。個人レベルで、ジム会員になること(A)が体脂肪率(Y)に与える因果効果は次のように定義されます。ジム会員になったときをA=1,ならなかったときをA=0としましょう。私がジム会員になった場合の半年後の体脂肪率、Ya=0は私がジムに入らなかった場合の半年後の体脂肪率です。Yの右下*1にaの値が小さく書いてある場合、このような架空の値を考えていることを意味します*2。私という人間は一人しかいないので、実際に観測できるのは二つのうち片方のみです。現実に私がジム会員になった場合は、私がジムに入らなかった場合に何がおこったかは知る由もないので、事実に反しているもの、「反事実」ということになります。これが統計的因果推論の基本となる考え方が、反事実モデルと呼ばれる理由です。このような値を求めるためには、1まずジムに入って、2半年後の体脂肪率を計測、3タイムマシンで半年前に戻り、4ジムに入ろうとしている自分を阻止して、5再び半年後に体脂肪率を測定する必要があります。タイムマシンは存在しませんので、結局こんな値は知ることができません。個人レベルでの因果効果を知ることは不可能、ということです。次に集団レベルで因果効果を考えてみましょう。1000人の人を集めて、全員がジム会員になった場合の半年後の体脂肪率の平均と全員がジム会員に入らなかった場合の半年後の体脂肪率の平均を比較することになります。集団同士なので、平均を比べます。さきほどと同じように、右下に小さい文字でaの値が書いてあります。架空の話、反事実モデルで考えているということです。タイムマシンは存在しないので、こんな値を直接知ることはできそうもありません。ところが個人レベルで因果関係を考えていたときと違って、集団レベルではこの反事実モデルで定義される架空の値を、以下に述べる前提条件の下で現実のデータから求めることができます。統計的因果推論とは大雑把にいえば、これらの前提を揃えるために研究デザインや統計解析で試行錯誤したり、手元のデータでいえる範囲で前提がどの程度成立しているかを議論したりする営みです。実データから因果効果をいうための前提を知ることは超重要です。Effect)と呼ばれます。以下、少しだけテクニカルになります。Exchangeability定義データから因果関係を考えることを可能にする前提のうち、最も重要になってくるのがExchangeabilityです。日本語だと「交換可能性」とでも訳すべきでしょうか。後述するPositivityと合わせて、統計学ではIgnorabilityとも呼ばれています。統計的因果推論の議論のうち、9割以上はExchangeabilityに関する話題だといっても過言ではないでしょう。いわゆる、ランダム化だとか交絡だとか調整だとか傾向スコア云々といった話はすべてここに帰結します。Exchangeabilityとは次のような条件です。E[Y|A=a]は条件付き期待値と呼ばれ、ここでは「Aの値がaだった人たちのYの平均」と解釈します。“|”の右側が“~のとき”という条件を表すので、“A=aのとき”のYの値、すなわちA=aの人たちが実際にとったYの値です。このままではわかりにくいので少しずつ解読していきましょう。a=1のときを考えましょう。E[Ya=1│A=0]となります。仮に全員A=1となったときのYの平均」と解釈できます。非常に紛らわしい言い回しですが、実際にA=1である人たちを見ているのだから、仮にA=1だったときに何が起きるかなんて一目瞭然です。その人たちの実際のYの平均を見ればいいだけです。E[Y|A=1]であるということです。ちなみに、この変換では後で説明する"Consistency"という条件が成立することを想定しています。ここで重要なのは、E[Y|A=1]が現実のデータから計算可能であるということです。架空の話だった反事実モデルが、なんとなく現実の世界に降りてきました。同様に、E[Ya=1│A=0]は「A=0(ジムに入らなかった)の人たちが、仮に全員A=1であったときのYの平均」と解釈できます。E[Ya=1│A=0]は「A=0の人が、仮に全員A=1だったときに、現実にA=1だった人たちとYの平均が同じ」という意味です。E[Ya=0│A=0]は「A=1の人が、仮に全員A=0だったときに、現実にA=0だった人たちとYの平均が同じ」ことを意味します。このように、現実にA=0だった人たちとA=1だった人たちの間で、Aの値を交換しても結果が同じになることがExchangeabilityという名前の由来です。Exchangeabilityと呼ばれます。Exchangeabilityと呼ばれる条件もありますが、平均因果効果の推定には必要ありません。Exchangeabilityで十分です。*3交絡との関係性さて、Exchangeabilityという条件が意味するものはわかりました。問題はこの条件がどのようなときに成立する・しないのか、ということです。次のようなシナリオを考えてみましょう。ジムの会員になるにはお金が必要であるため、ジム会員になった人とならなかった人を比較すると、会員の人のほうがお金持ちであったとしましょう。お金があると、ジムに入れるだけでなく普段食べる食事も安価で高カロリーな牛丼やハンバーガーではなく、(少し値が張る)健康的な食事が多いかもしれません。普段から健康的な食事をしている人は体脂肪率が低そうです。これを図に示すと以下のような状況です。以前紹介したDAGの考え方を知っている人であれば、一目でこれは「交絡バイアス」が起きている例だと気づくことができると思います。このような状況では因果関係をデータから正しく求めることができません。交絡があるといけないのか、Exchangeability条件を使って考えてみます。「ジム会員(A=1)の人が、仮に全員ジム会員でない(A=0)だったときに、現実にジム会員でない(A=0)だった人たちと体脂肪率(Y)の平均が同じ」ことを意味します。*4一つ目について、ジム会員でない人(A=0)全員に無料でジムを使える権利を与えたとしましょう(A=1とする介入)。仮に上記のDAGが成立しているとすると、A=0であった人たちはA=1のひとと比べて普段からカロリー高めな食事をしているため、たとえジムに通ったとしても平均すると実際にA=1だった人たち(リッチで健康的な食事をとっている人たち)よりも体脂肪率が高くなりそうです。Exchangeabilityが成立していません。二つ目についても同様のロジックで成立していないことがわかります。Exchangeabilityが成立していないので、データから平均因果効果を導くことができません。ちなみにA=0とA=1で、ある特徴が異なっていたとしても、その特徴がYに影響を与えないものであるならばExchangeabilityが成立します。pathが開いていなければ交絡因子ではないので問題ないということです。DAGの読み方は以下を参照してください。交絡がある場合はExchangeabilityが成立しないことがわかりました。すればExchangeabilityを得ることができるのでしょうか。最善かつ最強の方法が、ランダム化・無作為割付(Randomization)と呼ばれるものです。ランダム化とは、平均因果効果を調べたい集団に対して、介入(A)をランダムに割り当てる作業のことです。言い換えると、その集団中の個人iが介入をうけるかどうかは完全にくじ引きで決まるということです。コインをなげて表が出たらジム会員になれて、裏が出るとなれない、といった具合です。このとき、なにが起こるか考えてみましょう。ジム会員になるかどうかは完全にランダムに決まっているので、最終的にジム会員に選ばれたグループ(A=1)と選ばれなかったグループ(A=0)は平均的に同質な集団であると考えられます。いうことかというと、例えばA=1のひとのほうがお金持ちだったり、ということがないわけです。お金持ちのほうがコインを投げて表が出やすい、なんてことはあり得ないので。上記のようなお金による交絡が生じていません。同質な集団であるならば、A=1のグループが仮にA=0であったとき、その結果生じるYは現実にA=0の集団で観察されるYと同じであると期待できると思います。Exchangeabilityが成立しているということです。ランダム化の素晴らしいところは、あらゆる交絡要因の影響を除外するところです。コインの表の出やすさに影響する要因は運以外ありえないので、表がでた集団と裏が出た集団が異なる特徴を持つということは考えられにくいのです。DAGでいえば、Aを規定する要因が運だけなので、Aに向かって伸びる矢印が存在しない、ということになります。通常、我々はあらゆる交絡因子のデータをもっていないだけでなく、なにが交絡因子となりうるかという認知すら完璧でないので、未測定・未認知の交絡因子に対しても効力を発揮するランダム化は大変魅力的なわけです。ランダム化が最強といえど、いくつか注意すべき点があります。【注意点1】サンプルサイズが十分に大きい必要があるランダム化が機能するためには、サンプルサイズが十分に大きい必要があります。割り付ける人数が少ないとうまくいかない、ということです。男女5人ずつ、10人の集団にランダム割付をしたとします。10人しかいないと偶然によって、A=0では男性のほうが多く、A=1では女性のほうが多い、なんてことがたまたま起きてしまいそうです。A=0とA=1とで性別の比率が異なっているので、仮に性別が交絡因子として考えられる状況のときにはExchangeabilityが成立しておらず、平均因果効果を正しく推定できません。これが100人、1000人となってくるとそのような状況になる可能性は低くなってきます。【注意点2】あくまでExchangeabilityは平均的に成立が期待されるだけたとえ人数が多かったとしても、ランダム割付の結果、偶然A=0の集団とA=1の集団が異なる特徴をもった集団になる可能性があります。割り付ける人数が多くなるほどそのような可能性は少なくなるのですが、ゼロにはなりません。このような理由から、ランダム化はExchangeabilityを絶対に保証するものではありません。average)に成立する」といった表現が正確です。Exchangeabilityを目指していきます。現実の世界では、割付された介入に従わない人が少なからずいます。薬の効果を調べようとしてランダム化を行ったときに、薬を割付られたのにめんどくさがって薬をきちんと飲まない人がいるかもしれません。このような状況を割付へのnon-complianceと呼びます。薬への割付をA、実際に薬を飲んだかどうかをA'とすると、以下のようなDAGになります。Aはランダム化されているので、Aに伸びる矢印がないことに注意してください。一方で、A'はランダム化されていないので交絡因子が存在しています。したがって、実際に薬を飲んだかどうか(A')に関する情報をもっていたとしても、A'の平均因果効果を知ることはできません。知ることができるのはAの平均因果効果だけですし、A'は考慮しないのが一般的です。(ITT)分析と呼びます。Exchangeabilityでは、ランダム化ができない場合、観察データしかない場合はどうすればいいのでしょうか。Exchangeabilityという条件の成立を目指します。この条件がほとんどの観察データを使った因果推論の出発点であり、なんとなく回帰分析を使っているような医学研究や社会科学が(多くの場合無自覚に)置いている仮定です。Exchangeabilityは日本語だと「条件付き交換可能性」といったところでしょうか。数式だと以下のようになります。”の右側にCが増えています。Cは数学的には共変量ベクトルと考えられ、平たい言葉で言うと、YでもAでもない複数の要因の集合です。文字は一つですが、実際には複数の変数を意味しています。C)」という意味です。言い換えると、「C(に含まれるすべての要因)が同じ値をとる集団で」という意味です。Cに性別と年齢が含まれていたとしましょう。この場合「〇〇歳の男性」「〇〇歳の女性」「△△歳の男性」「△△歳の女性」・・・といった具合に分かれた集団それぞれのなかで、Exchangeabilityが成立しているということです。すべての年齢の男女を合わせた集団全体では成立している必要がないので、普通のExchangeabilityよりは条件が緩めなのがポイントです。このような条件を成立させるCをどうやったら見つけられるのか。DAGを書いてください。pathを閉じるのに必要な共変量(DAGに基づく交絡因子の定義です)を特定するのです。以前DAGのルールとして紹介しましたが、交絡因子を”条件付け”することでAとYの因果関係以外の理由から生じる関連をブロックすることができます。条件付けは、層別分析をしてみたり、回帰分析を使って見たり、傾向スコアをつかってみたり、いろいろやり方があります。Exchangeabilityが成立している」という強い仮定が置かれているということを意識する必要があります。ここで鋭い人は、「いやいや、そもそも交絡因子Cをすべて特定するなんて無理では」と考えるかもしれません。その点については全くその通りでして、基本的に我々は神様じゃないので、あらゆる交絡因子をすべて認知することはできません。したら、あれが交絡因子になっているかも、、、なんて考えだすと終わりがありません。Exchangeabilityが完璧に成立するということは基本的にありえないということです。問題はこの前提がどの程度もっともらしいと考えられるか。具体的には、1考えうる未測定交絡因子としてどのようなものがあるのか、それが結果に与える影響は?2認知すらしていない未測定交絡因子について、どの程度影響が強いものでないと観測した結果をバイアスで完全に説明することができないか?などを検討していきます。これを感度分析と呼びます。気になる方は以下の記事を参照ください。前提2:Consistency第二の条件はConsistencyというものです。統計学でestimatorがconsistentだ、なんていうあれとは違うものなので誤解なきように。Consistencyとは次のようなものです。E[Y|A=a]言葉にすると、「A=aだった人が、仮にA=aとする介入をうけたときに取りうるアウトカムYaは、その人たちが実際にとった値Yと等しい」という意味です。当たり前のことを言っているように思えるかもしれませんが、実は奥が深い前提条件です。いつでも成立しそうな条件ですが、次のようなときには少しやっかいです。与える影響を考えましょう。A=0なら肥満でない、A=1なら肥満とします。E[Y|A=1]は実際の健康リスクの平均、E[Ya=1|A=1]はこの人たちに「肥満になるような介入」をおこなったときの健康リスクの平均です。ここで「肥満」という現象をよくよく考えてみると、人間が太るには様々な原因があります。ある人は運動不足で、ある人は食べ過ぎで肥満になるわけです。運動不足による肥満と食べ過ぎによる肥満で健康に与える影響が異なる場合、実際に肥満になった理由と介入によって肥満を引き起こすときの方法が違えばE[Ya=1|A=1]とE[Y|A=1]が一致するとは限りません。詳しくは以下の論文が参考になります。treatmentと呼びます。そのようなAのもとでは反事実アウトカムYa=1が一意に定義されないことが問題視されています。Assumption(SUTVA)と呼ばれる仮定の一部でもあります。treatment下でのConsistency条件について、その定義を拡張した論文もあります。https://journals.lww.com/epidem/Fulltext/2009/11000/Concerning_the_Consistency_Assumption_in_Causal.18.aspx後で説明しますが、Consistencyは観察データから反事実モデルで定義される因果効果を導くための数式変形に必須の前提です。前提3:Positivity最後の条件はPositivityと呼ばれ、「どのAの値をとる確率も0でない」という条件です。確率が0でないということは、正の数、positiveなのでpositivityです。A=0とA=1の比較から因果推論をしたいのにA=1の人が一人もいなかったとき、A=1となる確率は0です。同様に全員A=0のときも、A=0の確率が0になります。このようなPositivityが不成立な状況では、そもそも必要なデータがないので因果効果の推定なんてできるはずもありません。ランダム化比較試験など実験研究でこんなことが起きることはまずないでしょう。観察研究ではPositivityが成立しない可能性が少なくありません。C])を目指して分析をすることになりますが、このときPositivityは各Cの組み合わせごとに成立している必要があります。Cに含まれる要因の数が増えていくにしたがって、Cの組み合わせのパターンも増えていきます。2値変数が10個含まれていたとすると、2^10=1024パターンもあります。3000人くらいのデータだと、平均して各組合せに3人弱ずつしか含まれない計算になります。3人だと、当然「3人全員A=1」なんて状況も生じうるので、Positivityの成立が怪しくなってくるということです。前提条件のもと、データから平均因果効果を導く反事実モデルという、現実には観測できない値で定義された平均因果効果を、なぜ観測されたデータから導くことができるのか。上記の前提をうまく使うことで説明できます。Exchangeabilityが成立しているとき(例:ランダム化比較試験)現実世界で計算可能なのは、実際にA=1だったグループとA=0だったグループの比較。E[Y|A=0]です。ここから、ゴールである平均因果効果E[Ya=1]-E[Ya=0]を導きます。E[Ya│A=0]=E[Ya](Aの値と関係なく同じなので、全体でみても同じになる)なのでE[Ya=1|A=1]-E[Ya=0|A=0]=E[Ya=1]-E[Ya=0](AからYへの平均因果効果)あとはPositivityが成立していれば、実際のデータから計算可能です。いくつかの前提条件のもと、反事実だったものが現実世界のデータで計算できるというトリックです。Exchangeabilityを目指します。Cが同一(C=cとします)の集団内における平均因果効果はE[Ya=1|C=c]-E[Ya=0|C=c]と定義されます。Effect)に興味があるので、C=cとなる確率をつかった重みづけ平均を計算することも多いです。Exchangeabilityが完璧に成立している可能性は極めて低いので、感度分析を用いるなどして、その仮定のもっともらしさを検討する必要があります。Positivityが成立していると、数学的に平均因果効果を導くことができるのですが、実際のデータ分析ではさらにそれ以外にも仮定がおかれています。詳しくは後々別の記事で説明したいと思いますが、次のような仮定があると思います。Misclassificaitonデータが常に正確とは限りません。現実世界ではデータを収集する仮定で誤測定や誤分類が起きます。平均因果効果の推定に与える影響はケースバイケースですが、見過ごすことのできない重要な問題です。Exchangeabilityを得るためのCの条件付けを、回帰モデルを使って行った場合に問題となります。form)を仮定することになります。Misspecificationi)がおき、平均因果効果を正しく推定できません。これも重要な問題なので改めてまとめます。Bias)と呼びます。選択バイアスについては、別途仮定をおいたうえで逆確率重みづけ(IPW法)や多重補完法をつかって対応していく必要があります。まとめ・統計学における「因果」は反事実モデルに基づいて定義される・因果効果は個人レベルではわからないが、集団レベルなら考えることができる・Exchangeability&Consistency&Positivityという3つの前提が成立すれば、データから因果効果を推定できる・実際のデータ分析ではさらに仮定を置く必要がある・仮定が完璧に成立することはありえない。いた内容は、ハーバードの因果推論研究者らがまとめた以下の教科書にまとめてあります(無料公開中)https://www.hsph.harvard.edu/miguel-hernan/causal-inference-book/林岳彦さんのブログ、わかりやすくまとまってます。*1:右上に書く人もいます。私はどういうわけか右下が好きです。valueを区別しています。Exchangeabilityは「すべてのaの値に足して、YaとAが独立」というものです。Exchangeabilityの定義ですが、これが成立するときは以下の条件も成立します。Exchangeabilityの関係と同じですね。interventionの問題と呼ばれ、Consistencyとは密接に関係しながらも別のissueも引き起こします。16:53データから因果関係をどう導く?:統計的因果推論の基本、「反事実モデル」をゼロから関連記事2018-12-28回帰分析を使った因果推論の仮定:パラメトリックモデルを使うということお久しぶりです。Analysis)入門2...媒介分析シリーズ、第二段です。Analysis)入門1...お久しぶりです。(3)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。