
Get Default Subset Tiers for Post-Hoc Optimization
Source:R/get_default_subset_tiers.R
get_default_subset_tiers.RdReturns a structured list of tiered criteria for identifying optimal subsets of calibration results. Uses a hybrid degradation strategy with 30 hardcoded tiers.
Value
A named list where each element contains:
name: Tier identifier
A: Target agreement index (0-1)
CVw: Maximum coefficient of variation for weights
ESS_B: Target effective sample size
Details
The function generates 30 hardcoded tiers with a hybrid degradation strategy:
Tiers 1-20 (ESS-constant):
ESS_B remains constant at target_ESS_best
A degrades by 5% per tier (multiplied by 0.95)
CVw increases by 5% per tier (multiplied by 1.05)
Prioritizes statistical power while relaxing quality criteria
Tiers 21-30 (Fallback):
All three criteria degrade by 5% per tier
ESS_B, A, CVw all relax simultaneously
Graceful degradation when ESS target cannot be achieved
Example with the function defaults (target_ESS_best=500, target_A=0.95, target_CVw=0.7):
Tier 1: ESS=500, A=0.950, CVw=0.700 (Stringent)
Tier 5: ESS=500, A=0.774, CVw=0.851
Tier 10: ESS=500, A=0.599, CVw=1.086
Tier 20: ESS=500, A=0.358, CVw=1.769 (Last ESS-constant)
Tier 21: ESS=475, A=0.341, CVw=1.857 (Fallback begins)
Tier 30: ESS=299, A=0.215, CVw=2.881 (Final fallback)run_MOSAIC() calls this with its control targets
(ESS_best = 100, A_best = 0.70, CVw_best = 1.0 by
default), which gives:
Examples
if (FALSE) { # \dontrun{
# Get default 30 tiers
tiers <- get_default_subset_tiers(
target_ESS_best = 500,
target_A = 0.95,
target_CVw = 0.7
)
# Custom starting criteria
tiers_custom <- get_default_subset_tiers(
target_ESS_best = 600,
target_A = 0.90,
target_CVw = 0.75
)
# Loop through tiers in calibration with grid search
for (tier_name in names(tiers)) {
tier <- tiers[[tier_name]]
result <- grid_search_best_subset(
results = results,
target_ESS = tier$ESS_B,
target_A = tier$A,
target_CVw = tier$CVw,
min_size = 30,
max_size = 1000
)
if (result$converged) break
}
} # }