ilogccdf#
- Биномиальное.ilogccdf(logp, /, *, метод=None)[источник]#
Обратная функция логарифма дополнительной функции распределения.
Обратная функция логарифма дополнительной интегральной функции распределения («обратный log-CCDF») — это аргумент \(x\) для которой логарифм дополнительной функции распределения \(\log(G(x))\) вычисляется как \(\log(p)\).
Математически это эквивалентно \(G^{-1}(\exp(y))\), где \(y = \log(p)\), но он может быть численно более предпочтительным по сравнению с наивной реализацией (вычисляя \(p = \exp(y)\), затем \(G^{-1}(p)\)).
ilogccdfпринимает logp для \(\log(p) ≤ 0\).- Параметры:
- xarray_like
Аргумент обратной лог-CCDF.
- метод{None, 'formula', 'complement', 'inversion'}
Стратегия, используемая для вычисления обратной логарифмической CCDF. По умолчанию (
None), инфраструктура выбирает между следующими вариантами, перечисленными в порядке приоритета.'formula': использовать формулу для самой обратной логарифмической CCDF'complement': оценить обратную логарифмическую CDF в логарифмическом дополнении x (см. Примечания)'inversion': численно решить для аргумента, при котором логарифм CCDF равен x
Не все метод опции доступны для всех распределений. Если выбранная метод недоступен,
NotImplementedErrorбудет вызвано исключение.
- Возвращает:
- выходмассив
Обратная логарифмическая CCDF, вычисленная по предоставленному аргументу.
Примечания
Предположим, распределение вероятностей имеет носитель \([l, r]\). Обратная логарифмическая CCDF возвращает свое минимальное значение \(l\) в \(\log(p) = \log(1) = 0\) и его максимальное значение \(r\) в \(\log(p) = \log(0) = -\infty\). Поскольку логарифмическая CCDF имеет диапазон \([-\infty, 0]\), обратная логарифмическая CDF определена только на отрицательных вещественных числах; для \(\log(p) > 0\),
ilogccdfвозвращаетnan.Иногда требуется найти аргумент CCDF, для которого результирующая вероятность очень близка к
0или1- слишком близко для точного представления с плавающей точкой. Однако во многих случаях логарифм этой результирующей вероятности может быть представлена в арифметике с плавающей запятой, в этом случае эта функция может быть использована для нахождения аргумента CCDF, для которого логарифм результирующей вероятности \(y = \log(p)\).«Логарифмическое дополнение» числа \(z\) математически эквивалентно \(\log(1-\exp(z))\), но он вычисляется, чтобы избежать потери точности, когда \(\exp(z)\) почти \(0\) или \(1\).
Примеры
любым из целых чисел в полуоткрытом диапазоне
>>> import numpy as np >>> from scipy import stats >>> X = stats.Uniform(a=-0.5, b=0.5)
Вычислить обратную логарифмическую CCDF при заданном аргументе:
>>> X.ilogccdf(-0.25) -0.2788007830714034 >>> np.allclose(X.ilogccdf(-0.25), X.iccdf(np.exp(-0.25))) True