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.