Faq how do I calculate scores from a PLS or PLSDA model

Issue:

How do I calculate scores from a PLS or PLSDA model?

Possible Solutions:

Because of the unique relationship between weights and loadings in a PLS model, the calculation of scores for new data does not simply involve a projection onto the loadings, as it does with PCR or PCA (i.e., Tnew = XnewP) . Given new data,Xnew, the scores for these new samples are instead calculated using:

Tnew = XnewW(PTW)-1

where W is the matrix of PLS model weights and P is the matrix of PLS model loadings.

In Matlab notation, this can be done using:

>> scores = x*W*pinv(P'*W)

where x is the new data. Given a standard model structure from PLS_Toolbox named "model" the following defines W and P: