对照下面这一段,你看哪里设错了——
normal <- function(theta){
mu <- theta[1]
sigma <- theta[2]
logL <- -0.5*N*log(2*pi) - N*log(sigma) - sum(0.5*(x - mu)^2/sigma^2)
return (logL)
}
result <- maxLik(normal,start=c(0,1))
>print(result)
Maximum Likelihood estimation
Newton-Raphson maximisation, 8 iterations
Return code 1: gradient close to zero
Log-Likelihood: -2117.389 (2 free parameter(s))
Estimate(s): 1.007240 2.010635
不过可以排除初始值的问题,maxLik()函数中给出的初始值是错误的也基本不影响估计值。