The value that is not there

Three mechanisms and one dataset

Four rules for which outcomes go missing, each calibrated to lose the same 35% of the rows and each leaning on what it reads with the same coefficient. Three leave the fitted slope exactly where it was, and the one that reads the outcome moves it by 0.163531.

Four rules decide which outcomes go missing from the same two hundred rows. Each one loses the same 35% of them, each leans on whatever it reads with the same coefficient of 1.2, and the only thing that separates them is which column they look at. Three leave the fitted slope exactly where it was — the closed forms come out at 1.11 × 10⁻¹⁶, which is double-precision arithmetic saying zero — and the fourth moves it by −0.163531, which is 27.2552% of the quantity being estimated.

Three mechanisms leave the slope alone; one does not. The bias of the complete-case slope under each of four missingness rules, counted over 4000 studies of 200 rows at 35.0% missing, with the closed form printed beside each count. Missingness that depends on nothing, on the regressor, or on the second covariate leaves the slope exactly where it was — the closed forms are zero to machine precision and the counts are -0.0005, -0.0005 and -0.0011 against standard errors of about 0.0018. Missingness that depends on the outcome moves it by -0.1635, which is 27.3% of the slope being estimated. The same share of rows is lost in every case.
Fig. 1 The bias of the complete-case slope under each of four missingness rules, counted over four thousand studies with the closed form printed beside each count. Three of the four bars are the width of a rounding error and the fourth is not.

That is the whole taxonomy, and it is worth being precise about what it is not. It is not a statement about how much data is lost, because the four rules discard shares of it that differ by 0.08 percentage points. It is not a statement about how hard the rule bites, because the same coefficient of 1.2 drives all four. It is a statement about which variable the chance of being recorded is a function of, and — this is the part that makes the subject difficult rather than merely fiddly — that variable is the one thing a dataset with gaps in it cannot display.

A gap is not the only way a value can fail to be a number, and the distinction is worth making at the outset. A subject still event-free when a study ends is not missing: what happened to it is partly recorded, in the form of a bound, and the estimator that keeps such a subject in its own denominator recovers the truth to a fraction of a point because that bound is information. Everything here is the other case — the cell is simply empty, and the only thing carried alongside it is the fact of its being empty.

The world underneath is stated once and never estimated. Two standard normal covariates xx and zz correlated at 0.3, an outcome

y=1+0.6x+0.4z+ε,εN(0,1),y = 1 + 0.6\,x + 0.4\,z + \varepsilon, \qquad \varepsilon \sim N(0, 1),

and two hundred rows of it. The analysis being measured is least squares of yy on xx and zz, which is the model the data were generated from: every failure below belongs to the missingness rather than to a misspecified fit, and keeping those two apart is most of what makes this subject readable.

What is held fixed, and it is nearly everything

A row is recorded when a latent index crosses zero:

c0+cxx+czz+cyy+u>0,uN(0,1),c_0 + c_x x + c_z z + c_y y + u > 0, \qquad u \sim N(0,1),

and the four mechanisms are four choices of which of cxc_x, czc_z and cyc_y is 1.2 while the others are zero. Substituting the outcome equation turns the index into a constant plus a mean-zero normal of standard deviation τ\tau, so the marginal chance of being recorded is Φ(A)\Phi(A) with A=(c0+cy)/τA = (c_0 + c_y)/\tau — and the intercept that hits a stated missing fraction can therefore be solved rather than searched for: A=Φ1(1f)A = \Phi^{-1}(1 - f) and c0=Aτcyc_0 = A\tau - c_y.

The consequence is that AA is 0.385320 in every row of every table here, and the marginal chance of being recorded is 0.65 exactly rather than approximately. That is worth more than it sounds. A comparison of mechanisms calibrated by trial and error is a comparison in which the rows also differ, slightly, in how much they threw away — and every difference in a bias could then be read as a difference in sample size. Counted over four thousand studies the four rules keep 64.97%, 64.97%, 65.05% and 65.03% of the rows, and the spread across them is the 0.08 percentage points quoted above, which is Monte Carlo noise rather than a design difference.

