Question about rescaling in plsregress()
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I trying to do Partial Least Squares regression (PLSR) by using the plsregress() function in matlab on two datamatrices X and Y. I have also done extracted factors by Principal Component Analysis (PCA) by the function princomp(). In PCA I understand that the factors depend upon whether X is rescaled by zscore() or not. However, to my knowledge, the factors/Xscores extracted by plsregress() shouldn't differ when X and Y are rescaled, since the algorithm deflates X and Y, but when I use plsregress(), the results does depend upon whether X and Y have been rescaled.
Am I wrong? And if so, is it because plsregress() uses SIMPLS and not NIPALS?
Thanks!
Mads
0 comentarios
Respuestas (1)
Ilya
el 18 de Jul. de 2012
I am no expert on SIMPLS vs NIPALS. But the doc for plsregress states that
XLOADINGS = X0'*XSCORES
(with a similar relationship for Y), and X0 is centered but not scaled. So if you change the scale for X0, this change must propagate either into the loadings or scores.
Deflation amounts to orthogonalization; it can be performed on scaled or unscaled variables.
Ver también
Categorías
Más información sobre Dimensionality Reduction and Feature Extraction en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!