将负二项参数从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) 

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

根据微软的文档 ,Excel使用标准的“n次失败之前的抽奖数量”定义; fitdistrplus所使用的参数化是fitdistrplus中提到的替代方法:

另一种参数化(通常用于生态)是 “mu”和“size”,即“prob”='size /(size + mu)'的分散参数 。 在这个参数化中方差是“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相关的论坛上search/询问如何克服这个限制…在最坏的情况下,因为Excel确实有gamma函数的实现 ,您可以使用?dnbinom给出的公式

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

实现你自己的NB的计算(这个公式允许n非整数值)。 在Excel中使用GAMMLN函数来计算归一化常数的分子和分母是最好的…如果幸运的话,那里有人会为你节省一些麻烦,并且已经实现了…