Skip to contents

This function implements the External Parameter Orthogonalization (EPO) algorithm as proposed by Roger et al. (2003). The EPO algorithm aims to remove interferences or clutter present in the spectral matrix, effectively separating the signal of interest from unwanted perturbations.

Usage

epo(x, ncomp = 5)

Arguments

x

A numeric matrix, data frame or tibble.

ncomp

An integer specifying the number of singular vectors to orthogonalize against. If not provided, the default value is 2.

Value

The function returns a list of three components:

  • correction: The orthogonalized matrix, representing the signal of interest.

  • clutter: The clutter data matrix.

  • loadings: The singular vectors (loadings of the input data) used for the orthogonalization.

Details

The EPO algorithm works by detecting directions (singular vectors) in the spectral matrix that are affected by external variations. It then projects the spectral matrix onto the subspace orthogonal to these variations, effectively removing the unwanted perturbations and extracting the signal of interest.

Let \(\textbf{X}\) be the spectral matrix. The EPO algorithm aims to split \(\textbf{X}\) into:

$$\textbf{X} = \textbf{XP} + \textbf{XQ} + \textbf{R}$$

where \(\textbf{P}\) and \(\textbf{Q}\) are, respectively, the projection matrices of \(\textbf{X}\) onto the useful and perturbation (clutter) subspaces. \(\textbf{R}\) is the residual matrix.

References

  • Roger, J.-M., Chauchard, F., Bellon-Maurel, V. (2003). EPO-PLS external parameter orthogonalization of PLS application to temperature-independent measurement of sugar content of intact fruits. Chemometrics and Intelligent Laboratory Systems, 66(2):191-204.

Author

Christian L. Goueguel