傾向スコア超入門

265 Views

January 27, 26

スライド概要

profile-image

SAS言語を中心として,解析業務担当者・プログラマなのコミュニティを活性化したいです

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

2026年1月28日 大阪SAS勉強会 傾向スコア超入門 折村 奈美

2.

目次 1.傾向スコアとは 2.傾向スコアの利用法 3.SASでの実装 – 傾向スコアマッチング 4.まとめ Copyright© EPS All rights reserved. 2

3.

傾向スコアとは Copyright© EPS All rights reserved. 3

4.

傾向スコア 背景情報(年齢,血圧などの共変量)から推定された,治療を受ける確率のこと ➢ 傾向スコアを用いて治療群と対照群の背景の違いを均衡化することで, 公平な比較ができる ➢ 観察研究で特に有用だが,実験研究でも用いられる 観察研究:交絡因子を取り除き,比較する集団の条件を均一にできる 実験研究:外部データ(レジストリ,電子カルテ等)を対照とする場合などに有用 Copyright© EPS All rights reserved. 44

5.

傾向スコアの推定 ある治療を受けるかどうかが,Age, BP(血圧)の2つに影響されるとする 推定された回帰式が 𝑙𝑜𝑔𝑖𝑡 𝑝 = 27.2531 + 0.4006 × 𝐴𝑔𝑒 − 0.3412 × 𝐵𝑃 のとき,傾向スコアは以下の式で算出される 1 𝑝= 1 + 𝑒 −𝑙𝑜𝑔𝑖𝑡(𝑝) No. Treat Age (歳) BP (mmHg) 傾向スコア 1 0 40 131 0.194 2 1 45 135 0.314 3 0 48 136 0.519 4 1 52 140 0.578 5 0 51 141 0.395 Copyright© EPS All rights reserved. 1: 治療あり 0:治療なし 55

6.

傾向スコアの利用法 Copyright© EPS All rights reserved. 6

7.

傾向スコアを使用した解析の手順 傾向スコアの推定 傾向スコアの解析 共変量バランスの評価 治療効果の推定 Copyright© EPS All rights reserved. 主にロジスティック回帰を用いて算出 1 𝑝= 1 + 𝑒 − β0+β1𝑥1+β2𝑥2+⋯ ・マッチング ・重み付け ・層別 傾向スコア解析後のデータについて, 群間で共変量に偏りがないかを確認 (標準化平均差,クラウドプロットなど) ・t検定 ・カイ二乗検定 など 77

8.

傾向スコアの解析 方法 特徴 利点/欠点 マッチング 傾向スコアの近いもの同士をペアに 外れ値の影響が小さい/ する サンプル数が減る 重み付け 傾向スコアの逆数を重みとして使用 サンプル数が減らない/ する,逆確率重み付け(IPTW)がよく 外れ値の影響が大きい 使われる 出現確率高→小さく重み付け 出現確率低→大きく重み付け 層別 Copyright© EPS All rights reserved. 傾向スコアで層別する 共変量が多いときに有用/ 精度がやや低い 88

9.

傾向スコアマッチングの方法 貪欲最近傍マッチング 復元マッチング 最適マッチング 治療群の被験者1名に対して, 最も近い傾向スコアを持つ 対照群の被験者をペアにする 復元抽出不可 治療群の被験者1名に対して, 最も近い傾向スコアを持つ 対照群の被験者をペアにする 復元抽出可 ペアの傾向スコアの差の 絶対値の和を最小化するよう マッチングさせる 復元抽出不可 以下のいずれかの方法で, マッチング比(1対何でマッチングするか)を設定する ・固定比マッチング ある治療群の被験者1名に対してマッチングさせる対照群の人数を固定 ・変動比マッチング マッチングさせる対照群の人数の上限を固定 ・フルマッチング 治療群の被験者1名に対して1名以上の対照群の被験者をマッチングさせ, かつ対照群の被験者1名に対して1名以上の治療群の被験者をマッチングさせる Copyright© EPS All rights reserved.

10.

貪欲最近傍マッチングのイメージ 治療群:対照群=1:1でマッチングする場合 1 キャリパー:マッチングの許容範囲 0.8 傾 向 ス コ ア マッチしない 0.6 0.4 0.2 0 治療群 対照群 https://amn.astellas.jp/medical-information/analysis/analysis-2より作図 Copyright© EPS All rights reserved.

11.

SASでの実装 – 傾向スコアマッチング Copyright© EPS All rights reserved. 11

12.

用いるデータ 5枚目のスライドのデータにGlucose(血糖値)の値を追加し, No.20まで増やした以下のデータを用いる 目的変数:Treat(1=治療あり,0=治療なし) 交絡因子:Age, BP アウトカム:Glucose Copyright© EPS All rights reserved. 12 12

13.

傾向スコアマッチング proc psmatch data=data1 region=treated; class Treat; psmodel Treat(treated='1')=Age BP; match distance=lps method=greedy(k=1) caliper=0.25 weight=none; assess lps var=(Age BP) / stddev=pooled(allobs=no) stdbinvar=no plots(nodetails)=all; output out(obs=match)=wk1 matchid=_MatchID; run; ➢ psmatchプロシジャ 傾向スコアを算出し,2群間のマッチングを行うプロシジャ region:マッチングに使用する傾向スコアの区間範囲を指定 ➢ classステートメント 分類変数を指定 ➢ psmodelステートメント ロジスティック回帰モデルの式を指定 Copyright© EPS All rights reserved. 13 13

