Getting the regression coefficients for a lower number of Partial Least Squares components than specified by plsregress(X,Y,ncomp) without redoing the whole regression model?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
When performing a regression with the plsregress command in matlab, you specify the number of components when you fit the model like this:
ncomp = 100;
[XL,YL,XS,YS,BETA,PCTVAR] = plsregress(X,Y,ncomp);
But say I wanted to test the performance of all number of components up to 100 (so 1 component, then 2, then 3, then 4..), how can I get the regression coefficients (BETA) for that? Do I really have to repeat the model a hundred times like this:
[XL,YL,XS,YS,BETA1,PCTVAR] = plsregress(X,Y,1);
[XL,YL,XS,YS,BETA2,PCTVAR] = plsregress(X,Y,2);
[XL,YL,XS,YS,BETA3,PCTVAR] = plsregress(X,Y,3);
… and so on up to 100
That seems unreasonable. Is there a faster way to get the regression coefficients for a lower number of components than the one specified when creating the model?
Thanks.
2 Commenti
John D'Errico
il 30 Mag 2016
Modificato: John D'Errico
il 30 Mag 2016
One day, they will let us do loops in MATLAB. Just think what an innovation that will be. Oh! That is right! There is such a thing as a for loop. Why not use one? :)
Anyway, creating numbered variables is just poor programming. Learn to use vectors and arrays, even cell arrays.
Risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!