Tutorials › Marginal Structural Models › Normalization Checks for Stabilized Weights

Diagnostics and Sensitivity to Misspecification · Tutorial 244 of 501

Normalization Checks for Stabilized Weights

Learn why correctly constructed stabilized treatment weights have mean one in expectation, how treatment-group totals behave, and how to investigate normalization failures without treating them as proof of model validity.

Advanced 12 min read

What You'll Learn

  • State the conditions under which stabilized treatment weights have population mean one.
  • Derive the expected weighted totals for treatment groups and treatment histories.
  • Extend the normalization argument to longitudinal weights and baseline-stratified numerators.
  • Calculate normalization checks in explicit examples.
  • Recognize how omitted numerator terms, incorrect probabilities, and coding errors affect checks.
  • Explain why passing a normalization check does not establish model correctness or positivity.

Why Check Normalization?

A stabilized treatment weight is a likelihood ratio: its numerator describes the treatment assignment retained in the weighted population, and its denominator describes treatment assignment under the observed data-generating process. If both are specified coherently, the weighted population has a useful probability interpretation. Its total probability is one, and its treatment totals agree with the numerator treatment distribution. These identities give practical checks on weight construction.

The identities are population expectations, not promises that a finite-sample average is exactly one. They also rely on matching the numerator to the relevant marginal treatment distribution and on using the observed treatment probability in the denominator. A check can expose some mistakes, but passing it does not establish that the treatment model is correct, that positivity holds, or that a causal analysis is valid.

Definitions and Assumptions

For a single treatment occasion, let \(A\) be a categorical treatment, with possible values \(a\), and let \(L\) denote the measured covariates used in the denominator model. Write \(g(a\mid L)=P(A=a\mid L)\) for the true treatment probability and \(q(a)=P(A=a)\) for the marginal treatment probability. The stabilized weight for an individual whose observed treatment is \(A\) is \(W=q(A)/g(A\mid L)\).

Definition: A stabilized treatment weight is the ratio of a numerator treatment probability to a denominator treatment probability, evaluated at the observed treatment. For one treatment occasion, \(W=q(A)/g(A\mid L)\). For \(K+1\) longitudinal treatment occasions, \(W_K=\prod_{t=0}^{K}q_t(A_t\mid V,\bar A_{t-1})/g_t(A_t\mid V,\bar L_t,\bar A_{t-1})\). Here \(V\) is baseline information included in the numerator, \(\bar A_{t-1}=(A_0,\ldots,A_{t-1})\), and \(\bar L_t=(L_0,\ldots,L_t)\).

The longitudinal expression requires that \(q_t\) be the treatment distribution conditional on \(V\) and prior treatment, under the observed data law, with time-varying covariates marginalized out. The denominator \(g_t\) is the treatment distribution conditional on the measured history available before \(A_t\). Each is a probability distribution over the possible values of \(A_t\).

For the results below, assume consistency of the treatment probability models with those distributions, well-defined conditional distributions for the observed histories, and positivity: whenever a treatment has positive numerator probability at a history, its denominator probability is positive there. In practice, the models are estimated; the exact identities describe the population weights formed from the true probabilities, or their large-sample target when estimation is consistent.

One-Occasion Normalization

Theorem: If \(q(a)=P(A=a)\) and \(g(a\mid L)=P(A=a\mid L)\), with \(g(a\mid L)>0\) whenever \(q(a)>0\), then \(E[W]=1\). For every treatment category \(a\), \(E[W I(A=a)]=q(a)\), and therefore \(E[W\mid A=a]=1\) when \(q(a)>0\).

Proof. Sum over the treatment categories and integrate over \(L\). By the definition of conditional probability, the joint contribution from \(A=a\) and \(L\) is \(g(a\mid L)\) times the distribution of \(L\). Thus

$$ \begin{aligned} E[W] &=\sum_a \int \frac{q(a)}{g(a\mid l)}g(a\mid l)\,dP_L(l)\\ &=\sum_a q(a)=1. \end{aligned} $$

For the treatment-specific total, retain only the term \(A=a\):

$$ E[W I(A=a)] =\int \frac{q(a)}{g(a\mid l)}g(a\mid l)\,dP_L(l) =q(a). $$

Since \(P(A=a)=q(a)>0\), dividing this identity by \(P(A=a)\) gives \(E[W\mid A=a]=1\). The cancellation uses the true denominator probability and the numerator’s marginal probability; it is not a general property of arbitrary positive weights. \(\square\)

