Linear and nonlinear regression
methods based on Partial Least Squares and Penalization
Techniques. Model parameters are selected via cross-validation,
and confidence intervals ans tests for the regression
coefficients can be conducted via jackknifing.
The method is described and applied to simulated and experimental
data in Kraemer et al. (2008)
This R package implements a flexible and powerful framework for penalized Partial Least Squares (PPLS), including:
lambda, ncomp),It is particularly suited for high-dimensional, structured, and nonlinear regression problems, such as functional data or spectral data.
We recommend to install the CRAN version for a stable version of ppls.
install.packages("ppls")
Alternatively, install the development version from GitHub with:
# install.packages("pak") ## If necessary, install "pak" beforehand
pak::pak("vguillemot/ppls")
The following is an example of how use ppls on the cookie dataset
included in the package:
library(ppls)
# Load cookie data
data(cookie)
X <- as.matrix(cookie$NIR)
y <- cookie$constituents$fat
# Fit a 2-component kernel PPLS
fit.kpls <- penalized.pls(
X = X, y = y,
kernel = TRUE,
ncomp = 2
)
# Predict on train data
yhat <- new.penalized.pls(ppls = fit.kpls, Xtest = X, ytest = y)$ypred
# Plot predicted vs observed
plot(yhat[,1], y, xlab = "Fitted", ylab = "Observed", pch = 16, asp = 1)
abline(0, 1, col = "blue", lty = 2)
Kraemer, N., Boulesteix, A.-L., & Tutz, G. (2008).
Penalized Partial Least Squares with Applications to B-Spline Transformations and Functional Data.
Chemometrics and Intelligent Laboratory Systems, 94(1), 60–69.
https://doi.org/10.1016/j.chemolab.2008.06.009