Насколько я понимаю, оба пути должны давать квантиль, соответствующую вероятности более низкого хвоста. Однако я получаю разные результаты. Например: - qgeom(0.99,0.5) дает 6 в R, где geom.ppf(0.99,0.5) дает 7 в Python.
qgeom(0.99,0.5)
geom.ppf(0.99,0.5)
tldr; ПМФ геометрического распределения различны в R и SciPy.
Прежде всего, хорошо подтвердить, что обычно квантили, рассчитанные в R и Python, согласуются, например, в случае нормального распределения
from scipy.stats import norm norm.ppf(0.99) #2.3263478740408408 qnorm(0.99) #[1] 2.326348
Для случая геометрического распределения функции квантиля различаются, поскольку функции вероятности (pmf) различны. В R pmf геометрического распределения определяется как p(1 - p)^k (см. help("Geometric")); в модуле Python SciPy геометрическое распределение определяется как p(1 - p)^(k-1) (см. scipy.stats.geom ).
p(1 - p)^k
help("Geometric")
p(1 - p)^(k-1)
Сводку ключевых величин для обоих определений можно найти в статье Википедии . По сути, определение ^k - это ", используемое для моделирования количества отказов до первого успеха" , где определение ^(k-1) относится к "вероятности того, что k-е испытание (вне из k испытаний) первый успех".
^k
^(k-1)
См. Также: Какое геометрическое распределение использовать?