[R] probit analysis with natural response

From: Jinsong Zhao <jszhao_at_mail.hzau.edu.cn>
Date: Fri, 20 Jun 2008 13:59:22 +0800


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



R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Fri 20 Jun 2008 - 08:09:16 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 20 Jun 2008 - 08:30:43 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive