効果測定入門 rによる傾向スコア解析

Post on 07-Jul-2015

1.492 Views

Category:

Data & Analytics

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

◆教材 里洋平著 「戦略的データマイニング」 7章 ◆内容 1.効果測定の基本的な考え方 2.因果(施策)効果の推定    ・ランダムに割り当てられる場合    ・割当がランダムでない場合    ・共変量で調整する場合 3.傾向スコア解析    ・概要    ・傾向スコアを用いた調整法    ・Rによる実行

TRANSCRIPT

効果測定入門

『戦略的データマイニング』 7章

ToykoR#43 テキストセッション

2014年9月20日

Rによる傾向スコア解析

教材 この本の7章▶

発表内容

1.効果測定の基本的な考え方

2.因果(施策)効果の推定 ・ランダムに割り当てられる場合

・割当がランダムでない場合

・共変量で調整する場合

3.傾向スコア解析 ・概要

・傾向スコアを用いた調整法

・Rによる実行

発表内容

1.効果測定の基本的な考え方

2.因果(施策)効果の推定 ・ランダムに割り当てられる場合

・割当がランダムでない場合

・共変量で調整する場合

3.傾向スコア解析 ・概要

・傾向スコアを用いた調整法

・Rによる実行

Plan

Do

Check

Act

1.効果測定の基本的な考え方

施策の効果を定量的・

定性的に分析し、次の

施策につなげること

施策の効果とは

実施した

実施しなかった

施策の効果 =施策を実施した場合-実施しなかった場合

出典:戦略的データマイニング

施策の効果

施策効果の出し方

<方法1>施策の実施前・後で比較

<方法2>施策実施の有・無で比較

施策効果の出し方

<方法1>施策の実施前・後で比較

<方法2>施策実施の有・無で比較

<方法1>実施前・後で比較

実施前 (ベースライン)

時間

購入率

実施後

【例】施策実施前・後の購入率

出典:戦略的データマイニング

<方法1>実施前・後で比較

実施前 (ベースライン)

時間

購入率

実施後

【例】施策実施前・後の購入率

施策の 効果!?

施策の効果=施策の実施後-実施前

出典:戦略的データマイニング

効果に影響を及ぼすもの(例)

影響を及ぼすもの 例

季節要因 施策Bを実施した時期が売れやすい時期だった

他の施策の影響 同時期に実施していた他の施策が当たっていた

その他の外部要因 施策Bの時期にTVや雑誌でたまたま取り上げられた

施策効果の出し方

<方法1>施策の実施前・後で比較

<方法2>施策実施の有・無で比較

<方法2>実施の有・無で比較

【例】施策を実施するグループと実施しないグループ別

の一定期間の購入率

購入率

出典:戦略的データマイニング 時間

実施した

実施しなかった

<方法2>実施の有・無で比較

【例】施策を実施するグループと実施しないグループ別

の一定期間の購入率

購入率

出典:戦略的データマイニング 時間

実施した

実施しなかった

施策の効果 =施策を実施したグループ-実施しなかったグループ

施策の 効果!?

グループ間の偏りを起こすもの(例)

⇒グループによって特性が異なる

場合、正しく効果を見られない

偏りを起こすもの 例

性別 性別や年齢、地域によって購入傾向が異なる

年齢

地域

偏りへの対処

可能ならランダムにグループを割り当ててから解析する

ランダムに割り当てられない場合は、偏りを調整して解析する

おさらい 1.効果測定の基本的な考え方

• 施策効果に影響する施策以外の要素(例:季節)に注意する

• グループ間に偏り(例:性別)がある場合、正しく効果を見られない

• ランダムにグループを割り当てあられるか否かで解析方法も変わる

発表内容

1.効果測定の基本的な考え方

2.因果(施策)効果の推定 ・ランダムに割り当てられる場合

・割当がランダムでない場合

・共変量で調整する場合

3.傾向スコア解析 ・概要

・傾向スコアを用いた調整法

・Rによる実行

処置群 対照群

