scipy.stats.Uniform.

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, вычисленная по предоставленному аргументу.

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

iccdf
ilogccdf

Примечания

Предположим, распределение вероятностей имеет носитель \([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