How to get 'confidence interval' with fmincon optimization
21 views (last 30 days)
Show older comments
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
Matt J
on 2 Jul 2014
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));
Answers (1)
Star Strider
on 1 Jul 2014
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.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!