Previous topic

scipy.stats.mode

Next topic

scipy.stats.normaltest

scipy.stats.moment

scipy.stats.moment(a, moment=1, axis=0, nan_policy='propagate')[source]

Calculate the nth moment about the mean for a sample.

A moment is a specific quantitative measure of the shape of a set of points. It is often used to calculate coefficients of skewness and kurtosis due to its close relationship with them.

Parameters:

a : array_like

data

moment : int or array_like of ints, optional

order of central moment that is returned. Default is 1.

axis : int or None, optional

Axis along which the central moment is computed. Default is 0. If None, compute over the whole array a.

nan_policy : {‘propagate’, ‘raise’, ‘omit’}, optional

Defines how to handle when input contains nan. ‘propagate’ returns nan, ‘raise’ throws an error, ‘omit’ performs the calculations ignoring nan values. Default is ‘propagate’.

Returns:

n-th central moment : ndarray or float

The appropriate moment along the given axis or over all values if axis is None. The denominator for the moment calculation is the number of observations, no degrees of freedom correction is done.

See also

kurtosis, skew, describe

Notes

The k-th central moment of a data sample is:

\[m_k = \frac{1}{n} \sum_{i = 1}^n (x_i - \bar{x})^k\]

Where n is the number of samples and x-bar is the mean. This function uses exponentiation by squares [R637] for efficiency.

References

[R637](1, 2) http://eli.thegreenplace.net/2009/03/21/efficient-integer-exponentiation-algorithms

Examples

>>> from scipy.stats import moment
>>> moment([1, 2, 3, 4, 5], moment=1)
0.0
>>> moment([1, 2, 3, 4, 5], moment=2)
2.0