pub fn bootstrap_mean_difference_interval(
baseline: &[f64],
candidate: &[f64],
control: BootstrapControl,
) -> StatsResult<BootstrapEffectInterval>Expand description
Bootstraps the difference between candidate and baseline arithmetic means.
The two samples are resampled independently with replacement. This matches
the benchmark comparison policy’s interleaved but not necessarily paired
observations. The same inputs and control produce bit-identical results on
every target with IEEE-754 f64 arithmetic.
Examples found in repository?
examples/robust_benchmark_statistics.rs (line 9)
5fn main() {
6 let baseline = [101.0, 99.0, 100.0, 102.0, 98.0];
7 let candidate = [91.0, 89.0, 90.0, 92.0, 88.0];
8 let control = BootstrapControl::new(19, 2_000, 0.95, 20_000).unwrap();
9 let interval = bootstrap_mean_difference_interval(&baseline, &candidate, control).unwrap();
10
11 println!(
12 "baseline MAD: {:.1}",
13 median_absolute_deviation(&baseline).unwrap()
14 );
15 println!(
16 "candidate-minus-baseline mean: {:.1}",
17 interval.point_effect
18 );
19 println!(
20 "95% interval: [{:.1}, {:.1}]",
21 interval.lower, interval.upper
22 );
23 println!("seed: {}, resamples: {}", interval.seed, interval.resamples);
24}