scipy.stats.

mvsdist#

scipy.stats.mvsdist(data)[source]#

‘Frozen’ distributions for mean, variance, and standard deviation of data.

Parameters:
dataarray_like

Input array. Converted to 1-D using ravel. Requires 2 or more data-points.

Returns:
mdist“frozen” distribution object

Distribution object representing the mean of the data.

vdist“frozen” distribution object

Distribution object representing the variance of the data.

sdist“frozen” distribution object

Distribution object representing the standard deviation of the data.

See also

bayes_mvs

Notes

The return values from bayes_mvs(data) is equivalent to tuple((x.mean(), x.interval(0.90)) for x in mvsdist(data)).

In other words, calling <dist>.mean() and <dist>.interval(0.90) on the three distribution objects returned from this function will give the same results that are returned from bayes_mvs.

mvsdist has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.

Library

CPU

GPU

NumPy

n/a

CuPy

n/a

PyTorch

JAX

Dask

n/a

See Support for the array API standard for more information.

References

T.E. Oliphant, “A Bayesian perspective on estimating mean, variance, and standard-deviation from data”, https://scholarsarchive.byu.edu/facpub/278, 2006.

Examples

>>> from scipy import stats
>>> data = [6, 9, 12, 7, 8, 8, 13]
>>> mean, var, std = stats.mvsdist(data)

We now have frozen distribution objects “mean”, “var” and “std” that we can examine:

>>> mean.mean()
9.0
>>> mean.interval(0.95)
(6.6120585482655692, 11.387941451734431)
>>> mean.std()
1.1952286093343936