How to choose the right model for Non-linear regression?

4 views (last 30 days)
Hi, I'm trying to use fitnlm to create a model from 7 predictor variables and 1 response variable. If I understand correctly, I need to use something like
mdl = fitnlm(predictors,responses,@modelfun,beta0).
I'm struggling to find which model (@modelfun) is appropriate for my data. how do I see which pre-built models are available? Is there a list of them somewhere?
  4 Comments
Image Analyst
Image Analyst on 23 Aug 2020
Try running pca() on it, or use partial least squares, to decide upon an intelligent model. You're just using the kitchen sink approach or multiple least squares where you throw in everything plus the kitchen sink. It may fit your training data will but might not fit your test data well.
Adam Danz
Adam Danz on 23 Aug 2020
Edited: Adam Danz on 23 Aug 2020
This answer by the talented John D'Errico walks you through his process of assessing the underlying function of noisy data, although the function in that answer is different from yours.
The curve fitting toolbox may also come in handy while exploring different functions.
Just be cautious of overfitting (as Image Analyst mentioned) and correlated predictors (multicollinearity).
These two pages in Matlab's Documentation may be helpful as well,

Sign in to comment.

Answers (1)

Ayush Gupta
Ayush Gupta on 26 Aug 2020
The Curve fitting toolbox can be used for this purpose. The documentation for the toolbox can be accessed by clicking here. Alternatively, there are some examples demonstrating the use of this which can be accessed here.

Community Treasure Hunt

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

Start Hunting!