ill-conditioned Jacobian using nlinfit
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Donatas
am 23 Mär. 2014
Kommentiert: Daniel Vasilaky
am 19 Feb. 2016
When I use nlinfit function I get the warning:
Warning: The Jacobian at the
solution is ill-conditioned,
and some model parameters
may not be estimated well
(they are not identifiable).
Use caution in making
predictions.
Because I am working with the medical images, I cannot guess my starting values at each of the pixel, because there are more than 10k of them. In that case, I'm using automated selection of these values. For the most of them it works fine. However, in some cases I get the warnings like that, but the fitted curve looks also fine. How can I know if these estimated parameters are good? Fitted curve looks good, but I'm wondering if there are only these possible values for the parameters. How can I overcome this? Is there any other function to use for a non-linear fitting without getting this warning?
Thanks.
Donatas
1 Kommentar
Daniel Vasilaky
am 19 Feb. 2016
When the Jacobian is ill-conditioned you may try regularization. Specifically instead of the normal equations J'Jdb = J'dy where J is the Jacobian db is the parameter increment and dy is the change in the residual use the regularized normal equations. The normal equations above correspond to the last squares min||Jdb - dy|| but with regularization you will have min||Jdb - dy|| + c||db|| and the normal equations become (J'J + cI)db = J'dy where c>0 constant. This will give you a unique solution without the Ill-conditioned Jacobian. How to choose c>0 and solve the regularized least squares? A quick and easy way is to use l_curve.m and l_corner.m to choose parameter c and tikhonov.m to solve the modified least squares. See Hansen Per Christian, Regularization Tools, A Matlab Package for Analysis and Solution of Discrete Ill-Posed Problems, Version 4.0 for Matlab 7.3, http://www.mathworks.com/matlabcentral/fileexchange I have developed an iterative method with regularization parameters with usually better results but that’s probably more than you want know. Search for Tikhonov regularization MatLab Central.
Akzeptierte Antwort
Star Strider
am 23 Mär. 2014
Bearbeitet: Star Strider
am 23 Mär. 2014
You may have too many parameters. Expand the outputs from nlinfit so that you can use nlparci. If any of the 95% confidence intervals for your parameters include zero (confidence bounds of opposite signs for the same parameter), that parameter is probably not necessary in the model, especially if you are getting a good fit to your data. If you decide to change your model to eliminate those parameters, do so one parameter at a time. If all of your parameters are significant (95% confidence intervals do not include zero), then just ignore the warning.
I do not have sufficient expertise in image processing to suggest any specific changes to your model.
0 Kommentare
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Regression finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!