scipy.stats.Mixture.

iccdf#

Смесь.iccdf(p, /, *, метод=None)[источник]#

Обратная дополнительная кумулятивная функция распределения.

Обратная дополнительная функция распределения («обратная CCDF»), обозначаемая \(G^{-1}(p)\), является аргументом \(x\) для которой дополнительная кумулятивная функция распределения \(G(x)\) вычисляется как \(p\).

\[G^{-1}(p) = x \quad \text{s.t.} \quad G(x) = p\]

Когда строгий "обратный" функции дополнительного кумулятивного распределения не существует (например, для дискретных случайных величин), "обратная CCDF" по соглашению определяется как наименьшее значение в пределах носителя \(\chi\) для которого \(G(x)\) не больше чем \(p\).

\[G^{-1}(p) = \min_\chi \quad \text{s.t.} \quad G(x) ≤ p\]

iccdf принимает p для \(p \in [0, 1]\).

Параметры:
parray_like

Аргумент обратной CCDF.

метод{None, 'formula', 'complement', 'inversion'}

Стратегия, используемая для вычисления обратной CCDF. По умолчанию (None), инфраструктура выбирает между следующими вариантами, перечисленными в порядке приоритета.

  • 'formula': использовать формулу для самой обратной CCDF

  • 'complement': вычислить обратную CDF в дополнении p

  • 'inversion': решить численно для аргумента, при котором CCDF равен p

Не все метод опции доступны для всех распределений. Если выбранная метод недоступен, NotImplementedError будет вызвано исключение.

Возвращает:
выходмассив

Обратная CCDF, вычисленная для предоставленного аргумента.

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

icdf
ilogccdf

Примечания

Предположим, распределение вероятностей имеет носитель \([l, r]\). Обратная CCDF возвращает свое минимальное значение \(l\) в \(p = 1\) и его максимальное значение \(r\) в \(p = 0\)Поскольку CCDF имеет диапазон \([0, 1]\), обратная CCDF определена только на области \([0, 1]\); для \(p < 0\) и \(p > 1\), iccdf возвращает nan.

Примеры

любым из целых чисел в полуоткрытом диапазоне

>>> import numpy as np
>>> from scipy import stats
>>> X = stats.Uniform(a=-0.5, b=0.5)

Вычислить обратную CCDF при желаемом аргументе:

>>> X.iccdf(0.25)
0.25
>>> np.allclose(X.iccdf(0.25), X.icdf(1-0.25))
True

Эта функция возвращает NaN, когда аргумент находится вне области определения.

>>> X.iccdf([-0.1, 0, 1, 1.1])
array([ nan,  0.5, -0.5,  nan])