64
効果測定入門 『戦略的データマイニング』 7ToykoR#43 テキストセッション 2014920Rによる傾向スコア解析

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

  • Upload
    aaaaaa

  • View
    1.490

  • Download
    3

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: 効果測定入門  Rによる傾向スコア解析

効果測定入門

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

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

2014年9月20日

Rによる傾向スコア解析

Page 2: 効果測定入門  Rによる傾向スコア解析

教材 この本の7章▶

Page 3: 効果測定入門  Rによる傾向スコア解析

発表内容

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

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

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

・共変量で調整する場合

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

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

・Rによる実行

Page 4: 効果測定入門  Rによる傾向スコア解析

発表内容

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

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

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

・共変量で調整する場合

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

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

・Rによる実行

Page 5: 効果測定入門  Rによる傾向スコア解析

Plan

Do

Check

Act

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

施策の効果を定量的・

定性的に分析し、次の

施策につなげること

Page 6: 効果測定入門  Rによる傾向スコア解析

施策の効果とは

実施した

実施しなかった

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

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

施策の効果

Page 7: 効果測定入門  Rによる傾向スコア解析

施策効果の出し方

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

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

Page 8: 効果測定入門  Rによる傾向スコア解析

施策効果の出し方

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

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

Page 9: 効果測定入門  Rによる傾向スコア解析

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

実施前 (ベースライン)

時間

購入率

実施後

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

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

Page 10: 効果測定入門  Rによる傾向スコア解析

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

実施前 (ベースライン)

時間

購入率

実施後

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

施策の 効果!?

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

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

Page 11: 効果測定入門  Rによる傾向スコア解析

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

影響を及ぼすもの 例

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

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

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

Page 12: 効果測定入門  Rによる傾向スコア解析

施策効果の出し方

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

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

Page 13: 効果測定入門  Rによる傾向スコア解析

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

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

の一定期間の購入率

購入率

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

実施した

実施しなかった

Page 14: 効果測定入門  Rによる傾向スコア解析

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

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

の一定期間の購入率

購入率

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

実施した

実施しなかった

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

施策の 効果!?

Page 15: 効果測定入門  Rによる傾向スコア解析

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

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

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

偏りを起こすもの 例

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

年齢

地域

Page 16: 効果測定入門  Rによる傾向スコア解析

偏りへの対処

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

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

Page 17: 効果測定入門  Rによる傾向スコア解析

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

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

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

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

Page 18: 効果測定入門  Rによる傾向スコア解析

発表内容

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

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

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

・共変量で調整する場合

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

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

・Rによる実行

Page 19: 効果測定入門  Rによる傾向スコア解析

処置群 対照群

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

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

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

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

Page 20: 効果測定入門  Rによる傾向スコア解析

処置群のデータ

対照群のデータ

処置群 対照群

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

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

欠測

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

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

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

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

Page 21: 効果測定入門  Rによる傾向スコア解析

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

処置群のデータ

欠測

欠測

対照群のデータ

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

処置群 対照群

介入を受けた 場合の結果

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

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

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

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

Page 22: 効果測定入門  Rによる傾向スコア解析

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

処置群のデータ

欠測

欠測

対照群のデータ

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

処置群 対照群

介入を受けた 場合の結果

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

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

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

期待値が等しい

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

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

Page 23: 効果測定入門  Rによる傾向スコア解析

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

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

処置群 対照群

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

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

Page 24: 効果測定入門  Rによる傾向スコア解析

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

処置群のデータ

欠測

欠測

対照群のデータ

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

処置群 対照群

介入を受けた 場合の結果

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

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

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

Page 25: 効果測定入門  Rによる傾向スコア解析

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

処置群のデータ

欠測

欠測

対照群のデータ

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

処置群 対照群

介入を受けた 場合の結果

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

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

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

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

Page 26: 効果測定入門  Rによる傾向スコア解析

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

処置群のデータ

欠測

欠測

対照群のデータ

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

処置群 対照群

介入を受けた 場合の結果

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

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

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

期待値が異なる

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

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

Page 27: 効果測定入門  Rによる傾向スコア解析

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

処置群のデータ

欠測

欠測

対照群のデータ

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

処置群 対照群

介入を受けた 場合の結果

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

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

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

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

Page 28: 効果測定入門  Rによる傾向スコア解析

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

処置群のデータ

欠測

欠測

対照群のデータ

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

処置群 対照群

介入を受けた 場合の結果

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

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

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

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

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

Page 29: 効果測定入門  Rによる傾向スコア解析

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

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

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

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

割当変数 (施策)

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

Page 30: 効果測定入門  Rによる傾向スコア解析

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

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

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

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

