


k<-function(x){     #kernel
return((1/sqrt(2*pi))*exp(-x^2/2))
}

nw<-function(t,x,y,h){#Nadaraya-Watson
    txh<-outer(t,x,"-")/h     #Da todas las restas t-x
    ktxh<-k(txh)              #Hace k de la matriz
    L<-ktxh/apply(ktxh,1,sum) #da una matriz donde las filas suman uno
                        #divido cada fila por cada fila 
    return(L%*%y)}
    


matrizLNW<-function(x,h){
    #usamos nw para calcukar matriz L
    txh<-outer(x,x,"-")/h     #Da todas las restas t-x
    ktxh<-k(txh)              #Hace k de la matriz
    L<-ktxh/apply(ktxh,1,sum) 
    return(L)
}


CV<-function(x,y,h){
    L=matrizLNW(x,h)
    mgorro=L%*%y
    mean((y-mgorro)^2/(1-diag(L))^2)
}

library(MASS)
plot(mcycle)
x=mcycle$times
y=mcycle$accel
mgorro=nw(x,x,y,3)#h=3
points(x,mgorro,type="l",col="red",lwd=5)
