Dahabreh 2020 - Outcome Model, Inverse Odds Weighting and Doubly Robust Estimators

Summary

Three families of estimators of : outcome-model (OM), inverse-odds weighting (IOW1 unnormalized, IOW2 normalized), and three doubly robust estimators (DR1-DR3). Each is a solution to a missing-data problem; DR is consistent if either the outcome model or the participation model is right.

Overview

Under consistency the unknown for target individuals is a missing outcome, with missingness indicator . Parametric working models throughout: outcome ; participation ; trial treatment . Treatment probabilities are known by design (true values can be used; estimating them can reduce standard errors).

Main Content

Outcome model-based (OM) estimator (eq. 1)

Fit the outcome regression in trial participants (separately by arm, i.e., all treatment-by-covariate interactions) and average predictions over target covariates. Consistent when the outcome model is correct.

Inverse-odds weights

The factor is the inverse of the odds of participation. Interpretation: treat the trial as a survey sample from the target with covariate-dependent, estimated sampling probabilities.

IOW estimators (eqs. 2-3)

Unnormalized: . Normalized (ratio/Hajek form): . IOW2 equals the intercept (and intercept + treatment coefficient) of a saturated weighted least squares regression of on . It always lies in the support of (e.g., within for binary ), giving much better finite-sample behaviour with variable weights. Both are consistent if the participation model is right.

Why the IO weighting estimator targets

Since ,

so dividing by gives . (Derived here from the definitions; it is the expectation behind eq. 2.)

Doubly robust estimators (eqs. 4-6)

where comes from the outcome regression among trial participants weighted by . DR3 is doubly robust when the outcome is modelled with a linear exponential family quasi-likelihood and canonical link.

Double robustness

DR estimators are consistent for and asymptotically normal when either the participation model or the outcome model is correctly specified (formal result in the Appendix, absent from the PDF; refs [36],[40]). In practice DR estimators are usually more precise than IOW and nearly as precise as OM. Caveat: with a misspecified outcome model and highly variable weights, DR can do worse than non-DR estimators using the same misspecified outcome model (refs [41],[34]).

Special cases (paper's argument, Sec. 6.2)

IOW is DR with a grossly misspecified outcome model ; OM is DR with grossly misspecified participation (weights ). So correct IOW or OM performance in simulation already demonstrates the double robustness property.

Inference

All estimators are partial M-estimators, so sandwich variances are available (R package geex is cited); the nonparametric bootstrap is easier and “will often be preferred in practice”.

Examples

Runnable sketch - OM, IOW2 and DR2 on simulated trial + cohort data

import numpy as np
rng = np.random.default_rng(0)
n = 5000
X = rng.standard_normal((n, 3))
# trial selection depends on X1 (an effect modifier), X2, X3
logit = -2.5 + X @ np.array([1., 1., 1.])
p_true = 1 / (1 + np.exp(-logit)); S = rng.random(n) < p_true
A = rng.random(n) < 0.5
tau = 1 + 2 * X[:, 0]                 # effect modification by X1
Y = X @ np.array([1., 1., 1.]) + A * tau + rng.standard_normal(n)
 
def fit_logit(X, s):
    Z = np.c_[np.ones(len(X)), X]; b = np.zeros(Z.shape[1])
    for _ in range(50):
        p = 1 / (1 + np.exp(-Z @ b)); b += np.linalg.solve(Z.T @ (Z * (p * (1 - p))[:, None]), Z.T @ (s - p))
    return 1 / (1 + np.exp(-Z @ b))
 
p = fit_logit(X, S.astype(float))
def mu(a):
    sel = S & (A == a)
    Z = np.c_[np.ones(n), X]
    beta = np.linalg.lstsq(Z[sel], Y[sel], rcond=None)[0]
    g = Z @ beta
    w = np.where(sel, (1 - p) / (p * 0.5), 0.0)      # known e_a = 0.5
    om = g[~S].mean()
    iow2 = (w * Y).sum() / w.sum()
    dr2 = (w * (Y - g)).sum() / w.sum() + g[~S].mean()
    return om, iow2, dr2
est = np.array(mu(1)) - np.array(mu(0))
print("target ATE: OM, IOW2, DR2 =", est.round(3), "| truth", tau[~S].mean().round(3),
      "| trial-only", (Y[S & A].mean() - Y[S & ~A].mean()).round(3))

The trial-only contrast is biased upward (selection over-represents high ); the three adjusted estimates recover the target ATE (Monte Carlo summaries in Dahabreh 2020 - Simulation Study of Estimators).

Connections

Compare to Bayesian treatments of weighting in Bayesian Inverse Probability Weighting; the AIPW/DR structure is the same as in Doubly-Robust Estimands for ATT(g,t) (with playing the role of treatment).

See Also