Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

E-value

E-Valueは相対リスク(リスク比)などの比率で関連性を測るとき、未観測の交絡因子の影響の強さを簡単に測る方法。

観測された処置と結果の関連性(相対リスク)がすべて交絡因子による影響だと仮定すると、どれだけ交絡因子の影響が強いのか? を示す。

ここで RR\text{RR}相対リスク(relative risk) で、例えば「キャンペーンの有無」が「商品の購入の有無」に与える効果を調べたい場合だと

RR=処置群での購入の割合対照群での購入の割合\text{RR} = \frac{ 処置群での購入の割合 }{ 対照群での購入の割合 }

となる。これはRRが1より大きい場合で、もしRRが1より小さくなるなら逆数を用いる。

解釈

E-valueが大きいほど、観測された結果と処置の関係は因果関係に近い(ロバストである)と解釈される。

例えばRRが1.5(処置で1.5倍改善)だとE-valueは2.37になる。これは、 もし未観測の交絡因子でこの推定結果を説明するには、未観測の交絡因子が結果変数と処置変数の両方と2.37倍の相対リスクで関連している必要がある ことを示す。

# 例
p_treatment = 0.15 # 処置群での購入割合
p_control = 0.10 # 対照群での購入割合

RR = p_treatment / p_control

import math
E = RR + math.sqrt(RR * (RR - 1))
print(f"E-value: {E:.3g}")
E-value: 2.37

注意点

  • リスク比など比率で効果を測るときに使う(ATEのような差を見る場合は不適当)

  • 媒介変数がなく、処置→結果と単純な関係を想定

導出

結果をYY、処置をAA、未観測の交絡因子をUUとする。

  • UAU \to Aの影響の強さを相対リスクでRRAURR_{AU}と表す

  • UYU \to Yの影響の強さを相対リスクでRRUYRR_{UY}と表す

とすると、未観測の交絡因子の影響を受けた観測された相対リスクの上限(bounding factor, RRobsBFRR_{obs} \leq BF)は

BF=RRUY×RRAURRUY+RRAU1BF = \frac{R R_{U Y} \times R R_{A U} }{ RR_{U Y} + RR_{A U} - 1 }

となる(Ding & VanderWeele, 2016)。

(ここからは推測を含む)

ここで RRUY=RRAURR_{U Y} = RR_{A U}と仮定して EEとおく

BF=E22E1BF = \frac{E^2}{2E - 1}

ここで、 「観測された処置と結果の関連性RRobsRR_{obs} が すべて未観測の交絡因子による影響である場合(RRobs=BFRR_{obs} = BF)に交絡の強さ E=RRUY=RRAUE=RR_{U Y} = RR_{A U} がいくつ必要か?」 という問題を解くことにする。

RRobs=E22E1RR_{obs} = \frac{E^2}{2E - 1}

を変形すると

E22E×RRobs+RRobs=0E^2 - 2 E \times RR_{obs} + RR_{obs} = 0

という二次方程式に整理できる。

二次方程式 x2+bx+c=0x^2+b x+c=0 の解の公式 x=b±b24c2x=\frac{-b \pm \sqrt{b^2-4 c}}{2} に対して b=2RRobs,c=RRobsb=-2 RR_{obs}, c = RR_{obs}とすると

E=2RRobs±4RRobs24RRobs2=2RRobs±2RRobs2RRobs2=RRobs±RRobs(RRobs1)\begin{aligned} E &= \frac{ 2 RR_{obs} \pm \sqrt{ 4 RR_{obs}^2 - 4 RR_{obs}}}{2}\\ &= \frac{ 2 RR_{obs} \pm 2 \sqrt{ RR_{obs}^2 - RR_{obs}}}{2} \\ &= RR_{obs} \pm \sqrt{ RR_{obs} (RR_{obs} - 1)} \end{aligned}

RRobsRR_{obs}が正の場合に限定すれば

E=RRobs+RRobs(RRobs1)E = RR_{obs} + \sqrt{ RR_{obs} (RR_{obs} - 1)}

パッケージ

DoWhyパッケージで作図を含めた関数がある

Sensitivity Analysis for Regression Models — DoWhy documentation