#difference #distribution #normal #find #continuous #done #benchmarking

behrens-fisher

Find the difference of the means of two Normal distributions

2 unstable releases

0.2.0 Mar 2, 2022
0.1.0 Nov 30, 2020

#12 in #done

Download history 167/week @ 2024-05-21 414/week @ 2024-05-28 199/week @ 2024-06-04 93/week @ 2024-06-11 194/week @ 2024-06-18 137/week @ 2024-06-25 278/week @ 2024-07-02 181/week @ 2024-07-09 57/week @ 2024-07-16 181/week @ 2024-07-23 289/week @ 2024-07-30 68/week @ 2024-08-06 136/week @ 2024-08-13 363/week @ 2024-08-20 288/week @ 2024-08-27 305/week @ 2024-09-03

1,110 downloads per month
Used in cbdr

Unlicense

32KB
677 lines

A crate for testing whether the means of two Normal distributions are the same.

This crate implements Welch's t-test, an approximate solution to the Behrens-Fisher problem. The results are presented in the form of a confidence interval.

Example

Suppose we have a population distributed as X (normal), and another distributed as Y (also normal, but possibly with different mean/variance to X). Let's take a sample from each population to estimate the difference between the population means.

use behrens_fisher::*;
let x_sample: Vec<f64> = vec![1., 2., 3., 4.];
let y_sample: Vec<f64> = vec![3., 5., 7., 9., 11.];

let x_stats: SampleStats = x_sample.into_iter().collect();
let y_stats: SampleStats = y_sample.into_iter().collect();
let ci = difference_of_means(0.95, x_stats, y_stats).unwrap();
assert_eq!(ci.to_string(), "+4.50 ± 3.89 (p=95%)");
// Looks like μ[Y] > μ[X]!

Dependencies

~82KB