Once again, sorry. I had a different llfn in my R session and it messed with yours.
llfn <- function(param, a, tt) { llfn <- sum((a==1)*lL1+(a==2)*lL2+(a==3)*lL3) # sum of logs, it's a log-likelihood. return(-llfn) } Rui Barradas infinitehorizon wrote > > Hello again, > > You are absolutely right about probabilities.. Thanks for reminding me > about that. > > I did exactly how you said but in the end I receive the error : "objective > function in optim evaluates to length 12 not 1". > I checked how llfn give a vector instead of scalar, but couldn't figure > it out. > > Can you please tell me how did you obtain those estimates? > Thanks again, > > Best, > > Marc > > > Rui Barradas wrote >> >> Hello, again. >> >> Bug report: >> 1. Your densities can return negative values, 1 - exp(...) < 0. >> Shouldn't those be 1 PLUS exp()? >> >> P3 <- function(bx,b3,b,tt) { >> P <- exp(bx*x+b3+b*(tt == 1))/(1+exp(bx*x+b3+b*(tt == 1))) >> return(P) >> } >> >> And the same for P2 and P1? >> >> 2. Include 'a' and 'tt' as llfn parameters and call like the following. >> >> llfn <- function(param, a, tt) { >> >> [... etc ...] >> return(-llfn) >> } >> >> start.par <- rep(0, 5) >> est <- optim(start.par, llfn, gr=NULL, a=a, tt=tt) >> est >> $par >> [1] 4.1776294 -0.9952026 -0.7667640 -0.1933693 0.7325221 >> >> $value >> [1] 0 >> >> $counts >> function gradient >> 44 NA >> >> $convergence >> [1] 0 >> >> $message >> NULL >> >> >> Note the optimum value of zero, est$value == 0 >> >> Rui Barradas >> >> infinitehorizon wrote >>> >>> By the way, in my last post I forgot to return negative of llfn, hence >>> the llfn will be as follows: >>> >>> llfn <- function(param) { >>> >>> bx <- param[1] >>> b1 <- param[2] >>> b2 <- param[3] >>> b3 <- param[4] >>> b <- param[5] >>> >>> lL1 <- log(L1(bx,b1,b2,b,tt)) >>> lL2 <- log(L2(bx,b1,b2,b3,b,tt)) >>> lL3 <- log(L3(bx,b1,b2,b3,b,tt)) >>> >>> llfn <- (a==1)*lL1+(a==2)*lL2+(a==3)*lL3 >>> return(-llfn) >>> } >>> >>> However, it does not fix the problem, I still receive the same error.. >>> >> > -- View this message in context: http://r.789695.n4.nabble.com/Discrete-choice-model-maximum-likelihood-estimation-tp4629877p4629954.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@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.