cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • New to JMP? Join us Sept. 23-24 for the Early User Edition of Discovery Summit, tailor-made for new users. Register now for free!
  • Use World Cup data to build models, explore spatial relationships, and create informative visualizations in JMP. Register. July 17, 2 pm US Eastern Time.
  • Your voice matters! Tell us how you prefer to receive JMP updates, so we can tailor our communication to your needs. Take short survey.

Naohiro Masukawa

Choose Language Hide Translation Bar
傾向スコアマッチング ~「因果処置効果」プラットフォームで実践する方法 ~

今年の9月に、JMP製品は最新バージョンである「19」にアップデートしました。

このアップデートにより「JMP Pro」および「JMP Student Edition」には新たに「因果処置効果」というプラットフォームが追加され、傾向スコアマッチング(Propensity Score Matching)による分析を実施できるようになりました。

Masukawa_Nao_0-1764832934753.png

本記事では、この「因果処置効果」プラットフォームを用いて傾向スコアマッチングを実施する方法を、例題を用いて解説します。

 

傾向スコアマッチングの例題

ある医療処置の効果を調べるために、181名の患者データを収集した。各患者は「医療処置を受けた/受けていない」のいずれかに分類され、アウトカム(効果あり・なし)が判定されている。

処置やアウトカムと関連があると考えられる患者特性として、性別、年齢、喫煙歴、BMI、重症度スコアを共変量とする。

 

アウトカム(結果):「Y:Outcome」(1:効果あり、0:効果なし)

処置:「T:Treatment」(1:処置あり(処置群)、0:処置なし(対照群))

共変量:「X1:Sex」、「X2:Age」、「X3:Smoking」、「X4:BMI」、「X5:Severity Score」

Masukawa_Nao_1-1764816225937.png

本データ(JMP形式)は、本ブログからダウンロードできます(PM_example.jmp)。

 

因果処置効果プラットフォームの起動

上記データに対し、次の操作を行います。

  1. [分析] > [モデルのあてはめ]を選択し、「モデルの指定」ウィンドウ右上の手法を[因果処置効果] に変更します。
  2. 下図のように、[Y]と[処置]に対応する列を指定します。また、「処置変数のモデル」タブを開き、共変量(X1~X5)を[追加]ボタンで指定します。
  3. [実行]をクリックします。

Masukawa_Nao_3-1764816981628.png

注意:Yに名義(または順序)尺度の列を指定する場合、カテゴリー数は2である必要があります。また、処置変数も2カテゴリの名義(順序)尺度でなければ指定できません。(3カテゴリ以上は使用不可。)

 

表示された「因果処置効果のあてはめ」レポートで、「その他の傾向スコア法」を開き、「傾向スコアマッチングの手法」から [最近傍法]を選択します。

すると、次のように傾向スコア法に対する各種オプションを指定できます。

Masukawa_Nao_0-1764822513377.png

オプションの意味を以下に記載します。

1観測あたりのマッチ数:処置群1名に対して、対照群を何名対応させるかを指定します。
デフォルトの「1」は1対1マッチング、「2」は1対2マッチングを意味します。

傾向スコアの最小値、最大値:マッチングに用いる傾向スコアの下限値と上限値を設定します。傾向スコアは0~1の値を取るので、デフォルト設定ではすべての観測値をマッチングに用います。

キャリパー:マッチングされる観測値間の「傾向スコアの差の最大許容値」を示します。実際には、指定したキャリパーの値×「マッチングした統計量の共通標準偏差のプール推定値」を許容値として用います。例えば、標準偏差の推定値が0.1でキャリパー値を0.2と指定した場合、0.02 ( = 0.2×0.1) を許容値として用います。許容値外の観測値はマッチングから除外されます。

マッチングの統計量:「傾向スコアのロジット」(デフォルト)、「傾向スコア」のいずれかを指定できます。傾向スコアのロジットを指定した場合、傾向スコアそのものではなく、傾向スコアをロジット変換した値でマッチングを行います。

