The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
This article closes the remaining Phase-0 validation requirements without expanding gp3bayes beyond its two approved families. The new checks are observable-data diagnostics. They do not establish posterior adequacy, choose a model automatically, or justify deleting observations.
bin_sim <- simulate_hierarchical_binary_data(
n_participants = 20,
trials_per_participant = 10,
n_items = 10,
seed = 2026
)
bin_contract <- create_model_contract(
family = "binary",
outcome_col = "selected",
participant_col = "participant_id",
item_col = "item_id",
trial_col = "trial_id",
condition_col = "condition",
predictors = c("participant_covariate", "trial_covariate"),
interaction = c("condition", "participant_covariate"),
random_slope = FALSE
)
balance <- summarise_condition_balance(bin_sim$data, bin_contract)
balance
#>
#> Condition-balance audit
#> Status: pass
#> level n fraction
#> control 100 0.5
#> treatment 100 0.5
#> Condition balance is an observable design diagnostic. It does not by itself establish identifiability or adequacy.
variation <- summarise_binary_group_variation(
bin_sim$data,
bin_contract,
group = "participant"
)
variation
#>
#> Binary group-variation audit
#> Group: participant
#> Status: pass
#> Groups without outcome variation: 0
strict_binary <- audit_model_readiness_strict(
bin_sim$data,
bin_contract,
run_separation = FALSE
)
strict_binary
#>
#> Strict gp3bayes readiness audit
#> Family: binary
#> Status: ready
#> Ready: TRUE
#> Checks: 26 passed, 0 warnings, 0 failuresThe strict audit adds explicit overall condition imbalance,
participant outcome variation, identifier-like predictor review, and
fixed-effect rank checks. When detectseparation is
installed, the optional separation screen can also be integrated by
setting run_separation = TRUE.
id_data <- bin_sim$data
id_data$row_id <- seq_len(nrow(id_data))
id_contract <- create_model_contract(
family = "binary",
outcome_col = "selected",
participant_col = "participant_id",
item_col = "item_id",
trial_col = "trial_id",
condition_col = "condition",
predictors = c("participant_covariate", "row_id")
)
identify_identifier_like_predictors(id_data, id_contract)
#>
#> Identifier-like predictor audit
#> Status: review
#> Flagged predictors: row_idThe heuristic never silently removes a declared predictor. A flag means that the analyst must verify whether the numeric column is substantively meaningful or is an identifier accidentally entered into the model matrix.
dur_sim <- simulate_hierarchical_duration_data(
n_participants = 20,
trials_per_participant = 10,
n_items = 10,
outcome_unit = "milliseconds",
seed = 2027
)
dur_contract <- create_model_contract(
family = "duration",
outcome_col = "duration",
participant_col = "participant_id",
item_col = "item_id",
trial_col = "trial_id",
condition_col = "condition",
predictors = c("participant_covariate", "trial_covariate"),
interaction = c("condition", "participant_covariate"),
outcome_unit = "milliseconds"
)
extremes <- review_duration_extremes(dur_sim$data, dur_contract)
extremes
#>
#> Duration extreme-value review
#> Status: pass
#> Flagged rows: 0 of 200
#> Automatic deletion: FALSE
bounds <- audit_duration_boundaries(
dur_sim$data,
dur_contract,
allowed_range = c(50, 10000)
)
bounds
#>
#> Duration boundary audit
#> Status: pass
#> check_id category status
#> declared_duration_range duration_boundaries pass
#> uncensored_contract duration_boundaries pass
#> message n_affected
#> All durations fall inside the declared range. 0
#> No censoring-like column names were detected. 0
#> Automatic family switching: FALSE
strict_duration <- audit_model_readiness_strict(
dur_sim$data,
dur_contract,
duration_allowed_range = c(50, 10000),
run_separation = FALSE
)
strict_duration
#>
#> Strict gp3bayes readiness audit
#> Family: duration
#> Status: ready
#> Ready: TRUE
#> Checks: 29 passed, 0 warnings, 0 failuresExtreme values remain in the data. Censoring and impossible-range violations are contract failures for the positive uncensored lognormal workflow; they do not trigger an automatic switch to another likelihood.
gp3bayes_specification_traceability()
#> requirement
#> 1 severe overall condition imbalance
#> 2 participant binary outcome variation
#> 3 identifier-like numeric predictors
#> 4 duration extreme-value review
#> 5 explicit censoring-indicator recognition
#> 6 declared duration range
#> 7 fixed-effects separation in strict readiness
#> 8 random-slope structural sensitivity
#> 9 participant/item deletion sensitivity
#> 10 contrast-coding sensitivity specification
#> 11 predictor-scaling sensitivity specification
#> 12 duration-unit sensitivity
#> 13 design-standardised binary probability contrast
#> 14 duration median ratio and upper predictive quantile
#> 15 transformation replay on new data
#> 16 binary detailed PPC calibration/group/cell checks
#> 17 duration detailed PPC tail/group/within-participant checks
#> 18 exact K-fold predictive validation adapter
#> implementation
#> 1 summarise_condition_balance(); audit_model_readiness_strict()
#> 2 summarise_binary_group_variation(); audit_model_readiness_strict()
#> 3 identify_identifier_like_predictors(); audit_model_readiness_strict()
#> 4 review_duration_extremes(); audit_model_readiness_strict()
#> 5 audit_duration_boundaries(); audit_model_readiness_strict()
#> 6 audit_duration_boundaries(); audit_model_readiness_strict()
#> 7 audit_model_readiness_strict(); detect_binary_separation()
#> 8 create_random_slope_sensitivity_plan(); run_random_slope_sensitivity()
#> 9 create_group_deletion_sensitivity_plan(); run_group_deletion_sensitivity()
#> 10 create_contrast_coding_sensitivity_specification(); audit_estimand_invariance()
#> 11 create_predictor_scaling_sensitivity_specification(); audit_estimand_invariance()
#> 12 create_duration_unit_sensitivity_specification(); audit_duration_unit_invariance()
#> 13 estimate_standardized_probability_contrast()
#> 14 estimate_standardized_duration_estimands()
#> 15 create_transformation_recipe(); apply_transformation_recipe(); validate_transformation_replay()
#> 16 check_binary_ppc_details()
#> 17 check_duration_ppc_details()
#> 18 compute_kfold_cv()
#> status automatic_decision
#> 1 implemented FALSE
#> 2 implemented FALSE
#> 3 implemented FALSE
#> 4 implemented FALSE
#> 5 implemented FALSE
#> 6 implemented FALSE
#> 7 implemented FALSE
#> 8 implemented FALSE
#> 9 implemented FALSE
#> 10 implemented FALSE
#> 11 implemented FALSE
#> 12 implemented FALSE
#> 13 implemented FALSE
#> 14 implemented FALSE
#> 15 implemented FALSE
#> 16 implemented FALSE
#> 17 implemented FALSE
#> 18 implemented FALSEThe table is intended to make specification closure auditable: every
remaining Phase-0 requirement has an explicit implementation point and
all automatic decision flags remain FALSE.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.