Closed4
CausalImpactに関するまとめ
CausalImpactを使う上での注意点をまとめる。
参考文献
概要
- 介入前の
から、y_t, x_t を予測するモデルを作成する。y_t - 介入前のデータを使っているので
を予測するモデルを作っていることになる。y_t(0)
- 介入前のデータを使っているので
- 予測モデルを用いて、介入後の期間の
を予測し、実測値(y_t(0) )との差分を算出するy_t(1)
注意点
- 共変量
は なくても良いx_t - 共変量の有無で、予測精度に影響が出る。≒算出される効果の値に影響が出る。
- 共変量
は 介入の影響を受けない 変数を利用する必要があるx_t
DIDや合成コントロール法との違いとして、処置群のデータだけで効果推定ができる というものがある。処置群しか存在しないケースでも利用できるのは強い。
Pythonでの実装参考
Pythonでの実装はいくつか存在するっぽい。
-
WillianFuks/tfcausalimpact
- 2022年に更新されている。とりあえずこれ使えば良さそう。
-
dafiti/causalinpact
- リポジトリが消滅していた。。。最終リリースは2020年5月
- 一応今でもinstallはできる
-
tcassou/causal_impact
- 2020年7月が最終更新
Rでの実装
本家
tfcausalimpactでの実装例
公式リポジトリより。
データフレーム、介入前、介入後のindexを渡せばイイ感じにモデリングしてくれる。
一番左のカラムが目的変数、それ以降のカラムが共変量と自動で認識してくれるっぽい。
import pandas as pd
from causalimpact import CausalImpact
data = pd.read_csv('hoge')[['y', 'X']]
pre_period = [0, 69]
post_period = [70, 99]
ci = CausalImpact(data, pre_period, post_period)
print(ci.summary())
print(ci.summary(output='report'))
ci.plot()
このスクラップは2023/07/02にクローズされました