医療統計学を学ぶ大学生のブログ

医療統計学、因果推論を専攻しています。R, SASユーザーです。

傾向スコア(Propensity Score)の概要

  今回は因果推論の文脈で近年非常に多く使われるようになっている傾向スコアについて簡単にまとめていこうと思います。また別記事としてSASでの傾向スコアを用いた解析の簡単な例やコード等もまとめていけたらいいかなと思います。

因果効果の定義

傾向スコア(Propensity Score)についてまとめる前に、まずRubinによる興味のある曝露AによるアウトカムYへの平均因果効果(ATE;Average Treatment Effect)、治療群における平均因果効果(ATE;Average Treatment Effect on Treated)、対照群における平均因果効果(ATU;Average Treatment Effect on Untreated)は次のように定義されます。

f:id:NorihiroSuzuki:20211020133501p:plain

潜在アウトカムを用いた因果効果の定義については、以前の記事を参考にどうぞ。

norihirosuzuki.hatenablog.com

 

この因果効果の定義に当たっては次のような強い仮定が必要となります

  • 交換可能性(Exchangeability)
  • 一致性(Consistency)
  • 正値性(Positivity)

ここではざっくりとそれぞれの内容について記載します。

交換可能性(Exchangeability)

潜在アウトカムの概念で問題となるのは、Ya=1 と Ya=0 のどちらかしか観測できないことでした。(下図以降は集団レベルでの話)

f:id:NorihiroSuzuki:20210417232004p:plain

ある異なる人から成る集団同士を比較する際には、当然ですが異なる集団ですので、それぞれで得られた結果はあくまでその集団内における結果であり、それらを単純に比較することはできません。得られた結果は介入による差ではなく、それぞれの集団の特徴による差である可能性があるということです。

 

しかしここで交換可能性という仮定は、比較する集団(介入群、対照群)が比較可能、同質であるということを保証します。つまりこの仮定があることにより、異なる群の比較ではなく、両群を同質なものと見なし、ある集団が介入を受けた場合(A=1)と受けなかった場合(A=0)の結果とすることが可能です。相関ではなく因果として効果を見るときに非常に重要な仮定です。

 

f:id:NorihiroSuzuki:20210417232431p:plain

このすべてのaに対してYaとAが独立であるという(平均)交換可能性を数式としては

f:id:NorihiroSuzuki:20211013131502p:plain

と表します。ただ個人的によく見かけるのはこっちです。

f:id:NorihiroSuzuki:20211013131524p:plain

 この交換可能性はランダム化によって満たされますが、実際には観察研究や実験研究であってもランダム化ができないことがあり、その場合には交換可能性は満たされません。

 

そこで次に考えるのが、条件付き交換可能性(Conditional exchangeability)です。

すなわち、未観測の交絡因子がないという仮定のもとで、交絡の原因となる共変量をXとすると、そのXを用いて以下の式が成り立ってることを意味します。

f:id:NorihiroSuzuki:20211013132149p:plain

この意味合いとしては、共変量によって条件付けることによって両群の比較ができる状態にしたといった感じかなと。

 

一致性(Consistency)

一致性(Consistency)の定義は、

すべての個人についてA=a のとき、Ya = Y

というものです。これは想定している潜在アウトカムというものを、現実に観測されるデータで置き換える際に必要になる条件になります。

正値性(Positivity)

正値性は、すべてのaに対してPr[A=a]>0という仮定です。これは介入を受ける集団も、受けない集団も存在するということを意味しています。仮にこれが満たされない(=0)場合には、群の比較がそもそもできないので因果効果を考えることができません。

 

これらの仮定があることにより、両群の比較結果を因果効果と見なすことができるわけですが、傾向スコア法においてもこれら全てが成り立つことが傾向スコアの利用には必要となります。

 

傾向スコアについて

傾向スコア(PS; Propensity Score)とは、共変量で条件付けた場合の層に含まれる個人が治療を受ける確率です。つまり、

f:id:NorihiroSuzuki:20211013133959p:plain

です。

つまり、このe(x)は共変量Xという情報が与えられたときの介入を受ける傾向(Propensity)示しているスコアであるということです。傾向スコアは確率ですので、0~1の値をとり、0に近ければ介入を受ける確率が低く、1に近ければ介入を受ける確率が高いということです。もし仮にランダム化が行われる場合(1対1割り付け)には、すべての個人のその値は0.5となります。

 

この傾向スコアは、上記の条件付き独立性という特徴と、同じスコアの値に対応する共変量の分布は等しいという特徴を持っています。ただ実際には共変量の分布のチェックは必要ですが。

 

注意点としては、傾向スコアの算出に用いた観察された共変量についてのみ両群でバランスをとるため、もし未観測交絡が存在するためには推定結果にバイアスが含まれます。

また傾向スコア自体の算出にはロジスティック回帰(メジャー)や機械学習によるものなど様々な方法が用いられています。

 

ただこの傾向スコアの最も大きな利点の一つは、n次元の共変量Xを1次元の値に落とし込める点です。例えばマッチングを行う際に共変量で条件付けを行おうとする場合を考えてみます。するとそれぞれが二値である共変量Xについて全く同じ人を見つけようとすると、その共変量の組み合わせは2nとなりなかなか現実的ではありません。しかし傾向スコアを用いたマッチングでは、そのマッチングのさせ方が色々あるにしろ、傾向スコアという1次元の値にのみ注目すればよいので非常に使い勝手がいいものです。この辺りが最近傾向スコアを使った解析がブームになっている一つなんじゃないかなあと個人的に感じています。

 

傾向スコアを利用した方法としては、マッチングや層別、IPWなどなど様々なものが提案、改良がされています。こういったものについてはちょっとずつ実装も含めまとめていこうと思います。