Partial least squares regression

Partial least squares (PLS) regression is a statistical method that bears some relation to principal components regression; instead of finding hyperplanes of maximum variance between the response and independent variables, it finds a linear regression model by projecting the predicted variables and the observable variables to a new space. Because both the X and Y data are projected to new spaces, the PLS family of methods are known as bilinear factor models. Partial least squares discriminant analysis (PLS-DA) is a variant used when the Y is categorical.

PLS is used to find the fundamental relations between two matrices (X and Y), i.e. a latent variable approach to modeling the covariance structures in these two spaces. A PLS model will try to find the multidimensional direction in the X space that explains the maximum multidimensional variance direction in the Y space. PLS regression is particularly suited when the matrix of predictors has more variables than observations, and when there is multicollinearity among X values. By contrast, standard regression will fail in these cases (unless it is regularized).

Partial least squares was introduced by the Swedish statistician Herman O. A. Wold, who then developed it with his son, Svante Wold. An alternative term for PLS is projection to latent structures, but the term partial least squares is still dominant in many areas. Although the original applications were in the social sciences, PLS regression is today most widely used in chemometrics and related areas. It is also used in bioinformatics, sensometrics, neuroscience, and anthropology.

Core idea
We are given a sample of $$n$$ paired observations $$(\vec{x}_i, \vec{y}_i), i \in {1,\ldots,n}$$. In the first step $$j=1$$, the partial least squares regression searches for the normalized direction $$\vec{p}_j$$, $$\vec{q}_j$$ that maximizes the covariance


 * $$\max_{\vec{p}_j, \vec{q}_j} \operatorname E [\underbrace{(\vec{p}_j\cdot \vec{X})}_{t_j} \underbrace{(\vec{q}_j\cdot \vec{Y})}_{u_j} ]. $$

Note below, the algorithm is denoted in matrix notation.

Underlying model
The general underlying model of multivariate PLS with $$l$$ components is


 * $$X = T P^\mathrm{T} + E$$
 * $$Y = U Q^\mathrm{T} + F$$

where
 * $X$ is an $$n \times m$$ matrix of predictors
 * $Y$ is an $$n \times p$$ matrix of responses
 * $T$ and $U$ are $$n \times \ell$$ matrices that are, respectively, projections of $X$ (the X score, component or factor matrix) and projections of $Y$ (the Y scores)
 * $P$ and $Q$ are, respectively, $$m \times \ell$$ and $$p \times \ell$$ loading matrices
 * and matrices $E$ and $F$ are the error terms, assumed to be independent and identically distributed random normal variables.

The decompositions of $X$ and $Y$ are made so as to maximise the covariance between $T$ and $U$.

Note that this covariance is defined pair by pair: the covariance of column i of $T$ (length n) with the column i of $U$ (length n) is maximized. Additionally, the covariance of the column i of $T$ with the column j of $U$ (with $$i \ne j$$) is zero.

In PLSR, the loadings are thus chosen so that the scores form an orthogonal basis. This is a major difference with PCA where orthogonality is imposed onto loadings (and not the scores).

Algorithms
A number of variants of PLS exist for estimating the factor and loading matrices $T, U, P$ and $Q$. Most of them construct estimates of the linear regression between $X$ and $Y$ as $$Y = X \tilde{B} + \tilde{B}_0$$. Some PLS algorithms are only appropriate for the case where $Y$ is a column vector, while others deal with the general case of a matrix $Y$. Algorithms also differ on whether they estimate the factor matrix $T$ as an orthogonal (that is, orthonormal) matrix or not. The final prediction will be the same for all these varieties of PLS, but the components will differ.

PLS is composed of iteratively repeating the following steps k times (for k components):
 * 1) finding the directions of maximal covariance in input and output space
 * 2) performing least squares regression on the input score
 * 3) deflating the input $$X$$ and/or target $$Y$$

PLS1
PLS1 is a widely used algorithm appropriate for the vector $Y$ case. It estimates $T$ as an orthonormal matrix. (Caution: the $t$ vectors in the code below may not be normalized appropriately; see talk.) In pseudocode it is expressed below (capital letters are matrices, lower case letters are vectors if they are superscripted and scalars if they are subscripted).

