В чем разница между qgeom в R и scipy.stats.geom.ppf в Python? - PullRequest
0 голосов
/ 26 января 2019

Насколько я понимаю, оба пути должны давать квантиль, соответствующую вероятности более низкого хвоста. Однако я получаю разные результаты. Например: - qgeom(0.99,0.5) дает 6 в R, где geom.ppf(0.99,0.5) дает 7 в Python.

1 Ответ

0 голосов
/ 26 января 2019

tldr; ПМФ геометрического распределения различны в R и SciPy.


  1. Прежде всего, хорошо подтвердить, что обычно квантили, рассчитанные в R и Python, согласуются, например, в случае нормального распределения

    from scipy.stats import norm
    norm.ppf(0.99)
    #2.3263478740408408
    
    qnorm(0.99)
    #[1] 2.326348
    
  2. Для случая геометрического распределения функции квантиля различаются, поскольку функции вероятности (pmf) различны. В R pmf геометрического распределения определяется как p(1 - p)^k (см. help("Geometric")); в модуле Python SciPy геометрическое распределение определяется как p(1 - p)^(k-1) (см. scipy.stats.geom ).

    Сводку ключевых величин для обоих определений можно найти в статье Википедии . По сути, определение ^k - это ", используемое для моделирования количества отказов до первого успеха" , где определение ^(k-1) относится к "вероятности того, что k-е испытание (вне из k испытаний) первый успех".

    См. Также: Какое геометрическое распределение использовать?

...