尝试找到几何分布的MLE时出错

时间:2019-02-17 19:59:52

标签: r

所以我在R中得到了一个任务,该任务是使用向量中给定的值找到具有几何分布的随机值X的MLE:

           0    1    2    3    4    5    6    7    8 
**Ben**    5    3    1    2    4   NaN  NaN  NaN  NaN
**Jane**   3    1    2   NaN  NaN  NaN  NaN  NaN  NaN
**Nick**   9    7    5    4    2    1    3    8    6
**John**   3    2    1    4   NaN  NaN  NaN  NaN  NaN

以下是MLE的功能:

> x<-c(4, 2, 1, 1, 4, 8, 3, 1, 2, 3, 8, 6, 2, 2, 3)

这里是电话:

> log.L<-function(p=0.3){
+ n<-length(x)
+ (sum(x)-n)*log(1-p)+n*log(p)
+ }

但是当我拨打电话时,出现以下错误:

> library(stats4)
> fir<-mle(log.L)

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

问题在于第一个参数是

  

minuslogl-计算对数似然的函数。

因此,我们需要

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