Struct ndarray_histogram::histogram::strategies::FreedmanDiaconis
source · pub struct FreedmanDiaconis<T> { /* private fields */ }
Expand description
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§
Trait Implementations§
source§impl<T> BinsBuildingStrategy for FreedmanDiaconis<T>where
T: Ord + Send + Clone + FromPrimitive + NumOps + Zero,
impl<T> BinsBuildingStrategy for FreedmanDiaconis<T>where T: Ord + Send + Clone + FromPrimitive + NumOps + Zero,
source§fn from_array<S>(a: &ArrayBase<S, Ix1>) -> Result<Self, BinsBuildError>where
S: Data<Elem = Self::Elem>,
fn from_array<S>(a: &ArrayBase<S, Ix1>) -> Result<Self, BinsBuildError>where S: Data<Elem = Self::Elem>,
Returns Err(BinsBuildError::Strategy)
if IQR==0
.
Returns Err(BinsBuildError::EmptyInput)
if a.len()==0
.
Returns Ok(Self)
otherwise.