所以我在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)
有什么想法吗?
答案 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