Method used by fitnlm to estimate coefficients
6 views (last 30 days)
Show older comments
Hello everyone,
I came across the description of fitnlm (non-linear fit model), which states, "The coefficients are estimated using an iterative procedure starting from the initial values in the vector BETA0." I assume that the estimation is done through maximum likelihood, although it's not explicitly mentioned.
Could someone provide assistance with this question?
Best regards,
0 Comments
Accepted Answer
William Rose
on 26 Feb 2024
By default, fitnlm() minimizes the sum squared error. It uses the Levenberg-Marquardt algorithm to find its way downhill. MInimizing the sum squared error is the max likelhihood esitmator (MLE), if the errors are normally distributed. fitnlm() also has options to change the above behavior. For example, you can specify weights for the errors. You can specify different error models - for example, you can specify that the errors are proportional to the magnitude of the (modeled) signal. I like that one, since I have had experiments and transducers where that seemed to be the case - the force signal got noiser as the force got larger. You can specify robust options, so that instead of minimizing the (weighted) sum squared error, it minimizes something else. Some of these robust options are the MLE for certain other error distributions that have heavier tails than the normal distribution. See here for more.
Good luck with your fitting.
2 Comments
More Answers (0)
See Also
Categories
Find more on Interpolation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!