icdf#
- Нормальный.icdf(p, /, *, метод=None)[источник]#
Обратная функция распределения.
Для монотонных непрерывных распределений обратная функция кумулятивного распределения («обратная CDF»), обозначаемая \(F^{-1}(p)\), является аргументом \(x\) для которого функция распределения \(F(x)\) вычисляется как \(p\).
\[F^{-1}(p) = x \quad \text{s.t.} \quad F(x) = p\]Когда строгий «обратный» функции кумулятивного распределения не существует (например, для дискретных случайных величин), «обратная CDF» по соглашению определяется как наименьшее значение в пределах носителя \(\chi\) для которого \(F(x)\) составляет не менее \(p\).
\[F^{-1}(p) = \min_\chi \quad \text{s.t.} \quad F(x) ≥ p\]icdfпринимает p для \(p \in [0, 1]\).- Параметры:
- parray_like
Аргумент обратной функции распределения.
- метод{None, 'formula', 'complement', 'inversion'}
Стратегия, используемая для вычисления обратной CDF. По умолчанию (
None), инфраструктура выбирает между следующими вариантами, перечисленными в порядке приоритета.'formula': использование формулы для самой обратной CDF'complement': вычисление обратной CCDF в дополнении к p'inversion': численное решение для аргумента, при котором CDF равна p
Не все метод опции доступны для всех распределений. Если выбранная метод недоступен,
NotImplementedErrorбудет вызвано исключение.
- Возвращает:
- выходмассив
Обратная функция распределения, вычисленная для заданного аргумента.
Примечания
Предположим, распределение вероятностей имеет носитель \([l, r]\). Обратная функция распределения возвращает свое минимальное значение, равное \(l\) в \(p = 0\) и его максимальное значение \(r\) в \(p = 1\). Поскольку CDF имеет диапазон \([0, 1]\), обратная CDF определена только на области \([0, 1]\); для \(p < 0\) и \(p > 1\),
icdfвозвращаетnan.Обратная функция распределения также известна как квантильная функция, функция процентилей и функция процентных точек.
Ссылки
[1]Квантильная функция, Википедия, https://en.wikipedia.org/wiki/Quantile_function
Примеры
любым из целых чисел в полуоткрытом диапазоне
>>> import numpy as np >>> from scipy import stats >>> X = stats.Uniform(a=-0.5, b=0.5)
Вычислить обратную CDF при заданном аргументе:
>>> X.icdf(0.25) -0.25 >>> np.allclose(X.cdf(X.icdf(0.25)), 0.25) True
Эта функция возвращает NaN, когда аргумент находится вне области определения.
>>> X.icdf([-0.1, 0, 1, 1.1]) array([ nan, -0.5, 0.5, nan])