Code covered by the BSD License  

Highlights from
PLS regression or discriminant analysis, with leave-one-out cross-validation and prediction.

Be the first to rate this file! 30 Downloads (last 30 days) File Size: 5.54 KB File ID: #30685

PLS regression or discriminant analysis, with leave-one-out cross-validation and prediction.

by Cleiton Nunes

 

08 Mar 2011 (Updated 07 Dec 2011)

M-files for PLS, PLS-DA, with leave-one-out cross-validation and prediction

| Watch this File

File Information
Description

Leave-one-out cross-validation for PLS regression or discriminant analysis

pls_cv = plscv(x,y,vl,'da')

input:
x (samples x descriptors) for cross-validation
y (samples x variables) for regression or
  (samples x classes) for discriminant analysis. Classes numbers must be >0.
vl (1 x 1) number of latent variables to compute in cross-validation
'da' (char) to indicate PLS-discriminant analysis (in PLS regression it is no used)

output:
pls_cv struct with:
  Ypcv (samples x variables x vl) predicted variables or
       (samples x classes x vl) predicted classes for cross-validation
  Tcv (samples x vl) x-scores for cross-validation samples

  For PLS-R:
   RMSEcv (variables x vl) Root Mean Square Error for cross-validation
   R2cv (variables x vl) Correlation Coefficient for cross-validation

  For PLS-DA:
   Succv (1 x vl) Success (%) of classification for cross-validation

--------------------------------------------------------------------------

Model for Partial Least Squares regression or discriminant analysis

pls_model = pls(x,y,vl,'da')

input:
x (samples x descriptors) for calibration
y (samples x variables) for regression or
  (samples x classes) for discriminant analysis. Classes numbers must be >0
vl (1 x 1) number of latent variables to model
'da' (char) to indicate PLS-discriminant analysis (in PLS regression it is no used)

output:
pls_model struct with:
  Data (struct) X and Y input, and classes (for PLS-DA)
  VLvar (2 x vl) cumulative variance (%) explained by model for X and Y.
  Ypc (samples x variables) predicted variables or
      (samples x classes) predicted classes for calibration samples
  T (samples x vl) x-scores
  P (descriptors x vl) x-loadings
  W (descriptors x vl) x-weights
  U (samples x vl) y-scores
  Q (variables x vl) y-loadings
  B (descriptors x variables) regression vectors
  B0 (1 x 1) regression intercept for (mean(y,1))-(mean(x,1))
  Lo (samples x 1) leverages for samples
  SR (samples x variables) studentized residuals for samples
  Lv (variables x 1) leverages for variables

 For PLS-R:
   RMSEc (1 x variavles) Root Mean Square Error for calibration
   R2c (1 x variavles) Correlation Coefficient for calibration
   RMSEc_Yrand (1 x variavles) RMSEc for Y-randomization test (mean of 10 shuffles)
   R2c_Yrand (1 x variavles) R2c for Y-randomization test (mean of 10 shuffles)

 For PLS-DA:
   Succ (1 x 1) Success (%) of classification for calibration samples
   Succ_Yrand (1 x 1) Success (%) of classification for Y-randomization test

--------------------------------------------------------------------------
Variables or classes prediction using PLS model

pls_pred = plspred(x,model,y)

input:
 x (samples x descriptors) new samples for prediction
 model (struct) with PLS calibration parameters
 y (samples x variables) for regression or
   (samples x classes) for discriminant analysis. Classes numbers must be >0. (optional for model test)

output:
 pls_pred struct with:
   Yp (samples x variables) predicted variables or
      (samples x classes) predicted classes for new samples
   Tp (samples x vl) x-scores for new samples

  For PLS-R:
   RMSEp (1 x variavles) Root Mean Square Error for prediction (only if 'y' is supplied)
   R2p (1 x variavles) Correlation Coefficient for prediction (only if 'y' is supplied)

  For PLS-DA:
   Sucp (1 x 1) Success (%) of classification for prediction (only if 'y' is supplied)

Required Products Statistics Toolbox
MATLAB release MATLAB 7.13 (2011b)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (1)
27 Oct 2011 Shatrughan

Please provide some example data set for this routine..Thanks !!

Please login to add a comment or rating.
Updates
09 Mar 2011

M-Files comments and warning about mean center of data.

12 Mar 2011

Options for PLS-DA was added.

15 Mar 2011

Updated file help

16 Mar 2011

Correlation coefficients changed from R to R2.

01 Jun 2011

Y-randomization test was added.

05 Sep 2011

Success of classification parameter was included for PLS-DA.

08 Sep 2011

Y-randomization routine was corrected.

18 Nov 2011

The Y-randomization test was corrected for multiple Y dataset.

22 Nov 2011

Calculation of studentized residuals was added.

07 Dec 2011

Studentized residuals function was improved

Tag Activity for this File
Tag Applied By Date/Time
chemometrics Cleiton Nunes 09 Mar 2011 10:35:35
pls Cleiton Nunes 09 Mar 2011 10:35:35
partial least squares Cleiton Nunes 09 Mar 2011 10:35:35
modeling Cleiton Nunes 09 Mar 2011 10:35:35
statistics Cleiton Nunes 09 Mar 2011 10:35:35
regression Cleiton Nunes 14 Mar 2011 09:44:00
classification Cleiton Nunes 14 Mar 2011 09:44:00

Contact us at files@mathworks.com