因此,我在 R 中收到了一项任务,要求使用向量中给定的值找到具有几何分布的随机值 X 的 MLE:
> x<-c(4, 2, 1, 1, 4, 8, 3, 1, 2, 3, 8, 6, 2, 2, 3)
这是 MLE 的函数:
> log.L<-function(p=0.3){
+ n<-length(x)
+ (sum(x)-n)*log(1-p)+n*log(p)
+ }
这是调用:
> library(stats4)
> fir<-mle(log.L)
但是,当我调用电话时,出现以下错误:
Error in optim(start, f, method = method, hessian = TRUE, ...) :
non-finite finite-difference value [1]
有什么想法吗?
最佳答案
问题是第一个参数是
minuslogl - Function to calculate negative log-likelihood.
因此,我们需要
log.L <- function(p = 0.3) {
n <- length(x)
-((sum(x) - n) * log(1 - p) + n * log(p))
}
mle(log.L)
#
# Call:
# mle(minuslogl = log.L)
#
# Coefficients:
# p
# 0.3
关于r - 尝试查找几何分布的 MLE 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54737120/