Skip to contents

Fits an all-subject logistic working model \(\mathrm{logit}\,P(Y=1\mid w,x) = \beta_0 + \beta_T w + \beta_X^\top x\) for a KK incidence outcome using treatment \(w\) and, optionally, all recorded covariates \(x\), then estimates the marginal (standardized, g-computation) risk difference \(\hat\theta = n^{-1}\sum_i \{\hat p(1, x_i) - \hat p(0, x_i)\}\) by averaging the fitted-model predicted risks under all-treated and all-control assignments over the empirical covariate distribution (Robins 1986). Matched pairs are treated as clusters and reservoir subjects are treated as singletons when computing the sandwich covariance of the standardized estimator (the delta-method variance of the empirical mean of the two counterfactual-risk contrasts, not the naive logistic-regression coefficient variance).

Details

This estimator has likelihood_tier = "none": the fitted logistic model is a working model for standardization only, and reported inference is sandwich/bootstrap-based, not likelihood-based. compute_estimate() fits the model and returns \(\hat\theta\) on the risk-difference (probability) scale; compute_estimate_with_bootstrap_weights() refits under Bayesian-bootstrap subject weights for compute_bayesian_bootstrap_confidence_interval(). Jackknife deletes one cluster (matched pair or singleton reservoir subject) at a time. If the working model fails to converge or the design has no treatment-arm variation, the estimate is marked non-estimable via is_nonestimable().

References

Robins, J. (1986). A new approach to causal inference in mortality studies with a sustained exposure period. Mathematical Modelling, 7(9-12), 1393-1512. doi:10.1016/0270-0255(86)90088-6

See also

InferenceIncidKKGCompRiskRatio for the risk-ratio analog on the same standardization machinery.

Super class

Inference -> InferenceIncidKKGCompRiskDiff

Methods

+ inherited public methods from Inference


InferenceIncidKKGCompRiskDiff$set_custom_randomization_statistic_function()

Usage

InferenceIncidKKGCompRiskDiff$set_custom_randomization_statistic_function(
  custom_randomization_statistic_function
)


InferenceIncidKKGCompRiskDiff$set_custom_randomization_statistic_cpp()

Usage

InferenceIncidKKGCompRiskDiff$set_custom_randomization_statistic_cpp(fn)


InferenceIncidKKGCompRiskDiff$approximate_randomization_distribution_beta_hat_T()

Usage

InferenceIncidKKGCompRiskDiff$approximate_randomization_distribution_beta_hat_T(
  r = 501,
  delta = 0,
  transform_responses = "none",
  show_progress = TRUE,
  permutations = NULL,
  debug = FALSE,
  zero_one_logit_clamp = .Machine$double.eps
)


InferenceIncidKKGCompRiskDiff$supports_rand_pval_for_incidence()

Usage

InferenceIncidKKGCompRiskDiff$supports_rand_pval_for_incidence()


InferenceIncidKKGCompRiskDiff$clone()

The objects of this class are cloneable with this method.

Usage

InferenceIncidKKGCompRiskDiff$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# \donttest{
seq_des = DesignSeqOneByOneKK14$new(n = 10, response_type = 'incidence')
for (i in 1:10) {
  seq_des$add_one_subject_to_experiment_and_assign(data.frame(x1 = rnorm(1), x2 = rnorm(1)))
}
seq_des$add_all_subject_responses(rbinom(10, 1, 0.5))
inf = InferenceIncidKKGCompRiskDiff$new(seq_des)
inf$compute_estimate()
#> [1] -0.1481469
# }