我应用了 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)
我该怎么做呢?有任何想法吗? 非常感谢..
最佳答案
根据Microsoft's documentation ,Excel使用标准的“n次失败之前的绘制次数”定义; fitdistrplus
使用的参数化是 ?dnbinom
中提到的替代方案:
An alternative parametrization (often used in ecology) is by the mean ‘mu’, and ‘size’, the dispersion parameter, where ‘prob’ = ‘size/(size+mu)’. The variance is ‘mu + mu^2/size’ in this parametrization.
因此,如果您想从 mu
和 size
返回到 prob
和 size
(Excel 的 >probability_s
和 number_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
函数来计算对数刻度上标准化常数的分子和分母...如果你幸运的话,有人会帮你省去一些麻烦并已经实现了......
关于r - 将负二项式参数从 R 转换为 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16793198/