Я надеюсь, что это принадлежит здесь, а не математическому форуму.
Я пытаюсь вычислить в R плотность отрицательного бинома.Мои параметры в настоящее время имеют вид mu
(среднее число ожидаемых отказов) и параметр избыточной дисперсии k
.Так как я вызываю dnbinom
в скомпилированном коде C, мне нужно преобразовать эти параметры в параметризацию по умолчанию dnbinom
, которая ожидает вероятность успеха за пробу p
и количество успехов n
до окончания подсчета,Я использовал следующие уравнения для решения для p
и n
в терминах mu
и k
:
n = mu*p/(1-p)
mu + mu^2/k = n(1-p)/p^2
После небольшой алгебры я получаю
p = k/mu + 1
n = -(mu^2+k*mu)/k
Проверка этих уравнений с различными параметризациями dnbinom
в R выявляет проблему:
<code>> k = 1.2
> mu = 15
> p = k/mu+1
> n = -(mu*k+mu^2)/k
> dnbinom(10,size=n,prob=p)
[1] NaN
Warning message:
In dnbinom(x, size, prob, log) : NaNs produced
> dnbinom(10,mu=mu,size=k)
[1] 0.03560668
Как насчет параметризации R, которую я пропускаю?Я почти уверен, что моя алгебра верна.Кроме того, есть ли способ придерживаться исходной параметризации (в терминах mu
и k
) при вызове dnbinom
из C?