Propensity Scores

Rosenbaum P. and Rubin D. The Central Role of the Propensity Score in Observational Studies For Causal Effects. Biometrika, 1983, 70(1): 41-55.

Propensity score matching, wiki.

Austin P. An Introduction to Propensity Score Methods for Reducing the Effects of Confounding in Observational Studies.Multivariate behavioral research, 2011, 46(3): 399-424.

基本的概念

符号 说明
X covariate, 用于决策何种treatment
Z{0,1} Treatment
rni n个实例, zn=i 下的反应(outcome)

Strongly ignorable treatment assignment:

即满足条件可交换性:

(r0,r1)Z|X.

Balancing Score:

一个关于随机变量X的函数b(X)被称为balancing score, 若:

XZ|b(X).

Propensity Score:

e(x):=P(Z=1|X=x).

重要的结果

XZ|b(X)

一个函数b(X)是balancing score, 当且仅当存在一个映射f使得e(X)=f((b(X)).

当, b(x)b的时候, 显然P(Z=z,X=x|b(X)=b)=0, 此时满足条件独立性, 故只需考虑b(x)=b的情况.

P(Z=z,X=x|b(X)=b)=P(Z=z|X=x,b(X)=b)P(X=x|b(X)=b)=P(Z=z|X=x)P(X=x|b(X)=b)=?P(Z=z|b(X)=b)P(X=x|b(X)=b).

显然最后一个等式成立, 只需满足:

P(Z=z|b(X)=b)=P(Z=z|X=x)=e(x)z(1e(x))1z,x{x|b(X)=b}


注: 最后一个等式成立, 是因为e(x)=f(b(x))=f(b).


P(Z=z|b(X)=b)=x{b(X)=b}P(Z=z|X=x,b(X)=b)P(X=x|b(X)=b)=x{b(X)=b}P(Z=z|X=x)P(X=x|b(X)=b)=x{b(X)=b}e(x)z(1e(x))1zP(X=x|b(X)=b)=e(x)z(1e(x))1z=P(Z=z|X=x).


注: 显然上面的证明是要求Z{0,1}的, 即二元的treatment.
除非有额外的条件, 比如:

P(Z=z|X=x)=P(Z=z|X=x)=p(z,b)

对所有的x,x{x|b(X)=b}.


首先, 如果b(X)本身从X的一个单射, 那么显然存在这样的f.
b()不是单射, 且不存在f使得e(X)=f(b(X)), 则一定存在x,x使得

e(x)e(x),b(x)=b(x).

此时:

P(Z=1|X=x)P(Z=z|X=x)P(Z=1|X=x,b(x))P(Z=z|X=x,b(x)).

b(X)不是balancing score, 矛盾.

注: 显然e(X)以及b(X)=X均为balancing score.

(r0,r1)Z|b(X)

若:

(r0,r1)Z|X,0<P(Z=1|X)<1,

则:

(r0,r1)Z|b(X),0<P(Z=1|b(X))<1.

不等式的证明是显然的.

只需证明:

P(Z=1|r0,r1,b(X)=b)=P(Z=1|b(X)=b)=e(X).

P(Z=1|r0,r1,b(X)=b)=ExEz[[Z|X=x,r0,r1,b(X)=b)]|r0,r1,b(X)=b]=ExEz[[Z|X=x)]|r0,r1,b(X)=b]=Ex[e(X)|r0,r1,b(X)=b]=e(X)

最后一个等式成立, 是因为, b(X)=be(X)=f(b).


倘若上面的额外的条件成立, 即

P(Z=z|X=x)=P(Z=z|X=x)=p(z).

则有:

P(Z=z|r0,r1,b(X)=b)=x{b(X)=b}P(Z=z,X=x|r0,r1,b(X)=b)=xP(Z=z|r0,r1,X=x,b(X)=b)P(X=x|r0,r1,b(X)=b)=xP(Z=z|X=x)P(X=x|r0,r1,b(X)=b)=xp(z)P(X=x|r0,r1,b(X)=b)=p(z)=P(Z=z|X=x)=P(Z=z|b(X)=b).

