データサイエンティストの備忘録

外資系コンサルティングファームでデータサイエンティストとして働く筆者がデータ解析技術をコンサルティングに活用するために学んだ内容の備忘録

【読書メモ】岩波データサイエンス Vol.3 特集:因果推論

 

読んだ目的

  • 経済学の手法でよく使われる因果推論の手法は熟知しているが、バックドア規準等の因果グラフの手法を基礎から学ぶ必要があると感じたため
  • Pearlの入門統計的因果推論を読み始めたが、理解が遅く進みが遅いため、より基礎から解説してある本であったため

得られた学び

本書では因果推論の中でも①バックドア基準、②傾向スコア。③RCTにおける不服従について詳細に学んだ。それぞれの内容をメモしている。

バックドア基準

バックドア基準の定義は下記のように記載されている。

因果ダイアグラムGにおいて、XからYへと有向道があるとする。この時、次の2つの条件を満たす頂点集合Sは、(X,Y)についてバックドア基準を満たすという。

  1. XからSの任意の要素に有向道がない
  2. 因果ダイアグラムGよりXから出る矢線を除いたグラフにおいて、SがXとYを有効分離する

これらの定義を実際の分析観点で下記のように解釈できる。

  1. 追加した説明変数はXの下流側にない
  2. Xから出る矢印を除いた時の因果構造において、追加した「説明変数の組」により、(XとYの)上流側の共通要因からXとYの両方に影響を与える流れが全て遮断される

1は介入による効果を与える経路の変数を入れないことで、例えば薬を投与して血圧を下げることで病状を抑える場合、血圧を変数に入れてはいけない。2は薬の投与と病状の両方に影響する変数を全て入れる必要があるということ。回帰分析において上記の基準を満たす時、偏回帰係数をそのままX→Yの介入効果となる。

因果効果

同一人物において施策の処置を受けた場合と受けなかった場合の両方を観測することはできない。両方とも潜在的には存在し得るため、ルービン因果モデルでは潜在的結果変数という。現実では両方観測することができないので、何らかの手法で因果効果を推定する必要がある。因果効果の種類は3つある。

  1. 平均処置効果(Average Treatment Effect: ATE):母集団全員に処置した場合の期待値
  2. 処置群における平均処置効果(Average Treatment Effect on the Treated: ATT):施策実施対象者集団における期待値の差分。ROI計算ではこの値を使う。
  3. 対照群における平均処置効果(Average Treatment Effect on the Untreated: ATU):実施対象ではない対象者集団における期待値の差分。施策対象者を拡大すべきか否かを判断するときに使う。

傾向スコア

傾向スコアによる推定は2つのステップに分けて推定する。

  1. 各対象ごとに傾向スコアを推定する
  2. 推定した傾向スコアを用いて因果効果を推定する

1については、ロジスティック回帰等の分析から得られる予測確率を推定する。傾向スコアはロジスティック回帰の場合はc統計量が0.8以上であれば概ね問題ないとされる。2については、大きく4つに分類される。

  1. 傾向スコアマッチング(Propensity score matching)・層別解析
  2. 傾向スコアによる共分散分析:傾向スコアを説明変数に線形回帰、カーネル回帰等で予測値を推定する
  3. 傾向スコアによる逆確率重み付け法(Inverse Probability Weighting: IPW):「処置群への割当zと潜在結果変数Yは共変量を条件付けると独立」という仮定が成立することから、処置した場合としていない場合の推定値を直接推定し、ATEを計算する
  4. 二重にロバストな推定法(Doubly Robust Estimator: DR推定量):潜在的結果変数を共変量で説明する回帰モデルと傾向スコア算出モデルのどちらか一方を正しく設定できればATEを推定することができる手法

これらの推定方法の数式は記載されているが、細かい説明がないので、別途書籍で学ぶ必要がある。

RCTにおける不服従

例えば、PUSH通知におけるRCTで処置群、対照群に分けたが処置群の人がオプトアウトして適切にPUSH通知を受け取らない(不服従)場合、処置群の中で施策(処置)を受けない人が出てくる。この問題に対処するために、割り当て条件に従いその通りに行動するような対象に対する効果をLATEとする。LATEはATTである。

 LATE = \dfrac{E(Y|V=1)-E(Y|V=0)}{E(Z|V=1)-E(Z|V=0)} = \dfrac{Vで分けた平均値の差}{Vで分けた"Z=1"の人の割合の差}

V=1を処置群、V=0を対照群、Z=1を受け取った人、Z=0を受け取ってない人となる。

今後のToDo

  • Pearlの入門統計的因果推論を再度読む
  • RCTにおけるバイアスの取り除き方、傾向スコアの分析を実際の業務で適用する