numpy.random.Generator.chisquare#
метод
- random.Generator.chisquare(df, размер=None)#
Генерирует выборки из распределения хи-квадрат.
Когда df независимые случайные величины, каждая со стандартным нормальным распределением (среднее 0, дисперсия 1), возводятся в квадрат и суммируются, результирующее распределение является хи-квадрат (см. Примечания). Это распределение часто используется в проверке гипотез.
- Параметры:
- dffloat или array_like из float
Число степеней свободы, должно быть > 0.
- размерint или кортеж ints, опционально
Форма вывода. Если заданная форма, например,
(m, n, k), затемm * n * kобразцы извлекаются. Если size равенNone(по умолчанию), возвращается единственное значение, еслиdfявляется скаляром. В противном случае,np.array(df).sizeвыбираются образцы.
- Возвращает:
- выходndarray или скаляр
Выбранные выборки из параметризованного распределения хи-квадрат.
- Вызывает:
- ValueError
Когда df <= 0 или когда неподходящий
size(например,size=-1) задано.
Примечания
Переменная, полученная суммированием квадратов df независимые, стандартные нормально распределенные случайные величины:
\[Q = \sum_{i=1}^{\mathtt{df}} X^2_i\]имеет распределение хи-квадрат, обозначается
\[Q \sim \chi^2_k.\]Функция плотности вероятности распределения хи-квадрат:
\[p(x) = \frac{(1/2)^{k/2}}{\Gamma(k/2)} x^{k/2 - 1} e^{-x/2},\]где \(\Gamma\) является гамма-функцией,
\[\Gamma(x) = \int_0^{-\infty} t^{x - 1} e^{-t} dt.\]Ссылки
[1]NIST «Справочник по инженерной статистике» https://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm
Примеры
>>> rng = np.random.default_rng() >>> rng.chisquare(2,4) array([ 1.89920014, 9.00867716, 3.13710533, 5.62318272]) # random
Распределение случайной величины хи-квадрат с 20 степенями свободы выглядит следующим образом:
>>> import matplotlib.pyplot as plt >>> import scipy.stats as stats >>> s = rng.chisquare(20, 10000) >>> count, bins, _ = plt.hist(s, 30, density=True) >>> x = np.linspace(0, 60, 1000) >>> plt.plot(x, stats.chi2.pdf(x, df=20)) >>> plt.xlim([0, 60]) >>> plt.show()