pub struct Variance { /* private fields */ }Expand description
Online variance accumulator using Welford’s algorithm.
Also exposes the running mean and population/sample standard deviation.
§Examples
use rill_ml::stats::{Variance, VarianceKind};
use rill_ml::OnlineStatistic;
let mut v = Variance::new(VarianceKind::Population);
for x in [1.0, 2.0, 3.0, 4.0, 5.0] {
v.update(x).unwrap();
}
assert!((v.value().unwrap() - 2.0).abs() < 1e-12);Implementations§
Source§impl Variance
impl Variance
Sourcepub const fn new(kind: VarianceKind) -> Self
pub const fn new(kind: VarianceKind) -> Self
Create a new variance accumulator of the given kind.
Sourcepub fn value(&self) -> Option<f64>
pub fn value(&self) -> Option<f64>
Current variance, or None when not enough data has been observed.
Sourcepub fn std_dev(&self) -> Option<f64>
pub fn std_dev(&self) -> Option<f64>
Current standard deviation, or None when not enough data has been observed.
Sourcepub const fn kind(&self) -> VarianceKind
pub const fn kind(&self) -> VarianceKind
The configured variance kind.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Variance
impl RefUnwindSafe for Variance
impl Send for Variance
impl Sync for Variance
impl Unpin for Variance
impl UnsafeUnpin for Variance
impl UnwindSafe for Variance
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