What is held fixed also includes the strength. An index coefficient of 1.2 is a hard dependence, not a nudge: under the rule that reads the regressor, the chance of being recorded runs 0.036080, 0.274883, 0.726376, 0.964219, 0.998658 at xx equal to −2, −1, 0, 1 and 2. A row two standard deviations below the mean is recorded about one time in twenty-eight, and a row two above is recorded essentially always. That is deliberate, because the central claim here is an identity rather than a small-bias approximation, and a gentle setting would let the identity be mistaken for an approximation working well.

Which column the rule reads

Selection here is a single linear constraint on a multivariate normal, which is exactly the situation whose truncated moments have a closed form. Writing tt for the standardised index and λ\lambda for the inverse Mills ratio φ(A)/Φ(A)\varphi(A)/\Phi(A), every variable splits into a part proportional to tt and a part independent of it, so

E[vrecorded]=E[v]+Cov(v,t)λ,\mathbb{E}[v \mid \text{recorded}] = \mathbb{E}[v] + \operatorname{Cov}(v, t)\,\lambda,

Cov(u,vrecorded)=Cov(u,v)Cov(u,t)Cov(v,t)δ,\operatorname{Cov}(u, v \mid \text{recorded}) = \operatorname{Cov}(u, v) - \operatorname{Cov}(u,t)\operatorname{Cov}(v,t)\,\delta,

with δ=λ(λ+A)\delta = \lambda(\lambda + A). At the missing fraction used throughout, λ\lambda is 0.569845 and δ\delta is 0.544296. No integral is evaluated numerically and nothing is drawn: this is the population a complete-case analysis is actually running on.

Now solve the two-by-two normal equations in that population. The relation Cov(w,y)=Σwwθ\operatorname{Cov}(w, y) = \Sigma_{ww}\theta holds for the full population, and selection subtracts the same rank-one term from both sides, so almost everything cancels. What survives is the part of Cov(y,t)\operatorname{Cov}(y, t) that does not pass through the covariates:

θccθ=δpεVsel1(px,pz),\theta_{cc} - \theta = -\,\delta \, p_\varepsilon \, V_{\text{sel}}^{-1} (p_x, p_z)',

where pεp_\varepsilon is the covariance of the residual with the index. And pεp_\varepsilon is zero exactly when the index does not read the outcome. That is the field’s central result stated as an identity: the bias under a covariate-driven rule is not small, it is zero, and no amount of strengthening the dependence can make it otherwise.

For the three rules that read a covariate, pεp_\varepsilon is 0 and the closed bias is ±1.11×1016\pm 1.11 \times 10^{-16} on the slope on xx and 0 or ±5.55×1017\pm 5.55 \times 10^{-17} on the slope on zz. For the rule that reads the outcome, pεp_\varepsilon is 0.65116 and the slope converges to 0.436469 against a true 0.6, with the second coefficient converging to 0.290979 against 0.4.

The rows that survive are not the population. How far the complete cases depart from the population they were drawn from, in closed form, at 35.0% missing and an index coefficient of 1.2. The covariate has mean zero and standard deviation one in the population; among the rows kept when missingness reads the regressor its mean is 0.4378 and its standard deviation 0.8239, and when missingness reads the outcome the mean is 0.2672. Completely random missingness moves neither. Read beside the bias figure this is the field's whole point: the sample on the second row is thoroughly unrepresentative and the slope computed from it is exactly right.
Fig. 2 How far the rows that survive each rule depart from the population they were drawn from, in closed form. The regressor’s mean moves to 0.437767 under the rule that reads it, and its standard deviation to 0.823879, on the rows whose fitted slope is exactly right.

The sample is wrong about nearly everything

The figure above is the half that makes the first one surprising, and it deserves to be read slowly. Under the rule that reads the regressor, the rows that survive have a covariate mean of 0.437767 against a population mean of zero and a covariate standard deviation of 0.823879 against one. Their mean outcome is 1.315192 against a true 1 — wrong by 0.315192, counted at 1.3157 over four thousand studies. Under the rule that reads the outcome the mean outcome among the survivors is 1.617443, wrong by 0.617443, counted at 1.6186.

