分析支援サービス
IBM SPSSを利用したデータ分析、情報活用支援

ケースコントロールの一致による傾向スコアマッチング

公開日:    SPSS TIPS Statistics 未分類 

傾向スコアの推定とマッチング

傾向スコアマッチングとして「ケースコントロールの一致」メニューを使用する方法を紹介します。このメニューは、マッチングのみを行いますので、傾向スコアの推定を別途行っておく必要があります。傾向スコアの推定とマッチングを同時に行う他の機能に比べて、傾向スコアの推定や評価を柔軟に行えるメリットがあります。

傾向スコアの推定とマッチングを同時に行う機能としては、「傾向スコアによる一致」や「Propensity Score Matching」があります。これらの手順の例は、下記の記事をご確認ください。

傾向スコアの推定

傾向スコアの推定法としてよく利用されるのはロジスティック回帰分析です。バランス調整の目的が達成できるのであれば、ロジスティック回帰分析に限らず、決定木分析やランダムフォレスト、ニューラルネットワークなどの機械学習の手法が適用される場合もあります。IBM SPSS Statistics でロジスティック回帰分析を行う場合、Regressionオプションが必要です。なお、下記の手順はいずれもv29.0.1のスクリーンショットです。

(1)「分析」 > 「回帰」 > 「二項ロジスティック」を選択します。
SPSSのロジスティック回帰分析のメニュー
(2)「従属変数」に2群への割付を意味する変数を指定します。
(3)「共変量」に2群への割付を説明するための説明変数(交絡因子)を指定します。
ロジスティック回帰分析の設定画面

傾向スコアを推定する場合、従属変数に指定するのは、研究のアウトカムではなく2群への割付を表す変数です。例えば、treat(介入群/対照群)などが該当します。また、共変量には考えられる交絡因子をすべて投入します。

なお、ロジスティック回帰モデルに投入できる共変量の数の上限として、従属変数の少ない方のイベント数の10分の1という目安があります。

Peduzzi P, Concato J, Kemper E, Holford TR, Feinstein AR.: A simulation study of the number of events per variable in logistic regression analysis.: J Clin Epidemiol. 1996 Dec;49(12):1373-9.

傾向スコアの推定の場合、仮に介入群の方が少なくそのイベント数がn=100だとすると、その10分の1の、10個程度の共変量を投入できる考え方です。例えば、イベント数がわずか数ケースのデータでロジスティック回帰を試みる例がありますが、複数の共変量を組み込むことは難しいと言えるでしょう。ロジスティック回帰分析と同様、傾向スコアを用いた分析も少ないケース数では適用が難しく、マッチングを念頭に置いてもある程度大きいサンプルサイズを必要とするアプローチです。

次に、傾向スコアに該当する予測確率を変数として保存する設定を行います。

(4)「保存」ボタンをクリックします。
(5)「予測値」の「確率」を選択します。

予測値の「確率」のチェックボックスを入れると、ロジスティック回帰モデルによる予測値が新しい変数としてデータセットに書き込まれます。これが、介入群に割り付けられる確率を意味する傾向スコアになります。

(6)「続行」ボタンをクリックします。
(7)「OK」ボタンをクリックして、分析を実行します。

データビューの右端に追加される「PRE_#」(#は実行の順番)が予測確率を保持しており、今回のように2群の割付変数を従属変数とした分析の場合、傾向スコアに該当します。この変数を利用して、次のマッチングの手順に進みます。

なお、傾向スコアの推定を行った後は、グラフによる視覚化や、ROC曲線によるAUC(c統計量)を出力して傾向スコアを評価する手順もありますが、グラフの書き方やAUCの出力方法は傾向スコアに特有のものではないため、ここでは評価を完了している前提でマッチングの手順に進みます。マッチングのキャリパーを指定する際に、傾向スコアの標準偏差を用いる基準がありますので、記述統計などを行っておくと良いでしょう。

傾向スコアマッチング

次に、「ケースコントロールの一致」メニューを使用して、傾向スコアに基づいたマッチングを行います。

(1)「データ」 > 「ケースコントロールの一致」を選択します。
(2)ダイアログボックスで必要な設定を行います。
傾向スコアによる一致の設定
  • 一致させる変数 : 傾向スコアの変数を指定します。
  • 適合の許容度 : マッチング対象とするケースの傾向スコアのずれの大きさ(キャリパー)を指定します。この値を大きくするとマッチングされるケースが増え、値を小さくするとマッチングされるケースが減ります。傾向スコアの標準偏差の0.2倍や0.25倍が目安があります。この例では、0.08を指定していますが、これは推定した標準偏差の0.25倍で求めた値です。
  • グループインジケーター : 2群への割付を意味する説明変数を指定します。数値型(0/1など)である必要があり、文字型(対照群/治療群など)は使用できません。
  • ケースID : ケース番号を特定する変数を指定します。
  • 一致ID変数の名前 : マッチングによって一致したIDを記録するための任意の変数名を入力します。
  • 一致グループの変数名 : 一致グループのコード値を保持する任意の変数名を入力します。値自体に意味はなく、同じ値を持つ2つのケースがペアを意味します。
(3) 「Options」ボタンをクリックします。
(4) 「乱数のシード」に任意の数値(例えば、123)を入力します。
乱数シードの設定

乱数のシードを明示的に指定しておくことで、同一データにおけるマッチング結果の再現を保証できます。シードの指定がない場合、マッチングを行うたびに異なる結果になる可能性があります。シードの値は結果の再現に必要となりますので、必ず控えておきましょう。

(5) 「OK」ボタンをクリックして、Option画面を閉じます。
(6) 「Additional Output」ボタンをクリックします。
(7) 「一致の新規データセットの作成」を選択し、任意のデータセット名を入力します。
データセット名の指定

