This function computes the extreme robustness value of a target parameter estimated via debiased machine learning.

The extreme robustness value describes the minimum strength of association (parameterized in terms of partial R2) that omitted variables would need to have with the Riesz Representer alone so that the confidence bounds for the target parameter includes zero (or another threshold of interest).

extreme_robustness_value(...)

# S3 method for class 'dml'
extreme_robustness_value(model, theta = 0, alpha = 0.05, rho2 = 1, ...)

# S3 method for class 'dml.bounds'
extreme_robustness_value(model, theta = 0, alpha = 0.05, rho2 = 1, ...)

Arguments

...

arguments passed to other methods.

model

an object of class dml or dml.bounds.

theta

the null hypothesis of interest for the target parameter theta. Default is theta =0 (zero null hypothesis).

alpha

significance level. Default is alpha = 0.05.

rho2

degree of adversity. Default is rho2 = 1, which assumes the maximum degree of adversity of confounding.

References

Chernozhukov, V., Cinelli, C., Newey, W., Sharma, A., and Syrgkanis, V. (2026). "Long Story Short: Omitted Variable Bias in Causal Machine Learning." Review of Economics and Statistics. doi:10.1162/REST.a.1705

Wang, J., Sant'Anna, P. H. C., Chernozhukov, V., and Cinelli, C. (2026). "Omitted Variable Bias in Difference-in-Differences Designs." Working Paper. (Conditional ATT/ATU formulation.)

Examples

data("pension")
set.seed(3); idx <- sample(nrow(pension), 2000)
y <- pension$net_tfa[idx]
d <- pension$e401[idx]
x <- model.matrix(~ -1 + age + inc + educ + fsize + marr + twoearn + pira + hown,
                  data = pension[idx, ])
fit <- dml(y, d, x, model = "plm", cf.folds = 2, cf.seed = 3, verbose = FALSE)

# extreme robustness value: confounding acting on the Riesz representer alone
extreme_robustness_value(fit, theta = 0, alpha = 0.05)
#>         ate 
#> 0.004228202