Worked Example: A Binary Treatment With Confounding Covariates

Suppose \(L\) is binary, \(P(L=1)=0.4\), and the true treatment probabilities are \(P(A=1\mid L=1)=0.75\) and \(P(A=1\mid L=0)=0.25\). The marginal treated probability is

$$ q(1)=0.4(0.75)+0.6(0.25)=0.30+0.15=0.45, \qquad q(0)=0.55. $$

The treated weights are \(0.45/0.75=0.6\) when \(L=1\), and \(0.45/0.25=1.8\) when \(L=0\). The control weights are \(0.55/0.25=2.2\) when \(L=1\), and \(0.55/0.75=11/15\) when \(L=0\). The weighted treated total is

$$ 0.4(0.75)(0.6)+0.6(0.25)(1.8)=0.18+0.27=0.45. $$

The weighted control total is

$$ 0.4(0.25)(2.2)+0.6(0.75)(11/15)=0.22+0.33=0.55. $$

The two totals add to one, and each treatment-group mean weight is one: the treated total divided by \(P(A=1)=0.45\) is \(1\), and the control total divided by \(P(A=0)=0.55\) is \(1\). This check concerns the weights, not whether the covariates are balanced or whether a causal effect is identified.

Longitudinal Weights

With repeated treatment, the product of the visit-specific ratios also has mean one under the stated construction. A useful way to see why is to write the observed-data law as a sequence of covariate and treatment distributions. Conditional on \(V\), at each visit \(t\), covariates follow their observed conditional distribution given the prior history, and treatment follows \(g_t\). Multiplying the observed-data density by \(W_K\) cancels each \(g_t\) and replaces it by \(q_t\).

Theorem: Suppose the longitudinal observed-data law factors into normalized conditional distributions for covariate histories and treatment probabilities \(g_t\), and suppose each \(q_t(\cdot\mid V,\bar A_{t-1})\) is a normalized treatment distribution. If the denominator probabilities are positive wherever the corresponding numerator probabilities are positive, then \(E[W_K]=1\). Conditional on \(V=v\), the weighted probability of a treatment history \(\bar A_K=\bar a_K\) is \(\prod_{t=0}^{K}q_t(a_t\mid v,\bar a_{t-1})\).

Proof. In the observed-data density, the treatment factors are \(\prod_t g_t(a_t\mid v,\bar l_t,\bar a_{t-1})\). Multiplication by \(W_K\) cancels them, leaving \(\prod_t q_t(a_t\mid v,\bar a_{t-1})\) times the original conditional covariate-distribution factors. For a fixed treatment history, integrate over the covariate histories. Each covariate conditional distribution integrates to one, so the resulting weighted mass for that treatment history, conditional on \(V=v\), is \(\prod_t q_t(a_t\mid v,\bar a_{t-1})\). Summing over all treatment histories gives one: sum over \(a_K\) first, using \(\sum_{a_K}q_K(a_K\mid v,\bar a_{K-1})=1\), then over \(a_{K-1}\), and continue backward to \(a_0\). Thus \(E[W_K\mid V=v]=1\), and integrating over \(V\) gives \(E[W_K]=1\). \(\square\)

The proof also gives the intended interpretation: the weighted treatment-history distribution is the distribution generated by the numerator probabilities. It does not imply that every visit-specific ratio has conditional expectation one given the entire covariate history. Nor can one generally prove the product identity merely by multiplying separate conditional-mean-one claims; the relevant conditioning histories differ. The density argument makes the required cancellations explicit.

Worked Example: Normalization Within Baseline Strata

Let \(V\) have two equally likely values, 0 and 1. Within either stratum, let \(L\) be binary with probability \(0.5\) for each value. The treatment probabilities are \(0.6\) and \(0.2\) for \(L=1\) and \(L=0\), respectively, when \(V=0\); they are \(0.9\) and \(0.3\) when \(V=1\). The numerator is \(q(1\mid V)=P(A=1\mid V)\), so

$$ q(1\mid V=0)=0.5(0.6)+0.5(0.2)=0.4, \qquad q(1\mid V=1)=0.5(0.9)+0.5(0.3)=0.6. $$

For \(V=0\), the weighted treated total conditional on that stratum is

$$ 0.5(0.6)\frac{0.4}{0.6} +0.5(0.2)\frac{0.4}{0.2} =0.2+0.2=0.4. $$

