The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....


Unit: SDL_math2
Class: none
Declaration: procedure SimPLS (X0, Y0: TMatrix; NFact: integer; Standardize: boolean; var ScoreX, ScoreY, LoadX, LoadY, WgtX, OrthoLd: TMatrix; var varX, varY: TVector; var RegCoeffs: TMatrix);

The procedure SimPLS is the working horse for the class TPLSModel and implements the SIMPLS algorithm for partial least squares regression. For details see S. de Jong, "SIMPLS: an alternative approach to partial least squares regression", Chemometrics and Intelligent Laboratory Systems, 18:251-263.

When calling SimPLS the user has to provide the following parameters:

X0 the data matrix containing the independent variables
Y0 the data matrix containing the response variable(s)
NFact the number of factors used to estabplish the PLS model
Standardize a flag to control the scaling of the independent data
(TRUE = standardize data, FALSE = mean centered data)

After completion SimPLS returns the following results:

ScoreX, ScoreY the scores of the rotated X and Y space
LoadX, LoadY the loadings of the rotated X and Y space
WgtX the loading weights (see the paper of de Jong for details)
OrthoLd the orthogonal loadings
varX, varY the amount of explained variance in X and Y
RegCoeffs the final regression coefficients

SimPLS increments the global variable ProcStat  and calls the feedback routine MathFeedBackProc in order to allow feedback to the user during time consuming calculations. In total ProcStat is increased by 100. The SimPLS procedure can be terminated by setting the global variable AbortMathProc to TRUE.

Hint: While using SimPLS for special cases is perfectly OK, the "normal user" should rather use the class TPLSModel which is much more easier to apply and provides more features, including cross validation.

Last Update: 2023-Feb-06