This function computes the Degrees of Freedom using the Krylov representation of PLS.
pls.dof(pls.object,n,y,K,m,DoF.max)
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.
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
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
# NOT RUN {
# this is an internal function
# }
Run the code above in your browser using DataLab