dualbounds.varcate.CalibratedVarCATEDualBounds

class dualbounds.varcate.CalibratedVarCATEDualBounds(*args, shrinkages=array([1.0e-03, 1.0e-02, 1.0e-01, 3.0e-01, 5.0e-01, 7.0e-01, 9.0e-01, 1.0e+00, 1.5e+00, 2.0e+00]), **kwargs)[source]

Improved lower bounds on \(Var(E[Y(1) - Y(0) | X])\).

This has the same signature as varcate.VarCATEDualBounds except it takes one additional argument.

Parameters:
shrinkages : np.array

Array of shrinkage values s, where the CATEs are replaced with (1-s) * CATE + s * ATE.

Notes

This class is identical to varcate.VarCATEDualBounds except it selects a shrinkage parameter which shrinks estimated CATEs towards the ATE. Also, if outcome_model is a list, it uses the multiplier bootstrap to perform model selection.

This class should not be used for observational studies.

Methods

compute_dual_variables(*args, **kwargs)

In this case, the optimal dual variables are simply the estimated CATE, so this function does nothing.

cross_fit([nfolds, suppress_warning, ...])

Cross-fits the outcome model.

diagnostics([plot, aipw])

Reports a set of technical diagnostics.

eval_outcome_model()

Thinly wraps dist_reg._evaluate_model_predictions.

eval_treatment_model()

Thinly wraps dist_reg._evaluate_model_predictions.

fit([B])

Main function which (1) performs cross-fitting, (2) computes optimal dual variables, and (3) computes final dual bounds.

fit_propensity_scores(nfolds[, clip, verbose])

Cross-fits the propensity scores.

plot_dual_variables([i])

Plots the estimated dual variables for the ith data-point.

results([minval, maxval])

Returns a dataframe of key inferential results.

summary([minval, maxval])

Prints a summary of main results from the class.