ilogcdf#
- Равномерное.ilogcdf(logp, /, *, метод=None)[источник]#
Обратная функция логарифма кумулятивной функции распределения.
Обратная функция логарифма кумулятивной функции распределения («обратная log-CDF») — это аргумент \(x\) для которого логарифм функции распределения \(\log(F(x))\) вычисляется как \(\log(p)\).
Математически это эквивалентно \(F^{-1}(\exp(y))\), где \(y = \log(p)\), но это может быть численно предпочтительнее по сравнению с наивной реализацией (вычисление \(p = \exp(y)\), затем \(F^{-1}(p)\)).
ilogcdfпринимает logp для \(\log(p) ≤ 0\).- Параметры:
- logparray_like
Аргумент обратной логарифмической функции распределения.
- метод{None, 'formula', 'complement', 'inversion'}
Стратегия, используемая для вычисления обратной логарифмической CDF. По умолчанию (
None), инфраструктура выбирает между следующими вариантами, перечисленными в порядке приоритета.'formula': использовать формулу для обратной логарифмической CDF'complement': вычисление обратной лог-CCDF в логарифмическом дополнении logp (см. Примечания)'inversion': численно решить для аргумента, при котором log-CDF равен logp
Не все метод опции доступны для всех распределений. Если выбранная метод недоступен,
NotImplementedErrorбудет вызвано исключение.
- Возвращает:
- выходмассив
Обратная логарифмическая CDF, вычисленная для предоставленного аргумента.
Примечания
Предположим, распределение вероятностей имеет носитель \([l, r]\). Обратная логарифмическая CDF возвращает свое минимальное значение \(l\) в \(\log(p) = \log(0) = -\infty\) и его максимальное значение \(r\) в \(\log(p) = \log(1) = 0\). Поскольку log-CDF имеет диапазон \([-\infty, 0]\), обратная логарифмическая CDF определена только на отрицательных вещественных числах; для \(\log(p) > 0\),
ilogcdfвозвращаетnan.Иногда необходимо найти аргумент CDF, для которого результирующая вероятность очень близка к
0или1- слишком близко для точного представления с плавающей точкой. Однако во многих случаях логарифм этой результирующей вероятности может быть представлена в арифметике с плавающей запятой, в этом случае эта функция может использоваться для нахождения аргумента CDF, для которого логарифм результирующей вероятности \(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)
Вычислить обратную логарифмическую CDF при заданном аргументе:
>>> X.ilogcdf(-0.25) 0.2788007830714034 >>> np.allclose(X.ilogcdf(-0.25), X.icdf(np.exp(-0.25))) True