Any summary a reader might form from that sample is wrong. The covariate looks shifted and looks less variable than it is; the outcome looks half a unit too high; a histogram of either would mislead. And the slope is right to fourteen decimal places.

The reason is one sentence long and it is the sentence the rest of this field is built on. Least squares of yy on (x,z)(x, z) estimates the conditional law of the outcome given the covariates. Selection that acts on the covariates alone changes which covariate values appear and in what proportion — it changes the marginal law of xx and zz — and leaves the conditional law of yy given them untouched, because that conditional law is what the outcome equation states and the index never touches ε\varepsilon. A regression conditions on exactly the thing the selection moved, so the selection is invisible to it.

Selection that reads the outcome does something else entirely. It reads ε\varepsilon, so among the survivors at a given xx and zz the residual is no longer mean zero — it is a truncated normal whose mean depends on where that row sat — and the conditional law of the outcome given the covariates is now a different law from the one the world was built with. That is not a shortage of data. It is a different regression.

Read that way the outcome-driven case is a selection effect of a familiar shape rather than a new phenomenon. It is the mechanism behind an inflated effect among the studies that reached significance and behind the improvement of a group chosen for being worst: a filter applied to a quantity is a filter applied to the noise inside it, and the filtered noise then has a mean. What is specific here is only that the filter is invisible — the rows it removed are not in the table, and there is nothing to notice.

What the interval covers, and what it says it covers

A bias of 0.163531 is not by itself a statement about anything a reader would act on. Turning it into one means asking what the ordinary interval does, and coverage is a count rather than an argument: build the interval in each of four thousand studies and see how often it holds the value the data were generated at.

What a complete-case interval covers, by mechanism. How often the ordinary 95% interval for the slope, computed from the complete cases alone, contains the value the data were generated at — counted over 4000 studies of 200 rows with 35.0% of the outcomes missing under each of four rules. Missingness that reads nothing covers 95.15%, that reads the regressor 95.40%, that reads the second covariate 94.80% — all three at the promise — and that reads the outcome itself covers 49.70%. The same fraction is missing in every row and the same index coefficient drives it; the only thing that changes is which variable the rule looks at.
Fig. 3 What the ordinary 95% interval for the slope, computed from the complete cases alone, actually contains. Three of the four rules leave it at its promise and the fourth takes it to 49.70%.

The three covariate-driven rules give 95.15%, 95.40% and 94.80%, each within its own Monte Carlo error of the promise — the claim a 95% interval is making is a claim about a procedure run repeatedly, and here the procedure keeps it. The outcome-driven rule gives 49.70%. An interval advertised at nineteen times in twenty contains the truth about half the time, which is not a mild loss of precision; it is a procedure that has stopped doing the thing it is named after, in the same way a trial whose analysis does not know its own allocation rule has stopped testing anything.

The second coefficient tells the same story more quietly. Its interval covers 94.90%, 95.47% and 95.03% under the three harmless rules and 73.02% under the fourth, on a bias of −0.109021 closed and −0.10847 ± 0.00129 counted. It is less damaged only because the coefficient is smaller and its interval is the same width, which is a fact about the ratio rather than about the mechanism.

Two routes, and where they meet

Every number above exists twice. The closed forms come out of the truncation identity; the counts come out of four thousand simulated studies that share none of that arithmetic; and the two are required to agree, which is the discipline this whole collection runs on. Under the outcome-driven rule the count lands on the closed form to −0.00012, against a standard error of 0.00131 — a tenth of one standard error, which is the sort of agreement that says the two routes are computing the same thing rather than two things that happen to be close.

The closed side is itself computed twice. The plim is obtained once by solving the selected normal equations directly and once through the rank-one identity written out above, and the two agree to machine precision. That matters more than a third significant figure, because the identity is the thing that generalises: it says why the covariate-driven bias is zero, where the direct solve only says that it is.

The bar that carries no useful information in either route is the one for the completely-random rule. It is there because it is the reference the other three are read against, and because its bias being zero is the only one of the four a reader would have predicted.

