scipy.special.ncfdtr#

scipy.special.ncfdtr(dfn, dfd, nc, f, выход=None) = 'ncfdtr'>#

Функция распределения нецентрального F-распределения.

Нецентральное F-распределение описывает распределение

\[Z = \frac{X/d_n}{Y/d_d}\]

где \(X\) и \(Y\) независимо распределены, с \(X\) распределено нецентрально \(\chi^2\) с параметром нецентральности nc и \(d_n\) степени свободы, и \(Y\) распределённый \(\chi^2\) с \(d_d\) степени свободы.

Параметры:
dfnarray_like

Степени свободы числителя суммы квадратов. Диапазон (0, inf).

dfdarray_like

Степени свободы знаменателя суммы квадратов. Диапазон (0, inf).

ncarray_like

Параметр нецентральности. Диапазон [0, inf).

farray_like

Квантили, т.е. верхний предел интегрирования.

выходndarray, необязательно

Необязательный выходной массив для результатов функции

Возвращает:
функция распределенияскаляр или ndarray

Рассчитанная CDF. Если все входные данные являются скалярными, возвращаемое значение будет float. В противном случае это будет массив.

Смотрите также

ncfdtri

Квантильная функция; обратная к ncfdtr относительно f.

ncfdtridfd

Обратная функция для ncfdtr относительно dfd.

ncfdtridfn

Обратная функция для ncfdtr относительно dfn.

ncfdtrinc

Обратная функция для ncfdtr относительно nc.

scipy.stats.ncf

Нецентральное F-распределение.

Примечания

Эта функция вычисляет CDF нецентрального f-распределения с использованием библиотеки Boost Math C++ [1].

Интегральная функция распределения вычисляется с использованием формулы 26.6.20 из [2]:

\[F(d_n, d_d, n_c, f) = \sum_{j=0}^\infty e^{-n_c/2} \frac{(n_c/2)^j}{j!} I_{x}(\frac{d_n}{2} + j, \frac{d_d}{2}),\]

где \(I\) является регуляризованной неполной бета-функцией, и \(x = f d_n/(f d_n + d_d)\).

Обратите внимание на порядок аргументов ncfdtr отличается от такового у похожего cdf метод scipy.stats.ncf: f является последним параметром ncfdtr но первый параметр scipy.stats.ncf.cdf.

Ссылки

[1]

Разработчики Boost. «Boost C++ Libraries». https://www.boost.org/.

[2]

Милтон Абрамовиц и Ирен А. Стегун, ред. Справочник по математическим функциям с формулами, графиками и математическими таблицами. Нью-Йорк: Dover, 1972.

Примеры

>>> import numpy as np
>>> from scipy import special
>>> from scipy import stats
>>> import matplotlib.pyplot as plt

Построить CDF нецентрального F-распределения для nc=0. Сравнить с F-распределением из scipy.stats:

>>> x = np.linspace(-1, 8, num=500)
>>> dfn = 3
>>> dfd = 2
>>> ncf_stats = stats.f.cdf(x, dfn, dfd)
>>> ncf_special = special.ncfdtr(dfn, dfd, 0, x)
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> ax.plot(x, ncf_stats, 'b-', lw=3)
>>> ax.plot(x, ncf_special, 'r-')
>>> plt.show()
../../_images/scipy-special-ncfdtr-1.png