scipy.special.betaincc#
-
scipy.special.betaincc(a, b, x, выход=None) =
'betaincc'> # Дополнение регуляризованной неполной бета-функции.
Вычисляет дополнение регуляризованной неполной бета-функции, определяемое как [1]:
\[\bar{I}_x(a, b) = 1 - I_x(a, b) = 1 - \frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)} \int_0^x t^{a-1}(1-t)^{b-1}dt,\]для \(0 \leq x \leq 1\).
- Параметры:
- a, barray_like
Положительные, вещественные параметры
- xarray_like
Вещественное число такое, что \(0 \leq x \leq 1\), верхний предел интегрирования
- выходndarray, необязательно
Необязательный выходной массив для значений функции
- Возвращает:
- скаляр или ndarray
Значение регуляризованной неполной бета-функции
Смотрите также
betaincрегуляризованная неполная бета-функция
betaincinvобратная функция регулярной неполной бета-функции
betainccinvобратная функция дополнения регуляризованной неполной бета-функции
betabeta function
scipy.stats.betaбета-распределение
Примечания
Добавлено в версии 1.11.0.
Как
betainc,betaincc(a, b, x)рассматривается как двухпараметрическое семейство функций одной переменной x, а не как функция трёх переменных. См.betaincdocstring для получения дополнительной информации о том, как это влияет на предельные случаи.Эта функция оборачивает
ibetacподпрограмма из библиотеки Boost Math C++ [2].betainccимеет экспериментальную поддержку совместимых с Python Array API Standard бэкендов в дополнение к NumPy. Пожалуйста, рассмотрите тестирование этих функций, установив переменную окруженияSCIPY_ARRAY_API=1и предоставление массивов CuPy, PyTorch, JAX или Dask в качестве аргументов массива. Поддерживаются следующие комбинации бэкенда и устройства (или других возможностей).Библиотека
CPU
GPU
NumPy
✅
н/д
CuPy
н/д
✅
PyTorch
✅
⛔
JAX
✅
✅
Dask
✅
н/д
См. Поддержка стандарта array API для получения дополнительной информации.
Ссылки
[1]NIST Digital Library of Mathematical Functions https://dlmf.nist.gov/8.17
[2]Разработчики Boost. «Boost C++ Libraries». https://www.boost.org/.
Примеры
>>> from scipy.special import betaincc, betainc
Наивный расчёт
1 - betainc(a, b, x)теряет точность, когда значенияbetainc(a, b, x)близки к 1:>>> 1 - betainc(0.5, 8, [0.9, 0.99, 0.999]) array([2.0574632e-09, 0.0000000e+00, 0.0000000e+00])
Используя
betaincc, мы получаем правильные значения:>>> betaincc(0.5, 8, [0.9, 0.99, 0.999]) array([2.05746321e-09, 1.97259354e-17, 1.96467954e-25])