R中负二项密度(dnbinom)的参数化

Sar*_*rah 3 c statistics r

我希望这属于这里,而不是数学论坛.

我试图在R中计算负二项式的密度.我的参数目前是mu(预期的平均失败次数)和过度离散参数的形式k.因为我正在调用已dnbinom编译的C代码,所以我需要将这些参数转换为默认参数化dnbinom,这需要每次试验成功的概率pn计数停止前的成功次数.我用下面的公式来求解p,并n在以下方面muk:

n = mu*p/(1-p)
mu + mu^2/k = n(1-p)/p^2
Run Code Online (Sandbox Code Playgroud)

经过一些代数,我得到了

p = k/mu + 1
n = -(mu^2+k*mu)/k
Run Code Online (Sandbox Code Playgroud)

使用dnbinomR中的不同参数化检查这些方程式会发现一个问题:

> 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的参数化怎么样?我现在很确定我的代数是正确的.或者,有没有办法在从C 调用时坚持原始参数化(就mu和而言k)dnbinom