プロペンシティスコア(Propensity score; PS)(1)-PSの正しい使い方

今回は準実験(Quasi-experiment)の中でも近年ますます使われるようになってきているプロペンシティスコア(Propensity score; 以下PS)を用いた解析方法を2回に分けてご説明します。アメリカでも日本でも、プロペンシティスコアPSはしばしば間違った方法で行われており、そして誤解の多い方法論になります。今回はPSを用いた解析の正しい方法をお話します。PSとは1983年にポール・ローゼンバウム(Paul Rosenbaum)とドナルド・ルービン(Donald Rubin)の2人が発表した解析方法です。PSを理解するのに一番良い教材はこの1983年の論文か、もしくは経済学者のグイド・インベンス(Guido Imbens)と統計学者のルービンが書き2015年に出版された因果推論の教科書になります。PSにはマッチングと層別化がありますが、今回はマッチングを中心にお話したいと思います。ルービンの因果モデルのページを読んで頂ければ分かるように、基本的なコンセプトとしては、似かたよった2つの群を作り出し、その2群間での唯一の違いは治療(薬、行動変容プログラム、政策などの介入のことを全てまとめて「治療」と呼びます)を受けたか受けていないかである、という状況を作り出すことが目的です。この「その2群間での唯一の違いは治療を受けたかどうか」である2群のことを比較可能な2群と表現します。そうすればあとはこの2群間でアウトカムの差を取れば、その差を生みだしているのは治療である、と言うことができます。

交絡因子およびアウトカムの予測因子(ここではざっくりと共変数=Covariateと表現します)が複数あるとします。これら共変数の分布が治療群(治療を受けた群)とコントロール群(治療を受けていない群)で異なっていた場合、これら2つの群のアウトカムを単純に比較することで得られた治療効果はバイアスを含んでいます(真の値とはシステマティックに異なった値を取ることをバイアスを含むと表現します)。よって正しい治療効果を推定するためには、比較可能な2群を作ることが必要となります。共変数が1つの場合には、その値が近い人同士をマッチングすることで問題が解決します。しかし共変数が複数になった場合、それらの組み合わせが近い人を探すことが困難になります。PSとは、複数の交絡因子・アウトカムの予測因子をまとめて1つのスコアにしたものです。そのスコアでマッチングをすると、そのスコアを計算するときに用いた複数の共変数においても、平均すると(on average)2群間でバランスが取れる(比較可能な2群になる)ということが数学的に証明されています。ちなみにこのようにあるスコアでバランスを取るとそのスコアの計算に用いられた変数においてもバランスがとれるようなスコアのことをバランシング・スコア(Balancing score)と呼びます。PSはそのバランシング・スコアの一つでしかありません。バランシング・スコアの中で最も粗い(多くの情報をまとめることができるイメージです)のがPSであり、もっとも細かいのが実際に一つ一つの変数でマッチングする方法になります。比較可能な2群を作ることができたら、あとはシンプルにアウトカムを2群間で比較することで、バイアスの無い形で治療効果を推定することができます。

1983年のローゼンバウム・ルービンの論文や、インベンス・ルービンの因果推論の教科書を読んで頂くと分かるように、彼らはPSをRCTと同じ方法でやることを薦めています。まずは連結可能な形でアウトカムをデータから外します。そしてアウトカムの情報が無い状態で、PSを計算して、マッチングを行い、交絡因子・アウトカムの予測因子においてバランスのとれた2群を作り出します。そうすることでPSを計算するモデル(PSモデル)を決めている段階でアウトカムを見て、一番都合の良いものを恣意的に選ぶと言うことを防ごうとしています。この段階は、RCTでいうところのランダム化(無作為割り付け)を行っておりまだ参加者のアウトカムの情報を集めていない段階に相当します。PSモデルでマッチングしたら、そのモデルに含まれている変数が本当に2群間で同じような分布をしているかを確認します。もし分布が同じでなければ、二次関数、三次関数、対数変換(log-transform)、相互作用(interaction term)などを含めてPSモデルを作り直します。PSモデルに含まれている変数が2群間でバランスが取れるようになるまでこの仮定を繰り返します。そして、最終的に2群間でバランスが取れたら、最後にアウトカムをデータセットに戻して、2群間で1回だけアウトカムを比較します。RCTにおいてアウトカムの情報を集める段階に相当します。これがPSマッチングが疑似RCT(Pseudo RCT)と呼ばれる所以です。

