# Orthogonalizepls

### Purpose

Condenses y-variance into first component of a PLS model (similar to OPLS).

### Synopsis

- omodel = orthogonalizepls(model,x,y) %orthogonalize model
- omodel = orthogonalizepls(omodel,x) %calculate scores for applying omodel to x

### Description

(This feature is also available from the Analysis window *Tools* menu)

Produces an orthogonal PLS model which contains all the y-variance capturing direction in the first weight and loading. The predictions of the model are identical to the non-orthogonalized model but the loadings and weights have been rotated.

If no y-block information is passed, it is assumed that the model has already been orthogonalized and is being applied to the passed x-block data. In this case, only the new scores are calculated.

The first loading of the orthogonalized model is equivalent to the regression vector for data that has been filtered through the "orthogonal components" (loadings 2 through k of the model, where k is the total number of PLS components in the model). This first component is sometimes called the "OPLS regression vector" but this should not be confused with the regression vector stored in the orthogonalized model which is identical to the regression vector in the non-orthogonalized model. That regression vector is relative to the data prior to filtering by the orthogonal components.

This is shown schematically below in which the preprocessed input data, X, can either be projected onto the standard regression vector, obtaining the y-block estimates. Or it can be filtered with the orthogonal components, producing the filtered X, which can subsequently be projected onto the OPLS regression vector (a.k.a. loading 1) to obtain the y-block estimates - although both y-block estimates are identical. The advantage of the OPLS regression vector is nominally easier interpretation.

#### Inputs

**model**= Standard PLS model to orthogonalize OR orthogonalized model (if no y passed)**x**= Preprocessed x-block data. Preprocessed in the same way as is indicated in the model.

#### Optional Inputs

**y**= Preprocessed y-block data. If omitted, x is assumed to be NEW data to which the model is being applied. Otherwise, x and y are assumed to be the calibration data from which the model was created and model will be orthogonalized.

#### Outputs

**omodel**= Model with orthogonalized loadings and scores.