numpy.random.f
- random.f(dfnum, dfden, size=None)
-
Генерация выборок из распределения Фишера.
Генерируются выборки из распределения Фишера со заданными параметрами,
dfnum(степени свободы в числителе) иdfden(степени свободы в знаменателе), где оба параметра должны быть больше нуля.Случайная величина распределения Фишера (также известного как распределение Фишера-Снедекора) — это непрерывное распределение вероятностей, которое встречается в тестах ANOVA и представляет собой отношение двух величин хи-квадрат.
Примечание
Для нового кода следует использовать метод
fэкземпляраdefault_rng(); см. Быстрый старт.- Параметры
-
- dfnumfloat или массив float
-
Степени свободы в числителе, должно быть > 0.
- dfdenfloat или массив float
-
Степени свободы в знаменателе, должно быть > 0.
- sizeint или кортеж из целых чисел, необязательно
-
Форма выходного массива. Если заданная форма, например,
(m, n, k), тогдаm * n * kвыборок генерируется. Если size равенNone(по умолчанию), возвращается одно значение, еслиdfnumиdfdenявляются скалярами. В противном случаеnp.broadcast(dfnum, dfden).sizeвыборок генерируется.
- Возвращает
-
- outмассив NumPy или скаляр
-
Сгенерированные выборки из распределения Фишера.
См. также
scipy.stats.f-
функция плотности вероятности, распределение или функция кумулятивной плотности вероятности и т.д.
Generator.f-
который следует использовать в новом коде.
Примечания
Статистика Фишера используется для сравнения внутригрупповых дисперсий с межгрупповыми дисперсиями. Вычисление распределения зависит от выборки, поэтому оно является функцией соответствующих степеней свободы в задаче. Переменная
dfnum— это количество выборок минус один, степени свободы между группами, в то время какdfden— степени свободы внутри групп, сумма количества выборок в каждой группе минус количество групп.Ссылки
- 1
-
Glantz, Stanton A. “Primer of Biostatistics.”, McGraw-Hill, Пятое издание, 2002.
- 2
-
Wikipedia, “F-распределение”, 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.f(dfnum, dfden, 1000)
Нижняя граница для верхних 1% выборок:
>>> np.sort(s)[-10] 7.61988120985 # random
Таким образом, вероятность того, что статистика Фишера превысит 7,62, составляет около 1%. Измеренное значение составляет 36, поэтому нулевая гипотеза отвергается на уровне значимости 1%.
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/random/generated/numpy.random.f.html