The line is scaled, not tilted

There is a fact in the closed forms that nobody went looking for, and it is the most elegant thing in this field.

Under the outcome-driven rule the slope on xx is 0.436469 against 0.6 and the slope on zz is 0.290979 against 0.4. Divide each by its target: 0.727448 and 0.727448. Not two similar numbers — the same number, to every digit the arithmetic carries.

It follows from the algebra rather than from a coincidence. When the index reads the outcome and nothing else, its covariate part is cy(βx+γz)c_y(\beta x + \gamma z), so Cov(w,t)\operatorname{Cov}(w, t) is proportional to Σwwθ\Sigma_{ww}\theta — and applying the selected covariance’s inverse to something proportional to Σwwθ\Sigma_{ww}\theta returns something proportional to θ\theta itself, by the rank-one update. The bias vector is therefore parallel to the coefficient vector, and complete-case least squares does not distort the fitted relation at all: it shrinks the whole of it towards zero by one factor,

1δcy2σ2/τ21δ(cy/τ)2θΣθ,1 - \frac{\delta\, c_y^2 \sigma^2/\tau^2}{1 - \delta (c_y/\tau)^2\, \theta'\Sigma\theta},

which is a third route to 0.727448 and agrees with the other two to ten decimal places. Across index coefficients of 0.4, 0.8, 1.2, 1.6, 2.4 and 3.2 the factor reads 0.927933, 0.810025, 0.727448, 0.678543, 0.631286 and 0.611285 — a shrinkage that deepens with the dependence and never becomes a tilt.

One curve is identically zero at every strength. The bias of the complete-case slope as the missingness leans harder on what it reads, at 35.0% missing throughout, over 1000 studies at each of 7 strengths. When the rule reads the regressor the closed form is exactly zero at every strength and the counts sit within their own standard errors of it — the largest is 0.0033 against errors of about 0.0035. When the rule reads the outcome the bias grows from -0.0432 at the gentlest setting to -0.2332 at the harshest. Neither curve is about how much is missing, which is held fixed; both are about what the rule looked at.
Fig. 4 The bias in the complete-case slope as each rule leans harder on what it reads, at a fixed 35% missing. One curve is identically zero at every strength and the other grows to −0.23323.

The practical residue is a warning about diagnostics. A fitted relation that has been scaled rather than tilted looks entirely reasonable: the coefficients keep their signs, their ratio is unchanged, and a reader comparing the relative importance of two predictors would reach exactly the right conclusion. Only the levels are wrong, and only by a factor nothing in the data reveals. This is the opposite failure from a summary four different datasets share, where the numbers agree and the pictures do not; here the picture is right in shape and wrong in scale.

Which regression is protected, and which is not

Protection is not a property of a mechanism alone. It is a property of a mechanism together with the analysis being run, and one row of the table shows it.

Under the rule that reads the second covariate zz, the partial slope on xx — the coefficient in the regression that includes both covariates — is exactly right. The marginal slope of yy on xx alone converges to 0.683878 against a true 0.72, an error of −0.036122. Nothing about the mechanism changed between those two sentences. What changed is which regression was run: selection on zz is invisible to a regression that conditions on zz and is a straightforward selection effect on one that does not.

It is the same structural point three causal readings of one regression make about a covariate beside a treatment: the arithmetic does not change, and whether including a column is right is decided outside the fit.

So “missing at random” does not certify an analysis. It certifies the analyses that condition on whatever the mechanism reads, and the same dataset can carry one estimate that is exactly right and another, from the same rows, that is not. Under the outcome-driven rule the marginal slope converges to 0.503771, and both readings are wrong there.

On the slope, all four agree. The bias of the same four estimators applied to the slope of the outcome on the regressor rather than to its mean, over 1500 studies of 200 rows at 35.0% missing on the regressor. All four land on 0.7200: -0.0033, -0.0050, -0.0033, -0.0029. Dropping the incomplete rows needs no repair here, so weighting and imputing buy nothing and cost spread — 0.1159 against 0.1658. Whether a repair is worth anything is a question about the estimand and not about the mechanism, and the same dataset gives both answers.
Fig. 5 Four ways of estimating the same marginal slope under regressor-driven missingness, all four landing on 0.72 within 0.00211 of each other. Where the complete cases are already right, every repair buys nothing and costs spread.

That figure is the same point from the other side. Four estimators — the complete cases, two forms of weighting, and twenty imputations — put the marginal slope at biases of −0.00333, −0.00504, −0.00332 and −0.00293 against a target of 0.72, a spread of 0.00211 across all four. Anybody choosing between them on this evidence would be choosing between four right answers, and choosing badly, since the repairs cost spread and buy nothing. On the outcome’s mean, from the same rows and the same draws, the complete cases are wrong by 0.315192 and the other three are not. Whether a repair is worth anything is a question about the estimand, not about the mechanism.

What could have produced this without the claim being true

Three ways, and each was closed rather than argued away.

The mechanisms could have differed in how much they discarded. They do not: the calibration is solved in closed form, the marginal chance of being recorded is 0.65 exactly in all four, and the counted shares differ by 0.08 percentage points. A bias that came from a smaller effective sample would also have shown up as a wider interval, and the intervals under the three harmless rules are the ones keeping their promise.

The zeros could have been small numbers rounded. They are not. The closed forms are ±1.11×1016\pm 1.11 \times 10^{-16}, which is one unit in the last place of a double near this magnitude, and the identity says they are zero for any cxc_x and czc_z at any strength. Pushed to an index coefficient of six, where the survivors’ covariate variance has fallen to 0.470415, the closed bias is still exactly zero.

The counts could have agreed by luck. Four thousand studies give standard errors of about 0.0015 on each bias, and three of the four counts sit within one of them of zero while the fourth sits a hundred and twenty-five of them away. That gap is not a resolution question; it is the difference between a quantity that is zero and one that is not, and the practice of counting an advertised rate rather than asserting it is what makes it visible at all.

The row the data cannot name

Everything above assumes the mechanism is known, and it is not. A dataset arrives with a pattern of gaps in it, and the question this whole taxonomy turns on — which column the rule read — is a question about the values that are not there.

One estimate, two truths. The slope in each of two worlds that produce identical observed data, and the number the data itself hands back. In the first, the outcomes nobody saw follow the same law as the ones that were seen; in the second they are shifted by 1.00. The true slopes are 0.60 and 0.3155 — a gap of 0.2845, which is 47.4% of the first. The complete-case estimate is 0.5996 in both, because it is computed from cells the two worlds share. Nothing in the data prefers either world, and the choice between them is an assumption with a number in it.
Fig. 6 Two worlds whose recorded data are identical and whose true slopes are 0.6 and 0.315452. The complete-case estimate is 0.59955 in both, because it is computed from the cells the two worlds share.

It can be made exact. Two worlds can be constructed that produce identical covariates, identical patterns of what is recorded and identical recorded outcomes — not close, the same numbers — and whose true slopes are 0.6 and 0.315452. One is missing at random and one is not. Every statistic anybody can compute from the recorded data is the same number in both, so no test distinguishes them and no sample size ever will.

That is why this field opens on a taxonomy rather than on a repair. The three-line table above is a statement about which of four worlds a dataset came from, and the dataset is silent on the question. What is left is choosing an assumption and saying what it was worth — which is the shape of every honest answer under a resampling that cannot see past its own sample, and which the arguments that price filling the gaps, weighting them away and reporting a range instead each take up in turn.

What links here

Computed from the collection, not written here: the essays that point at this one.

Reads more easily once this is understood

Essays that name this one as worth reading first.

Shares its objects with

Essays that name at least two of the same things, and that neither author linked.

Named objects

A flat tag is an object no other essay names yet.

Closed formComplete-caseConditional distributionConfidence intervalEstimandThe inverse Mills ratioLeast squaresMissing at randomMissing completely at randomMissing not at randomMissingness mechanismMonte CarloNon-identifiabilitySelection biasSelection model