Targeted Maximum Likelihood Estimation


相关性和因果性

传统的统计和机器学习模型往往是考虑相关性,但是不考虑因果性。相关性单纯指出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=n1i=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(YA,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(aX)=p0(A=aX)
这一步可用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(AiXi)=(gn(Ai=1Xi)I(Ai=1)gn(Ai=0Xi)I(Ai=0))

(5)更新最初的估计 E 0 ( Y ∣ A , X ) E_0(Y|A,X) E0(YA,X),通过两部分实现

(5.1)用Y对 H n ∗ ( A ∣ X ) H_n^*(A|X) Hn(AX) 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(AX)+1+eQn0(A,X)eQn0(A,X)
ϵ n \epsilon_n ϵn就是最大似然估计对 H n ∗ ( A ∣ X ) H_n^*(A|X) Hn(AX)系数的估计

(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(AX)

(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)=n1i=1nQn1(Ai=1,Xi)Qn1(Ai=0,Xi)

在r包中,我们可以用tmle package来判断因子是否有效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值