stepwiselm: Can I limit the maximum number of variables to a fixed integer?

6 vues (au cours des 30 derniers jours)
I'm using stepwiselm:
stepwiselm(X,y,'constant','Upper','quadratic','Criterion','adjrsquared')
I want my model to include all kinds of linear terms, interactions, and squared terms, so I choose "'Upper','quadratic'". At the same time I would like my model not to include more than 10 variables altogether. E.g. the goal is to find those 10 terms from all kinds of possibilities that maximize the Criterion, e.g. adjrsquared. How can I implement this?
Thank you very much.

Réponse acceptée

Mukul Rao
Mukul Rao le 19 Juil 2017
Hi,
I work for the MathWorks, and I believe what you are trying to accomplish is not currently supported by "stepwiselm". You can come close to this functionality by starting with a model containing only the constant term, and using the 'NSteps' option to limit the number of steps taken. That process may include terms being removed as well as entered, though, so this will not do exactly as requested.
There is an enhancement request in place and I will make sure to add your use case in the details.
  1 commentaire
Karsten Reuß
Karsten Reuß le 19 Juil 2017
Dear Mukul,
thank you very much for the info and the enhancement request. I think such a functionality could be very useful in several situations. Like if you want to make predictions without overfitting and you seek a parsimonious model with few, but very strong predictors.
I actually attempted to approach this functionality the way you described, but as you said, as the algorithm may remove and add terms more frequently to optimize the criteria. E.g. it may not be the best model in the end after NSteps is not always equal maxPredictors.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Dimensionality Reduction and Feature Extraction dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by