ランダムに割当られる場合

処置群と対照群を ランダムに割当

因果効果は処置群と対照群の差になる

出典:Rで学ぶ傾向スコア解析入門

処置群のデータ

対照群のデータ

処置群 対照群

ランダムに割当られる場合

処置群と対照群を ランダムに割当

欠測

欠測 介入を受けた 場合の結果

介入を受けない 場合の結果

出典:Rで学ぶ傾向スコア解析入門

因果効果は処置群と対照群の差になる

ランダムに割当られる場合

処置群のデータ

欠測

欠測

対照群のデータ

処置群と対照群を ランダムに割当

処置群 対照群

介入を受けた 場合の結果

介入を受けない 場合の結果

介入を受けた処置群の期待値と 介入を受けていた場合の対照群の期待値は同じ

出典:Rで学ぶ傾向スコア解析入門

因果効果は処置群と対照群の差になる

ランダムに割当られる場合

処置群のデータ

欠測

欠測

対照群のデータ

処置群と対照群を ランダムに割当

処置群 対照群

介入を受けた 場合の結果

介入を受けない 場合の結果

介入を受けた処置群の期待値と 介入を受けていた場合の対照群の期待値は同じ

介入を受けない場合の処置群の期待値と 介入を受けなかった対照群の期待値は同じ

期待値が等しい

出典:Rで学ぶ傾向スコア解析入門

因果効果は処置群と対照群の差になる

割当がランダムでない場合

処置群と対照群の割当 (コントロールできない)

処置群 対照群

割当によって処置群と対照群に差が生じるため 単純に比較できない

出典:Rで学ぶ傾向スコア解析入門

割当がランダムでない場合

処置群のデータ

欠測

欠測

対照群のデータ

処置群と対照群の割当 (コントロールできない)

処置群 対照群

介入を受けた 場合の結果

介入を受けない 場合の結果

割当によって処置群と対照群に差が生じるため 単純に比較できない

出典:Rで学ぶ傾向スコア解析入門

割当がランダムでない場合

処置群のデータ

欠測

欠測

対照群のデータ

処置群と対照群の割当 (コントロールできない)

処置群 対照群

介入を受けた 場合の結果

介入を受けない 場合の結果

介入を受けた処置群の期待値と 介入を受けていた場合の対照群の期待値が異なる

割当によって処置群と対照群に差が生じるため 単純に比較できない

出典:Rで学ぶ傾向スコア解析入門

割当がランダムでない場合

処置群のデータ

欠測

欠測

対照群のデータ

処置群と対照群の割当 (コントロールできない)

処置群 対照群

介入を受けた 場合の結果

介入を受けない 場合の結果

介入を受けた処置群の期待値と 介入を受けていた場合の対照群の期待値が異なる

介入を受けない場合の処置群の期待値と 介入を受けなかった対照群の期待値が異なる

期待値が異なる

割当によって処置群と対照群に差が生じるため 単純に比較できない

出典:Rで学ぶ傾向スコア解析入門

共変量調整による因果効果の推定

処置群のデータ

欠測

欠測

対照群のデータ

処置群と対照群の割当 (コントロールできない)

処置群 対照群

介入を受けた 場合の結果

介入を受けない 場合の結果

共通で得られている変数 共変量項目

割当や結果変数に影響を与える共変量を用いて、因果効果以外の影響を除去する

出典:Rで学ぶ傾向スコア解析入門

共変量調整による因果効果の推定

処置群のデータ

欠測

欠測

対照群のデータ

処置群と対照群の割当 (コントロールできない)

処置群 対照群

介入を受けた 場合の結果

介入を受けない 場合の結果

共通で得られている変数 共変量項目

割当や結果変数に影響を与える共変量を用いて、因果効果以外の影響を除去する

共変量の調整法 ◆マッチング ◆層別解析 ◆回帰モデル

出典:Rで学ぶ傾向スコア解析入門

共変量を用いて因果効果を 推定する場合の条件

強く無視できる割り当て 処置群と対照群のどちらに割り当てられるかは

