【问题标题】:Parameterizations of negative binomial densities (dnbinom) in RR中负二项式密度(dnbinom)的参数化
【发布时间】:2011-01-17 15:56:47
【问题描述】:

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

我试图在 R 中计算负二项式的密度。我的参数目前采用mu(预期的平均失败次数)和过度离散参数k 的形式。由于我在编译的 C 代码中调用 dnbinom,因此我需要将这些参数转换为默认参数化 dnbinom,它预计每次试验的成功概率 p 和成功次数 n 在计数停止之前.我使用以下等式根据muk 求解pn

n = mu*p/(1-p)
mu + mu^2/k = n(1-p)/p^2

经过一点代数,我得到了

p = k/mu + 1
n = -(mu^2+k*mu)/k

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

> 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 调用 dnbinom 时,有没有办法坚持原始参数化(就 muk 而言)?

【问题讨论】:

  • 我不知道你是怎么得到n = -(mu^2+k*mu)/k的,就像你写的这个公式n = mu*p/(1-p)看起来不错。
  • 抱歉。它应该是 p = k/(k+mu),这意味着 n = k

标签: c r statistics


【解决方案1】:

正如?dnbinom 所说:大小“必须严格为正,不必为整数”

在你的例子中

 n = -(mu*k+mu^2)/k
 n
 [1] -202.5

所以dnbinom 失败了。

我认为在计算 p 之后 n 应该是 mu*p/(1-p) (正如你在上面写的那样),所以这样:

k = 1.2
mu = 15
p = k/(k+mu)
n = mu*p/(1-p)
dnbinom(10,size=n,prob=p)
    [1] 0.03560668
dnbinom(10,mu=mu,size=k)
    [1] 0.03560668

看起来不错。

【讨论】:

  • 对不起——我试图在答案中快速指出我的代数中的错误,但我刚刚看到我的答案被删除了......因为不是一个有效的解决方案(?!)。我没有意识到我需要把它拼出来。我的错误在于推导p:p=k/(k+mu)n=k。在你写的时候,数字是一致的。
猜你喜欢
  • 2017-03-04
  • 2017-04-12
  • 2014-12-03
  • 2010-11-28
  • 2016-03-12
  • 2020-10-08
  • 1970-01-01
  • 2021-12-05
  • 2020-07-17
相关资源
最近更新 更多