pub trait Stats {
Show 13 methods
fn sum(&self) -> f64;
fn min(&self) -> f64;
fn max(&self) -> f64;
fn mean(&self) -> f64;
fn median(&self) -> f64;
fn var(&self) -> f64;
fn std_dev(&self) -> f64;
fn std_dev_pct(&self) -> f64;
fn median_abs_dev(&self) -> f64;
fn median_abs_dev_pct(&self) -> f64;
fn percentile(&self, pct: f64) -> f64;
fn quartiles(&self) -> (f64, f64, f64);
fn iqr(&self) -> f64;
}
test
)Expand description
Trait that provides simple descriptive statistics on a univariate set of numeric samples.
Required Methods
sourcefn sum(&self) -> f64
fn sum(&self) -> f64
test
)Sum of the samples.
Note: this method sacrifices performance at the altar of accuracy Depends on IEEE 754 arithmetic guarantees. See proof of correctness at: “Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates”
sourcefn min(&self) -> f64
fn min(&self) -> f64
test
)Minimum value of the samples.
sourcefn max(&self) -> f64
fn max(&self) -> f64
test
)Maximum value of the samples.
sourcefn mean(&self) -> f64
fn mean(&self) -> f64
test
)Arithmetic mean (average) of the samples: sum divided by sample-count.
sourcefn median(&self) -> f64
fn median(&self) -> f64
test
)Median of the samples: value separating the lower half of the samples from the higher half.
Equal to self.percentile(50.0)
.
sourcefn var(&self) -> f64
fn var(&self) -> f64
test
)Variance of the samples: bias-corrected mean of the squares of the differences of each
sample from the sample mean. Note that this calculates the sample variance rather than the
population variance, which is assumed to be unknown. It therefore corrects the (n-1)/n
bias that would appear if we calculated a population variance, by dividing by (n-1)
rather
than n
.
sourcefn std_dev(&self) -> f64
fn std_dev(&self) -> f64
test
)Standard deviation: the square root of the sample variance.
Note: this is not a robust statistic for non-normal distributions. Prefer the
median_abs_dev
for unknown distributions.
sourcefn std_dev_pct(&self) -> f64
fn std_dev_pct(&self) -> f64
test
)Standard deviation as a percent of the mean value. See std_dev
and mean
.
Note: this is not a robust statistic for non-normal distributions. Prefer the
median_abs_dev_pct
for unknown distributions.
sourcefn median_abs_dev(&self) -> f64
fn median_abs_dev(&self) -> f64
test
)Scaled median of the absolute deviations of each sample from the sample median. This is a
robust (distribution-agnostic) estimator of sample variability. Use this in preference to
std_dev
if you cannot assume your sample is normally distributed. Note that this is scaled
by the constant 1.4826
to allow its use as a consistent estimator for the standard
deviation.
See: https://en.wikipedia.org/wiki/Median_absolute_deviation
sourcefn median_abs_dev_pct(&self) -> f64
fn median_abs_dev_pct(&self) -> f64
test
)Median absolute deviation as a percent of the median. See median_abs_dev
and median
.
sourcefn percentile(&self, pct: f64) -> f64
fn percentile(&self, pct: f64) -> f64
test
)Percentile: the value below which pct
percent of the values in self
fall. For example,
percentile(95.0) will return the value v
such that 95% of the samples s
in self
satisfy s <= v
.
Calculated by linear interpolation between closest ranks.
sourcefn quartiles(&self) -> (f64, f64, f64)
fn quartiles(&self) -> (f64, f64, f64)
test
)Quartiles of the sample: three values that divide the sample into four equal groups, each
with 1/4 of the data. The middle value is the median. See median
and percentile
. This
function may calculate the 3 quartiles more efficiently than 3 calls to percentile
, but
is otherwise equivalent.
See also: https://en.wikipedia.org/wiki/Quartile
Implementations on Foreign Types
sourceimpl Stats for [f64]
impl Stats for [f64]
sourcefn std_dev_pct(&self) -> f64
fn std_dev_pct(&self) -> f64
test
)sourcefn median_abs_dev(&self) -> f64
fn median_abs_dev(&self) -> f64
test
)sourcefn median_abs_dev_pct(&self) -> f64
fn median_abs_dev_pct(&self) -> f64
test
)sourcefn percentile(&self, pct: f64) -> f64
fn percentile(&self, pct: f64) -> f64
test
)