背景

详细请看微信公众号(医咖会)内容
很多回顾性分析,因为没有参与先前的分组设计,所以很多混杂因素会影响我们对结果的推断。我们必须平衡预处理协变量,使从观测数据得到的因果关系推断尽可能可靠。比如说研究一种药物对疾病的影响,在临床实验中,treat组和control组除了使用药物(安慰剂)不同外,其他的临床特征(如年龄、体重等)都应该基本是相似的,这样treat和control组才有可比性,进而才能验证药物的有效性。常用的一些方法有:

PSA (Propensity Score Analysis)

其基本原理是将多个混杂因素的影响用一个综合的倾向性评分来表示,从而降低了协变量的纬度,减少了自变量的个数,有效的克服了分层分析和多因素调整分析中要求自变量个数不能太多的短板。常用的方法有:

  • 倾向性评分匹配法 (Propensity Score Matching)
  • 倾向性评分分层法
  • 倾向性评分校正法
  • 倾向性评分加权法 (Propensity Score Weighting)

PSM (Propensity Score Matching)

PSM 是倾向性分析(PSA)中应用最为广泛的一种方法。
关键步骤有二:

  • 估计倾向性评分(Estimate the propensity scores)
    方法有判别分析(discriminant analysis)、逻辑回归(logistic regression)和随机森林(random forests)。最好的方法有待讨论,但比较流行的方法之一是逻辑回归。
  • 匹配
    匹配算法也有多种,例如精确匹配(Optimal matching),遗传迭代匹配(Genetic matching)

工具(PSM)

R package MatchIt
MatchIt 默认使用的倾向性评分方法是逻辑回归,参数设置为 distance = "logit"。还有其他模型:

  1. “mahalanobis”: the Mahalanobis distance measure.
  2. binomial generalized linear models with one of the following link functions:
  • “logit”: logistic link
  • “linear.logit”: logistic link with linear propensity score1
  • “probit”: probit link
  • “linear.probit”: probit link with linear propensity score
  1. Choose one of the following generalized additive models (see help(gam) for more
    options).
  • “GAMlogit”: logistic link
  • “GAMlinear.logit”: logistic link with linear propensity score
  • “GAMprobit”: probit link
  1. “nnet”: neural network model. See help(nnet) for more options.
  2. “rpart”: classification trees. See help(rpart) for more options.

匹配方法有 “exact” (exact matching), “full” (full matching), “genetic” (genetic matching), “nearest” (nearest neighbor matching), “optimal” (optimal matching), and “subclass” (subclassification) 。
具体使用方法可以参考官方文档和此链接文章
还有一个PSW (Propensity Score Weighting)可用的R package PSW,但是我还没研究,先mark下。

参考

Propensity Score Matching: Definition & Overview
Propensity score method: a non-parametric technique to reduce model dependence
MatchIt: Nonparametric Preprocessing for Parametric Causal Inference
JAMA. 2017 Feb 21;317(7):748-759