将负二项式参数从R转换为Excel

时间:2013-05-28 13:21:26

标签: r excel

我应用fitdistrplus包以适应经验分布。 事实证明,最合适的是具有参数的负二项分布:

size=0.6900788
mu=2.6522087

dnbinom(0:10, mu = 2.6522087, size =0.6900788)
[1] 0.33666338 0.18435650 0.12362301 0.08796440 0.06439416 0.04793144 0.03607044 0.02735574 0.02086667 0.01598815 0.01229390

我现在正试图在EXCEL上生成相同的数字,其中参数需要不同的格式:

NEGBINOMDIST(number_f,number_s,probability_s)

我打算怎么做?有任何想法吗? 非常感谢..

1 个答案:

答案 0 :(得分:2)

根据Microsoft's documentation,Excel使用标准“n次失败前的绘制次数”定义; fitdistrplus使用的参数化是?dnbinom中引用的替代方法:

  

另一种参数化(通常用于生态学)是由        意味着'mu'和'size',分散参数,其中'prob'        ='尺寸/(尺寸+亩)'。方差是'mu + mu ^ 2 / size'        参数化。

因此,如果您想从musize返回probsize(分别是Excel的probability_snumber_s)需要

number_s=size
probability_s=size/(size+mu)

muval <- 2.6522087
sizeval <- 0.6900788
(probval <- sizeval/(sizeval+muval))
## [1] 0.206469
all.equal(dnbinom(0:10,mu=muval,size=sizeval),
          dnbinom(0:10,prob=probval,size=sizeval))
## TRUE

但是,你还没有完成,因为(正如@James上面评论的那样)Excel只允许number_s的正整数,并且上面的估计值是0.69。您可能需要在Excel相关论坛上搜索/询问如何克服此限制...最糟糕的是,由于Excel确实有an implementation of the gamma function,您可以使用?dnbinom中给出的公式

Gamma(x+n)/(Gamma(n) x!) p^n (1-p)^x 

实现自己的NB计算(此公式允许n的非整数值。最好使用Excel中的GAMMLN函数来计算对数刻度上归一化常数的分子和分母......如果你很幸运,那里的某个人会为你省去一些麻烦并实现这一点已经......