The weighted control total is \(0.5(0.4)(0.6/0.4)+0.5(0.8)(0.6/0.8)=0.3+0.3=0.6\). For \(V=1\), the corresponding totals are \(0.5(0.9)(0.6/0.9)+0.5(0.3)(0.6/0.3)=0.3+0.3=0.6\) for treated individuals, and \(0.5(0.1)(0.4/0.1)+0.5(0.7)(0.4/0.7)=0.2+0.2=0.4\) for controls. Each stratum’s total weight is one; its weighted treated total equals \(q(1\mid V)\). Averaging across the equally likely strata gives an overall weighted treated total of \(0.5(0.4)+0.5(0.6)=0.5\), and a control total of \(0.5\).

Using the Check and Interpreting Departures

In a data set, replace expectations with sample sums. For a single occasion, useful summaries include the overall mean weight, the mean weight within each treatment group, and the weighted treatment totals compared with the numerator probabilities. For longitudinal weights, the corresponding target for each treatment history is its probability under the numerator mechanism. In small samples, rare histories can make these comparisons noisy, so a discrepancy should be interpreted in context rather than against an automatic pass/fail threshold.

A departure can be a clue to a construction problem. Check that the denominator is the probability of the observed treatment, that numerator and denominator use the same treatment coding and reference category, that the cumulative product includes the intended visits exactly once, and that probabilities—not odds or logits—were used in the ratio. Also verify that any baseline variables in the numerator are handled consistently in the check. If probabilities are estimated, confirm that predictions are finite and correspond to the fitted model’s intended histories.

There are important limits to this diagnostic. A misspecified denominator can still produce a mean near one by chance; a numerator and denominator built from the same incorrect coding can even make weights identically one. Conversely, finite-sample variation or estimation error can produce a mean different from one even when the models target the correct probabilities. A very small denominator probability may also create an unstable weight while the average remains close to one. Normalization is therefore a check on arithmetic and probability structure, not a test of model specification or positivity.

Worked Example: An Omitted Numerator Factor

Return to the binary-treatment setting in the first example. If the numerator is accidentally omitted, the weights become \(1/g(A\mid L)\). The expected contribution from treated individuals is

$$ \sum_{l\in\{0,1\}}P(L=l)P(A=1\mid L=l)\frac{1}{P(A=1\mid L=l)} =0.4+0.6=1. $$

The control contribution is also one, because the same cancellation occurs for \(A=0\). Thus the mean of the incorrectly unstabilized weights is \(2\), not \(1\). This is a useful clue if the intended weights were stabilized with a probability numerator. It is not a universal diagnostic for a missing factor: in other settings, another error can offset this departure, or a later rescaling can force the mean back to one while changing the intended weighted treatment distribution.

Common Pitfall and Alternatives

A common mistake is to reason that “the weights average to one, so the treatment model must be correct.” The normalization result only says that correctly formed likelihood ratios have a particular expectation under the probability model used in the derivation. It does not show that the fitted model represents the true treatment mechanism, that relevant confounders were measured, or that the causal assumptions hold. A separate but related mistake is to demand an exact sample mean of one: the theorem concerns a population expectation, and estimated weights in a finite sample need not satisfy it exactly.

One alternative is to divide all weights by their observed sample mean. This forces the sample mean to one, but it cannot validate the probabilities that generated the weights and may conceal an omitted factor or coding error. Unstabilized inverse-probability weights use numerator one rather than a treatment probability; their expected total is generally the number of treatment categories at one occasion, not one. These approaches answer different normalization questions. Report what normalization was applied, and do not treat a rescaled mean as evidence that the original construction was correct.

Check Your Understanding

Try each problem, then compare your reasoning with the solutions below.

  1. For a binary treatment with \(P(A=1)=0.3\), what is \(E[W I(A=1)]\) for correctly specified stabilized weights?
  2. For a three-category treatment, what is the expected mean of the correctly specified stabilized weight?
  3. In a longitudinal analysis, what distribution determines the weighted probability of a treatment history?
  4. Does an observed sample mean weight of one establish that the denominator model is correct? Give one reason.

Solutions. (1) It is \(0.3\), by \(E[W I(A=a)]=q(a)\). (2) It is one: the three numerator probabilities sum to one, just as in the proof for any finite number of categories. (3) It is the product of the visit-specific numerator probabilities, \(\prod_t q_t(a_t\mid V,\bar a_{t-1})\), conditional on \(V\); averaging over \(V\) gives the marginal history probability. (4) No. A misspecified model can yield a sample mean near one by chance, and a rescaling can force that mean to one without correcting the model.

Clinical Biostats