傾向スコア
Propensity Score ・ けいこうすこあ
処置を受ける確率で背景を揃え、観察データから処置の効果を推定する手法
✦ 30秒で試す — 航海相手を見つける基準をゆるめるほど、比べる公平さが崩れる記録していない運動の習慣は、2群で揃う?予想してみる概要
傾向スコアは、「その人が処置(治療・施策・サービス利用など)を受ける確率」を属性から推定した値です。年齢・性別・過去の行動といった多数の共変量を、0〜1のたった1つの数字に要約します。そしてこのスコアが近い者同士を処置群と対照群から探して比べれば、「処置の受けやすさが同じなのに、片方は受け、片方は受けなかった」組の比較になり、観察データの中に擬似的なランダム化比較試験を再現できます。
観察データで処置群と対照群を素朴に比べると、処置の効果と「もともとの体質・性質の違い」が混ざってしまいます。健康食品の利用者は非利用者より健康意識が高い、有料プラン加入者はもともとサービスへの熱量が高い——この背景の違いが交絡です。傾向スコアは、多数の交絡因子を1次元に圧縮したうえで「背景が釣り合った比較」を作り出すための道具です。
1983年にローゼンバウムとルービンが提案して以来、医学の疫学研究からマーケティング施策の効果検証まで、「無作為化はできないがログは大量にある」あらゆる場面で使われる、観察データによる因果推論の代表的な手法になっています。
なぜ生まれたか
交絡への古典的な対処は「層別」でした。年齢層ごと、性別ごとにデータを分けて群内で比較すれば、その変数の影響は取り除けます。しかし調整したい共変量が10個、20個と増えると、組み合わせの層は爆発的に増え、各層に処置群と対照群の両方が揃うことはほぼなくなります。この「次元の呪い」が、多変量の観察データで背景を釣り合わせる作業を事実上不可能にしていました。
ローゼンバウムとルービンの発見は、「すべての共変量で釣り合わせる必要はない。処置を受ける確率という1つのスコアで釣り合わせれば十分だ」というものでした。傾向スコアが同じ人々の中では、共変量の分布は処置群と対照群で一致することが数学的に示せます(バランシングスコアと呼ばれる性質)。20次元の釣り合わせ問題が1次元に潰れるわけです。これが次元の呪いを回避しながら反事実の比較相手を用意する道を開きました。
詳細
手順——スコアの推定から効果の比較まで
実務の流れはシンプルです。まず処置の有無(受けた=1、受けない=0)を目的変数、交絡しうる共変量を説明変数としてロジスティック回帰などで「処置を受ける確率」を予測するモデルを作り、全員のスコアを算出します。次にそのスコアを使って処置群と対照群の背景を釣り合わせ、釣り合ったことを確かめてから、最後に成果を比較します。
釣り合わせ方の3つの流儀
スコアの使い方には主に3つの流儀があります。マッチングは、処置群の各個体に対し、スコアが最も近い対照群の個体を探して組を作る方法です。直感的で説明しやすい一方、組にならなかったデータは捨てられます。**逆確率重み付け(IPW)**は、データを捨てる代わりに「処置を受けにくいのに受けた人」「受けやすいのに受けなかった人」を重く数える重み付けで、全体を擬似的に無作為化された集団へ変換します。層別は、スコアで5層程度に分けて層ごとに比較し平均する方法です。どれもゴールは同じで、「処置以外の条件が揃った比較」を作ることです。
下の体験では、処置群と対照群の一人ひとりを傾向スコアの軸に並べています。マッチングすると、各処置者からスコアの最も近い対照者へ線が伸びて組ができ、下のバーで共変量の偏りがどう変わるかが見えます。
上が施策を受けた人(66人)、下が受けなかった人(134人)。受けた人は右(受けやすい人)に偏っており、年齢も利用回数も違います。このまま比べた差は 13.2。「マッチングする」を押してください。
架空データ 200人。傾向スコアは年齢と利用回数から推定済みとする。標準化差 = 群間の平均の差 ÷ 標準偏差(0.1 未満が釣り合いの目安)
素朴な比較の差は真の効果の2倍以上に膨らんでいますが、組を作ると偏りがほぼ消えて真の値に近づきます。同時に、右端の「受けやすい人」には近い相手がいないため除外される——これが次に述べる共通サポートの問題です。キャリパー(組んでよいスコア差の上限)を広げると組の数は増えますが、遠い相手と無理に組むぶん釣り合いが崩れます。どこまで許すかは、除外による対象の偏りと、組の質とのトレードオフです。
マッチングが推定するのは「誰の」効果か
処置群の一人ひとりに対照者をあてがうマッチングが推定しているのは、基本的に**処置を受けた人にとっての平均効果(ATT)**です。全員に処置を広げたときの効果(ATE)とは、効果が人によって違う限り一致しません。体験の架空データでも、年齢が高い人ほど効果が大きく、処置を受けたのは年齢の高い人に偏っているので、ATT は全体の平均より大きくなります。さらに、共通サポートの外で相手が見つからなかった処置者を除外すると、推定しているのは「相手が見つかった処置者」の効果へと、さらに対象が狭まります。IPW では重みの付け方を変えることで ATE も ATT も推定できるので、報告する数値がどちらなのかを必ず明記してください。
診断——マッチングは「やって終わり」ではない
傾向スコアを使ったら、必ず2つの診断を行います。1つ目は共通サポートの確認です。処置群と対照群のスコア分布が重なっていない範囲では比較相手が存在せず、そこにいる個体の効果は原理的に推定できません。分布の重なりが薄い場合、推定できるのは「重なった範囲の人々にとっての効果」に限られることを明示する必要があります。
2つ目はバランスの確認で、マッチングや重み付けの後に、各共変量の分布が2群で実際に釣り合ったかを点検します。標準的な指標は、群間の平均の差を標準偏差で割った標準化差で、標準化と同じ発想で単位の違う共変量を横並びに比べられます。目安は絶対値 0.1 未満です。釣り合っていなければスコアのモデル(変数の選び方や交互作用の入れ方)を組み直します。スコアモデルの目的は処置の予測精度を上げることではなく、バランスを達成することです。予測精度を上げようと、処置にだけ強く効いて結果には関係しない変数を入れると、共通サポートが痩せて推定がかえって不安定になります。
重みの暴走と二重頑健推定
IPW には固有の落とし穴があります。傾向スコアが 0.01 の人が処置を受けていれば重みは 100 になり、たった一人が推定値を大きく左右します。スコアが 0 や 1 に近い人がいること自体、共通サポートが薄いという警告です。実務では、重みを平均で割って安定させる(安定化重み)、極端なスコアの人を分析から外す(トリミング)といった対処をとり、重みの分布そのものを報告します。
スコアのモデルが間違っていれば、どの流儀でも推定は偏ります。そこで考えられたのが二重頑健推定で、傾向スコアのモデルと、結果を共変量で予測する回帰モデルの両方を組み合わせます。どちらか一方のモデルが正しければ推定は一致性を保つという性質があり、「2本の命綱」として近年の標準になりつつあります。
批判と限界——未観測交絡には無力
傾向スコアマッチングには方法論上の批判もあります。キングとニールセンは2019年の論文で、共変量の近さを直接測るマッチングと比べ、傾向スコアでの1対1マッチングは、データを捨てていくほどかえって共変量の不均衡が増す場合があること(「傾向スコアのパラドックス」)を示し、マッチングの手段としての利用に警鐘を鳴らしました。スコアが近いことは共変量が近いことを意味しないからです。今日では、マッチング後のバランス診断を必ず行う、共変量そのものでのマッチングや重み付けと比較する、といった慎重な使い方が勧められています。
そして最大の限界は、効力が「測定できた共変量」の範囲に厳密に限定されることです。これは「未観測の交絡がない(強い無視可能性)」という検証不可能な仮定の上に立つ手法だからです。たとえば「健康意識」をどの変数でも捉えられていなければ、スコアをどれだけ精緻に作ってもその交絡は残ります。無作為化が未測定の交絡まで自動的に消してくれるランダム化比較試験との決定的な違いはここにあります。どの変数がどう交絡しうるかを因果ダイアグラムで整理し、未観測交絡がどの程度あれば結論が覆るかを感度分析で見積もるのが誠実な作法です。未観測交絡が疑わしい場面では、操作変数法や差の差法といった、別の仮定に立つ手法を検討します。
試問
ある施策を受けた人と受けなかった人、あわせて200人の架空データです。傾向スコア(年齢と利用回数から見積もった「施策の受けやすさ」)の近い人どうしを1対1で組にして比べます。動かせるのは、マッチングの有無と、組んでよいスコア差の上限=キャリパーの幅だけです。下の棒は、組んだ2群で年齢・利用回数がどれだけずれているか(標準化差)を示します。
上が施策を受けた人(66人)、下が受けなかった人(134人)。受けた人は右(受けやすい人)に偏っており、年齢も利用回数も違います。このまま比べた差は 13.2。「マッチングする」を押してください。
架空データ 200人。傾向スコアは年齢と利用回数から推定済みとする。標準化差 = 群間の平均の差 ÷ 標準偏差(0.1 未満が釣り合いの目安)
