Dear all, I have try to use mle() from package stats4 to estimate parameters of the following model: p = Pr(Y = 0) = C + (1 - C)F(x'\beta) a probit model with natural response. The log-likelihood function is: fr <- function(c, alpha, beta) { P <- c + (1-c) * pnorm(alpha + beta * x) P <- pmax(pmin(P,1),0) -(sum(log(choose(n,r))) + sum(r * log(P)) + sum((n -r)* log(1-P))) } When give the following dataset: r <- c(3,4,4,3,5,4,5,9,8,11,12,13) n <- rep(15,12) x <- c(0, 1.1, 1.3, 2.0, 2.2, 2.8, 3.7, 3.9, 4.4, 4.8, 5.9, 6.8) x <- log10(x) And then, fit <- mle((fr), start = list(c =0.2, alpha = 0, beta =0), method = "BFGS") It will give the following error message: Error in optim(start, f, method = method, hessian = TRUE, ...) : initial value in 'vmmin' is not finite However, when I set beta to 0.1, mle() could terminate normally. Set beta to 0.001 or 5, for example, the above command will give the following error message: Error in optim(start, f, method = method, hessian = TRUE, ...) : non-finite finite-difference value [3] ~~~or [1] when beta set to 5. What's wrong? And how to improve the above code? Thanks in advance! Jinsong Zhao