Estoy asistiendo a un curso en estadística computacional, que debería ser un curso aplicado. Estudiar diferentes métodos, los cuales son importantes en la "realidad". Uno de estos temas es el de la Validación Cruzada. Estoy enfrentado con el siguiente problema que viene de una tarea. Se nos da un conjunto de datos y supongamos que el modelo es de la forma
$$ Y_i=m(X_i)+\epsilon_i $$
es decir, un test no paramétrico de regresión. Queremos calcular el error generalizado el uso de la licencia de una Validación Cruzada de puntuación. Esto debe hacerse mediante el uso de kernel estimador ksmooth
, local polinomios y splines de suavizado. Mi primera pregunta es muy general: la vista de los datos ¿cómo puedo elegir por el ojo de una razonable ancho de banda para el estimador de kernel? Véase, por ejemplo, la siguiente imagen:
Dado que estos datos se ve bastante "salvaje" es para mí no está claro cómo elegir un ancho de banda. Mi primer intento fue sólo para ejecutar ksmooth jugando con diferente ancho de banda. Pero como he dicho, aquí los datos es salvaje, por lo que es (para mí) es difícil determinar un ancho de banda razonable.
El segundo problema es más concreto sobre el problema descrito anteriormente. Hasta ahora tengo el siguiente código:
cv <- function(data,used.function)
{
n <- nrow(data)
cv.value <- rep(0,length(n))
for (i in 1:n){
new.data <- data[-i,]
cv.value[i] <- used.function(new.data[,1],new.data[,2],data[i,1])
}
## MSE
return(1/n*sum((new.data[,2]-cv.value)^2))
}
### kernel estimator usind nadaraya-watson:
fcn1 <- function(reg.x, reg.y, x){
return(ksmooth(reg.x, reg.y, x.point = x, kernel = "normal", bandwidth = h)$y)
}
### CV-score for kernel estimator:
(cv.nw <- cv(real.data, fcn1))
la función cv debe ser generales, que puedo aplicar local polinomios y smoothing spline. La variable real.de datos contiene los datos. Es una $n\times 2$ matriz en la cual se almacenan todas las $x$ valores y $y$ valores. En el cuerpo de la función de cv realizar un dejar uno fuera de la validación cruzada. Sin embargo el uso de este código concede para el cv.nw NA. Lo que está mal con mi código? Estoy muy agradecido por su ayuda.