Initial values in nlinfit or fitnlm

13 views (last 30 days)
I am trying to run a non-linear multiple variable model in Matlab. The model has about 20 coefficients. I have been using 1s as my initial values in developing the model, and my model has an acceptable R2 value and good residual plots. However, I am not sure if the generated coefficients are sensitive to the initial values that were assigned by me.
This begs the question of whether one can check if the generated coefficient values are highly sensitive to the assigned initial values? Or one should do it manually, ie test the model with different set of initial values and compare the RMSE of the model?

Accepted Answer

Star Strider
Star Strider on 26 Jun 2017
A model with 20 parameters is likely going to be a challenge. If you have any doubts — and if you have the Global Optimization Toolbox — use the patternsearch (link) function to find the best parameter set. Another option is the genetic algorithm, the Global Optimization Toolbox ga (link) function.
I would also use the coefCI (link) function to determine if any of the confidence intervals for the coefficients (parameters) include zero, i.e. have opposite signs. If they do, they are not required for the model, since they are not statistically different from zero. This can help you ‘trim’ your model.
  22 Comments
Star Strider
Star Strider on 21 Aug 2020
This should be a new Question.
It does not directly relate to the current thread. I am not going to respond to it further here.
Priya Goel
Priya Goel on 22 Aug 2020
Yes. I am also of the opinion that it is deviation from the original topic.
Anyways, Thank you for your valuable time and inputs. These are very helpful for beginners (like me). You clarify doubts which otherwise remain unanswered for months.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!