pub struct WelfordAccumulator {
pub n: u64,
pub mean: f64,
pub m2: f64,
pub m3: f64,
pub m4: f64,
}Expand description
Mergeable accumulator for mean, variance, skewness, kurtosis via Welford’s method.
Uses the parallel variant from Chan, Golub & LeVeque (1979).
Fields§
§n: u64Number of observations
mean: f64Running mean
m2: f64Sum of squared deviations from mean (M2)
m3: f64Third central moment accumulator (M3)
m4: f64Fourth central moment accumulator (M4)
Implementations§
Source§impl WelfordAccumulator
impl WelfordAccumulator
Sourcepub fn merge(&mut self, other: &WelfordAccumulator)
pub fn merge(&mut self, other: &WelfordAccumulator)
Merge another accumulator into this one (parallel combine step).
Implements the parallel formulas from Chan, Golub & LeVeque.
Sourcepub fn sample_variance(&self) -> f64
pub fn sample_variance(&self) -> f64
Sample variance (ddof=1)
Trait Implementations§
Source§impl Clone for WelfordAccumulator
impl Clone for WelfordAccumulator
Source§fn clone(&self) -> WelfordAccumulator
fn clone(&self) -> WelfordAccumulator
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WelfordAccumulator
impl Debug for WelfordAccumulator
Auto Trait Implementations§
impl Freeze for WelfordAccumulator
impl RefUnwindSafe for WelfordAccumulator
impl Send for WelfordAccumulator
impl Sync for WelfordAccumulator
impl Unpin for WelfordAccumulator
impl UnsafeUnpin for WelfordAccumulator
impl UnwindSafe for WelfordAccumulator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.