ill-conditioned Jacobian using nlinfit
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Donatas
el 23 de Mzo. de 2014
Comentada: Daniel Vasilaky
el 19 de Feb. de 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 comentario
Daniel Vasilaky
el 19 de Feb. de 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.
Respuesta aceptada
Star Strider
el 23 de Mzo. de 2014
Editada: Star Strider
el 23 de Mzo. de 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 comentarios
Más respuestas (1)
Ver también
Categorías
Más información sobre Regression en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!