実際のデータ(Lalonde (1986)、Dehejia and Wahba (1999))を用いてご説明します。1976年に行われた職業訓練プログラムによって、1978年の収入が上がったかどうかの解析を行いたいとします。交絡因子・アウトカムの予測因子は以下のようになります。

– 2値変数(0か1の値しかとらない変数):結婚しているかどうか(Married)、高校卒業しているかどうか(NoDegree)、人種(Black、Hispanic)、1974年・1975年で収入がゼロかどうか(U74、U75)

– 連続変数:教育を受けた年数(YearsEducation)、年齢(Age)、1974年、1975年の収入(RE74、RE75)

注意して頂きたいのは、これはRCTにおける割り付けの段階ですので、職業訓練プログラムが導入された1976年以前の変数(pre-treatment variable)しかPSモデルには入れることができないことです。1977年以降に集められた情報を使った場合は(RCTではそれはできないので)ルール違反をしていることになります。もちろん職業訓練プログラムを受けに行く人は、受けに行かない人たちに比べると色々な面において異なります。例えば1974年の収入(RE74)を比較してみると、下記のように職業訓練プログラムを受けに行った人は、受けに行っていない人と比べて収入がずっと低いことが分かります。プログラムを受けていない人達は、そもそも収入がそれなりにあるので受ける必要が無いことが分かります。この状態では2群の1978年の収入を比べても、職業訓練プログラムの効果を見ていることにはなりません。2群間が比較可能ではないからです。

図1

そこでPSマッチングを使うことで職業訓練プログラムの収入に与える影響を調べてみましょう。まずは以下のような数式を用いて各人のPSを計算します。シンプルにするために、交絡因子・アウトカムの予測因子は年齢、黒人かどうか、1975年の収入の3つしかないと仮定します。

logit(E[Treatmenti=1|X])= β0 + β1Agei + β2Blacki + β3RE75i

まずはこれで各人(その人のIDが上記のiに入ります)のPSを計算して、そのスコアを用いてマッチングをします。この段階ではアウトカム(1978年の収入)のデータは見ることができません。マッチングが終わったらこの3つの分布を2群間で比較します。バランスが取れてないとします。そうしたら、年齢の2乗まで含んだ次のモデルを使ってみます。

logit(E[Treatmenti=1|X])= β0 + β1Agei + β2Agei23Blacki + β4RE75i

これでもダメなら3乗(Agei3)まで含めてみたり、対数変換(log(Agei))したり、相互作用(Blacki×RE75i)を含めてみます。そして、最終的にPSモデルに含まれた変数すべてにおいて2群間でバランスがとれるまでこれを繰り返します。これがPSモデル作成のプロセスは反復作業(iterative)であると言われる理由です。そして最終的にPSモデルが決まり、マッチングをすると、下記のような形で2群間は元々の状態よりもずっと比較可能性が高い状況になります。

図2

図3

実際には、このPSモデルを作成するプロセスと、PSを元にマッチングするプロセスとの間に、コモンサポート(Common support)の外にいる人達を除くというプロセスが入ります。コモンサポートとは、治療群、コントロール群ともに存在している「PSの範囲」のことを指します。PSは0から1の間の値をとりますが、仮に0.3~0.8は両群ともデータが存在していて、PS<0.3はコントロール群のみ、PS>0.8は治療群のみしか観察されなかったとします。その場合、PS<0.3およびPS>0.8の人達は解析すべきデータから除外します。PSのコモンサポートの中ではマッチングの相手がいますし、その相手が反事実(Counterfactual)を想定することができます。一方で、コモンサポートの外の人達は何をどうやっても治療群(もしくはコントロール群)に入る人かもしれませんし、その人たちがもし治療を受けなかったらどうなっていたかは少なくともそのデータを用いた解析では推定することができません。RCTだった場合、例えば、年齢が高すぎてRCTの参加基準を満たさず、どうやっても治療群に入れない人達をイメージして頂くと分かりやすいかもしれません。下は概念図になります。X軸がPS、Y軸が各PSにおけるサンプルの数を表しています。そして右側の実線が治療群のPSの分布、左側の破線がコントロール群のPSの分布になります。この図の中で、斜線でカバーされていない中心部がコモンサポートになります。両サイドの斜線部分はコモンサポート外に相当するので、この斜線部分の人達を解析対象から除外します。

common support

ここまできたら、あとは1978年の収入を2群間で比較するだけです。2群間でことなるのは職業訓練を受けたかどうかだけですので、ここで得られたアウトカムの差が、職業訓練プログラムの治療効果になります。

実はPSマッチングに関する誤解がたくさんあります。次回はそれらに関してご説明したいと思います。

About these ads

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中