復元抽出マッチング:チェックを入れると、対照群の同じ観測値を複数の処置観測値に再利用できます。チェックを外すと、一度使用された対照群の観測値は再利用されません。一般的に復元抽出した方がマッチングできるサンプル数が多くなります。

 

ここではデフォルトの設定のまま、左側の[実行]をクリックします。

 

マッチングの結果

レポート「傾向スコアマッチングの要約」を参照します。

「マッチングのパラメータ」では、先ほど指定したオプションの値が表示されます。

「処置ごとの傾向スコア分布」には、処置群(=1)、対照群(=0)ごとの傾向スコアのロジットの分布が表示されます。青色の点はマッチできた観測値、赤色の点はキャリパー外のためマッチできなかった(除外された)観測値を示します。

Masukawa_Nao_0-1764823773499.png

同時に、以下のマッチング結果をまとめた新たなデータテーブルが出力されます。このテーブルでは、マッチングできたサンプルについての状況を示しており、マッチしたペアが「マッチID」として示されます。この例では処置群と対照群について68のペアが作成されました。

Masukawa_Nao_1-1764824222199.png

 

参考:モデルに対するレポートから [因果効果に関する列をテーブルに保存] を選択すると、元のデータテーブルに傾向スコア、傾向スコアのロジット、マッチングの有無(その行がマッチングされたかどうか)などを示す因果効果の推定結果を示す列が保存されます。

Masukawa_Nao_2-1764827229802.png

 

マッチングデータの分析

レポートの最後の「マッチングデータの分析」レポートには、マッチング後のデータに対してあてはめられたモデルに関する情報が表示されます。

ここで用いられるモデルは、アウトカムをY、処置を固定効果、マッチIDを変量効果としたロジスティックモデルです。傾向スコアマッチングでは、処置群と対照群で似たスコアを持つものをペアにするので、ID内の観測値は独立とみなせず、変量効果として扱うことでこの状況に対応しています。

Masukawa_Nao_2-1764824588534.png

「固定効果のパラメータ推定値」をみると、項:Treatment[0-1] のパラメータ推定値は-1.663です。項に表示されている[0-1]は、「対照群(=0)の処置群(=1)に対する効果」を示しており、対照群のlogit(効果がある確率)が処置群よりも1.663低いことを示しています。

推定値(-1.663)に対する95%信頼区間は[-2.554, -0.772]であり、0をまたいでおらず、p値も0.003と小さいため、有意差があります。

つまり、因果推論として、医療処置を行うことで効果が得られる確率が有意に上昇すると言えます。

各群における「効果あり」の予測確率は、レポート「二項」の左にある赤い三角ボタンから [周辺予測値プロット] > [プロファイル]を選択することによって求められます。対照群の予測確率は0.117、処置群の予測確率は0.411となっており、処置によって約30%の効果が期待できることが分かります。

Masukawa_Nao_1-1764826521448.png

処置に関する推定値(= -1.663)の符号を反転させ、その値を指数の肩にのせると、

exp(1.663) = 5.28

となります。これは、効果ありを基準とした場合の、処置群の対照群に対するオッズ比を示しています。すなわち、処置を受けることで、有効性のオッズは対照群の約5.3倍に増加すると言えます。

 

Yが連続変数の場合でも

ここまでの例はYが2値の名義変数を扱いましたが、Yが連続変数の場合も同様の操作で傾向スコアマッチングを実施できます。

JMPのサンプルデータ「Blood Pressure Treatment.jmp」は、Yとして「投与後 収縮期血圧」という連続変数を扱う例となっています。

Masukawa_Nao_0-1764833407548.png

このとき、マッチング後のデータに対しては、Yに正規分布を仮定した線形混合モデルがあてはめられます。

 

by 増川 直裕(JMP Japan)

Naohiro Masukawa - JMP User Community

Last Modified: Dec 5, 2025 2:59 AM