This function computes the Degrees of Freedom using the Krylov representation of PLS.
pls.dof(pls.object, n, y, K, m, DoF.max)
matrix of regression coefficients
vector of regression intercepts
Degrees of Freedom
vector of estimated model error
matrix of fitted values
vector of squared length of fitted values
vector of residual sum of error
matrix of normalized PLS components
object returned by linear.pls.fit
or by
kernel.pls.fit
number of observations
vector of response observations.
kernel matrix X X^t.
number of components
upper bound on the Degrees of Freedom.
Nicole Kraemer, Mikio L. Braun
This computation of the Degrees of Freedom is based on the equivalence of
PLS regression and the projection of the response vector y
onto the
Krylov space spanned by $$Ky,K^2 y,...,K^m y.$$ Details can be found in
Kraemer and Sugiyama (2011).
Kraemer, N., Sugiyama M. (2011). "The Degrees of Freedom of Partial Least Squares Regression". Journal of the American Statistical Association 106 (494) https://www.tandfonline.com/doi/abs/10.1198/jasa.2011.tm10107
Kraemer, N., Sugiyama M., Braun, M.L. (2009) "Lanczos Approximations for the Speedup of Kernel Partial Least Squares Regression." Proceedings of the Twelfth International Conference on Artificial Intelligence and Statistics (AISTATS), p. 272-279
pls.model
, pls.ic
# this is an internal function
Run the code above in your browser using DataLab