Skip to contents

Fits an ordinary least squares regression for continuous responses: \(Y_i = \beta_0 + \beta_T W_i + X_i^\top \gamma + \epsilon_i\), using the treatment indicator and, optionally, all recorded covariates as predictors (uncentered, no treatment-covariate interactions — see InferenceContinLin for the centered-covariate, interacted variant). \(\hat\beta_T\) is a mean difference on the response's natural scale. likelihood_tier = "full": Wald, score, gradient, and likelihood-ratio tests are all available (fast_ols_cpp/fast_ols_with_var_cpp), with the parametric-likelihood bootstrap using the OLS Gaussian-errors model as the generative null. Standard errors are the closed-form OLS variance under homoskedastic errors (unlike InferenceContinLin's HC2 heteroskedasticity-robust SE). Warm starts are disabled (fit_warm_start_enabled = FALSE set at construction) because OLS is a closed-form estimator and gains nothing from an iterative optimizer's warm-started initial values. Validity requires the usual OLS assumptions: correctly specified linear predictor, and (for the asymptotic/likelihood inference path specifically) homoskedastic, approximately normal errors; the randomization-inference path relies only on randomization of \(W\).

References

Rosenbaum, P. R. (2002). Observational Studies (2nd ed.). Springer, for the OLS mean-difference estimator's design-based justification under randomization.

Super class

Inference -> InferenceContinOLS

Methods

+ inherited public methods from Inference


InferenceContinOLS$new()

Initialize inference for the OLS model \(Y_i = \beta_0 + \beta_T W_i + X_i^\top \gamma + \epsilon_i\); see InferenceContinOLS for the model form. Disables warm-started optimizer initial values (not applicable to this closed-form estimator). Does not fit the model; the fit is deferred to the first call to compute_estimate() or a method that requires it.

Usage

InferenceContinOLS$new(
  des_obj,
  model_formula = NULL,
  verbose = FALSE,
  max_resample_attempts = 50L,
  harden = TRUE,
  smart_cold_start_default = NULL
)

Arguments

des_obj

A completed Design object with a continuous response.

model_formula

Optional formula for covariate adjustment. If NULL (default), the formula from the design object is used and its pre-computed design matrix is reused. If a formula is provided, a new design matrix is constructed from the design's imputed covariates.

verbose

Whether to print progress messages.

max_resample_attempts

Maximum number of times a single bootstrap replicate may be redrawn when the drawn sample fails validity screening. Default 50L.

harden

Whether to apply robustness measures.

smart_cold_start_default

Flag for consistent API.


InferenceContinOLS$compute_estimate()

Fits the OLS model (fast_ols_cpp/fast_ols_with_var_cpp) and returns \(\hat\beta_T\). If not hardened (private$harden == FALSE), fits directly on the full design matrix; otherwise uses QR column-dropping hardening to handle rank-deficient designs. A fit with a non-finite treatment coefficient is cached as nonestimable rather than returned.

Usage

InferenceContinOLS$compute_estimate(estimate_only = FALSE)

Arguments

estimate_only

If TRUE, skip variance component calculations.


InferenceContinOLS$compute_estimate_with_bootstrap_weights()

Refits the OLS model with subject/block-level weights applied to a weighted least-squares fit (stats::lm.wfit) — Bayesian-bootstrap or nonparametric-bootstrap draw weights, expanded to row level via private$expand_subject_or_block_weights_to_row_weights() — and returns the reweighted estimate \(\hat\beta_T^{(w)}\). When estimate_only = FALSE, also computes a weighted-residual variance estimate for internal bootstrap diagnostics. Rows with non-finite or non-positive weight, or non-finite response, are dropped from the weighted fit; if no rows remain, or the fit fails, the estimate is NA.

Usage

InferenceContinOLS$compute_estimate_with_bootstrap_weights(
  subject_or_block_weights,
  estimate_only = FALSE
)

Arguments

subject_or_block_weights

Bootstrap weights at the subject or block level.

estimate_only

If TRUE, skip variance calculations.


InferenceContinOLS$compute_asymp_confidence_interval()

Uses the shared asymptotic confidence-interval contract; see InferenceAsymp.

Usage

InferenceContinOLS$compute_asymp_confidence_interval(alpha = 0.05)

Arguments

alpha

The confidence level in the computed confidence interval is 1 - alpha. The default is 0.05.


InferenceContinOLS$compute_asymp_two_sided_pval()

Uses the shared asymptotic two-sided p-value contract; see InferenceAsymp.

Usage

InferenceContinOLS$compute_asymp_two_sided_pval(delta = 0)

Arguments

delta

The null difference to test against. Default is zero.


InferenceContinOLS$clone()

The objects of this class are cloneable with this method.

Usage

InferenceContinOLS$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# \donttest{
seq_des = DesignSeqOneByOneBernoulli$new(n = 10, response_type = 'continuous')
for (i in 1:10) {
  seq_des$add_one_subject_to_experiment_and_assign(data.frame(x1 = rnorm(1)))
}
seq_des$add_all_subject_responses(rnorm(10))
inf = InferenceContinOLS$new(seq_des)
inf$compute_estimate()
#> [1] 0.1260235
# }