[R] Confidence interval on parameters from optim function

Greg Snow Greg.Snow at imail.org
Wed Aug 19 22:00:18 CEST 2009

If you f function is a likelihood (or better a log likelihood), then you can do profiling.  Take the parameter of interest and change it a small amount from the optimal value, rerun optim with this value fixed and let it optimize over everything else.  Repeat this for several values and see how the likelihood changes.  You can use this information to construct the confidence interval.  One way is by using the chi-square approximation to log likelihood differences.  There are already some functions that use this procedure and you could either use those or look at the code to see how to do it yourself.  The mle, confint, and profile functions in the stats4 package are one set.

If your f function is not a likelihood or log likelihood, then we will need more information on what you are trying to accomplish. 

Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at imail.org

> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Devred, Emmanuel
> Sent: Wednesday, August 19, 2009 7:41 AM
> To: r-help at r-project.org
> Subject: [R] Confidence interval on parameters from optim function
> Hi everyone,
> I have two questions:
> I would like to get confidence intervals on the coefficients derived
> from the optim() function.
> I apply optim() to a given function f
> > res <-
> optim(c(0.08,0.04,1.),f,NULL,method="L-BFGS-B",lower=c(0.,0.,0.))
> And I would like to get the p-value and confidence intervals associated
> with
> > res$par
> My second question deals with error message. I am doing a loop with the
> optim() function in it, when I get an error message like below, the
> loop
> is stopped, however I would like to change my initial values to avoid
> this error message and keep the loop going, so if it crashes when I am
> away the program can still run, any idea ?
> Error in optim(c(0.08, 0.04, 1), f, NULL, method = "L-BFGS-B", lower =
> c(0,  :
>   L-BFGS-B needs finite values of 'fn'
> Thank you for any information on these two problems.
>   Emmanuel
> -------------------------------------------
> Dr. Emmanuel Devred
> Bedford Institute of Oceanography,
> 1 Challenger Drive,
> Dartmouth, Nova Scotia, B2Y 4A2,
> Canada
> Ph:  (1) 902 426-4681
> Fax: (1) 902 426-9388
> devrede at mar.dfo-mpo.gc.ca
> http://myweb.dal.ca/edevred/
> -------------------------------------------
> 	[[alternative HTML version deleted]]
> ______________________________________________
> 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.

More information about the R-help mailing list