r - 尝试查找几何分布的 MLE 时出错

标签 r

因此,我在 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/

相关文章:

r - 从远程 Linux 服务器上的 R 调用 Companies House API 时出现 SSL 连接错误

R - 使用循环搜索一个变量与另一个变量并创建新的合并变量

r - 在 R 中使用 RCurl 下载 NASA 卫星数据

java - R - 重新格式化列表

r - 为什么 na.omit 向空数据框添加一行?

r - R 中 0-1 和 1 之间的所有值组合

r - geom_blank 丢弃 NA

r - 如何在plotly R中修复条的宽度

r - R 中的高效三角反代换

r - bnlearn 节点的错误尺寸