Proximal Causal Inference
Causal identification and estimation using appropriately structured treatment- and outcome-inducing proxies for unmeasured confounding, under bridge-function and completeness assumptions that are stronger than simply having two negative controls.
On this page
Causal identification and estimation using appropriately structured treatment- and outcome-inducing proxies for unmeasured confounding, under bridge-function and completeness assumptions that are stronger than simply having two negative controls. Use in specialized studies with defensible proxy structure and substantive knowledge strong enough to support the identification assumptions, when ordinary measured-confounder exchangeability is doubtful.
Definition and scope
Causal identification and estimation using appropriately structured treatment- and outcome-inducing proxies for unmeasured confounding, under bridge-function and completeness assumptions that are stronger than simply having two negative controls. The target population, use, and analysis remain protocol decisions; this card explains the choices and their consequences rather than approving a study.
Operational specification
Define treatment, outcome, measured covariates, the unmeasured-confounding structure, and why each proposed proxy satisfies its required exclusion/conditional-independence role. An outcome bridge can satisfy E(Y|Z,A,X) = E[h(W,A,X)|Z,A,X] under the identification framework. State existence, completeness or related uniqueness conditions, positivity, and the model used to estimate the bridge.
Analysis and diagnostics
Separate the identification argument from numerical fitting. Assess proxy relevance, plausible violations, model specification, regularization and ill-posedness, sensitivity, and inference. Under the requisite conditions, standardizing the estimated bridge over the relevant proxy/covariate distribution can identify a causal mean. A good-fitting observed regression does not establish the latent assumptions.
When NOT to use and common errors
Do not select arbitrary correlated variables as proxies, equate a negative-control diagnostic with proximal identification, assume completeness is established by a correlation test, or use a bridge estimate as an automatic correction for any unmeasured confounding.
Worked example and implementation boundary
Suppose a synthetic, already-identified bridge standardization gives mean risks 0.20 and 0.30 under two strategies. Calculate their risk difference. The bridge has not been fitted or identified by this arithmetic example. The standardized bridge-mean difference is -0.10 under the assumed valid bridge. This code is not a proximal estimator or evidence that its assumptions hold. The code performs that explicitly stated calculation with synthetic inputs. It is not a complete fitted analysis and does not demonstrate the identification assumptions, estimate sampling uncertainty, or certify application in another population.
Data-source and reporting requirements
Preserve the provenance, dates, units, and observation rule for each input. Claims capture services and transactions under observable benefits; absence of a record is not proof that an event or resource use did not occur. EHR and registry measurements depend on the collection process and may miss care outside the system. Linked sources add reconciliation and selection questions. Primary collection can improve a missing domain but still requires valid measurement and follow-up. Report which of these limitations affects the stated use, which evidence supports the chosen inputs, and what remains uncertain.
Worked example
Scenario
Suppose a synthetic, already-identified bridge standardization gives mean risks 0.20 and 0.30 under two strategies. Calculate their risk difference. The bridge has not been fitted or identified by this arithmetic example.
Dataset
Synthetic inputs with units defined in the scenario; no patient data.
| input | value |
|---|---|
| bridge_mean_a | 0.2 |
| bridge_mean_b | 0.3 |
Steps
Result
The standardized bridge-mean difference is -0.10 under the assumed valid bridge. This code is not a proximal estimator or evidence that its assumptions hold.
Trade-offs
Code example
Executed example · Python 3.11.15 · 2026-11-01T02:04:28+00:00
Self-contained synthetic calculation for the worked example only. Inputs and units are listed in the dataset; output is the displayed scalar. This does not fit the full study/model, estimate uncertainty, or select an analysis for a real study.
bridge_mean_a = 0.2
bridge_mean_b = 0.3
result = bridge_mean_a-bridge_mean_b
assert abs(result - -0.09999999999999998) < 1e-9
print(result)
Executed example · Rscript (R) version 4.6.1 (2026-06-24) · 2026-11-01T02:04:28+00:00
Self-contained synthetic calculation for the worked example only. Inputs and units are listed in the dataset; output is the displayed scalar. This does not fit the full study/model, estimate uncertainty, or select an analysis for a real study.
bridge_mean_a <- 0.2
bridge_mean_b <- 0.3
result <- bridge_mean_a-bridge_mean_b
stopifnot(abs(result - -0.09999999999999998) < 1e-9)
print(result)
Illustrative example · execution not verified
Self-contained synthetic calculation for the worked example only. Inputs and units are listed in the dataset; output is the displayed scalar. This does not fit the full study/model, estimate uncertainty, or select an analysis for a real study. SAS source is illustrative until executed in a compatible SAS runtime.
data worked_example;
bridge_mean_a = 0.2;
bridge_mean_b = 0.3;
result = bridge_mean_a-bridge_mean_b;
put result=;
run;