Method used by fitnlm to estimate coefficients

5 views (last 30 days)
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,

Accepted Answer

William Rose
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.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!