d.spls.pls: Univariate Partial Least Squares regression

View source: R/d.spls.pls.R

d.spls.plsR Documentation

Univariate Partial Least Squares regression

Description

The function d.spls.pls performs the PLS1 dimensional reduction methodology using Wold's NIPALS algorithm. It is a Dual-SPLS regression with the norm

\Omega(w)=||w||_2.

Usage

d.spls.pls(X,y,ncp,verbose=TRUE)

Arguments

X

a numeric matrix of predictors values of dimension (n,p). Each row represents one observation and each column one predictor variable.

y

a numeric vector or a one column matrix of responses. It represents the response variable for each observation.

ncp

a positive integer. ncp is the number of Dual-SPLS components.

verbose

a Boolean value indicating whether or not to display the iterations steps. Default value is TRUE.

Details

The resulting solution for w and hence for the coefficients vector, in the PLS regression for one component is w=X^Ty. In order to compute the next components, a deflation step is performed only considering the parts of X that are orthogonal to the previous components.

Value

A list of the following attributes

Xmean

the mean vector of the predictors matrix X.

scores

the matrix of dimension (n,ncp) where n is the number of observations.The scores represents the observations in the new component basis computed by the compression step of the Dual-SPLS.

loadings

the matrix of dimension (p,ncp) that represents the Dual-SPLS components.

Bhat

the matrix of dimension (p,ncp) that regroups the regression coefficients for each component.

intercept

the vector of intercept values for each component.

fitted.values

the matrix of dimension (n,ncp) that represents the predicted values of y

residuals

the matrix of dimension (n,ncp) that represents the residuals corresponding to the difference between the responses and the fitted values.

type

a character specifying the Dual-SPLS norm used. In this case it is ridge.

Author(s)

Louna Alsouki François Wahl

References

H. Wold. Path Models with Latent Variables: The NIPALS Approach. In H.M. Blalock et al., editor, Quantitative Sociology: International Perspectives on Mathematical and Statistical Model Building, pages 307–357. Academic Press, 1975.

Examples

### load dual.spls library
library(dual.spls)
### constructing the simulated example
oldpar <- par(no.readonly = TRUE)
n <- 100
p <- 50
nondes <- 20
sigmaondes <- 0.5
data=d.spls.simulate(n=n,p=p,nondes=nondes,sigmaondes=sigmaondes)

X <- data$X
y <- data$y

#fitting the model
mod.dspls <- d.spls.pls(X=X,y=y,ncp=10,verbose=TRUE)

str(mod.dspls)

### plotting the observed values VS predicted values for 6 components
plot(y,mod.dspls$fitted.values[,6], xlab="Observed values", ylab="Predicted values",
 main="Observed VS Predicted for 6 components")
points(-1000:1000,-1000:1000,type='l')

### plotting the regression coefficients
par(mfrow=c(3,1))

i=6
plot(1:dim(X)[2],mod.dspls$Bhat[,i],type='l',
    main=paste(" PLS , ncp =", i),
    ylab='',xlab='' )
par(oldpar)


dual.spls documentation built on April 19, 2023, 1:07 a.m.