1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! Resampling-based inference: seeded bootstrap, permutation, and CV splits, plus
//! the percentile confidence-interval estimator built on top of them.
//!
//! Every sampler draws from the deterministic [`SplitMix64`](crate::rng::SplitMix64)
//! PRNG, so results are bit-for-bit reproducible under a fixed seed and identical
//! across platforms. The percentile interval ([`percentile_ci`])
//! is validated for reference equivalence against
//! `scipy.stats.bootstrap` golden fixtures downstream.
//!
//! The module is split into focused submodules under the file-size cap:
//! [`schemes`] holds the seeded resampling schemes (bootstrap, permutation,
//! k-fold splits); [`intervals`] the percentile interval and bootstrap-statistic
//! helper; [`bayesian`] the Beta credible interval; [`cross_validation`] the
//! k-fold CV evaluator and shared [`CvScores`] type; [`loocv`] the leave-one-out
//! CV evaluator (returning the same [`CvScores`]); [`stratified`] the
//! class-balanced k-fold splitter; [`monte_carlo`] the simulation-based
//! expectation estimate and Phipson–Smyth p-value; [`jackknife`] the
//! deterministic leave-one-out bias/standard-error estimator; and the private
//! `index` module the cast-free index arithmetic they share.
//!
//! The scheme types here follow the crate-wide field-consumption rule: `CrossValidation::run`,
//! `LeaveOneOutCrossValidation::run`, and `MonteCarloResampling::run` consume
//! their struct's own configured fields (fold count / iteration count and
//! `random_seed`), whereas `MonteCarloResampling::estimate` takes an explicit
//! count and generator and so ignores those overlapping fields by design.
pub use *;
pub use beta_credible_interval;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use stratified_kfold_indices;