SSブログ

傾向スコアを使ったアップリフトモデルについて考える [データサイエンス、統計モデル]

ABテストみたいにランダム実験ができる環境だと良いのですが、例えば、薬を投与する/投与しないといったことをランダムでやるには人道的に反しますし、ビジネスにおいてもあえて効果がない群にキャンペーンを実施することはNGとなる場合が多いです。

そこで傾向スコアみたいな考え方が出てきて、あえてランダム実験をしていなくてもアップリフトが計算したいというニーズはありそうです。

傾向スコアでもでりんぐしてみるとこんな感じです。

知りたいのは、
目的変数: re78
介入効果: treat
の効果が知りたい。

# Propensity Score
install.packages("Matching")
library(Matching)
data(lalonde)
head(lalonde)

# どんな人に介入をしたのか(treat)をロジスティック回帰分析で傾向をつかんでおきます。
model.glm <- glm(treat ~ age + educ + black + hisp + married + nodegr + re74 + re75 + u74+ u75,
family=binomial, data=lalonde)
summary(model.glm)

# 傾向スコアを使わない場合
model2 <- lm(re78~treat, data=lalonde)
summary(model2)

## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4554.8 408.0 11.162 < 2e-16 ***
## treat 1794.3 632.9 2.835 0.00479 **
##
## 介入効果は、1794.3
## ただし、他の変数の影響を受けている

# 傾向スコアを使う場合
model3 <- Match(Y=lalonde$re78, Tr=lalonde$treat, X = model.glm$fitted)
summary(model3)

## Estimate... 2138.6
## AI SE...... 797.76
## T-stat..... 2.6807
## p.val...... 0.0073468
##
## Original number of observations.............. 445
## Original number of treated obs............... 185
## Matched number of observations............... 185
## Matched number of observations (unweighted). 322

2138.6というのがtreatの効果だと言っています。

ここで、ふと気がついたのですが・・・
マーケティングにおけるキャンペーンって、人によって、また、タイミングによって施策の効果が変わってくるはずです。
知りたいのは、平均的な消費者像に対するキャンペーン効果ではないはず。

となると、傾向スコアを使ったアップリフトモデルというのは、ちょっと厳しそう。
実は、ここの異質性を考慮した傾向スコアというのも出せるのかもしれませんが、ちょっと研究不足です。m(_ _)m

nice!(3)  コメント(0) 
共通テーマ:学問

nice! 3

コメント 0