[][src]Struct ndarray_stats::histogram::strategies::FreedmanDiaconis

pub struct FreedmanDiaconis<T> { /* fields omitted */ }

Robust (resilient to outliers) strategy that takes into account data variability and data size.

Let n be the number of observations.

bin_width = 2 × IQR × n−1/3

The bin width is proportional to the interquartile range (IQR) and inversely proportional to cube root of n. It can be too conservative for small datasets, but it is quite good for large datasets.

The IQR is very robust to outliers.

Notes

This strategy requires the data

  • not being empty
  • not being constant
  • having positive IQR

Implementations

impl<T> FreedmanDiaconis<T> where
    T: Ord + Clone + FromPrimitive + NumOps + Zero
[src]

pub fn bin_width(&self) -> T[src]

The bin width (or bin length) according to the fitted strategy.

Trait Implementations

impl<T> BinsBuildingStrategy for FreedmanDiaconis<T> where
    T: Ord + Clone + FromPrimitive + NumOps + Zero
[src]

type Elem = T

pub fn from_array<S>(a: &ArrayBase<S, Ix1>) -> Result<Self, BinsBuildError> where
    S: Data<Elem = Self::Elem>, 
[src]

Returns Err(BinsBuildError::Strategy) if IQR==0. Returns Err(BinsBuildError::EmptyInput) if a.len()==0. Returns Ok(Self) otherwise.

impl<T: Debug> Debug for FreedmanDiaconis<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for FreedmanDiaconis<T> where
    T: RefUnwindSafe
[src]

impl<T> Send for FreedmanDiaconis<T> where
    T: Send
[src]

impl<T> Sync for FreedmanDiaconis<T> where
    T: Sync
[src]

impl<T> Unpin for FreedmanDiaconis<T> where
    T: Unpin
[src]

impl<T> UnwindSafe for FreedmanDiaconis<T> where
    T: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,