【ITニュース解説】Propensity Score Matching in R — 2025 Edition
2025年09月12日に「Dev.to」が公開したITニュース「Propensity Score Matching in R — 2025 Edition」について初心者にもわかりやすく解説しています。
ITニュース概要
実験できない状況で因果関係を推論する「傾向スコアマッチング(PSM)」が進化。2025年版は大規模データや機械学習を使い、より高精度に効果を検証する。R言語でのデータ準備、マッチング、評価手順を解説し、因果推論の実践的な活用方法を示す。
ITニュース解説
私たちは日常的に、何かの行動が特定の「結果」を引き起こしたのかを知りたいと考える。例えば、新しい広告キャンペーンが売上を本当に増やしたのか、あるいはある政策が市民の満足度を向上させたのかといった問いだ。このような「原因と結果」の関係、つまり「因果関係」を明らかにする分析手法の一つに「傾向スコア・マッチング(PSM)」がある。
最も確実な因果関係の特定方法は、「ランダム化比較試験」と呼ばれるものだ。これは、対象者を完全にランダムに二つのグループに分け、片方には特定の「処置」(広告を見せる、政策を適用するなど)を行い、もう片方には処置を行わない「対照グループ」とする方法である。ランダムに分けることで、両グループは処置以外のあらゆる条件が平均的に同じになり、結果の違いは処置によるものだと断定できる。
しかし、現実世界では、倫理的な問題や実務上の制約から、ランダム化比較試験を実施できないケースが非常に多い。例えば、ある薬の効果を検証するために、病気の患者をランダムに「薬を飲むグループ」と「薬を飲まないグループ」に分けることは倫理的に難しいだろう。また、マーケティングキャンペーンの対象者を完全にランダムに選ぶことがビジネス戦略上難しい場合もある。
このような「ランダム化できない」状況で、既存のデータ(これを「観測データ」と呼ぶ)から、あたかもランダム化したかのように因果関係を推測する強力な手段がPSMなのだ。観測データでは、処置を受けるグループと受けないグループで、元々持っている特徴(年齢、収入、過去の行動など)が異なることがよくある。この違いが結果にも影響を与えてしまうことを「選択バイアス」と呼ぶ。例えば、高収入の人だけが新しい広告に反応しやすい傾向があるなら、広告の効果が高収入によるものなのか、広告そのものによるものなのか区別が難しくなる。処置の選択と結果の両方に影響を与えるこれらの変数を「交絡因子」と呼ぶが、PSMはこの選択バイアスや交絡因子の影響をできる限り取り除くことを目的とする。
PSMの核となる考え方は、「傾向スコア」という概念だ。傾向スコアとは、「ある特定の人が、その持っている特徴に基づいて処置を受ける確率」を数値化したものである。例えば、年齢、収入、学歴といった情報を持つ人が、新しい広告を見る(処置を受ける)確率を計算し、これをすべての対象者について算出する。
次に、この傾向スコアが似ている人同士で「マッチング(対にする)」を行う。具体的には、処置を受けた人の中から一人を選び、その人と傾向スコアが非常に近いが、処置を受けていない人(対照グループの人)を探してペアにする。このようにマッチングすることで、「処置を受けた人」と「処置を受けていない人」のペアができるが、彼らは「処置を受ける確率」がほぼ同じであるため、処置以外の背景が似ているとみなせる。これは、ランダム化比較試験でランダムに分けた状況を、観測データから作り出すことに近い。
近年、PSMは大きく進化している。まず、私たちが分析に使えるデータの量が非常に大きくなり、顧客のデモグラフィック情報からオンライン行動履歴まで、利用できる「特徴量」が格段に増えた。これにより、より詳細な背景情報に基づいて傾向スコアを推定できるようになった。傾向スコアの推定方法も進化し、以前はロジスティック回帰という統計モデルが主流だったが、最近ではランダムフォレストや勾配ブースティングといった機械学習の手法が使われるようになっている。これらのモデルは、特徴量と処置の関連性が直線的でない場合でも、より正確な傾向スコアを算出できる。
さらに、マッチングの精度を自動で診断したり、結果の公平性をチェックするツールも充実している。マッチング後に、処置グループと対照グループの間で特徴量のバランスが取れているか(偏りがないか)を数値やグラフで自動的に確認できるようになった。また、特定のマイノリティグループが不当にマッチングから除外されていないか、といった公平性のチェックも可能だ。マッチングの手法も多様化しており、単に最も近い傾向スコアの人を選ぶだけでなく、誤差の許容範囲(キャリパー)を設けたり、1対1のマッチングだけでなく、1対多、多対多のマッチング(フルマッチング、最適マッチングなど)も状況に応じて使い分けられるようになっている。これにより、より多くのデータを活用しつつ、より良いバランスを実現できるようになった。大規模なデータセットでもPSMを効率的に実行できるよう、データ処理を高速化するパッケージや並列計算の技術も進歩し、数十万件規模のデータにも対応可能になっている。
PSMは、Rというプログラミング言語と統計解析ソフトウェアを使って実行されることが多い。その具体的な手順は以下の通りである。
まず、「データ準備と特徴量選択」を行う。分析に使うデータを整理し、欠損値の補完や異常値の修正などを行い、データをきれいにする。そして、傾向スコアの計算に使う「特徴量」(年齢、収入など)を選ぶ。ここで重要なのは、処置の選択と結果の両方に関係する特徴量を選ぶことだ。ただし、処置を受けた後に発生した特徴量は含めないように注意が必要である。連続的な値を持つ特徴量は、必要に応じて変換したり、尺度を揃えたりし、カテゴリカルな特徴量(性別など)は、適切な形式に変換する。
次に、「傾向スコアの推定」を行う。準備したデータを使って、各個人が処置を受ける確率である「傾向スコア」を計算する。多くの場合、ロジスティック回帰モデルを使うが、特徴量と処置の関連が複雑な場合は、機械学習モデルも選択肢となる。Rでは、これらのモデルを構築し、各個人の傾向スコアを予測する。
傾向スコアを計算したら、「マッチング前の診断」を行う。マッチングを行う前に、処置グループと対照グループの間で傾向スコアの分布がどのくらい重なっているかを確認する。分布がほとんど重なっていない部分が多いと、適切なマッチングが難しくなる。また、各特徴量について、処置グループと対照グループで平均値などに大きな差がないか(バランスが取れているか)も確認する。この差が大きいと、まだ選択バイアスが残っていることを示す。Standardized Mean Differences (SMD)という指標がよく使われ、一般的に0.1以下であればバランスが良いとされる。
診断結果に基づいて、「マッチング方法の選択」を行う。最も基本的なのは「最近傍マッチング」で、処置グループの各人に対し、傾向スコアが最も近い対照グループの人を見つけてペアにする。この際、傾向スコアの差が大きすぎるペアはマッチさせないように「キャリパー」という許容範囲を設定することもある。また、すべての処置グループの人がマッチするように、1対多や多対多でマッチさせる「フルマッチング」や「最適マッチング」といった高度な方法もある。
マッチングが完了したら、「マッチング後の診断」を再度行う。マッチング後、各特徴量について、処置グループと対照グループの間でバランスが取れているかを再度確認する。マッチング前よりもバランスが大幅に改善されているはずだ。この段階でもSMDやバランスプロットを使って確認する。また、マッチングによってどれくらいのデータが利用され、どれくらいが除外されたのかも確認する。これは、マッチングの有効性と、結果の一般化可能性に影響する。
最後に、「処置効果の推定」を行う。バランスが取れたマッチング済みのデータセットを使って、処置が実際に結果に与えた影響(「処置効果」)を計算する。例えば、処置グループと対照グループで、結果指標(商品購入率など)の平均値の差を計算する。マッチングの仕方によっては、ペアになっているデータに対して専用の統計テストを用いることもある。場合によっては、残りの交絡因子をさらに調整するために、マッチング済みのデータで回帰分析を行うこともある。
PSMは強力なツールだが、いくつかの限界と注意点がある。最も重要なのは、「観測されていない交絡因子」には対処できないことだ。PSMは、データとして手元にある特徴量に基づいてマッチングを行うため、もし処置の選択と結果の両方に影響を与える重要な要素がデータに含まれていない場合、その影響を取り除くことができず、因果関係の推定に偏りが生じる可能性がある。また、傾向スコアを推定するモデルの複雑さも考慮すべき点だ。特徴量が多い場合や、特徴量と処置の間に非線形な複雑な関係がある場合、シンプルなモデルでは正確な傾向スコアを推定できない可能性がある。機械学習モデルはこれに対応できるが、モデルの調整が難しくなったり、過学習(特定のデータにだけ適応しすぎて、他のデータにはうまく当てはまらない状態)のリスクが高まる。
マッチングの過程で、一部のデータが除外されることがある。特に、傾向スコアが極端に高い、あるいは低い人たちは、適切なマッチング相手が見つからずに除外されがちだ。これにより、分析に使えるデータの数が減り、統計的な検出力(効果を正確に検出する能力)が低下したり、分析結果が特定の範囲の人々にしか当てはまらない可能性が出てくる。さらに、マッチングされたデータであっても、処置グループと対照グループの間で傾向スコアの「オーバーラップ」(重なり)が小さい領域がある場合、その領域での処置効果の推定は不安定になりやすい。これは、似たような背景を持つ人が非常に少ない極端なケースで、無理にマッチングしても信頼できる結果が得られないためだ。最後に、推定された処置効果の信頼性は、マッチング後の診断がどれだけしっかり行われたかに大きく依存する。特徴量のバランスが十分取れているか、複数のマッチング方法で結果が安定しているか、除外されたデータについて透明性を持って報告されているかなどが重要となる。
PSMを効果的かつ信頼性高く実施するためには、いくつかのベストプラクティスがある。常に、マッチング前後の各特徴量のバランス(SMDなど)や、マッチングによってどれくらいのデータが使われ、どれくらいが除外されたかといった診断結果を詳細に報告することが重要だ。これは、分析の透明性を高め、結果の信頼性を評価するために不可欠である。一つのマッチング方法に固執せず、複数の異なるマッチング方法を試すことで、結果が特定のやり方に依存していないか、頑健性(安定性)を確認することが推奨される。可能であれば、実際には効果がないはずの「プラセボ処置」を仮定してPSMを適用したり、結果に影響しないはずの「ネガティブコントロール変数」を使ってテストしたりすることで、分析手法自体が誤った因果関係を示唆していないかをチェックする。分析の過程で、処置グループと対照グループの定義、傾向スコアモデルの具体的な設定、マッチングの閾値などを明確に文書化し、透明性を確保する。倫理的な観点から、マッチングが特定のマイノリティグループや不利な立場にあるグループに不当な影響を与えたり、格差を増幅させたりしていないかをチェックする「公平性チェック」も重要になっている。
傾向スコア・マッチングは、ランダム化比較試験が難しい現実世界の問題に対し、観測データから因果関係を探るための強力な手法だ。特に近年では、大規模なデータ、機械学習を活用した高度な傾向スコア推定、自動化された詳細な診断、多様なマッチングアルゴリズム、そして公平性への配慮といった進化が見られる。正しくPSMを実施するには、データ準備からマッチング、診断、効果推定、そして結果の報告に至るまで、各ステップを丁寧に進めることが求められる。未観測の交絡因子という限界は常にあるが、慎重に、そして透明性を持って適用することで、マーケティング、ヘルスケア、公共政策など、様々な分野で「何が原因で何が起こるのか」という重要な問いに明確な答えをもたらすことができるだろう。