Page 31: 効果測定入門  Rによる傾向スコア解析

発表内容

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

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

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

・共変量で調整する場合

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

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

・Rによる実行

Page 32: 効果測定入門  Rによる傾向スコア解析

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

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

処置群のデータ

欠測

欠測

対照群のデータ

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

処置群 対照群

介入を受けた 場合の結果

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

共通で得られている変数

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

共変量項目

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

Page 33: 効果測定入門  Rによる傾向スコア解析

傾向スコアとは

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

処置群のデータ

y11

欠測

y10

欠測

y21

対照群のデータ

y20

処置群と対照群の割当

Z

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

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

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

共通で得られている変数

x 共変量項目

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

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

Page 34: 効果測定入門  Rによる傾向スコア解析

傾向スコア解析の手順

Stepを2つ踏む ・Step. 1

傾向スコアの推定

・Step. 2

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

バランスの確認

Page 35: 効果測定入門  Rによる傾向スコア解析

Step.1 傾向スコアの推定

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

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

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

Page 36: 効果測定入門  Rによる傾向スコア解析

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

・マッチング

・IPW推定量

・層別解析

・共分散分析

・カーネルマッチング

Page 37: 効果測定入門  Rによる傾向スコア解析

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

・マッチング

・IPW推定量

・層別解析

・共分散分析

・カーネルマッチング

この2つを お話します!

Page 38: 効果測定入門  Rによる傾向スコア解析

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

・マッチング

・IPW推定量

・層別解析

・共分散分析

・カーネルマッチング

Page 39: 効果測定入門  Rによる傾向スコア解析

マッチング法

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

Page 40: 効果測定入門  Rによる傾向スコア解析

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

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

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

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

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

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

ようにペアを作る

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

のバランスが良いらしい

Page 41: 効果測定入門  Rによる傾向スコア解析

マッチング法の指定

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

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

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

処置群と対照群の構成比

1対1、1対多、多対多

抽出の仕方

非復元抽出、復元抽出

Page 42: 効果測定入門  Rによる傾向スコア解析

バランスの確認

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

バランスの確認方法

・群ごとの要約統計量

・標準化効果量

・QQプロット

・箱ひげ図

Page 43: 効果測定入門  Rによる傾向スコア解析

バランスが取れない時

モデルを修正する <例>

・共変量を増やす

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

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

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

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

Page 44: 効果測定入門  Rによる傾向スコア解析

マッチングの問題点

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

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

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

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

Page 45: 効果測定入門  Rによる傾向スコア解析

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

・マッチング

・IPW推定量

・層別解析

・共分散分析

・カーネルマッチング

Page 46: 効果測定入門  Rによる傾向スコア解析

IPW推定量

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

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

Page 47: 効果測定入門  Rによる傾向スコア解析

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

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

したもの

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

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

訓練の効果を推定する

Page 48: 効果測定入門  Rによる傾向スコア解析

変数の一覧

• 割り当て変数

• 共変量

• 結果変数

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

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

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

hisp ヒスパニック かどうか

re75 75年実質賃金

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

re78 78年実質賃金

Page 49: 効果測定入門  Rによる傾向スコア解析

前処理

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

Page 50: 効果測定入門  Rによる傾向スコア解析

傾向スコアの推定

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

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

summary(logit)

Page 51: 効果測定入門  Rによる傾向スコア解析

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

パッケージMatching

関数Match

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

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

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

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

replace: 抽出法

Page 52: 効果測定入門  Rによる傾向スコア解析

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

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

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

Page 53: 効果測定入門  Rによる傾向スコア解析

バランスの確認

関数MatchBalance

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

data: データフレーム

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

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

関数qqplot

Page 54: 効果測定入門  Rによる傾向スコア解析

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

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

標準化効果量

Page 55: 効果測定入門  Rによる傾向スコア解析

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

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

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

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

対照群

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

処置群の年齢

対照群の年齢

処置群

Page 56: 効果測定入門  Rによる傾向スコア解析

IPW推定量

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

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

Page 57: 効果測定入門  Rによる傾向スコア解析

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)

Page 58: 効果測定入門  Rによる傾向スコア解析

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

Page 59: 効果測定入門  Rによる傾向スコア解析

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

Page 60: 効果測定入門  Rによる傾向スコア解析

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

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

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

Step. 1 傾向スコアの推定

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

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

Page 61: 効果測定入門  Rによる傾向スコア解析

参考資料(書籍)

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

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

Page 62: 効果測定入門  Rによる傾向スコア解析

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

参考資料(論文)

Page 63: 効果測定入門  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資料)

Page 64: 効果測定入門  Rによる傾向スコア解析

まとめ

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

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

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

・共変量で調整する場合

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

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

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