NumPy

Previous topic

numpy.random.bytes

Next topic

numpy.random.choice

This is documentation for an old release of NumPy (version 1.19). Read this page in the documentation of the latest stable release (version 2.2).

numpy.random.chisquare

numpy.random.chisquare(df, size=None)

Draw samples from a chi-square distribution.

When df independent random variables, each with standard normal distributions (mean 0, variance 1), are squared and summed, the resulting distribution is chi-square (see Notes). This distribution is often used in hypothesis testing.

Note

New code should use the chisquare method of a default_rng() instance instead; see random-quick-start.

Parameters
dffloat or array_like of floats

Number of degrees of freedom, must be > 0.

sizeint or tuple of ints, optional

Output shape. If the given shape is, e.g., (m, n, k), then m * n * k samples are drawn. If size is None (default), a single value is returned if df is a scalar. Otherwise, np.array(df).size samples are drawn.

Returns
outndarray or scalar

Drawn samples from the parameterized chi-square distribution.

Raises
ValueError

When df <= 0 or when an inappropriate size (e.g. size=-1) is given.

See also

Generator.chisquare

which should be used for new code.

Notes

The variable obtained by summing the squares of df independent, standard normally distributed random variables:

Q = \sum_{i=0}^{\mathtt{df}} X^2_i

is chi-square distributed, denoted

Q \sim \chi^2_k.

The probability density function of the chi-squared distribution is

p(x) = \frac{(1/2)^{k/2}}{\Gamma(k/2)}
x^{k/2 - 1} e^{-x/2},

where \Gamma is the gamma function,

\Gamma(x) = \int_0^{-\infty} t^{x - 1} e^{-t} dt.

References

1

NIST “Engineering Statistics Handbook” https://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm

Examples

>>>
>>> np.random.chisquare(2,4)
array([ 1.89920014,  9.00867716,  3.13710533,  5.62318272]) # random