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

1 visualización (últimos 30 días)
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.

Respuesta aceptada

Mukul Rao
Mukul Rao el 19 de Jul. de 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 comentario
Karsten Reuß
Karsten Reuß el 19 de Jul. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by