「一致の新規データセットの作成」を有効にすると、マッチングされたケース(この例では「mid」に記録されるID)を含むデータセットが作成されます。

(8) 「OK」ボタンをクリックして、Additional Output 画面を閉じます。
(9) 「OK」ボタンをクリックして、マッチングを実行します。

以上の手順で、傾向スコアが近いケースがマッチングされ、マッチングに成功した場合はその対象のIDが新しい変数(この例では「mid」)に追加されます。この例では、「mpair」というデータセット名を指定しました。

マッチング後のデータセット

なお、「ケースコントロールの一致」の場合、マッチングしたケース側には対象のIDが記録されますが、マッチング対象として選ばれたケース側には対象のIDは記録されず欠損値となります。例えば、ID=1のケースがID=96のケースとマッチングした場合、ID=1のケースのmid=96と記録されますが、マッチングされた側のID=96のmidは欠損値となります。

IDmid
196
2
96

つまり、「mid」が欠損値になるケースは、マッチングされなかった場合と、マッチングされた対象の場合があり、「mid」が欠損値であることが必ずしもマッチングに失敗したことを意味しません。

これは、双方のIDが「mid」に記録される「傾向スコアによる一致」や「Propensity Score Matching」と異なる動作ですのでご注意ください。

また、新しく作成されたデータセット(この例では「mpair」)をアクティブにして確認してみると、マッチング対象となったケースのデータが記録されています。例えば、ID=96 はID=3のマッチング対象のケースです。

マッチング後のデータセット

最後に、条件抽出とファイル結合の方法で、マッチングされたケースとマッチング対象のケースを統合し、マッチングに成功した全ケースを含む新しいデータセットを作成します。

マッチングデータファイルの作成

ケースコントロールの一致後のデータファイル(「treat.sav」)について、「mid」にマッチング対象のIDが記載されているケースのみに絞り込みを行います。

(1) 「データ」メニュー > [ケースの選択]を選択します。
(2) 「IF条件を満たしたケースを含む」を選択して「IF」ボタンをクリックします。
(3) 「MISSING(mid)~=1」と入力します。
マッチング後のデータセット

MISSING 関数は、指定した変数に欠損値が含まれるかどうかを判定することができ、欠損値の場合に1または真を返します。MISSING(mid)~=1は、midが欠損値ではないという意味になり、欠損値ではないケースを抽出する場合によく用いられます。

(4) 「続行」ボタンをクリックします。
(5) 「選択されたケースを新しいデータセットにコピー」をクリックします。
(6) 「データセット名」に任意のデータセット名を入力します。
マッチング後のデータセット
(7) 「OK」ボタンをクリックします。

以上の手順で、「mid」が欠損値でない(=マッチング対象のIDが記録された)ケースのみのデータセット(この例では「match」)が作成されます。

条件抽出後のデータセット

このデータセットに、マッチング対象となるケースのデータが記録されているデータセット(「mpair」)を「ケースの追加」で統合し、1つのデータファイルにまとめます。

(8)「データ」 > 「ファイルの結合」 > 「ケースの追加」を選択します。
(9)「開いているデータセット」を選択し、マッチング対象となるケースのデータが記録されているデータセット(この例では、無題2[mpair])を選択します。
(10)「続行」ボタンをクリックします。
(11) すべての変数が「新しいアクティブなデータセットの変数」に移動していることを確認します。
条件抽出後のデータセット
(12) 「OK」ボタンをクリックして、ケースの追加を実行します。

以上の手順でマッチングされたケースのみを含む新たなデータセットが作成されます。このデータセットで記述統計(探索的分析)を実行すると以下のような結果を得ることができます。

■ マッチング後の2群の共変量の平均値 (背景情報が等質に近づく)
■ マッチング前の2群の共変量の平均値 (背景情報が等質ではない)
■ マッチング後の分析

傾向スコアは、共変量を1つにまとめて背景情報のバランス調整に用いることができますが、観察されている共変量で調整を行いますので、観察されていない共変量での調整はできません。また、マッチングを行うと、マッチングできなかったサンプルが分析から除外されることになりますので、最終的に使用できるn数が少なくなります。もともとn数が少ないデータを扱っている場合には、傾向スコアの推定自体ができなかったり、マッチングできるケース数が少なく分析できないなどの問題はありますが、観察型の研究において背景情報のバランシングを行うことで、あたかも無作為割り付けを行ったように単純に分析を行うことができるメリットがあります。

以上、「傾向スコアによる一致」や「Propensity Score Matching」メニューでは、傾向スコアの推定とマッチングが同時に行われますが、上記の「ケースコントロールの一致」では、傾向スコアの推定とマッチングを個別に行うことができます。

目的や使い方、用途に応じて、IBM SPSS製品を有効にご活用いただき、課題解決・価値創造にお役立てください。

■ 参考文献
  1. [1] Rosenbaum, P. R., & Rubin, D. B. (1983). The central role of the propensity score in observational studies for causal effects. Biometrika, 70(1), 41-55.
  2. [2] Austin, P. C. (2011). An Introduction to Propensity Score Methods for Reducing the Effects of Confounding in Observational Studies. Multivariate Behavioral Research, 46(3), 399-424.
  3. [3] Shenyang Y. Guo(著),Mark W. Fraser(著)『Propensity Score Analysis: Statistical Methods and Applications』SAGE Publications, Inc(2009)
  4. [4] 星野崇宏(著)『調査観察データの統計科学 因果推論・選択バイアス・データ融合』岩波書店(2012)
  5. [5] 新谷歩(著)『今日から使える医療統計』医学書院(2015)
  6. [6] 中室牧子、津川友介(著)『「原因と結果」の経済学』ダイヤモンド社(2017)
PAGE TOP ↑