R 使用二项分布的fitdistplus中的fitdist

R 使用二项分布的fitdistplus中的fitdist,r,distribution,R,Distribution,我刚刚发现了fitdistrplus包,我已经启动并使用泊松分布运行了它,等等。。但我在尝试使用二项式时被卡住了: set.seed(20) #Binomial distributed, mean score of 2 scorebinom <- rbinom(n=40,size=8,prob=.25) fitBinom=fitdist(data=scorebinom, dist="binom", start=list(size=8, prob=mean(scorebinom)/8))

我刚刚发现了
fitdistrplus
包,我已经启动并使用泊松分布运行了它,等等。。但我在尝试使用二项式时被卡住了:

set.seed(20)
#Binomial distributed, mean score of 2
scorebinom <- rbinom(n=40,size=8,prob=.25)


fitBinom=fitdist(data=scorebinom, dist="binom", start=list(size=8, prob=mean(scorebinom)/8))
我从这个包中看到了很多关于负二项分布的文档,但关于二项分布的文档不多。此功能似乎确实支持此分发(尽管
MASS
中的
fitdistr
不支持)


有什么想法吗

您是否总是知道试验次数(即大小参数)?如果是,那就试试看

fitBinom=fitdist(data=scorebinom, dist="binom", fix.arg=list(size=8), start=list(prob=0.3))

估计p及其误差。

问题似乎是由
fitdist
内部调用的MLE例程引起的-在帮助文件
?mledist
的值部分中有一个输出代码列表(有些没有帮助)。在拟合参数时,我经常会遇到这样的错误,要找到确切的原因通常是件痛苦的事情。您可以尝试使用
custom.optim
函数
fitdist
传递到
optim
。有时,我在模拟退火方面比optim使用的默认算法更走运。。。例如,这将返回参数估计值,但不是标准错误,并且仍然会产生警告:
fitdist(data=x,dist=“binom”,start=list(size=8,prob=mean(x)/8),custom.optim=function(…){optim(…,method=“SANN”)}
(为了方便起见,我将向量
scorebinom
重命名为
x
),谢谢!成功了。我觉得奇怪的是,当我为起始值提供size参数时,它无法估计size参数,但我认为在固定参数列表中需要它是有意义的。我认为
fitdist
文档在这里可以更加明确。
fitBinom=fitdist(data=scorebinom, dist="binom", fix.arg=list(size=8), start=list(prob=0.3))