Omitted-variable bound standard error#
This study validates the standard error of the one-sided limits of the omitted-variable bound. Theorem 4 in Section 4 of Chernozhukov, Cinelli, Newey, Sharma and Syrgkanis (2026) gives those limits. For the ATT and the ATC, the curve of \(\nu^2\) carries the influence term of the estimated share of the conditioning arm, which RM22 added. The study reads each bound as an estimate of a known population value. It reads the bound’s standard error back off the reported limit.
No canonical implementation is compared. DoubleML omits the share term. The R package
dml.sensemakr carries it. It estimates the share out of fold, and at its commit 58ac44d it
divides the point estimate of \(\nu^2\) as well, so its bounds are a different estimate. The zero-row
equivalence artifact records the absence of a comparator.
What was tested#
setting |
declaration |
|---|---|
law |
|
fit |
in-sample TMLE with a linear outcome regression and an unpenalized main-effects logistic treatment model. Both are correctly specified. The fit reports the ATE, the ATT and the ATC |
estimator of \(\nu^2\) |
the default, which resolves to the doubly robust estimator |
strength |
\(c_Y = 0.5\), \(c_D = 0.3\), \(\rho = 1\) |
primary estimands |
the lower and the upper bound of the ATT, the ATC and the ATE |
primary standard error |
|
primary interval |
the bound plus or minus 1.959964 standard errors |
truth |
closed form. \(\nu^2\) is \(4 e^{0.07}\) for the ATT and the ATC and \(2 + 2 e^{0.07}\) for the ATE, and \(\sigma^2 = 1\) |
control |
the same fits, with the standard error from the curve of \(\nu^2\) without the share term. That is the curve before RM22 |
Monte Carlo inference |
99% intervals around every declared endpoint |
The RM22 plan in the roadmap fixed the law, the budget, the seeds, the margins and the red-cell route before any run.
Accuracy against known truth#
law |
estimand |
what was tested |
implementation |
bias (99% interval) |
coverage |
SE ratio |
result |
|---|---|---|---|---|---|---|---|
linear Gaussian-outcome law with a constant effect, |
|
lower omitted-variable bound on the ATC, at cf_y 0.5, cf_d 0.3, rho 1 |
|
-0.0025 to 0.0011 |
0.9511 |
1.0026 |
pass |
linear Gaussian-outcome law with a constant effect, |
|
upper omitted-variable bound on the ATC, at cf_y 0.5, cf_d 0.3, rho 1 |
|
0.0015 to 0.0052 |
0.9482 |
0.9965 |
pass |
linear Gaussian-outcome law with a constant effect, |
|
lower omitted-variable bound on the ATE, at cf_y 0.5, cf_d 0.3, rho 1 |
|
-0.000286 to 0.0032 |
0.9507 |
1.0018 |
pass |
linear Gaussian-outcome law with a constant effect, |
|
upper omitted-variable bound on the ATE, at cf_y 0.5, cf_d 0.3, rho 1 |
|
-0.000631 to 0.0029 |
0.9487 |
0.9946 |
pass |
linear Gaussian-outcome law with a constant effect, |
|
lower omitted-variable bound on the ATT, at cf_y 0.5, cf_d 0.3, rho 1 |
|
-0.0024 to 0.0012 |
0.9530 |
1.0042 |
pass |
linear Gaussian-outcome law with a constant effect, |
|
upper omitted-variable bound on the ATT, at cf_y 0.5, cf_d 0.3, rho 1 |
|
0.0013 to 0.0050 |
0.9478 |
0.9916 |
pass |
Theory properties#
Each cell reads the same 10,000 draws, and one fit per draw gives every row. A positive cell must
put its SE-ratio interval inside the calibration band and its coverage interval inside the
coverage band. Each end of the ATT bound also has an inflated_se_control. The control reads the
curve without the share term, which is too wide on this law, so its SE-ratio interval must rise
above the band. The ATC has no control. The plan’s probe put its ratios without the term at 1.098
and 1.111, too close to 1.07 to predict a failure.
property |
cell |
role |
what was tested |
what must hold |
measured |
result |
|---|---|---|---|---|---|---|
|
|
positive |
lower omitted-variable bound on the ATC: both nuisances are correctly specified |
SE ratio and coverage intervals both inside their calibration bands |
coverage 0.9462 to 0.9573, SE ratio 0.9909 to 1.0278 |
pass |
|
|
positive |
upper omitted-variable bound on the ATC: both nuisances are correctly specified |
SE ratio and coverage intervals both inside their calibration bands |
coverage 0.9454 to 0.9566, SE ratio 0.9831 to 1.0198 |
pass |
|
|
positive |
lower omitted-variable bound on the ATE: both nuisances are correctly specified |
SE ratio and coverage intervals both inside their calibration bands |
coverage 0.9463 to 0.9574, SE ratio 0.9883 to 1.0240 |
pass |
|
|
positive |
upper omitted-variable bound on the ATE: both nuisances are correctly specified |
SE ratio and coverage intervals both inside their calibration bands |
coverage 0.9441 to 0.9554, SE ratio 0.9808 to 1.0173 |
pass |
|
|
positive |
lower omitted-variable bound on the ATT: both nuisances are correctly specified |
SE ratio and coverage intervals both inside their calibration bands |
coverage 0.9442 to 0.9555, SE ratio 0.9852 to 1.0217 |
pass |
|
|
control |
lower omitted-variable bound on the ATT: the standard errors come from the curve of nu^2 without the conditioning-share term, as before RM22 |
the SE-ratio interval must fall above the calibration band |
coverage 0.9632 to 0.9724, SE ratio 1.0791 to 1.1189 |
pass |
|
|
positive |
upper omitted-variable bound on the ATT: both nuisances are correctly specified |
SE ratio and coverage intervals both inside their calibration bands |
coverage 0.9453 to 0.9565, SE ratio 0.9794 to 1.0157 |
pass |
|
|
control |
upper omitted-variable bound on the ATT: the standard errors come from the curve of nu^2 without the conditioning-share term, as before RM22 |
the SE-ratio interval must fall above the calibration band |
coverage 0.9635 to 0.9726, SE ratio 1.0732 to 1.1129 |
pass |
Result#
Every primary test and every property cell passed. The controls show that the calibration band detects the curve without the share term on this law.
Measured values#
Names beginning margin: are thresholds declared before the run. Everything else is measured
from the committed results and checked at the precision printed.
quantity |
value |
source |
|---|---|---|
|
10000 |
primary replications |
|
1000 |
observations per primary replication |
|
6 |
bound-end tests against truth |
|
6 |
of those, passing |
|
0 |
external comparisons declared |
|
0 |
external comparisons passing |
|
8 |
repeated-sampling property cells |
|
8 |
cells whose own and family verdicts pass |
|
0.0475 |
largest absolute primary bias in empirical standard deviations |
|
0.9478 |
lowest measured primary-study coverage |
|
0.9418 |
lowest exact 99% primary coverage endpoint |
|
0.9743 |
lowest bootstrap primary SE-ratio endpoint |
|
1.0228 |
highest bootstrap primary SE-ratio endpoint |
|
0.9900 |
confidence level of every Monte Carlo interval |
|
0.0500 |
nominal size of the reported intervals |
|
0.9500 |
nominal coverage those intervals claim |
|
10000 |
resamples behind every bootstrap interval |
|
0.2500 |
bias equivalence margin, in empirical standard deviations |
|
0.9000 |
validity floor the coverage lower endpoint must clear |
|
0.9900 |
above this, coverage is conservative rather than invalid |
|
0.8000 |
SE-ratio screen, lower limit |
|
1.2000 |
SE-ratio screen, upper limit |
|
0.9300 |
calibration-cell SE-ratio band, lower limit |
|
1.0700 |
calibration-cell SE-ratio band, upper limit. A control must rise above it |
|
0.9200 |
calibration-cell coverage band, lower limit |
|
0.9800 |
calibration-cell coverage band, upper limit |
|
0.1000 |
largest size a one-sided type-I bound may establish |
|
0.1500 |
paired similarity margin, in pooled empirical standard deviations |
|
1.1000 |
largest external-comparison RMSE ratio bound |
|
-0.0250 |
smallest external-comparison coverage difference bound |
|
0.0500 |
largest external-comparison calibration excess bound |
|
0.8000 |
rejection lower bound a power control must clear |
|
-0.5000 |
contraction rate root-n asymptotics predict |
|
-0.6250 |
accepted root-n slope band, lower limit |
|
-0.3750 |
accepted root-n slope band, upper limit |
|
-0.2500 |
slower rate a root-n interval must exclude |
Limitations#
limitation |
what it means for use |
|---|---|
The row publishes under the reporting policy, not gated |
Every declared cell is green. The |
There is no cross-implementation evidence |
No maintained implementation computes the same bounds with the same curve |
The fit is in sample, with correctly specified GLMs |
The row does not cover cross-fitting, a flexible learner, or a misspecified nuisance |
One law, one sample size and one strength |
The row covers |
Two arms, no weights and no clusters |
The exact-law witness covers three arms, weights and clusters. This row does not |
Only the doubly robust estimator |
The plug-in estimator reports no limits, so the row says nothing about it |
Positive residual variance |
The law has \(\sigma^2=1\). Theorem 4 needs a positive maximal-bias scale, so the row does not test the zero-variance refusal |
The ATC has no control |
The ATC’s positive cells pass, and no control shows that the band would detect its omission. The plan left it out because its 500-fit probe put the ATC ratios without the term at 1.098 and 1.111, too close to 1.07 to predict a failure. The ATT controls then measured about the same inflation, 1.0987 and 1.0922. No ATC control was added after the run |
The |
Its lower edge is 1.0732 against the band edge of 1.07. The Monte Carlo standard deviation of its ratio is about 0.0077, the interval width over \(2 z_{0.995}\). A new run fails when its ratio falls at or below 1.0890, which puts the lower edge at or below 1.07. That happens about 34% of the time if the true ratio is this cell’s 1.0922, and about 20% if it is 1.0954, the mean of the two controls. The plan sized the budget on the 500-fit ratio of 1.118, whose Monte Carlo error did not cover the measured inflation of about 1.0954. A future design would pair each control with its positive cell and read the ratio of their standard errors, which cancels most of that error |
The law is symmetric |
On |
Point treatment only |
The bound refuses longitudinal fits, so the row covers none |
Reproduction#
The fixture README gives the regeneration command. The manifest records the seeds, margins, exact estimator configuration, source hashes, and result hashes. The replications and property results carry every published row.