[][src]Trait ndarray_stats::SummaryStatisticsExt

pub trait SummaryStatisticsExt<A, S, D> where
    S: Data<Elem = A>,
    D: Dimension
{ fn mean(&self) -> Result<A, EmptyInput>
    where
        A: Clone + FromPrimitive + Add<Output = A> + Div<Output = A> + Zero
;
fn harmonic_mean(&self) -> Result<A, EmptyInput>
    where
        A: Float + FromPrimitive
;
fn geometric_mean(&self) -> Result<A, EmptyInput>
    where
        A: Float + FromPrimitive
;
fn kurtosis(&self) -> Result<A, EmptyInput>
    where
        A: Float + FromPrimitive
;
fn skewness(&self) -> Result<A, EmptyInput>
    where
        A: Float + FromPrimitive
;
fn central_moment(&self, order: u16) -> Result<A, EmptyInput>
    where
        A: Float + FromPrimitive
;
fn central_moments(&self, order: u16) -> Result<Vec<A>, EmptyInput>
    where
        A: Float + FromPrimitive
;
fn __private__(&self, _: PrivateMarker); }

Extension trait for ArrayBase providing methods to compute several summary statistics (e.g. mean, variance, etc.).

Required methods

fn mean(&self) -> Result<A, EmptyInput> where
    A: Clone + FromPrimitive + Add<Output = A> + Div<Output = A> + Zero

Returns the arithmetic mean x̅ of all elements in the array:

    1   n
x̅ = ―   ∑ xᵢ
    n  i=1

If the array is empty, Err(EmptyInput) is returned.

Panics if A::from_usize() fails to convert the number of elements in the array.

fn harmonic_mean(&self) -> Result<A, EmptyInput> where
    A: Float + FromPrimitive

Returns the harmonic mean HM(X) of all elements in the array:

          ⎛ n     ⎞⁻¹
HM(X) = n ⎜ ∑ xᵢ⁻¹⎟
          ⎝i=1    ⎠

If the array is empty, Err(EmptyInput) is returned.

Panics if A::from_usize() fails to convert the number of elements in the array.

fn geometric_mean(&self) -> Result<A, EmptyInput> where
    A: Float + FromPrimitive

Returns the geometric mean GM(X) of all elements in the array:

        ⎛ n   ⎞¹⁄ₙ
GM(X) = ⎜ ∏ xᵢ⎟
        ⎝i=1  ⎠

If the array is empty, Err(EmptyInput) is returned.

Panics if A::from_usize() fails to convert the number of elements in the array.

fn kurtosis(&self) -> Result<A, EmptyInput> where
    A: Float + FromPrimitive

Returns the kurtosis Kurt[X] of all elements in the array:

Kurt[X] = μ₄ / σ⁴

where μ₄ is the fourth central moment and σ is the standard deviation of the elements in the array.

This is sometimes referred to as Pearson's kurtosis. Fisher's kurtosis can be computed by subtracting 3 from Pearson's kurtosis.

If the array is empty, Err(EmptyInput) is returned.

Panics if A::from_usize() fails to convert the number of elements in the array.

fn skewness(&self) -> Result<A, EmptyInput> where
    A: Float + FromPrimitive

Returns the Pearson's moment coefficient of skewness γ₁ of all elements in the array:

γ₁ = μ₃ / σ³

where μ₃ is the third central moment and σ is the standard deviation of the elements in the array.

If the array is empty, Err(EmptyInput) is returned.

Panics if A::from_usize() fails to convert the number of elements in the array.

fn central_moment(&self, order: u16) -> Result<A, EmptyInput> where
    A: Float + FromPrimitive

Returns the p-th central moment of all elements in the array, μₚ:

     1  n
μₚ = ―  ∑ (xᵢ-x̅)ᵖ
     n i=1

If the array is empty, Err(EmptyInput) is returned.

The p-th central moment is computed using a corrected two-pass algorithm (see Section 3.5 in Pébay et al., 2016). Complexity is O(np) when n >> p, p > 1.

Panics if A::from_usize() fails to convert the number of elements in the array or if order overflows i32.

fn central_moments(&self, order: u16) -> Result<Vec<A>, EmptyInput> where
    A: Float + FromPrimitive

Returns the first p central moments of all elements in the array, see central moment for more details.

If the array is empty, Err(EmptyInput) is returned.

This method reuses the intermediate steps for the k-th moment to compute the (k+1)-th, being thus more efficient than repeated calls to central moment if the computation of central moments of multiple orders is required.

Panics if A::from_usize() fails to convert the number of elements in the array or if order overflows i32.

fn __private__(&self, _: PrivateMarker)

This method makes this trait impossible to implement outside of ndarray-stats so that we can freely add new methods, etc., to this trait without breaking changes.

We don't anticipate any other crates needing to implement this trait, but if you do have such a use-case, please let us know.

Warning This method is not considered part of the public API, and client code should not rely on it being present. It may be removed in a non-breaking release.

Loading content...

Implementations on Foreign Types

impl<A, S, D> SummaryStatisticsExt<A, S, D> for ArrayBase<S, D> where
    S: Data<Elem = A>,
    D: Dimension
[src]

Loading content...

Implementors

Loading content...