共変量の値に依存し、結果変数には依存しない

結果変数 (商品の購入量)

割当変数 (施策)

共変量 (年齢、収入、購買意欲)

おさらい 2.因果(施策)効果の推定

• ランダムに割当られる場合の因果効果は、処置群と対照群の差

• 割当がランダムでない場合、割当によって処置群と対照群に差が生じるため因果効果は単純に比較できない

• 共変量を用いて因果効果を推定する際は、「強く無視できる割り当て」の条件が必要

発表内容

1.効果測定の基本的な考え方

2.因果(施策)効果の推定 ・ランダムに割り当てられる場合

・割当がランダムでない場合

・共変量で調整する場合

3.傾向スコア解析 ・概要

・傾向スコアを用いた調整法

・Rによる実行

傾向スコア解析の概要 複数の共変量を傾向スコアという1つの変数に集約し、

群間の偏りを調整することで因果効果を推定する手法

処置群のデータ

欠測

欠測

対照群のデータ

処置群と対照群の割当 (コントロールできない)

処置群 対照群

介入を受けた 場合の結果

介入を受けない 場合の結果

共通で得られている変数

共変量で割当をモデリング 傾向スコアの算出

共変量項目

出典:Rで学ぶ傾向スコア解析入門

傾向スコアとは

第 i 対象者が処置群に割り当てられる確率

処置群のデータ

y11

欠測

y10

欠測

y21

対照群のデータ

y20

処置群と対照群の割当

Z

処置群Z=1 対照群Z=0

介入を受けた 場合の結果y1

介入を受けない 場合の結果y0

共通で得られている変数

x 共変量項目

共変量で割当をモデリング 傾向スコアの算出

出典:Rで学ぶ傾向スコア解析入門

傾向スコア解析の手順

Stepを2つ踏む ・Step. 1

傾向スコアの推定

・Step. 2

推定された傾向スコアを用いた調整と

バランスの確認

Step.1 傾向スコアの推定

傾向スコアを推定する統計手法

・ロジスティック回帰分析

・プロビット回帰分析 など

Step.2 推定された傾向スコア を用いた調整法

・マッチング

・IPW推定量

・層別解析

・共分散分析

・カーネルマッチング

Step.2 推定された傾向スコア を用いた調整法

・マッチング

・IPW推定量

・層別解析

・共分散分析

・カーネルマッチング

この2つを お話します!

Step.2 推定された傾向スコア を用いた調整法

・マッチング

・IPW推定量

・層別解析

・共分散分析

・カーネルマッチング

マッチング法

2つの群で傾向スコアが等しい(近い)対象者をペアにして、その差の平均を因果効果の推定値とする方法

マッチング法のアルゴリズム Greedy matching(Nearest neighbor matching)

① 処置群からランダムに一人選ぶ

② 対照群から①の傾向スコアに対して最小の距離になる

ような人の傾向スコアとペアを作る

③ ①~②の作業を繰り返す

Optimal matching ・各ペアの傾向スコアの距離を合計した値が最小になる

ようにペアを作る

※ Optimal matchingよりもGreedy matchingの方がマッチング

のバランスが良いらしい

マッチング法の指定

キャリパー( Nearest neighbor matching の時)

傾向スコアの距離(キャリパー)が特定の値に

収まる対象者をマッチングする

処置群と対照群の構成比

1対1、1対多、多対多

抽出の仕方

非復元抽出、復元抽出

バランスの確認

マッチング後に、処置群と対照群の共変量を確認する

バランスの確認方法

・群ごとの要約統計量

・標準化効果量

・QQプロット

・箱ひげ図

バランスが取れない時

モデルを修正する <例>

・共変量を増やす

・共変量間の交互作用項を加える

・共変量(量的変数)の非線形性を検討する

マッチングの方法を変更する <例>

・処置群と対照群の構成比を変える

マッチングの問題点

• 因果効果の推定計算はできるが、その標準誤差が計算できない

• 各周辺期待値の推定ができない

