Skip to contents

Inverse-variance-weighted combination (IVWC) of two independently fit conditional-likelihood pieces for KK matched-pair-plus-reservoir binary designs: matched pairs are analyzed with exact conditional logistic regression (conditional_logit_fit_matched_pairs(), which conditions out the pair-specific nuisance intercept and estimates only the treatment log-odds-ratio \(\beta_T\) from discordant pairs, or the joint clogit-style likelihood when covariates are present), and reservoir subjects are analyzed with ordinary logistic regression (conditional_logit_fit_reservoir()). If \(\hat\beta_m, \hat\sigma^2_m\) and \(\hat\beta_r, \hat\sigma^2_r\) are the matched-pair and reservoir estimates and their variances, the combined estimate is the variance-weighted average $$\hat\beta_T = w^\star \hat\beta_m + (1-w^\star) \hat\beta_r, \quad w^\star = \frac{\hat\sigma^2_r}{\hat\sigma^2_r + \hat\sigma^2_m},$$ with combined variance \(\hat\sigma^2_m \hat\sigma^2_r / (\hat\sigma^2_m + \hat\sigma^2_r)\). This is the classical fixed-effects inverse-variance meta-analysis pooling formula (see Cochrane Handbook / DerSimonian-Laird), applied here to combine the two conditionally-independent likelihood contributions of a KK design rather than to pool separate studies. When only one of the two components is estimable the combined estimate falls back to that component alone. Contrast this with InferenceIncidKKCondLogitOneLik, which instead fits a single joint likelihood over both pieces (see that class's documentation) – likelihood_tier = "partial" here reflects that the matched-pair piece is a genuine conditional (partial) likelihood, but the two-piece combination itself is a closed-form Wald/meta-analytic step, not a further likelihood evaluation.

Computes the randomization distribution of the treatment effect estimate under the sharp null.

Whether compute_rand_two_sided_pval() is actually usable on this instance right now – FALSE exactly when it would stop(): an incidence-response instance with no custom randomization statistic and a design not eligible for design-randomization-based incidence inference (see private$should_use_design_randomization_for_incidence()). TRUE for every other case, including every non-incidence response type. Public, self-contained (only reads already-set instance state, no side effects), so InferenceSuite can check this before attempting the sentinel instead of relying on the stop() being silently swallowed into a pval = NA "ok" row – the single source of truth for both this check and compute_rand_two_sided_pval()'s own guard, so the two can never drift apart.

Value

When debug = FALSE (default), a numeric vector of length r. When debug = TRUE, a list with: values, errors (list of character vectors, one per iteration), warnings (list of character vectors, one per iteration), num_errors, num_warnings, prop_iterations_with_errors, prop_iterations_with_warnings, and prop_illegal_values.

A single logical.

Details

Legacy class. Not fully tested in comprehensive_tests.R.

References

Fleiss, J.L., Levin, B., Paik, M.C. (2003). Statistical Methods for Rates and Proportions, 3rd ed. Wiley. (conditional logistic regression for matched pairs)

See also

InferenceIncidKKCondLogitOneLik for the one-likelihood alternative combining strategy.

Super class

Inference -> InferenceIncidKKCondLogitIVWC

Methods

+ inherited public methods from Inference


InferenceIncidKKCondLogitIVWC$approximate_randomization_distribution_beta_hat_T()

Usage

InferenceIncidKKCondLogitIVWC$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
)

Arguments

r

Number of randomization vectors. Default 501.

delta

The null difference. Default 0.

transform_responses

Type of transformation. Default "none".

show_progress

Show progress bar. Default TRUE.

permutations

Pre-computed permutations. Default NULL.

debug

If TRUE, return a list with the distribution values and per-iteration diagnostics including error messages, warning messages, counts of each, and summary proportions for iterations with errors, warnings, and illegal (non-finite) values. Runs serially. Default FALSE.

zero_one_logit_clamp

The clamping amount for exact 0 and 1 values when logging


InferenceIncidKKCondLogitIVWC$supports_rand_pval_for_incidence()

Usage

InferenceIncidKKCondLogitIVWC$supports_rand_pval_for_incidence()


InferenceIncidKKCondLogitIVWC$clone()

The objects of this class are cloneable with this method.

Usage

InferenceIncidKKCondLogitIVWC$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.