# Confidence interval on parameters from optim function

5 messages
Open this post in threaded view
|

## 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 [hidden email] http://myweb.dal.ca/edevred/-------------------------------------------         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Confidence interval on parameters from optim function

 Hi Emmanuel, You can obtain standard error estimate from the Hessian matrix evaluated at the optimum as: sqrt(diag(solve(ans\$hessian))), where `ans' is the object returned by `optim'. However, `optim' does not return the Hessian matrix by default.  So, you need to specify `hessian = TRUE' when you call `optim'. There are two issues that I would think about: 1.  You need to pay attention to the standard regularity conditions that are required in order for the confidence interval to be valid.  One important condition is that the solution be in the interior of the parameter space. Since you are using box-constraints, I would check to make sure that the solution is not on the boundary. 2.  The Hessian returned by `optim' is a bit inaccurate.  Often, this is not a big deal.  There are situations, however, where this matters, as you might get an indefinite Hessian due to inaccuracy. So, I generally prefer to use the `hessian' function in the "numDeriv" package. Ravi. -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Devred, Emmanuel Sent: Wednesday, August 19, 2009 9:41 AM To: [hidden email] 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 [hidden email] http://myweb.dal.ca/edevred/-------------------------------------------         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code. ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Confidence interval on parameters from optim function

 In reply to this post by Devred, Emmanuel Emmanuel, I didn't answer your second question. You can use the `try' function to capture errors and keep proceeding through simulations without crashing out:   ?try If `L-BFGS-B' does not work well, you could try the `spg' function in the "BB" package. Ravi. -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Devred, Emmanuel Sent: Wednesday, August 19, 2009 9:41 AM To: [hidden email] 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 [hidden email] http://myweb.dal.ca/edevred/-------------------------------------------         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code. ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.