Skip to contents

Fits a Poisson log-link mean model, \(\log E[Y_i \mid x_i] = x_i^\top\beta\), for count responses using the treatment indicator and, optionally, all recorded covariates as predictors, via fast_quasipoisson_regression_with_var_cpp — see that page for the full model and the Pearson-dispersion-scaled ("quasi-Poisson") variance formula, \(\widehat{\mathrm{Var}}(\hat\beta_k) = \hat\phi\,[(X^\top \hat{W}X)^{-1}]_{kk}\), which corrects standard errors for overdispersion (\(\mathrm{Var}(Y_i) > E[Y_i]\)) relative to the strict Poisson assumption without changing the point estimate \(\hat\beta\). This class has no likelihood-ratio/score/gradient testing capability (likelihood_tier = "quasi"): the dispersion-scaled quasi-likelihood is not a normalized model likelihood, so only Wald inference is available. Rank-deficient covariate columns are dropped automatically before fitting (via private$fit_with_hardened_qr_column_dropping()).

Super class

Inference -> InferenceCountQuasiPoisson

Methods

+ inherited public methods from Inference


InferenceCountQuasiPoisson$new()

Uses the shared randomization two-sided p-value contract; see InferenceRand.

Initialize a quasi-Poisson regression inference object for a completed design with a count, uncensored response.

Usage

InferenceCountQuasiPoisson$new(
  des_obj,
  model_formula = NULL,
  verbose = FALSE,
  smart_cold_start_default = NULL,
  harden = TRUE
)

Arguments

des_obj

A completed Design object with a count 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.

smart_cold_start_default

Whether to use smart cold start values.

harden

Whether to apply robustness measures.


InferenceCountQuasiPoisson$compute_estimate()

Computes the quasi-Poisson treatment coefficient \(\hat\beta_T\) via fast_quasipoisson_regression_with_var_cpp (see class documentation for the full model). Rank-deficient covariate columns are dropped before fitting.

Usage

InferenceCountQuasiPoisson$compute_estimate(estimate_only = FALSE)

Arguments

estimate_only

If TRUE, skip variance calculations.


InferenceCountQuasiPoisson$compute_estimate_with_bootstrap_weights()

Recomputes the Poisson-mean-model treatment estimate under subject/block bootstrap weights (via fast_poisson_regression_weighted_cpp), used by the Bayesian bootstrap and related weighted-resampling machinery; see InferenceBayesianBootstrap. Always leaves the standard error and degrees of freedom unavailable (NA) regardless of estimate_only — this weighted-refit path never computes the quasi-Poisson dispersion correction.

Usage

InferenceCountQuasiPoisson$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

Present for interface parity; this method never computes variance components regardless of its value.


InferenceCountQuasiPoisson$compute_asymp_confidence_interval()

Computes a \(1-\alpha\) level confidence interval for the quasi-Poisson treatment coefficient \(\hat\beta_T\), using the Pearson-dispersion-scaled standard error from fast_quasipoisson_regression_with_var_cpp (see class documentation). See InferenceAsymp for the shared asymptotic confidence-interval contract this delegates to.

Usage

InferenceCountQuasiPoisson$compute_asymp_confidence_interval(alpha = 0.05)

Arguments

alpha

Confidence level.


InferenceCountQuasiPoisson$compute_asymp_two_sided_pval()

Computes a two-sided Wald p-value testing \(H_0: \beta_T = \code{delta}\), from the same dispersion-scaled standard error used by $compute_asymp_confidence_interval(). See InferenceAsymp for the shared asymptotic two-sided p-value contract this delegates to.

Usage

InferenceCountQuasiPoisson$compute_asymp_two_sided_pval(delta = 0)

Arguments

delta

Null treatment effect value.


InferenceCountQuasiPoisson$clone()

The objects of this class are cloneable with this method.

Usage

InferenceCountQuasiPoisson$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# \donttest{
seq_des = DesignSeqOneByOneBernoulli$new(n = 10, response_type = 'count')
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(rpois(10, 2))
inf = InferenceCountQuasiPoisson$new(seq_des)
inf$compute_estimate()
#> [1] -0.2672812
# }