Function rv::misc::ks_two_sample
source · pub fn ks_two_sample<X>(
xs: &[X],
ys: &[X],
mode: KsMode,
alternative: KsAlternative
) -> Result<(f64, f64), KsError>where
X: Copy + PartialOrd,
Expand description
Two sample Kolmogorov-Smirnov statistic on two samples.
Heavily inspired by https://github.com/scipy/scipy/blob/v1.4.1/scipy/stats/stats.py#L6087 Exact computations are derived from: Hodges, J.L. Jr., “The Significance Probability of the Smirnov Two-Sample Test,” Arkiv fiur Matematik, 3, No. 43 (1958), 469-86.
§Example
use rv::misc::{ks_two_sample, KsMode, KsAlternative};
let xs = [
0.95692026, 1.1348812 , -0.76579239, -0.58065653, -0.05122393,
0.71598754, 1.39873528, 0.42790527, 1.84580764, 0.64228521
];
let ys = [
0.6948678 , -0.3741825 , 0.36657279, 1.15834174, -0.32421706,
-0.38499295, 1.44976991, 0.2504608 , -0.53694774, 1.42221993
];
let (stat, alpha) = ks_two_sample(&xs, &ys, KsMode::Auto, KsAlternative::TwoSided).unwrap();
assert::close(stat, 0.3, 1E-8);
assert::close(alpha, 0.7869297884777761, 1E-8);