Struct ndarray_stats::histogram::strategies::FreedmanDiaconis [−][src]
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]
T: Ord + Clone + FromPrimitive + NumOps + Zero,
Trait Implementations
impl<T> BinsBuildingStrategy for FreedmanDiaconis<T> where
T: Ord + Clone + FromPrimitive + NumOps + Zero, [src]
T: Ord + Clone + FromPrimitive + NumOps + Zero,
type Elem = T
fn from_array<S>(a: &ArrayBase<S, Ix1>) -> Result<Self, BinsBuildError> where
S: Data<Elem = Self::Elem>, [src]
S: Data<Elem = Self::Elem>,
Returns Err(BinsBuildError::Strategy) if IQR==0.
Returns Err(BinsBuildError::EmptyInput) if a.len()==0.
Returns Ok(Self) otherwise.
fn build(&self) -> Bins<T>[src]
fn n_bins(&self) -> usize[src]
impl<T: Debug> Debug for FreedmanDiaconis<T>[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for FreedmanDiaconis<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for FreedmanDiaconis<T> where
T: Send,
T: Send,
impl<T> Sync for FreedmanDiaconis<T> where
T: Sync,
T: Sync,
impl<T> Unpin for FreedmanDiaconis<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for FreedmanDiaconis<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,