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

3 ビュー (過去 30 日間)
Karsten Reuß
Karsten Reuß 2017 年 7 月 12 日
コメント済み: Karsten Reuß 2017 年 7 月 19 日
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.

採用された回答

Mukul Rao
Mukul Rao 2017 年 7 月 19 日
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 件のコメント
Karsten Reuß
Karsten Reuß 2017 年 7 月 19 日
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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStatistics and Machine Learning Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by