Returns EDI's built-in policy table, consulted by the internal (non-exported)
dispatcher edi_bootstrap_dispatch_policy(), for choosing which bootstrap
confidence-interval type — "bca" (bias-corrected and accelerated) or
"percentile" — an inference class uses by default.
Value
A named list describing the default bootstrap type configuration, with
components default_type (the fallback type, "bca"),
inference_class_overrides (a named character vector: regular-expression
pattern names to bootstrap-type values, matched against the inference class
name), and design_class_overrides (a named list keyed by experimental
design class name, each value itself a named character vector of
pattern-to-type overrides scoped to that design).
Details
The dispatcher resolves a type for a given inference-class name (and, if available, the fitted inference object) in this precedence order, returning the first match:
If the object's experimental design class matches a key of
design_class_overrides(viais), and the inference class name matches one of that design's named regular-expression patterns, use the associated type.Otherwise, if the inference class name matches one of
inference_class_overrides's named regular-expression patterns (checked in list order, first match wins), use the associated type.Otherwise, fall back to
default_type("bca").
Whichever type is resolved by that process, a final safety check applies: if the
resolved type is "bca" and the fitted object reports (via its private
jackknife_block_size_gt_one_unsupported() method) that BCa's required
jackknife computation is unsupported for its current data (e.g. a block size
greater than 1), the type is silently downgraded to "percentile" instead.
This override table exists because BCa is the generally preferred default (it
corrects for both bias and skewness in the bootstrap distribution), but is
empirically unreliable or computationally unsupported for specific inference/
design class combinations — the "percentile" overrides listed here were
added as those cases were identified, not derived from a general rule.
See also
get_parallel_dispatch_policy for the analogous policy
controlling forced-serial dispatch; get_optimization_dispatch_policy
for the analogous policy controlling default optimizer algorithm choice.
Examples
get_bootstrap_dispatch_policy()
#> $default_type
#> [1] "bca"
#>
#> $inference_class_overrides
#> ^InferenceContinLin$
#> "percentile"
#> ^InferenceIncidGCompRisk(Diff|Ratio)$
#> "percentile"
#> ^InferenceIncidKKGCompRisk(Diff|Ratio)$
#> "percentile"
#> ^InferenceIncidBinomialIdentityRiskDiff$
#> "percentile"
#> ^InferencePropGCompMeanDiff$
#> "percentile"
#> ^InferenceSurvivalDepCensTransformRegr$
#> "percentile"
#> ^InferenceSurvivalKKRankRegrIVWC$
#> "percentile"
#> ^InferenceOrdinalAdjCatLogitRegr$
#> "percentile"
#> ^InferenceAllSimpleWilcox$
#> "percentile"
#> ^InferenceSurvivalKKStratCoxPHOneLik$
#> "percentile"
#> ^InferenceCountPoisson$
#> "percentile"
#> ^InferenceCountRobustPoisson$
#> "percentile"
#> ^InferenceCountQuasiPoisson$
#> "percentile"
#> ^InferenceCountNegBin$
#> "percentile"
#> ^InferenceCountZeroInflatedPoisson$
#> "percentile"
#> ^InferenceCountZeroInflatedNegBin$
#> "percentile"
#> ^InferenceCountHurdlePoisson$
#> "percentile"
#> ^InferenceCountKKHurdlePoissonOneLik$
#> "percentile"
#> ^InferenceCountKKCondPoissonOneLik$
#> "percentile"
#> ^InferencePropZeroOneInflatedBetaRegr$
#> "percentile"
#> ^InferencePropFractionalLogit$
#> "percentile"
#> ^InferenceCountHurdleNegBin$
#> "percentile"
#> ^InferenceContinRobustRegr$
#> "percentile"
#> ^InferenceCustom(Asymp|Rand|Boot)$
#> "percentile"
#>
#> $design_class_overrides
#> $design_class_overrides$DesignFixedBlockedCluster
#> ^InferenceContinRobustRegr$ ^InferenceContinLin$
#> "percentile" "percentile"
#> ^InferenceContinOLS$ ^InferenceContinKKOLSIVWC$
#> "percentile" "percentile"
#> ^InferenceContinKKOLSOneLik$
#> "percentile"
#>
#>
