This function implements the Direct Orthogonalization (DO) algorithm, as proposed by Andersson (1999), to filter out variation from predictor variables, \(\textbf{X}\), that is orthogonal to the response variable(s), \(\textbf{Y}\).
Usage
direct_orthogonal(
x,
y,
ncomp = 2,
center = TRUE,
scale = FALSE,
max_iter = 10,
tol = 0.001
)
Arguments
- x
A matrix or data frame of the predictor variables
- y
A vector, matrix or data frame of the response variable(s)
- ncomp
An integer specifying the number of principal components to retain for orthogonal processing. Default is 2.
- center
A logical value specifying whether to center the data. Default is
TRUE
.- scale
A logical value specifying whether to scale the data. Default is
FALSE
.- max_iter
An integer representing the maximum number of iterations. The default value is 10.
- tol
A numeric value representing the tolerance for convergence. The default value is 1e-3.
Value
A list with the following components:
correction
: The corrected matrix.loading
: The loadings matrix.score
: The scores matrix.
Details
Contrary to the Orthogonal Signal Correction (OSC) algorithm, Wold et al. (1998), which uses inverse Partial Least Squares (PLS) regression to filter out the orthogonal signal, DO filters out the orthogonal signal directly by orthogonalization of the \(\textbf{X}\) matrix. Principal Components Analysis (PCA) is performed on the orthogonalized \(\textbf{X}\) to obtain the scores \(\textbf{T}\) and loadings \(\textbf{P}\) matrices. Direct Orthogonalization is typically simpler and faster than OSC.
References
Andersson, C.A., (1999). Direct orthogonalization. Chemometrics Intell. Lab. Syst., 47(1):51-63
Pierna, J.A.F., Massart, D.L., de Noord, O.E., Ricoux, P., (2001). Direct orthogonalization: some case studies. Chemometrics Intell. Lab. Syst., 55(1-2):101-108
Wold, S., Antti, H., Lindgren, F., Ohman, J. (1998). Orthogonal signal correction of near-infrared spectra. Chemometrics Intell. Lab. Syst., 44(1):175-185.