How to get 'confidence interval' with fmincon optimization

Hello, I optimized parameters, k and A, with four differential equations using fmincon (sqp algorithm). For example, my differential equations are
dy(1)=-k*exp(A)*y(1)*y(3)+3.987*(y(1)-y(2));
dy(2)=-k*exp(A)*y(2)*y(4)-3.987*(y(1)-y(2));
dy(3)=-k*exp(A)*y(1)*y(3)+17.3987*(y(3)-y(4));
dy(4)=-k*exp(A)*y(2)*y(4)-17.3987*(y(3)-y(4));
The objective function to be minimized is f=((1.765*y(3)+0.876*y(4))-0.89654)^2. I could obtain the optimized k and A, but need to show what the confidence interval. I was looking for the papers, books, and the websites, but couldn't find the good answer. Does anyone help me? Thank you in advance!

4 Comments

The objective function to be minimized is f=((1.765*f(3)+0.876*f(4))-0.89654)^2.
Not clear what this means. f(3) and f(4) are quantities we haven't met yet. And why would the objective function f be defined in terms of itself?
sorry, f=((1.765*y(3)+0.876*y(4))-0.89654)^2. So the optimization is to find the optimized k and A by minimizing f.(I corrected them) Thank you!
Your model looks over-parametrized and so I suspect it will be hard to get any kind of meaningful confidence interval at all. The problem depends on k and A only through the expression -k*exp(A) which can be replaced with a single unknown parameter, C.
dy(1) = C*y(1)*y(3)+3.987*(y(1)-y(2));
dy(2) = C*y(2)*y(4)-3.987*(y(1)-y(2));
dy(3) = C*y(1)*y(3)+17.3987*(y(3)-y(4));
dy(4) = C*y(2)*y(4)-17.3987*(y(3)-y(4));
Thank you, Matt. Actually, I have 64 differential equations to get the optimized parameters, k and A. There are other numbers (not shown here) multiplied by A in each equation, so I cannot set them as one parameter. (maybe I don't know how) I realized that I can set the confidence interval like 95% or 90% in advance and then obtain the range for the parameters. So I can say something like ' the optimized parameters are 25+-0.5 and 10+-0.2 with 95% confidence interval'. But I don't know how to. Could you give me some advice? Thank you.

Sign in to comment.

Answers (1)

Confidence intervals are usually given with respect to estimates of parameters describing data. (Examples are the mean, standard deviation, standard error of the estimate, and so forth.) If you are fitting data, you should be using lsqcurvefit. The fmincon function does not return covariance matrices on the parameters it optimises, so you cannot calculate confidence intervals on those estimates.

Asked:

on 1 Jul 2014

Commented:

on 8 Jul 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!