14.

傾向スコアマッチング proc psmatch data=data1 region=treated; class Treat; psmodel Treat(treated='1')=Age BP; match distance=lps method=greedy(k=1) caliper=0.25 weight=none; assess lps var=(Age BP) / stddev=pooled(allobs=no) stdbinvar=no plots(nodetails)=all; output out(obs=match)=wk1 matchid=_MatchID; run; ➢ matchステートメント 治療群と対照群のデータを照合する distance:治療群と対照群の差の測り方を指定 method:マッチング方法を指定 caliper:キャリパーを指定 Copyright© EPS All rights reserved. 14 14

15.

傾向スコアマッチング proc psmatch data=data1 region=treated; class Treat; psmodel Treat(treated='1')=Age BP; match distance=lps method=greedy(k=1) caliper=0.25 weight=none; assess lps var=(Age BP) / stddev=pooled(allobs=no) stdbinvar=no plots(nodetails)=all; output out(obs=match)=wk1 matchid=_MatchID; run; ➢ assessステートメント 治療群と対照群の変数差を評価する var:差異を評価したい変数を指定 stddev:標準化平均差の計算に用いられる標準偏差を指定 stdbinvar:標準化二値変数をプロットに表示するか指定 plots:出力したいプロットを指定 Copyright© EPS All rights reserved. 15 15

16.

傾向スコアマッチング proc psmatch data=data1 region=treated; class Treat; psmodel Treat(treated='1')=Age BP; match distance=lps method=greedy(k=1) caliper=0.25 weight=none; assess lps var=(Age BP) / stddev=pooled(allobs=no) stdbinvar=no plots(nodetails)=all; output out(obs=match)=wk1 matchid=_MatchID; run; ➢ outputステートメント アウトプットを指定 matchid:マッチしたペアの識別番号を入れる変数を指定 Copyright© EPS All rights reserved. 16 16

17.

傾向スコアマッチング _PS_:傾向スコア _MATCHWGT_:観測値の重み 治療群と対照群が1対kでマッチしている場合, 治療群=1,対照群=1/kとなる _MatchID:マッチしたペアで同じ数字になる Copyright© EPS All rights reserved. 17 17

18.

傾向スコアマッチング Copyright© EPS All rights reserved. 18 18

19.

共変量バランスの評価 標準化平均差(治療群と対照群の間のずれ)を確認 ×:マッチング前 マッチング後,標準化平均差は 〇:マッチング後 すべて許容範囲内に収まった 水色の帯:許容範囲 マッチング後に標準化平均差が小さくなり, 治療群と対照群の共変量のバランスが改善された Copyright© EPS All rights reserved. 19 19

20.

共変量バランスの評価 治療群と対照群の一致Obsが, 同じ値の範囲に分布しており, 共変量のバランスが改善された P19, 20のグラフより, 背景の違いを均衡化できた Copyright© EPS All rights reserved. 20 20

21.

治療効果の推定 傾向スコアマッチングで得られたデータセットを用いて対応のあるt検定を行う proc transpose data=wk1 out=wk2 prefix=Glu_; by _MatchID; id Treat; var Glucose; run; proc ttest data=wk2; paired Glu_1*Glu_0; run; P<0.05より,治療群と対照群の血糖値に有意差あり Copyright© EPS All rights reserved. 21 21

22.

まとめ • 傾向スコアは治療群と対照群の間の共変量を調整し,背景情報を均衡化するために 使用される • 傾向スコアの推定→傾向スコアの解析→共変量のバランス評価→治療効果の推定の 4ステップ • 傾向スコアの解析については主に以下3つの方法がある 方法 特徴 利点/欠点 マッチング 傾向スコアの近いもの同士を ペアにする 外れ値の影響が小さい/ サンプル数が減る 重み付け 傾向スコアの逆数を重みとして 使用する,逆確率重み付け(IPTW) がよく使われる サンプル数が減らない/ 外れ値の影響が大きい 層別 傾向スコアで層別する 共変量が多いときに有用/ 精度がやや低い Copyright© EPS All rights reserved. 22

23.

参考文献 [1] 岩崎学, 統計的因果推論, 朝倉書店, 2015, p96-146 [2] SAS Institute Japan, SASによる因果推論:PSMATCHプロシジャによる傾向スコアマッチング, https://blogs.sas.com/content/sasjapan/2023/11/09/psmatch_psmatchprocedure/, Accessed Jan 15, 2026 [3] アステラス製薬株式会社, 傾向スコア解析(マッチング)|医療関連情報|アステラスメディカルネット, https://amn.astellas.jp/medical-information/analysis/analysis-2, Accessed Jan 15, 2026 [4] SAS Institute, SAS/STAT 15.1 User’s guide The PSMATCH Procedure [5] SAS Institute, SAS Help Center: The PSMATCH Procedure, https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/statug/statug_psmatch_toc.htm, Accessed Jan 15, 2026 [6] ネイチャーインサイト株式会社, SASでIPTW(逆確率重み付け法)を実装, https://www.n-insight.co.jp/niblog/20250616-2599/, Accessed Jan 15, 2026 Copyright© EPS All rights reserved. 23