Spec-Zone.ru › NumPy 1.18

numpy.random.Generator.f

метод

Generator.f(dfnum, dfden, size=None)

Генерация выборок из распределения Фишера-Снедекора.

Выборка производится из распределения Фишера-Снедекора со заданными параметрами, dfnum (степени свободы в числителе) и dfden (степени свободы в знаменателе), где оба параметра должны быть больше нуля.

Случайная величина распределения Фишера-Снедекора (также известного как распределение Фишера) — это непрерывное распределение вероятностей, используемое в дисперсионном анализе (ANOVA). Оно представляет собой отношение двух хи-квадрат-распределенных величин.

Параметры
dfnumfloat or array_like of floats

Степени свободы в числителе, должно быть > 0.

dfdenfloat or array_like of float

Степени свободы в знаменателе, должно быть > 0.

sizeint or tuple of ints, optional

Форма выходных данных. Если заданная форма, например, (m, n, k), то генерируется m * n * k выборок. Если размерность не указана (по умолчанию), возвращается одно значение, если dfnum и dfden являются скалярами. В противном случае генерируется np.broadcast(dfnum, dfden).size выборок.

Возвращает
outndarray or scalar

Сгенерированные выборки из распределения Фишера.

См. также

scipy.stats.f

функция плотности вероятности, распределение или функция кумулятивной плотности и т.д.

Примечания

Статистика Фишера используется для сравнения внутригрупповых дисперсий с дисперсиями между группами. Вычисление распределения зависит от выборки, поэтому оно является функцией соответствующих степеней свободы в задаче. Переменная dfnum — это количество выборок минус один, степени свободы между группами, в то время как dfden — это степени свободы внутри групп, сумма количества выборок в каждой группе минус количество групп.

Ссылки

1

Glantz, Stanton A. “Руководство по биостатистике.”, McGraw-Hill, пятое издание, 2002.

2

Википедия, «Распределение Фишера», https://en.wikipedia.org/wiki/F-distribution

Примеры

Пример из Glantz[1], стр. 47-40:

Две группы: дети диабетиков (25 человек) и дети без диабета (25 контрольных). Измерялся уровень глюкозы в крови натощак, среднее значение в группе больных составляло 86,1, в контрольной группе — 82,2. Стандартные отклонения соответственно составляли 2,09 и 2,49. Совместимы ли эти данные с нулевой гипотезой о том, что статус диабета родителей не влияет на уровень глюкозы в крови их детей? Вычисление статистики Фишера по данным даёт значение 36,01.

Генерация выборок из распределения:

>>> dfnum = 1. # between group degrees of freedom
>>> dfden = 48. # within groups degrees of freedom
>>> s = np.random.default_rng().f(dfnum, dfden, 1000)

Нижняя граница для верхних 1% выборок:

>>> np.sort(s)[-10]
7.61988120985 # random

Таким образом, существует около 1% вероятности того, что статистика Фишера превысит 7,62. Измеренное значение составляет 36, поэтому нулевая гипотеза отвергается на уровне 1%.

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/random/generated/numpy.random.Generator.f.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API