zoukankan      html  css  js  c++  java
  • 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 in {0, 1 }) Treatment
    (r_{ni}) (n)个实例, (z_n=i) 下的反应(outcome)

    Strongly ignorable treatment assignment:

    即满足条件可交换性:

    [(r_0, r_1) perp Z | X. ]

    Balancing Score:

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

    [X perp Z | b(X). ]

    Propensity Score:

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

    重要的结果

    (X perp Z | b(X))

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

    (Leftarrow)

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

    [egin{array}{ll} 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) \ &mathop{=}limits^{?}P(Z=z|b(X)=b) : P(X=x|b(X)=b). end{array} ]

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

    [P(Z=z|b(X)=b) = P(Z=z|X=x) = e(x')^z cdot (1 - e(x'))^{1-z}, quad forall x' in {x| b(X) = b} ]


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


    [egin{array}{ll} P(Z=z|b(X)=b) &= sum_{x' in {b(X) = b}}P(Z=z|X=x', b(X)=b): P(X=x'|b(X)=b) \ &= sum_{x' in {b(X) = b}}P(Z=z|X=x'): P(X=x'|b(X)=b) \ &= sum_{x' in {b(X) = b}} e(x')^z cdot (1 - e(x'))^{1-z} : P(X=x'|b(X)=b) \ &= e(x')^z cdot (1 - e(x'))^{1-z}\ &= P(Z=z|X=x). end{array} ]


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

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

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


    (Rightarrow)

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

    [e(x) ot= e(x'), quad b(x) = b(x'). ]

    此时:

    [P(Z=1|X=x) ot= P(Z=z|X=x') ightarrow P(Z=1|X=x, b(x)) ot= P(Z=z|X=x', b(x')). ]

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

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

    ((r_0, r_1) perp Z | b(X))

    若:

    [(r_0, r_1) perp Z | X, quad 0 < P(Z=1|X) < 1, ]

    则:

    [(r_0, r_1) perp Z | b(X), quad 0 < P(Z=1|b(X)) < 1. ]

    不等式的证明是显然的.

    只需证明:

    [P(Z=1|r_0, r_1, b(X)=b) = P(Z=1|b(X)=b) = e(X). ]

    [egin{array}{ll} P(Z=1|r_0, r_1, b(X)=b) &= mathbb{E}_{x} mathbb{E}_{z} [[Z|X=x, r_0, r_1,b(X)=b)] |r_0, r_1,b(X)=b] \ &= mathbb{E}_{x} mathbb{E}_{z} [[Z|X=x)] |r_0, r_1,b(X)=b] \ &= mathbb{E}_{x} [e(X) |r_0, r_1,b(X)=b] \ &= e(X) end{array} ]

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


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

    [P(Z=z|X=x) = P(Z=z|X=x') = p(z). ]

    则有:

    [egin{array}{ll} P(Z=z|r_0, r_1, b(X)=b) &= sum_{x' in {b(X) = b}} P(Z=z, X=x'|r_0, r_1, b(X)=b) \ &= sum_{x'} P(Z=z|r_0, r_1, X=x', b(X)=b): P(X=x'|r_0, r_1, b(X)=b) \ &= sum_{x'} P(Z=z|X=x'): P(X=x'|r_0, r_1, b(X)=b) \ &= sum_{x'} p(z): P(X=x'|r_0, r_1, b(X)=b) \ &= p(z) = P(Z=z|X=x) = P(Z=z|b(X)=b). end{array} ]

    总结为:

    若:

    [(r_0, r_1) perp Z | X, quad 0 < P(Z=z|X) < 1, ]

    且:

    [P(Z=z|X=x) = P(Z=z|X=x') = p(z;b), quad forall x, x' in {b(x)=b}. ]

    则:

    [(r_0, r_1) perp Z | b(X), quad 0 < P(Z=z|b(X)) < 1. ]


    应用

    假设(X)包含所有地confounders, 即

    [r perp Z | X. ]

    Propensity Score Matching

    既然, 在(e(x))下:

    [r perp Z | e(x), ]

    那么:

    [mathbb{E}[r_1 - r_0] = mathbb{E}_{e(x)} : {mathbb{E} [r|e(x), Z=1] - mathbb{E}[r|e(x), Z=0]}. ]

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

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

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

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

    [Z perp e(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))的值非常接近, 这就能够近似保证:

    [X perp Z ]

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

    Inverse Probability of Treatment Weighting Using the Propensity Score

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

    评估

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

    [X perp Z | e(X). ]

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

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

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

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

    [e(X) | Z. ]

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

    [mathbb{E}[X|Z=1] - mathbb{E}[X|Z=0]. ]

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

    [d = frac{|ar{x}_{treated} - ar{x}_{control}|}{sqrt{(s_{treated}^2 + s_{control}^2) / 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.

  • 相关阅读:
    第13组_16通信3班_045_OSPFv3作业
    RIPng配置(第十三组)
    基于IPV6的数据包分析(更新拓扑加入了linux主机和抓取133icmp包)(第十三组)
    vmware vsphere powercli 因为在此系统中禁止执行脚本
    vmware virtual machine must be running in order to be migrated
    flashback transaction闪回事务查询
    oracle 闪回功能详解
    linux下修改/dev/shm tmpfs文件系统大小
    vmware虚拟机guest系统重启后获得169.254.X.X的ip解决方法
    一键部署 PPTP server
  • 原文地址:https://www.cnblogs.com/MTandHJ/p/14746338.html
Copyright © 2011-2022 走看看