Builds a weakly informative prior for a calibration formula, centred on
the hypothesis that the BirdNET score is already calibrated: on the
model scale (tp ~ logit_conf), intercept 0 and slope 1 mean
P(TP) = score. The data then show how far the classifier departs from
it. Only the classes present in the formula are returned:
Arguments
- formula
Calibration formula (see
calibration_models()).- validations
Table returned by
read_validations().
Details
Intercept:normal(m, 1.5), wheremis the mean oflogit_confamong the reviewed clips. 'brms' centres the predictors, so its intercept is the logit of P(TP) at the mean logit score; with a slope of 1, an intercept equal to that mean gives P(TP) = score;b(slope oflogit_conf):normal(1, 1)truncated at 0, centred on a calibrated score, wide enough to allow slopes from near 0 to near 3, and assuming that a higher score never lowers P(TP);sd(standard deviations of the random effects):exponential(1);cor(correlations between random effects):lkj(2), which pulls the correlations away from +-1 (the singular fits of m4 with 'lme4').
This is an example, not a default: fit_calibration() with
engine = "brms" requires the prior to be given explicitly. Check what
it implies on the probability scale with
prior_predictive_calibration() before fitting, and its influence on
the posterior with calibration_sensitivity(). On weakly informative
priors and prior predictive checks see McElreath (2020,
doi:10.1201/9780429029608
) and Gelman et al. (2026, Bayesian
Workflow, Chapman & Hall).