1 function PLS1($X, y, ℓ$) 2    $X^{(0)} \gets X$  3     $w^{(0)} \gets X^\mathrm{T} y/\, an initial estimate of $w$. 4    for $k = 0$ to $\ell-1$ 5        $t^{(k)} \gets X^{(k)}w^{(k)}$ 6        $t_k \gets {t^{(k)}}^\mathrm{T} t^{(k)}$ (note this is a scalar)|undefined 7        $t^{(k)} \gets t^{(k)} / t_k$ 8        $p^{(k)} \gets {X^{(k)}}^\mathrm{T} t^{(k)}$|undefined 9        $q_k \gets {y}^\mathrm{T} t^{(k)}$ (note this is a scalar) 10        if $q_k = 0$ 11            $\ell \gets k$, break the for loop 12        if $k < (\ell-1)$ 13            $X^{(k+1)} \gets X^{(k)} - t_k t^{(k)} {p^{(k)}}^\mathrm{T}$|undefined 14            $w^{(k+1)} \gets {X^{(k+1)}}^\mathrm{T} y $|undefined 15    end for 16    define $W$ to be the matrix with columns $w^{(0)},w^{(1)},\ldots,w^{(\ell-1)}$. Do the same to form the $P$ matrix and $q$ vector. 17    $B \gets W {(P^\mathrm{T} W)}^{-1} q$ 18     $B_0 \gets q_0 - {P^{(0)}}^\mathrm{T} B$|undefined 19    return $B, B_0$

This form of the algorithm does not require centering of the input $X$ and $Y$, as this is performed implicitly by the algorithm. This algorithm features 'deflation' of the matrix $X$ (subtraction of $$t_k t^{(k)} {p^{(k)}}^\mathrm{T}$$), but deflation of the vector $y$ is not performed, as it is not necessary (it can be proved that deflating $y$ yields the same results as not deflating ). The user-supplied variable $l$ is the limit on the number of latent factors in the regression; if it equals the rank of the matrix $X$, the algorithm will yield the least squares regression estimates for $B$ and $$B_0$$

OPLS
In 2002 a new method was published called orthogonal projections to latent structures (OPLS). In OPLS, continuous variable data is separated into predictive and uncorrelated (orthogonal) information. This leads to improved diagnostics, as well as more easily interpreted visualization. However, these changes only improve the interpretability, not the predictivity, of the PLS models. Similarly, OPLS-DA (Discriminant Analysis) may be applied when working with discrete variables, as in classification and biomarker studies.

The general underlying model of OPLS is


 * $$X = T P^\mathrm{T} +T_\text{Y-orth} P^\mathrm{T}_\text{Y-orth} + E$$
 * $$Y = U Q^\mathrm{T} + F$$

or in O2-PLS


 * $$X = T P^\mathrm{T} +T_\text{Y-orth} P^\mathrm{T}_\text{Y-orth} + E$$
 * $$Y = U Q^\mathrm{T} +U_\text{X-orth} Q^\mathrm{T}_\text{X-orth} + F$$

L-PLS
Another extension of PLS regression, named L-PLS for its L-shaped matrices, connects 3 related data blocks to improve predictability. In brief, a new Z matrix, with the same number of columns as the X matrix, is added to the PLS regression analysis and may be suitable for including additional background information on the interdependence of the predictor variables.

3PRF
In 2015 partial least squares was related to a procedure called the three-pass regression filter (3PRF). Supposing the number of observations and variables are large, the 3PRF (and hence PLS) is asymptotically normal for the "best" forecast implied by a linear latent factor model. In stock market data, PLS has been shown to provide accurate out-of-sample forecasts of returns and cash-flow growth.

Partial least squares SVD
A PLS version based on singular value decomposition (SVD) provides a memory efficient implementation that can be used to address high-dimensional problems, such as relating millions of genetic markers to thousands of imaging features in imaging genetics, on consumer-grade hardware.

PLS correlation
PLS correlation (PLSC) is another methodology related to PLS regression, which has been used in neuroimaging  and sport science, to quantify the strength of the relationship between data sets. Typically, PLSC divides the data into two blocks (sub-groups) each containing one or more variables, and then uses singular value decomposition (SVD) to establish the strength of any relationship (i.e. the amount of shared information) that might exist between the two component sub-groups. It does this by using SVD to determine the inertia (i.e. the sum of the singular values) of the covariance matrix of the sub-groups under consideration.