• 対象者の数が多い群でデータの多くが無駄になる

• マッチングによる推定値は、「対象者数が少ない群の共変量の分布」の上で期待値をとったときの因果効果になる

Step.2 推定された傾向スコア を用いた調整法

・マッチング

・IPW推定量

・層別解析

・共分散分析

・カーネルマッチング

IPW推定量

• 推定された傾向スコアの逆数を用いて重み付け平均し、その差を効果とする

• 因果効果の推定値とその標準誤差も算出できる

Rで傾向スコア解析を実行

使用したデータ 職業訓練プログラム (NSW) のデータを一部変更

したもの

効果測定の方法 「職業訓練を受けやすい人」と「受けにくい

人」の違いを傾向スコアを用いて調整し、職業

訓練の効果を推定する

変数の一覧

• 割り当て変数

• 共変量

• 結果変数

age 年齢 married 結婚してるかどうか

educ 教育年数 nodegree 高校卒業有無

black 黒人かどうか re74 74年実質賃金

hisp ヒスパニック かどうか

re75 75年実質賃金

Treat NSW(職業訓練)プログラムの有無

re78 78年実質賃金

前処理

## 作業フォルダを指定 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

傾向スコアの推定

## ロジスティック回帰分析で傾向スコアを推定

logit <- glm(treat ~ ., data = nsw.data[ ,-10], family = binomial)

summary(logit)

マッチングによる因果効果の推定

パッケージMatching

関数Match

Match(Y=結果変数, Tr=割当変数,

X=傾向スコアの推定値 , …) <オプション>

caliper: キャリパーを指定する場合はTRUE

M:処置群と対照群の構成比

replace: 抽出法

マッチングによる因果効果の推定

## パッケージの読み込み

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プログラムの効果

バランスの確認

関数MatchBalance

MatchBalance(formul, data = NULL, match.out = NULL, …)

data: データフレーム

match.out:Matchで作成したオブジェクトを指定すると

マッチング前後の値が出力される

関数qqplot

バランスの確認① ## バランスの確認

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群の平均値が 近づいている

標準化効果量

バランスの確認② ## バランスの確認

qqplot(nsw.data$age[nsw1$index.control],

nsw.data$age[nsw1$index.treated])

abline(coef = c(0, 1), col = 2)

対照群

点(データ)が直線の近くにある場合、 2群の年齢の分布は似ていると考えられる

処置群の年齢

対照群の年齢

処置群

IPW推定量

特定のパッケージは存在しない

lm関数(推定された傾向スコアの逆数を重みとした加重平均を算出)

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)

出力: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推定量と標準誤差

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

おさらい 3.傾向スコア解析

• 傾向スコア解析とは、複数の共変量を傾向スコアという1つの変数に集約し、偏りを調整することで因果効果を推定する手法

• 傾向スコアによる調整は2つのステップを踏む

Step. 1 傾向スコアの推定

Step. 2 推定された傾向スコアを用いた調整

• 推定された傾向スコアを用いた調整法には、マッチングやIPW推定量などがある

参考資料(書籍)

・里洋平『戦略的データマイニング』

・星野崇宏『調査観察データの統計科学』

・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.

参考資料(論文)

・里洋平『Rで学ぶ傾向スコア解析入門』 http://www.slideshare.net/yokkuns/r-9387843

・奥村泰之『「傾向スコア分析」の書き方』 http://researchmap.jp/index.php?action=multidatabase_action_main_

filedownload&download_flag=1 &upload_id=38144&metadata_id=29089

・林岳彦『傾向スコア:その概念とRによる実装 http://www.slideshare.net/takehikoihayashi/propensity-score-analysis-

seminar-japanese

参考資料(Web資料)

まとめ

1.効果測定の基本的な考え方

2.因果(施策)効果の推定 ・ランダムに割り当てられる場合

・割当がランダムでない場合

・共変量で調整する場合

3.傾向スコア解析 ・概要

・傾向スコアを用いた調整法

・Rによる実行 ご清聴ありがとうございました!

top related