From: kenneth dayman on
I'm new to MATLAB and chemometrics, so I wanted to confirm my understanding of the PLS modeling procedure.

I'm looking to make a model based on samples with a known parameter. I measure n- samples and collect the data (p variables) in a matrix X. The known parameter for each sample in an nx1 vector y. I now want to find a vector b that relates the response of instrumental measurement with the parameter in my training, thus allowing me to make predictions of the parameter of an unknown. If I understand the documentation correctly (and therein lies my problem, as it seems that the nomenclature of what I've been reading on multivariate techniques--Chemometrics, Beebe and Pell) is a little different than the documentation and nomenclature used by various algorithm writers I've found online),

[XL,YL,XS,YS, beta, PctVar]=plsregress(X,y,ncomp) will give me my PLS model, and then to make a predection of the parameter for an unknown sample with measurement response in a 1xp array x, result=[1 x]*beta

Is this correct?
From: Peter Perkins on
On 6/21/2010 5:31 PM, kenneth dayman wrote:
> [XL,YL,XS,YS, beta, PctVar]=plsregress(X,y,ncomp) will give me my PLS
> model, and then to make a predection of the parameter for an unknown
> sample with measurement response in a 1xp array x, result=[1 x]*beta
>
> Is this correct?

Yes. From the PLSREGRESS reference page,

[XL,YL,XS,YS,BETA] = PLSREGRESS(X,Y,NCOMP,...) returns the PLS
regression coefficients BETA. BETA is a (P+1)-by-M matrix, containing
intercept terms in the first row, i.e., Y = [ONES(N,1) X]*BETA +
RESIDUALS, and Y0 = X0*BETA(2:END,:) + RESIDUALS.

and so YFIT = [ONES(N,1) X]*BETA is the vector of predicted values.