Compute the leave-one-out cross-validation score.
Arguments
- y
Matrix of set cases with dimension (
n
xm
), wheren
is the number of curves andm
are the points observed in each curve.- S
- W
Matrix of weights.
- trim
The alpha of the trimming.
- draw
=TRUE, draw the curves, the sample median and trimmed mean.
- metric
Metric function, by default
metric.lp
.- ...
Further arguments passed to or from other methods.
Details
A.-If trim=0
:
$$CV(h)=\frac{1}{n}
\sum_{i=1}^{n}{\Bigg(\frac{y_i-r_{i}(x_i)}{(1-S_{ii})}\Bigg)^{2}w(x_{i})}$$ \(S_{ii}\) is the ith diagonal element of the smoothing
matrix \(S\).
B.-If trim>0
:
$$CV(h)=\frac{1}{l}
\sum_{i=1}^{l}{\Bigg(\frac{y_i-r_{i}(x_i)}{(1-S_{ii})}\Bigg)^{2}w(x_{i})}$$ \(S_{ii}\)
is the ith diagonal element of the smoothing matrix \(S\) and l the
index of (1-trim)
curves with less error.
Author
Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@udc.es
Examples
if (FALSE) { # \dontrun{
data(tecator)
x<-tecator$absorp.fdata
np<-ncol(x)
tt<-1:np
S1 <- S.NW(tt,3,Ker.epa)
S2 <- S.LLR(tt,3,Ker.epa)
S3 <- S.NW(tt,5,Ker.epa)
S4 <- S.LLR(tt,5,Ker.epa)
cv1 <- CV.S(x, S1)
cv2 <- CV.S(x, S2)
cv3 <- CV.S(x, S3)
cv4 <- CV.S(x, S4)
cv5 <- CV.S(x, S4,trim=0.1,draw=TRUE)
cv1;cv2;cv3;cv4;cv5
S6 <- S.KNN(tt,1,Ker.unif,cv=TRUE)
S7 <- S.KNN(tt,5,Ker.unif,cv=TRUE)
cv6 <- CV.S(x, S6)
cv7 <- CV.S(x, S7)
cv6;cv7
} # }