Contenu connexe Similaire à 効果測定入門 Rによる傾向スコア解析 (20) 効果測定入門 Rによる傾向スコア解析5. Plan
Do
Check
Act
1.効果測定の基本的な考え方
施策の効果を定量的・
定性的に分析し、次の
施策につなげること 20. 処置群のデータ
対照群のデータ
処置群
対照群
ランダムに割当られる場合
処置群と対照群を ランダムに割当
欠測
欠測
介入を受けた
場合の結果
介入を受けない
場合の結果
出典:Rで学ぶ傾向スコア解析入門
因果効果は処置群と対照群の差になる 21. ランダムに割当られる場合
処置群のデータ
欠測
欠測
対照群のデータ
処置群と対照群を
ランダムに割当
処置群
対照群
介入を受けた
場合の結果
介入を受けない 場合の結果
介入を受けた処置群の期待値と
介入を受けていた場合の対照群の期待値は同じ
出典:Rで学ぶ傾向スコア解析入門
因果効果は処置群と対照群の差になる 22. ランダムに割当られる場合
処置群のデータ
欠測
欠測
対照群のデータ
処置群と対照群を
ランダムに割当
処置群
対照群
介入を受けた
場合の結果
介入を受けない
場合の結果
介入を受けた処置群の期待値と 介入を受けていた場合の対照群の期待値は同じ
介入を受けない場合の処置群の期待値と
介入を受けなかった対照群の期待値は同じ
期待値が等しい
出典:Rで学ぶ傾向スコア解析入門
因果効果は処置群と対照群の差になる 24. 割当がランダムでない場合
処置群のデータ
欠測
欠測
対照群のデータ
処置群と対照群の割当
(コントロールできない)
処置群
対照群
介入を受けた
場合の結果
介入を受けない 場合の結果
割当によって処置群と対照群に差が生じるため
単純に比較できない
出典:Rで学ぶ傾向スコア解析入門 25. 割当がランダムでない場合
処置群のデータ
欠測
欠測
対照群のデータ
処置群と対照群の割当
(コントロールできない)
処置群
対照群
介入を受けた
場合の結果
介入を受けない
場合の結果
介入を受けた処置群の期待値と 介入を受けていた場合の対照群の期待値が異なる
割当によって処置群と対照群に差が生じるため
単純に比較できない
出典:Rで学ぶ傾向スコア解析入門 26. 割当がランダムでない場合
処置群のデータ
欠測
欠測
対照群のデータ
処置群と対照群の割当
(コントロールできない)
処置群
対照群
介入を受けた
場合の結果
介入を受けない 場合の結果
介入を受けた処置群の期待値と
介入を受けていた場合の対照群の期待値が異なる
介入を受けない場合の処置群の期待値と
介入を受けなかった対照群の期待値が異なる
期待値が異なる
割当によって処置群と対照群に差が生じるため
単純に比較できない
出典:Rで学ぶ傾向スコア解析入門 27. 共変量調整による因果効果の推定
処置群のデータ
欠測
欠測
対照群のデータ
処置群と対照群の割当
(コントロールできない)
処置群
対照群
介入を受けた
場合の結果
介入を受けない
場合の結果
共通で得られている変数
共変量項目
割当や結果変数に影響を与える共変量を用い て、因果効果以外の影響を除去する
出典:Rで学ぶ傾向スコア解析入門 28. 共変量調整による因果効果の推定
処置群のデータ
欠測
欠測
対照群のデータ
処置群と対照群の割当 (コントロールできない)
処置群
対照群
介入を受けた
場合の結果
介入を受けない
場合の結果
共通で得られている変数
共変量項目
割当や結果変数に影響を与える共変量を用い て、因果効果以外の影響を除去する
共変量の調整法 ◆マッチング ◆層別解析 ◆回帰モデル
出典:Rで学ぶ傾向スコア解析入門 33. 傾向スコアとは
第 i 対象者が処置群に割り当てられる確率
処置群のデータ
y11
欠測 y10
欠測
y21
対照群のデータ
y20
処置群と対照群の割当
Z
処置群Z=1
対照群Z=0
介入を受けた
場合の結果y1
介入を受けない
場合の結果y0
共通で得られている変数 x
共変量項目
共変量で割当をモデリング
傾向スコアの算出
出典:Rで学ぶ傾向スコア解析入門 40. マッチング法のアルゴリズム
Greedy matching(Nearest neighbor matching)
① 処置群からランダムに一人選ぶ
② 対照群から①の傾向スコアに対して最小の距離になる
ような人の傾向スコアとペアを作る
③ ①~②の作業を繰り返す
Optimal matching
・各ペアの傾向スコアの距離を合計した値が最小になる
ようにペアを作る
※ Optimal matchingよりもGreedy matchingの方がマッチング
のバランスが良いらしい
41. マッチング法の指定
キャリパー( Nearest neighbor matching の時)
傾向スコアの距離(キャリパー)が特定の値に
収まる対象者をマッチングする
処置群と対照群の構成比
1対1、1対多、多対多
抽出の仕方
非復元抽出、復元抽出 48. 変数の一覧
•割り当て変数
•共変量
•結果変数
age
年齢
married
結婚してるかどうか
educ
教育年数
nodegree
高校卒業有無
black
黒人かどうか
re74
74年実質賃金
hisp
ヒスパニック
かどうか
re75
75年実質賃金
Treat
NSW(職業訓練)プログラムの有無
re78
78年実質賃金 49. 前処理
## 作業フォルダを指定
setwd("C:/Users/Documents/TokyoR43/data")
## csvデータの読み込み
nsw.data <- read.csv("nsw.csv", header = T)
head(nsw.data, 3)
treat age educ black hispanic married nodegree re74 re75 re78
1 1 37 11 1 0 1 1 0 0 9930.0460
2 1 22 9 0 1 0 1 0 0 3595.8940
3 1 30 12 1 0 0 0 0 0 24909.4500 52. マッチングによる因果効果の推定
## パッケージの読み込み
library(Matching)
nsw1 <- Match(Y = nsw.data$re78, Tr = nsw.data$treat, X = logit$fitted)
summary(nsw1)
……(略)……
Estimate... 1866.4
AI SE...... 1562.3
T-stat..... 1.1947
p.val...... 0.23222
Original number of observations.......................... 313
Original number of treated obs............................ 185
Matched number of observations........................ 185
Matched number of observations (unweighted). 202
NSWプログラムの効果 54. バランスの確認①
## バランスの確認
mb <- MatchBalance(treat ~ ., data = nsw.data[ ,-10], match.out=nsw1)
***** (V1) age *****
Before Matching After Matching
mean treatment........ 25.816 25.816
mean control.......... 38.258 25.023
std mean diff......... -173.89 11.08
mean raw eQQ diff..... 12.484 1.4703
med raw eQQ diff..... 12.5 1
max raw eQQ diff..... 23 8
mean eCDF diff........ 0.31181 0.039604
med eCDF diff........ 0.32272 0.024752
max eCDF diff........ 0.46161 0.15347
var ratio (Tr/Co)..... 0.30795 1.1056
T-test p-value........ < 2.22e-16 0.1727
KS Bootstrap p-value..< 2.22e-16 0.006
KS Naive p-value...... 1.9873e-14 0.017175
KS Statistic.......... 0.46161 0.15347
2群の平均値が
近づいている
標準化効果量 55. バランスの確認②
## バランスの確認
qqplot(nsw.data$age[nsw1$index.control],
nsw.data$age[nsw1$index.treated])
abline(coef = c(0, 1), col = 2)
対照群
点(データ)が直線 の近くにある場合、 2群の年齢の分布は似 ていると考えられる
処 置 群 の 年 齢
対照群の年齢
処置群 57. IPW推定量の算出
ivec1 <- nsw.data$treat
ivec2 <- rep(1, nrow(nsw.data)) - ivec1
iestp1 <- (ivec1/logit$fitted) * (length(ivec1)/sum(ivec1))
iestp2 <- (ivec2/(1 - logit$fitted)) * (length(ivec2)/sum(ivec2))
iestp <- iestp1 + iestp2 # 傾向スコアの推定値の逆数を重みとする
ivec <- cbind(ivec1, ivec2)
ipwe <- lm(nsw.data$re78 ~ ivec - 1, weights = iestp) 58. 出力:IPW推定量
summary(ipwe)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
ivecivec1 7346.6 699.3 10.505 <2e-16 ***
ivecivec2 4710.3 531.4 8.864 <2e-16 ***
---
処置群の
IPW推定量と標準誤差
対照群の IPW推定量と標準誤差 59. IPW推定量による因果効果の推定
## 効果の算出
coef(ipwe)[1] - coef(ipwe)[2]
ivecivec1
2636.306
## 効果の標準誤差
treat.error <- summary(ipwe)$coef[1, 2]
ctrl.error <- summary(ipwe)$coef[2, 2]
sqrt(treat.error^2 + ctrl.error^2)
[1] 878.316 62. ・Austin PC (2011) An Introduction to Propensity
Score Methods for Reducing the Effects of
Confounding in Observational Studies.
・Stuart EA (2010) Matching Methods for Causal
Inference: A Review and a Look Forward.
・Sekhon JA (2011) Multivariate and Propensity Score
Matching Software with Automated Balance
Optimization: The Matching Package for R.
参考資料(論文)