总结为:

若:

(r0,r1)Z|X,0<P(Z=z|X)<1,

且:

P(Z=z|X=x)=P(Z=z|X=x)=p(z;b),x,x{b(x)=b}.

则:

(r0,r1)Z|b(X),0<P(Z=z|b(X))<1.


应用

假设X包含所有地confounders, 即

rZ|X.

Propensity Score Matching

既然, 在e(x)下:

rZ|e(x),

那么:

E[r1r0]=Ee(x){E[r|e(x),Z=1]E[r|e(x),Z=0]}.

这个期望的过程可以分解为:

  1. 随机采样e(x);
  2. 在所有e(X)=e(x)的样本中, 随机选择Z=0Z=1的样本;

通过此过程构造的新的数据集, 显然只需要将treated group中的群体对r取平均减去control group中的平均就能得到最后的treatment effect的估计了.

通过 propensity score matching 重采样构造的数据集满足:

Ze(X).

因为对于每一个treated group 中有一个样本e(x)=e, 在control group中就有一个对应的e(x)=e.

propensity score matching 重采样的实际方式可以简化为:

  1. 从treated group 中随机采样一个样本(x,z,r);
  2. 计算其propensity score e(x);
  3. 从control group 中找到一个对应的(x,z,r) 满足e(x)=e(x);
  4. 若存在多个x, 在其中随机采样一个.

上述采样过程中, 会遇到的问题:

  1. 不存在x, 这种情况是很容易遇到的, 一般, 我们可以选取x使得e(x)最接近e(x), 这种方式一般称为greedy matching; 或者, 我们可以指定一个threshold, 在threshold内的{x}中采样, 若一个都没有, 则舍弃x.

  2. x,x被选中之后, 是否仍有机会被采样, 这是俩种策略;

Stratification on the Propensity Score

即将e(X)的值域分割成互斥的K个部分, 每个部分所包含的样本数量相近.
然后对每一个部分计算treatment effect, 最后再平均(加权平均, 权重为样本数量).

一般情况下, K=5, 就能使得每一个stratum内的e(X)的值非常接近, 这就能够近似保证:

XZ

在每一个stratum内成立.
那么, 此时我们只需通过取平均就能直接计算出每一个stratum的treatment effect.

Inverse Probability of Treatment Weighting Using the Propensity Score

这个实际上就是普通的 IP weighting.

评估

显然, 我们多半需要从已有的数据中估计出 propensity score, 比如用常见的逻辑斯蒂回归模型. 自然地, 我们需要判断我们拟合的模型是否正确.
既然propensity score 也是一个 balancing score, 那么如果拟合的比较正确, 就应该有:

XZ|e(X).

也就是说, 我们需要判断, 在每一个e(x)下, X,Z是否独立.

对于matching, 若条件独立满足, 则有:

Ee(x){E[X|Z=1,e(x)]|Z=1}=Ee(x){E[X|Z=0,e(x)]|Z=0}

一个期望里用了条件独立, 第二个条件期望相等是因为matching 保证:

e(X)|Z.

故, 我们只需要比较treated group 和 control group的一阶矩的差别:

E[X|Z=1]E[X|Z=0].

在实际中, 比较的是如下的标准化的:

d=|x¯treatedx¯control|(streated2+scontrol2)/2.

一般d<0.1就可以认为这个propensity score拟合的不错.

对于stratification, 我们只需对每一个strata判断上面的结果.
对于IP weighing, 说实话没读懂:

For IPTW this assessment involves comparing treated and untreated subjects in the sample weighted by the inverse probability of treatment.

posted @   馒头and花卷  阅读(234)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2019-05-08 代数基础
2019-05-08 Kernel PCA and De-Noisingin Feature Spaces
2019-05-08 Python Revisited Day 08 (高级程序设计技术)
点击右上角即可分享
微信分享提示