相关性和因果性
传统的统计和机器学习模型往往是考虑相关性,但是不考虑因果性。相关性单纯指出A和B是有联系的,而因果性会指出是由于A导致了B还是由于B导致了A。
气温升高导致了冰淇淋的销量和啤酒的销量的增加,两者是因果性的关系。冰淇淋的销量和啤酒的销量的增加虽然有强相关,但是两者都是受气温驱动,两者没有因果联系。
关于因果推断的相关问题,由于当前知识所限,会在之后继续补充。
TMLE(Targeted Maximum Likelihood Estimation)
L(O)=p(Y|A,X)p(A|X)p(X)
定义 Q(A,X)=E(Y|A,X)
g(A,X)=p(A|W)
Q(A,X)是可以直接从数据中估计的。
TMLE可以表示为
φ n T M L E = 1 n ∑ i = 1 n Q n ∗ ( A = 1 , X i ) − Q n ∗ ( A = 0 , X i ) \varphi_n^{TMLE}=\frac{1}{n}\sum_{i=1}^{n}Q_n^*(A=1,X_i)-Q_n^*(A=0,X_i) φnTMLE=n1∑i=1nQn∗(A=1,Xi)−Qn∗(A=0,Xi)
上式可以理解为在固定协变量X,变量A的变化对Y的平均影响
TMLE的估计方法为
(1)估计
E
0
(
Y
∣
A
,
X
)
=
Q
0
(
A
,
X
)
E_0(Y|A,X)=Q_0(A,X)
E0(Y∣A,X)=Q0(A,X),用super learner建立模型
(2)对每一个Y,用(1)所述的模型,产生两个对应的预测值。也就是,对每一个i,有 Q n 0 ( A i = 1 , X i ) Q_n^0(A_i=1,X_i) Qn0(Ai=1,Xi)和 Q n 0 ( A i = 0 , X i ) Q_n^0(A_i=0,X_i) Qn0(Ai=0,Xi)
(3)估计倾向性分数
即对协变量X,它是否决定变量为一的概率(该病人是否进行治疗的概率)
g
0
(
a
∣
X
)
=
p
0
(
A
=
a
∣
X
)
g_0(a|X)=p_0(A=a|X)
g0(a∣X)=p0(A=a∣X)
这一步可用logistic回归来进行
(4)为每个Y,计算如下
H
n
∗
(
A
i
∣
X
i
)
=
(
I
(
A
i
=
1
)
g
n
(
A
i
=
1
∣
X
i
)
−
I
(
A
i
=
0
)
g
n
(
A
i
=
0
∣
X
i
)
)
H_n^*(A_i|X_i)=(\frac{I(A_i=1)}{g_n(A_i=1|X_i)}-\frac{I(A_i=0)}{g_n(A_i=0|X_i)})
Hn∗(Ai∣Xi)=(gn(Ai=1∣Xi)I(Ai=1)−gn(Ai=0∣Xi)I(Ai=0))
(5)更新最初的估计 E 0 ( Y ∣ A , X ) E_0(Y|A,X) E0(Y∣A,X),通过两部分实现
(5.1)用Y对 H n ∗ ( A ∣ X ) H_n^*(A|X) Hn∗(A∣X)和 Q n ( A , X ) Q_n(A,X) Qn(A,X)做logistic回归,得到 ϵ n \epsilon_n ϵn
Y
∼
ϵ
n
H
n
(
A
∣
X
)
+
e
Q
n
0
(
A
,
X
)
1
+
e
Q
n
0
(
A
,
X
)
Y\sim\epsilon_nH_n(A|X)+\frac{e^{Q_n^0(A,X)}}{1+e^{Q_n^0(A,X)}}
Y∼ϵnHn(A∣X)+1+eQn0(A,X)eQn0(A,X)
ϵ
n
\epsilon_n
ϵn就是最大似然估计对
H
n
∗
(
A
∣
X
)
H_n^*(A|X)
Hn∗(A∣X)系数的估计
(5.2)更新估计
e
Q
n
1
(
A
,
X
)
1
+
e
Q
n
1
(
A
,
X
)
=
e
Q
n
0
(
A
,
X
)
1
+
e
Q
n
0
(
A
,
X
)
+
ϵ
n
H
n
∗
(
A
∣
X
)
\frac{e^{Q_n^1(A,X)}}{1+e^{Q_n^1(A,X)}}=\frac{e^{Q_n^0(A,X)}}{1+e^{Q_n^0(A,X)}}+\epsilon_nH_n^*(A|X)
1+eQn1(A,X)eQn1(A,X)=1+eQn0(A,X)eQn0(A,X)+ϵnHn∗(A∣X)
(6)对每个i的每个情况分别计算
e
Q
n
1
(
A
i
=
1
,
X
)
1
+
e
Q
n
1
(
A
i
=
1
,
X
)
=
e
Q
n
0
(
A
i
=
1
,
X
)
1
+
e
Q
n
0
(
A
i
=
1
,
X
)
+
ϵ
n
H
n
∗
(
A
i
=
1
,
X
i
)
\frac{e^{Q_n^1(A_i=1,X)}}{1+e^{Q_n^1(A_i=1,X)}}=\frac{e^{Q_n^0(A_i=1,X)}}{1+e^{Q_n^0(A_i=1,X)}}+\epsilon_nH_n^*(A_i=1,X_i)
1+eQn1(Ai=1,X)eQn1(Ai=1,X)=1+eQn0(Ai=1,X)eQn0(Ai=1,X)+ϵnHn∗(Ai=1,Xi)
e Q n 1 ( A i = 0 , X ) 1 + e Q n 1 ( A i = 0 , X ) = e Q n 0 ( A i = 0 , X ) 1 + e Q n 0 ( A i = 0 , X ) + ϵ n H n ∗ ( A i = 0 , X i ) \frac{e^{Q_n^1(A_i=0,X)}}{1+e^{Q_n^1(A_i=0,X)}}=\frac{e^{Q_n^0(A_i=0,X)}}{1+e^{Q_n^0(A_i=0,X)}}+\epsilon_nH_n^*(A_i=0,X_i) 1+eQn1(Ai=0,X)eQn1(Ai=0,X)=1+eQn0(Ai=0,X)eQn0(Ai=0,X)+ϵnHn∗(Ai=0,Xi)
(7)计算TMLE
φ T M L E ( p n ) = 1 n ∑ i = 1 n Q n 1 ( A i = 1 , X i ) − Q n 1 ( A i = 0 , X i ) \varphi_{TMLE}(p_n)=\frac{1}{n}\sum_{i=1}^{n}Q_n^1(A_i=1,X_i)-Q_n^1(A_i=0,X_i) φTMLE(pn)=n1∑i=1nQn1(Ai=1,Xi)−Qn1(Ai=0,Xi)
在r包中,我们可以用tmle package来判断因子是否有效