d.spls.pls | R Documentation |
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.
d.spls.pls(X,y,ncp,verbose=TRUE)
X |
a numeric matrix of predictors values of dimension |
y |
a numeric vector or a one column matrix of responses. It represents the response variable for each observation. |
ncp |
a positive integer. |
verbose |
a Boolean value indicating whether or not to display the iterations steps. Default value is |
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.
A list
of the following attributes
Xmean |
the mean vector of the predictors matrix |
scores |
the matrix of dimension |
loadings |
the matrix of dimension |
Bhat |
the matrix of dimension |
intercept |
the vector of intercept values for each component. |
fitted.values |
the matrix of dimension |
residuals |
the matrix of dimension |
type |
a character specifying the Dual-SPLS norm used. In this case it is |
Louna Alsouki François Wahl
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.
### 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.