Regresion No Parametrica en R
Regresion No Parametrica en R
Regresion No Parametrica en R
NO PARAMETRICA
EN R
Trabajo Fin de Master
Master en Estadstica Aplicada
Indice general
Pr
ologo
1. Introducci
on
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . .
1.2. Estimacion del modelo de Regresion No Parametrica
1.3. Regresion Polinomial Local . . . . . . . . . . . . . . .
1.4. Metodos de seleccion de la complejidad del modelo .
1.5. Extension multivariante . . . . . . . . . . . . . . . .
1.5.1. El problema de la dimensionalidad . . . . . .
1.5.2. Modelos aditivos no parametricos . . . . . . .
1.6. Seleccion del parametro ancho de banda . . . . . . .
2. Software disponible en R
2.1. Introduccion . . . . . . .
2.2. Libro KernSmooth . . . .
2.3. Libro Locpol . . . . . . .
2.4. Libro Locfit . . . . . . .
2.5. Libro sm . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
10
13
14
16
16
17
.
.
.
.
.
19
19
20
30
63
68
3. Aplicaci
on pr
actica
87
3.1. Estudio con datos reales . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.2. Estudio con datos simulados . . . . . . . . . . . . . . . . . . . . . . . 94
Bibliografa
99
iii
Pr
ologo
Dado el rapido avance que ha experimentado la Estadstica Computacional en
las u
ltimas decadas, hoy en da podemos agradecerle el desarrollo de diversos campos dentro de la Estadstica, que eran impensables dado que requeran costosos
procedimientos de calculo. Un ejemplo de este tipo lo constituyen los enfoques no
parametricos del Analisis de Regresion.
Las tecnicas de Regresion No Parametrica logran una mejor adaptacion a los
datos disponibles, mediante la obtencion de estimaciones mas proximas a la curva
de regresion subyacente. Esto es posible usando la informacion suministrada directamente desde los datos, sin formular rgidos modelos parametricos.
En este trabajo nuestro objetivo ha sido el de explorar las tecnicas de regresion
no parametrica mas habituales y las capacidades que R incorpora actualmente para
su aplicacion practica. En este sentido el trabajo se ha estructurado en tres captulos.
El primero tiene como finalidad establecer los elementos teoricos fundamentales de
la regresion no parametrica, desde la propia formulacion del modelo. De este modo
para un problema general de regresion se definen dos vas se solucion. Una sera la
regresion parametrica o clasica que presenta la ventaja de ser mas sencilla y menos
costosa desde el punto de vista computacional, pero que suele ser muy poco flexible
y de difcil adaptacion en situaciones complejas. Paralelamente y no necesariamente
en contraposicion (puesto que ambas pueden ir de la mano) la denominada regresion
no parametrica. De esta u
ltima destacamos fundamentalmente su flexibilidad, ya que
permite una mejor adaptacion a diversas situaciones y problemas, si bien requiere
de un elevado coste computacional y una mayor complejidad desde el punto de vista
teorico.
Una vez definido el contexto general y establecidas las caractersticas particulares
que perfilan el problema de regresion no parametrica frente a los planteamientos
clasicos parametricos, se procede a analizar algunas de las mas relevantes tecnicas de
este tipo. El tratamiento que se ha hecho de dichos metodos en este trabajo, ha sido
dirigido fundamentalmente hacia la practica y concreto la practica con el software
R. De este modo no se ha profundizado en aspectos teoricos de complejidad como
son los estudios de tipo asintotico. Bajo tal perspectiva se han explorado metodos
univariantes y multivariantes, perfilandose los denominados metodos de regresion
polinomial local como una buena solucion, dadas sus buenas propiedades teoricas y
1
PROLOGO
INDICE GENERAL
INDICE GENERAL
Captulo 1
Introducci
on
1.1.
Antecedentes
i = 1, . . . , n,
(1.1)
donde
los residuos i son variables aleatorias independientes (vv.aa.ii.) con media
cero y varianza 2 (Xi ),
y la funcion m es desconocida y se define como la funcion de regresion, m(x) =
E[Y |X = x].
Un planteamiento tal corresponde a un modelo de regresion de tipo univariante,
esto es, con tan solo una variable explicativa, basado en un dise
no aleatorio, donde
las observaciones constituyen una muestra aleatoria de la poblacion (X,Y). Ademas,
estamos considerando una situacion general de heterocedasticidad, es decir, las
varianzas de los errores se suponen distintas.
Con tal planteamiento el interes se centra principalmente en los tres objetivos
siguientes:
1. Explorar y representar la relacion existente entre la variable explicativa, X, y
la variable Y .
2. Predecir el comportamiento de Y para valores de la variable X a
un no observados.
5
CAP
ITULO 1. INTRODUCCION
1.2.
Estimaci
on del modelo de Regresi
on No Param
etrica
1.2. ESTIMACION
CAP
ITULO 1. INTRODUCCION
Como podemos observar en este grafico (Figura 1.1), en primer lugar hemos
definido unas bandas centradas en los puntos x = 25 y x = 30 con un ancho h en
cada una de ellos. Y despues, hemos estimado las curvas de regresion en cada uno
de los puntos utilizando solamente las observaciones que caen dentro de cada una
de las bandas.
Por tanto, siguiendo esta idea se han desarrollado diversas tecnicas, entre las que
destacaremos estos cuatro tipos:
1. Estimadores tipo n
ucleo: realizan un promedio de las observaciones que
caen en cada banda. Se definen como:
c(x) =
m
n
X
Wi (x)Yi
i=1
donde:
Xi x
Wi (x)
= n1 h1 k
h
2. Regresi
on Polinomial Local: realiza un ajuste polinomial con las observaciones que caen en la banda. Se define como:
mn
n
X
i=1
Y
i
p
X
j=0
j (Xi x)j h1 k
Xi x
h
(Cleveland, 1979)
min n1
n
X
i=1
{m(Xi ) Yi }2 +
1.2. ESTIMACION
cN (x) =
m
N
X
j=1
bj qj (x)
donde:
bj = n1
n
X
qj (Xi )Yi
i=1
10
CAP
ITULO 1. INTRODUCCION
1.3.
Regresi
on Polinomial Local
m (x0 )
m(p) (x0 )
(x x0 )2 + ... +
(x x0 )p
2!
p!
Luego, esto justifica que se puede aproximar localmente m por funciones polin
omicas de grado p.
Pp (x) =
p
X
j (x x0 )j
j=0
min
n
X
Yi
i=1
donde:
p
X
j=0
j (Xi x0 )j kh (Xi x0 )
11
POLINOMIAL LOCAL
1.3. REGRESION
15
(1
16
u2 )2 1|u|1
12
CAP
ITULO 1. INTRODUCCION
dh (x0 )) = EY /X (m
dh (x0 ) m(x0 ))2
MSE(m
Z
dh (x) m(x))2 dx
(m
o2
dh (x0 )) = EY /X [m
dh (x0 )] m(x0 )
M SE(m
|
{z
sesgo2
dh (x0 ))
+ V arY /X (m
|
{z
varianza
DE LA COMPLEJIDAD DEL MODELO
1.4. METODOS
DE SELECCION
1.4.
13
M
etodos de selecci
on de la complejidad del
modelo
A) M
etodos Plug-in
La idea que subyace en este tipo de tecnicas es que a partir de la expresion
optima teorica del ancho de banda, se proponen estimadores de lo desconocido
que se incrustaran en dicha expresion teorica. No obstante, aunque estos procedimientos comparten una misma filosofa, podemos hacer una clasificacion
de los mismos en dos categoras:
- Plug-in Asint
otico:
Parte de expresiones asintoticas teoricas del error (MSE o MISE) y estima
lo desconocido. Y uno de los inconvenientes que tiene es que es necesario
realizar hipotesis bastante restrictivas sobre la funcion de regresion desconocida, lo cual limita su campo de aplicacion en la practica. Ademas,
es valida para tama
nos muestrales grandes porque en caso, de tama
nos
muestrales peque
nos dicho procedimiento no es efectivo.
- Plug-in no Asint
otico:
Debido al problema que presenta el plug-in asintotico en muestras peque
nas,
se toma como punto de partida expresiones desarrolladas de los errores
teoricos de naturaleza no asintotica, incrustando en ellas las estimaciones
propuestas para los terminos desconocidos. Por otro lado, dependiendo
de si utilizan iteraciones para llegar a la soluci
on
optima, se pueden
distinguir entre:
- Plug-in iterativo:
A
naden una sucesion de iteraciones con el fin de conseguir una progresiva
mejora del ancho de banda. Su inconveniente es que aumenta el coste
computacional.
- Plug-in no iterativo
o directo:
Son los que no utilizan iteraciones para la obtencion del selector del
parametro.
B) Otros m
etodos de selecci
on autom
atica basados en los datos:
Se basan en la minimizacion de criterios de error relacionados con con los
anteriores MSE y MISE pero conocidos, como es la suma residual de cuadrados
para obtener la seleccion del parametro. Ademas, dentro del mismo destacamos
algunas de las elecciones mas habituales, como son:
14
CAP
ITULO 1. INTRODUCCION
1.5.
Extensi
on multivariante
(1.2)
donde la funcion (x) = V ar[Y |X = x] es finita, y los residuos, i , son variables independientes e identicamente distribuidas, con media cero, varianza 2 (Xi )
y son independientes de los vectores aleatorios, Xi . La funcion de regresion, m(x) =
E[Y |X = x], con x = (x1 , . . . , xD )T .
El modelo de regresion lineal multivariante supone que la relacion entre la variable de respuesta Y y cada una de las variables independientes es lineal. A veces,
es evidente que esta relacion no es lineal, por lo que hay que considerar modelos
que sean mas flexibles. Las tecnicas de regresion no parametricas responden a esta
flexibilidad ya que no imponen condiciones sobre la forma de la funcion D-variante,
m(x).
En esta situacion, los estimadores mas comunes para m(x) son versiones multivariantes de los estimadores tipo n
ucleo (como los polinomiales locales descritos
anteriormente) o splines de suavizamiento. Ruppert y Wand (1994) introducen la
extension multivariante del estimador polinomial local. A continuacion describimos
el estimador polinomial local para el caso general de grado p y D > 1. Consideramos
el siguiente problema de mnimos cuadrados ponderados:
15
MULTIVARIANTE
1.5. EXTENSION
mn
n
X
Yi
i=1
p
X
l1 ,...,ld
D
Y
j=1
L=1 l1 +...+ld =L
donde: = {l1 ,...,lD : l1 + . . . + lD = L} y L = {0, . . . , p} es un vector de coeficientes, H es una matriz de dimension D D simetrica, definida positiva; K() es
una funcion n
ucleo no negativa D-variante y KH (u) = |H|1/2 K(H 1/2 u).
A la matriz H se le denomina matriz ancho de banda, dado que es la extension
multivariante del parametro ancho de banda univariante. Si denotamos por bj , j =
0, . . . , p, a las soluciones del problema anterior entonces, usando el desarrollo de
Taylor, el estimador polinomico local vendra dado por la primera de ellas, esto es:
cp (x) = b0,...,0
m
1
XTx Wx,H Y
.
..
..
...
Xx =
.
.
..
1 (Xn x)T ((Xn x)p )T
y
Wx,H = diag {KH (X1 x), . . . , KH (Xn x)}
Casos particulares:
p = 0, este coincide con la version multivariante del estimador n
ucleo de
Nadaraya-Watson:
Pn
KH (Xi x)Yi
i=1 KH (Xi x)
i=1
c0 (x) = P
m
n
16
CAP
ITULO 1. INTRODUCCION
1.5.1.
1
XTx Wx,H Y
El problema de la dimensionalidad
1.5.2.
17
DEL PARAMETRO
1.6. SELECCION
ANCHO DE BANDA
1.6.
Selecci
on del par
ametro ancho de banda
18
CAP
ITULO 1. INTRODUCCION
Captulo 2
Software disponible en R
2.1.
Introducci
on
20
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
en el captulo primero.
Hemos de destacar que todo el trabajo aqui desarrollado esta sujeto a la necesaria
y continua actualizacion, dado el rapido avance en esta materia computacional. En
este sentido los libros descritos se ha actualizado solo en la fecha que se indica en
sus correspondientes apartados.
2.2.
Libro KernSmooth
Funci
on bkde
Descripci
on: devuelve las coordenadas x e y de un Binned estimado de la
densidad del n
ucleo para la funcion de probabilidad de los datos.
Funci
on:
bkde(x, kernel = "normal", canonical = FALSE, bandwidth,
gridsize = 401L, range.x, truncate = TRUE)
donde:
El n
ucleo kernel puede ser: normal, box (rectangular), epanech (Beta(2,2)),
biweight (Beta(3,3)), triweight (Beta(3,3)).
Valor devuelto por la funci
on: esta funcion devuelve un grafico de la funcion
de probabilidad.
Ejemplo de uso:
> data(geyser, package="MASS")
> x <- geyser$duration
21
0.3
0.0
0.1
0.2
est$y
0.4
0.5
est$x
Funci
on bkde2D
Descripci
on: devuelve la red de puntos y la matriz de densidad estimada inducida. El n
ucleo es la densidad normal bivariada.
Funci
on:
bkde2D(x, bandwidth, gridsize = c(51L, 51L), range.x, truncate = TRUE)
Valor devuelto por la funci
on: esta funcion devuelve dos graficos, el primero
es el contorno de las variables x1 y x2 y las estimaciones de fb. Y el segundo grafico,
es la perpestiva de las estimaciones de fb.
Ejemplo de uso:
> data(geyser, package="MASS")
> x <- cbind(geyser$duration, geyser$waiting)
22
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
100
120
0.001
0.003
0.007
80
0.006
0.006
0.004
60
0.002
0.007
40
0.005
Z
est$fhat
Funci
on bkfe
Descripci
on: calcula una estimacion aproximada (binned ) para la estimacion
tipo n
ucleo de una funcion de densidad. El n
ucleo es la densidad normal estandar.
23
Funci
on:
bkfe(x, drv, bandwidth, gridsize = 401L, range.x, binned = FALSE,
truncate = TRUE)
donde:
El drv: es el orden de la derivada en la funcion de densidad.
Valor devuelto por la funci
on: esta funcion lo que nos devuelve es un valor
aproximado de la estimacion de la densidad.
Ejemplo de uso:
>
>
>
>
data(geyser, package="MASS")
x <- geyser$duration
est <- bkfe(x, drv=4, bandwidth=0.3)
est
[1] 33.04156
Funci
on dpih
Descripci
on: Se utiliza directamente el metodo plug-in para seleccionar el tama
no
del bin de un estimador de tipo histograma.
NOTA: Plug-in puede ser asintotico y no asintotico, y si se usa iteraciones para
llegar a la solucion optima pueden ser plug-in iterativo y plug-in no iterativo (directo).
Funci
on:
dpih(x, scalest = "minim", level = 2L, gridsize = 401L,
range.x = range(x), truncate = TRUE)
donde:
El minim es el mnimo de la desviacion tpica estandar (stdev ) y del rango
intercuartilico (iqr ) dividido por 1349.
24
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
data(geyser, package="MASS")
x <- geyser$duration
h <- dpih(x)
bins <- seq(min(x)-0.1, max(x)+0.1+h, by=h)
hist(x, breaks=bins)
1.1510096
2.6128767
4.0747438
5.5366110
30
20
Frequency
40
50
60
Histogram of x
10
0.7333333
2.1952004
3.6570675
5.1189346
[1]
[8]
[15]
[22]
25
Funci
on dpik
Descripci
on: Se utiliza directamente el metodo plug-in para seleccionar el ancho
de banda de la densidad estimada tipo n
ucleo.
Funci
on:
dpik(x, scalest = "minim", level = 2L, kernel = "normal",
canonical = FALSE, gridsize = 401L, range.x = range(x),
truncate = TRUE)
donde:
El minim es el mnimo de la desviacion tpica estandar, stdev y del rango
intercuartlico, iqr dividido por 1.349.
Valor devuelto por la funci
on: esta funcion devuelve el valor del ancho de
banda y despues, lo utiliza con la funcion bkde para calcular los bins estimados de la
densidad del n
ucleo para finalmente representarlos graficamente dicha estimacion.
Ejemplo de uso:
>
>
>
>
data(geyser, package="MASS")
x <- geyser$duration
h <- dpik(x)
h
[1] 0.1434183
> est <- bkde(x, bandwidth=h)
> plot(est,type="l")
26
0.4
0.0
0.2
est$y
0.6
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
est$x
Funci
on dpill
Descripci
on: Se utiliza el metodo plug-in para la seleccion del ancho de banda
de un estimador lineal local con n
ucleo gaussiano, descrito por Ruppert, Sheather y
Wand (1995).
Funci
on:
dpill(x, y, blockmax = 5, divisor = 20, trim = 0.01, proptrun = 0.05,
gridsize = 401L, range.x, truncate = TRUE)
donde:
El blockmax es el n
umero maximo de bloques de los datos para la construccion
de un parametro inicial estimado.
El trim es la proporcion de la muestra de cada uno de los extremos recortados
en la direccion x antes de aplicar el metodo plug-in.
El proptrun es la proporcion de la serie de x en cada extremo truncado en la
funcion estimada.
27
[1] 0.2342897
50
60
70
80
90
100
110
28
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
Funci
on locpoly
Descripci
on: Estima una funcion de densidad de probabilidad, una funcion de
regresion o sus derivadas utilizando polinomios locales.
Funci
on:
locpoly(x, y, drv = 0L, degree, kernel = "normal",
bandwidth, gridsize = 401L, bwdisc = 25,
range.x, binned = FALSE, truncate = TRUE)
donde:
El drv es el orden de la derivada para ser estimada.
El bwdisc es el n
umero de anchos de banda equiespaciados logaritmicamente
utilizados para acelerar el calculo.
29
0.3
0.0
0.1
0.2
est$y
0.4
0.5
est$x
50
60
70
80
90
100
110
30
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
2.3.
Libro Locpol
Funci
on compKernVals
Descripci
on: permiten calcular valores u
tiles relacionados con el n
ucleo.
Funciones:
computeRK(kernel, lower=dom(kernel)[[1]], upper=dom(kernel)[[2]],
subdivisions = 25)
computeK4(kernel, lower=dom(kernel)[[1]], upper=dom(kernel)[[2]],
subdivisions = 25)
computeMu(i, kernel, lower=dom(kernel)[[1]], upper=dom(kernel)[[2]],
subdivisions = 25)
computeMu0(kernel, lower=dom(kernel)[[1]], upper=dom(kernel)[[2]],
subdivisions = 25)
Kconvol(kernel,lower=dom(kernel)[[1]],upper=dom(kernel)[[2]],
subdivisions = 25)
donde:
lower, upper: son los lmites de integracion inferior y superior.
Valor devuelto por las funciones: estas funciones devuelven un valor numerico
que son del tipo:
computeK4 : es el cuarto fin de autoconvolucion de K.
computeRK : es el segundo fin de autoconvolucion de K.
31
computeMu0 : es el integrante de K.
computeMu2 : es el segundo momento de orden K.
computeMu: es el i-esimo momento de orden K.
Kconvol : es la autoconvolucion de K.
Ejemplo de uso:
>
+
+
+
+
+
+
+
+
+
+
+
>
g <- function(kernels)
{
mu0 <- sapply(kernels,function(x) computeMu0(x,))
mu0.ok <- sapply(kernels,mu0K)
mu2 <- sapply(kernels,function(x) computeMu(2,x))
mu2.ok <- sapply(kernels,mu2K)
Rk.ok <- sapply(kernels,RK)
RK <- sapply(kernels,function(x) computeRK(x))
K4 <- sapply(kernels,function(x) computeK4(x))
res <- data.frame(mu0,mu0.ok,mu2,mu2.ok,RK,Rk.ok,K4)
res
}
g(kernels=c(EpaK,gaussK,TriweigK,TrianK))
1
2
3
4
mu0 mu0.ok
mu2
mu2.ok
RK
Rk.ok
1
1 0.2000000 0.200000 0.6000000 0.6000000
1
1 1.0000000 1.000000 0.2820948 0.2820948
1
1 0.1111111 0.111111 0.8158508 0.8158510
1
1 0.1666667 0.166667 0.6666667 0.6666670
K4
0.4337657
0.1994711
0.5879019
0.4793655
32
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
attr(,"mu0K")
[1] 1
attr(,"mu2K")
[1] 0.2
attr(,"K4")
[1] 0.4337657
attr(,"dom")
[1] -1 1
> gaussK
function (x)
dnorm(x, 0, 1)
attr(,"RK")
[1] 0.2820948
attr(,"RdK")
[1] 0.1410474
attr(,"mu0K")
[1] 1
attr(,"mu2K")
[1] 1
attr(,"K4")
[1] 0.1994711
attr(,"dom")
[1] -Inf Inf
> TriweigK
function (x)
ifelse(abs(x) <= 1, 35/32 * (1 - x^2)^3, 0)
attr(,"RK")
[1] 0.815851
attr(,"RdK")
[1] 3.18182
attr(,"mu0K")
[1] 1
attr(,"mu2K")
[1] 0.111111
attr(,"K4")
[1] 0.5879012
attr(,"dom")
[1] -1
33
> TrianK
function (x)
ifelse(abs(x) <= 1, (1 - abs(x)), 0)
attr(,"RK")
[1] 0.666667
attr(,"RdK")
[1] 2
attr(,"mu0K")
[1] 1
attr(,"mu2K")
[1] 0.166667
attr(,"K4")
[1] 0.4793729
attr(,"dom")
[1] -1 1
Funci
on denCVBwSelC
Descripci
on: calcula el selector mediante validacion cruzada del ancho de banda
para el estimador de la densidad de Parsen-Rosenblatt.
Funci
on:
denCVBwSelC(x, kernel = gaussK, weig = rep(1, length(x)),
interval = .lokestOptInt)
donde:
weig: es un vector de pesos para las observaciones.
Valor devuelto por la funci
on: esta funcion devuelve un valor numerico con
el ancho de banda.
Ejemplo de uso:
> stdy <- function(size=100,rVar=rnorm,dVar=dnorm,kernel=gaussK,x=NULL)
+ {
34
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
> stdy(100,kernel=gaussK)
bwVal
mse time
evalC 0.1806189 0.5476062 6.92
ucvBw 0.1846771 0.5474982 0.06
nrdBw 0.3460004 0.5448560 0.01
> stdy(100,rVar=rexp,dVar=dexp,kernel=gaussK)
bwVal
mse time
evalC 0.1197885 4.646692 7.59
ucvBw 0.1209562 4.646678 0.00
nrdBw 0.3183121 4.647766 0.00
> stdy(200,rVar=rexp,dVar=dexp,kernel=gaussK)
35
bwVal
mse time
evalC 0.06563341 8.532414 33.04
ucvBw 0.06655133 8.532399 0.01
nrdBw 0.28667317 8.533728 0.00
## check stdy with other kernel, distributions
0.0
0.1
0.2
Density
0.3
0.4
0.5
Histogram of x
0.4
0.0
0.2
Density
0.6
0.8
Histogram of x
36
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
0.4
0.3
0.0
0.1
0.2
Density
0.5
0.6
Histogram of x
Funci
on equivKernel
Descripci
on: calcula el n
ucleo equivalente asociado a la estimacion polinomica
local de la funcion de regresion o sus derivadas.
Funci
on:
equivKernel(kernel,nu,deg,lower=dom(kernel)[[1]],upper=dom(kernel)[[2]],
subdivisions=25)
donde:
nu: es el orden de derivadas a estimar.
Valor devuelto por la funci
on: esta funcion devuelve un vector cuyas componentes son el n
ucleo equivalente utilizado para calcular el estimador polinomial
local de las derivadas de la funcion de regresion.
Ejemplo de uso:
>
>
>
>
curve(EpaK(x),-3,3,ylim=c(-.5,1))
f <- equivKernel(EpaK,0,3)
curve(f(x),-3,3,add=TRUE,col="blue")
curve(gaussK(x),-3,3,add=TRUE)
37
0.5
0.0
EpaK(x)
0.5
1.0
curve(EpaK(x),-3,3,ylim=c(-.5,1))
for(p in 1:5){
curve(equivKernel(gaussK,0,p)(x),-3,3,add=TRUE)
}
0.0
EpaK(x)
0.5
1.0
0.5
>
>
+
+
38
0.5
0.0
EpaK(x)
0.5
1.0
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
0.5
0.0
EpaK(x)
0.5
1.0
39
Funci
on KernelChars
Descripci
on: para un determinado n
ucleo devuelve algunos de los valores numericos mas com
unmente utilizados para funciones relacionadas con ellos.
Funciones: aqu tenemos las mismas que en el punto 2.2.1.
-- RK(K)
-- RdK(K)
-- mu2K(K)
-- mu0K(K)
-- K4(K)
-- dom(K)
Valor devuelto por las funciones: estas funciones devuelven un valor numerico.
Ejemplo de uso:
>
+
+
+
+
+
+
+
+
+
+
+
>
g <- function(kernels)
{
mu0 <- sapply(kernels,function(x) computeMu0(x,))
mu0.ok <- sapply(kernels,mu0K)
mu2 <- sapply(kernels,function(x) computeMu(2,x))
mu2.ok <- sapply(kernels,mu2K)
Rk.ok <- sapply(kernels,RK)
RK <- sapply(kernels,function(x) computeRK(x))
K4 <- sapply(kernels,function(x) computeK4(x))
res <- data.frame(mu0,mu0.ok,mu2,mu2.ok,RK,Rk.ok,K4)
res
}
g(kernels=c(EpaK,gaussK,TriweigK,TrianK))
1
2
mu0 mu0.ok
mu2
mu2.ok
RK
Rk.ok
K4
1
1 0.2000000 0.200000 0.6000000 0.6000000 0.4337657
1
1 1.0000000 1.000000 0.2820948 0.2820948 0.1994711
40
3
4
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
1
1
Funci
on kernelCte
Descripci
on: estos son los valores en funcion del n
ucleo y del grado del polinomio local que se utilizan en la seleccion del ancho de banda, tal como se propone
en Fan y Gijbels, 1996.
Funciones:
cteNuK(nu,p,kernel,lower=dom(kernel)[[1]],upper=dom(kernel)[[2]],
subdivisions= 25)
adjNuK(nu,p,kernel,lower=dom(kernel)[[1]],upper=dom(kernel)[[2]],
subdivisions= 25)
donde:
p: es el grado del polinomio local a estimar.
Valor devuelto por las funciones: ambas funciones devuelven valores numericos.
Funci
on Kernels
Descripci
on: definicion de los n
ucleos utilizados en la estimacion polinomial
local.
Funciones:
------
CosK(x)
EpaK(x)
Epa2K(x)
gaussK(x)
...
41
Funci
on locCteWeights
Descripci
on: pesos asociados al estimador polinomial local de grado cero (o
grado uno, locLinWeightsC.
Funciones:
locCteWeightsC(x, xeval, bw, kernel, weig = rep(1, length(x)))
locLinWeightsC(x, xeval, bw, kernel, weig = rep(1, length(x)))
locWeightsEval(lpweig, y)
locWeightsEvalC(lpweig, y)
donde:
xeval: es un vector con los puntos de evaluacion de los pesos.
lpweig: son pesos (X T W X) 1X T W evaluados en la matriz xeval.
Valor devuelto por las funciones:
locCteWeightsC y locLinWeightsC devuelven una lista con dos componentes
que son:
den : estimacion de (n bw f (x))p + 1.
locWeig : (X T W X) 1X T W evaluado en la matriz xeval.
locWeightsEvalC y locWeightsEval devuelven un vector con la estimacion. Y
realizan el producto matricial entre locWeig y y, para obtener la estimacion
dada por los puntos de xeval.
Ejemplo de uso:
> size <- 200
> sigma <- 0.25
42
>
>
>
>
>
>
>
>
>
>
>
>
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
deg <- 1
kernel <- EpaK
bw <- .25
xeval <- 0:100/100
regFun <- function(x) x^3
x <- runif(size)
y <- regFun(x) + rnorm(x, sd = sigma)
d <- data.frame(x, y)
lcw <- locCteWeightsC(d$x, xeval, bw, kernel)$locWeig
lce <- locWeightsEval(lcw, y)
lceB <- locCteSmootherC(d$x, d$y, xeval, bw, kernel)$beta0
mean((lce-lceB)^2)
[1] 1.582489e-32
>
>
>
>
[1] 5.319263e-32
Funci
on locpol (caso 1)
Descripci
on: formula para el calculo asociado la estimacion polinomial local.
Funci
on:
locpol(formula,data,weig=rep(1,nrow(data)),bw=NULL,kernel=EpaK,deg=1,
xeval=NULL,xevalLen=100)
confInterval(x)
## S3 method for class locpol:
residuals(object,...)
## S3 method for class locpol:
fitted(object,deg=0,...)
## S3 method for class locpol:
43
summary(object,...)
## S3 method for class locpol:
print(x,...)
## S3 method for class locpol:
plot(x,...)
donde:
xevalLen: es la longitud de xeval si este no se especifica.
Valor devuelto por la funci
on: devuelve una lista que contiene entre otros
componentes los siguientes:
mf: modelo de marco para los datos y la formula.
data: hoja de datos con datos.
weig: vector de pesos para cada observaciones.
xeval: vector de puntos de evaluacion.
bw: suavizado de parametros, ancho de banda.
kernel: n
ucleo usado, ver n
ucleos.
kName: nombre del n
ucleo, una cadena con el nombre del n
ucleo.
deg: estimacion del grado (p) del polinomio local.
X,Y: nombre de los datos de la respuesta y de la covarianza. Tambien, se
utilizan en lpF it para el nombre de los datos ajustados.
residuals: residuos del polinomio local ajustado.
lpFit: hoja de datos con el ajuste polinomico local, que contiene la covariable,
la respuesta, la derivada estimada, la densidad estimada X y la estimacion de
la varianza.
44
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
Ejemplo de uso:
1.1
+
+
+
+
++
++
+
1.0
+
++
+
+
+
+
+
+
+ +
+
0.9
++
+
++
+
+
+
+
+
0.8
+ +
+
+ +
+
+
+
++
+
+
+
+
+ +
+
+
+ +
+
+ ++ +
++
+
+ +
+
+
+ ++
++ + +
+
+
0.6
+
+
+
+
+
++
+
++
+
+
++
+
+
+
+
+
+
+
+
+++
++
+
+
++
+
++ + +
+
+
++
++
+
++ +
++
+
+
+
+
+
+
+
+
++
++
+
+
+
+ +
+
++ + +
+
+
+
++
+
+
+ +
++
+
++
+ +
++
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
++
+
+ +
+
+
+
+ +
0.7
+
+
+
+++
++
+
+
++
+
+
+
0.5
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
0.0
0.2
0.4
0.6
0.8
1.0
45
1.4
1.2
++
+
+
+
+
+
+
+ +
++
1.0
0.8
+
+
+
+
+
+
+
++
+
+
++
+
+
+ +
+ +
+
+
+ +
+
+
+ + +
+
+
+
+
+ +
+ ++
++
+ + +
+ + ++ +
++ +
+
+
+
++
+
+
+
+
+
+ ++
+
++
+ +
+ +
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
++
++
+
+
+
+
+ +
+ +
++
+
+
+
+
+
+
+ ++
+
+
+
+
+
++
+
+ +
+ +
++
+
+
+ +
+
++
+
+
++
+
+
+ +
++
+
+ +
+ + ++ +
++
+
+
+
+
0.6
+
+
+
+ +
+
+
++ ++
+ +
+
+
++
+
+
+
+
++ +
+
++ +
+
+
+
+
+
+
+
+
+
++
0.4
+
+
0.0
0.2
0.4
0.6
0.8
1.0
0.5
1.0
1.5
2.0
0.0
0.2
0.4
0.6
0.8
1.0
0.5
1.0
1.5
2.0
0.0
0.2
0.4
0.6
0.8
1.0
46
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
Funci
on locpol (caso 2)
Descripci
on: calcula directamente la estimacion polinomial local de la funcion
de regresion.
Funci
on:
locCteSmootherC(x, y, xeval, bw, kernel, weig = rep(1, length(y)))
locLinSmootherC(x, y, xeval, bw, kernel, weig = rep(1, length(y)))
locCuadSmootherC(x, y, xeval, bw, kernel, weig = rep(1, length(y)))
locPolSmootherC(x, y, xeval, bw, deg, kernel, DET = FALSE,
weig = rep(1, length(y)))
looLocPolSmootherC(x, y, bw, deg, kernel, weig = rep(1, length(y)),
DET = FALSE)
donde:
DET: es el Booleano que se pide para calcular el calculo del determinante si
la matriz es X T W X.
Valor devuelto por las funciones: devuelven una hoja de datos cuyos componentes dan los puntos de la evaluacion, el estimador de regresion para la funcion
m(x) y sus derivadas en cada punto, y la estimacion de la densidad marginal de x
para el grado p + 1. Estos componentes estan dados por:
x: evaluacion de puntos.
beta0, beta1, beta2,...: estimacion de la i-esima derivada de la funcion de regresion.
den: estimacion de (n bw f (x))p + 1.
Ejemplo de uso:
> N <- 100
> xeval <- 0:10/10
> d <- data.frame(x = runif(N))
47
>
>
>
>
d
bw <- 0.125
fx <- xeval^2 - xeval + 1
fx
[1] 1.00 0.91 0.84 0.79 0.76 0.75 0.76 0.79 0.84 0.91 1.00
> ## Non random
> d$y <- d$x^2 - d$x + 1
> d$y
[1]
[8]
[15]
[22]
[29]
[36]
[43]
[50]
[57]
[64]
[71]
[78]
[85]
[92]
[99]
0.7612712
0.7856257
0.9431480
0.7895587
0.7903537
0.9376779
0.7538522
0.7935019
0.9235209
0.9384282
0.7550881
0.9153462
0.7521302
0.7874924
0.7850518
0.7559905
0.9741636
0.9800950
0.7531085
0.7556701
0.7546431
0.7552131
0.7500432
0.9114959
0.7897166
0.9455074
0.8034103
0.9085868
0.8297123
0.7722768
0.7522013
0.9471402
0.9716219
0.8553279
0.7860397
0.8301950
0.7965644
0.8074889
0.7629582
0.7922242
0.9149992
0.8810769
0.9313345
0.7909301
0.8848619
0.9154741
0.8589399
0.7591280
0.8094275
0.7556629
0.8778957
0.8835923
0.8350024
0.7500432
0.9838134
0.7504405
0.7854696
0.7507330
0.8160407
0.8486005
0.7505613
0.9631150
0.7536389
0.8893358
0.8928852
0.7947588
0.8640522
0.7503208
0.8332296
0.9838679
0.7500239
0.7631920
0.7507679
0.7595106
0.7940482
0.9631849
0.7867965
0.9162690
0.7509552
0.7504915
0.7598914
0.9851169
0.7501226
0.7711603
0.9594925
0.9656503
1
2
3
4
5
6
7
8
9
10
11
x beta0
beta1 beta2
den
0.0 1.00 -1.00000e+00
2 0.02372248
0.1 0.91 -8.00000e-01
2 8.02909644
0.2 0.84 -6.00000e-01
2 23.31658125
0.3 0.79 -4.00000e-01
2 11.78540653
0.4 0.76 -2.00000e-01
2 38.67861685
0.5 0.75 1.93709e-16
2 35.01524608
0.6 0.76 2.00000e-01
2 28.50127243
0.7 0.79 4.00000e-01
2 6.56710512
0.8 0.84 6.00000e-01
2 19.20445392
0.9 0.91 8.00000e-01
2 8.74252631
1.0 1.00 1.00000e+00
2 0.01881323
0.7964555
0.7562525
0.7525843
0.8603828
0.8181295
0.7812961
0.8604513
0.7627245
0.8609709
0.7852533
0.8569621
0.8152093
0.8544892
0.8223636
48
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
[1,]
[2,]
[3,]
[4,]
[5,]
[6,]
[7,]
[8,]
[9,]
[10,]
[11,]
x
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
fx cuad0 lp0
cuad1
lp1
1.00 1.00 1.00 -1.00000e+00 -1.00000e+00
0.91 0.91 0.91 -8.00000e-01 -8.00000e-01
0.84 0.84 0.84 -6.00000e-01 -6.00000e-01
0.79 0.79 0.79 -4.00000e-01 -4.00000e-01
0.76 0.76 0.76 -2.00000e-01 -2.00000e-01
0.75 0.75 0.75 1.93709e-16 9.48996e-16
0.76 0.76 0.76 2.00000e-01 2.00000e-01
0.79 0.79 0.79 4.00000e-01 4.00000e-01
0.84 0.84 0.84 6.00000e-01 6.00000e-01
0.91 0.91 0.91 8.00000e-01 8.00000e-01
1.00 1.00 1.00 1.00000e+00 1.00000e+00
0.6723636
0.8505989
0.9601393
0.8048367
0.7696472
0.8876989
0.6733276
0.8448013
1.0953380
1.0679246
0.6544773
0.7438772
0.9026008
0.6779314
0.6243922
0.9551620
1.1700375
0.9297912
0.8958657
0.8190183
0.7221547
0.8162543
0.8478272
0.7825367
0.7927135
0.8276265
0.9027349
0.8123858
0.7436355
0.9471580
0.6269945
1.0375346
0.7252702
0.6894363
0.8134340
0.6866786
0.8222345
0.7835987
1.1104370
0.8883434
0.9984543
0.8745750
0.7271204
0.7517749
0.7351159
0.7743744
0.6869968
0.8354297
0.8664553
49
[50]
[57]
[64]
[71]
[78]
[85]
[92]
[99]
0.8047627
0.8460743
0.8374226
0.7706758
0.9301271
0.8154858
0.7293871
0.8457371
0.8801028
1.0463443
0.7110618
0.9308003
0.8300982
1.0819505
0.8928125
0.8609747
0.6856138
0.6829823
0.8485211
0.9222196
0.8937102
0.7909390
0.8333529
0.9211008
0.8607412
0.7864358
1.0207491
0.5815393
0.9901345
0.8743793
0.8376500
0.9401312
0.7215284
0.8385355
0.9806565
0.5212752
0.6063388
0.7492864
0.7307411
0.9580189
0.7530619
0.6800853
1.0151708
0.8478267
beta0
1.1696954
0.8791549
0.8136628
0.7869036
0.7310876
0.7329695
0.7619366
0.8089766
0.8248833
0.8967816
1.0870074
beta1
-4.82196709
-1.52413568
-0.54206496
-0.73315011
-0.22747304
-0.06783130
0.51090384
0.07681645
0.62602660
0.85090352
5.53515036
beta2
41.562041
24.858571
6.356705
-9.195076
7.882866
4.586677
2.573981
-5.305648
7.108892
8.014109
86.530261
den
0.02372248
8.02909644
23.31658125
11.78540653
38.67861685
35.01524608
28.50127243
6.56710512
19.20445392
8.74252631
0.01881323
beta0
1.1696954
0.8791549
0.8136628
0.7869036
0.7310876
0.7329695
0.7619366
0.8089766
0.8248833
0.8967816
1.0870074
beta1
-4.82196709
-1.52413568
-0.54206496
-0.73315011
-0.22747304
-0.06783130
0.51090384
0.07681645
0.62602660
0.85090352
5.53515036
beta2
41.562041
24.858571
6.356705
-9.195076
7.882866
4.586677
2.573981
-5.305648
7.108892
8.014109
86.530261
0.5999255
0.6731402
0.6532467
0.7516319
0.7677295
1.0160035
0.8197416
50
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
> lpest3
x
1 0.0
2 0.1
3 0.2
4 0.3
5 0.4
6 0.5
7 0.6
8 0.7
9 0.8
10 0.9
11 1.0
beta0
0.5804087
0.8791243
0.8144113
0.7906162
0.7218013
0.7316335
0.7684981
0.8052345
0.8250382
0.8984336
1.0834538
beta1
beta2
beta3
39.0917900 -1761.581230 32073.140200
-1.5169100
24.921877
-8.022927
-0.7355235
5.935609
148.187404
0.1022015
-8.019882 -742.843339
1.1560714
5.543538 -1033.073360
-0.5044145
5.830562
410.750916
0.8838808
1.012286 -278.143321
-1.1792922
1.192569 1065.659358
0.6029547
7.136487
18.045586
1.0882845
6.575599 -266.262808
5.2542255
75.285771 -191.756862
[1,]
[2,]
[3,]
[4,]
[5,]
[6,]
[7,]
[8,]
[9,]
[10,]
[11,]
x
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
fx
1.00
0.91
0.84
0.79
0.76
0.75
0.76
0.79
0.84
0.91
1.00
cuad0
1.1696954
0.8791549
0.8136628
0.7869036
0.7310876
0.7329695
0.7619366
0.8089766
0.8248833
0.8967816
1.0870074
lp20
1.1696954
0.8791549
0.8136628
0.7869036
0.7310876
0.7329695
0.7619366
0.8089766
0.8248833
0.8967816
1.0870074
lp30
0.5804087
0.8791243
0.8144113
0.7906162
0.7218013
0.7316335
0.7684981
0.8052345
0.8250382
0.8984336
1.0834538
cuad1
-4.82196709
-1.52413568
-0.54206496
-0.73315011
-0.22747304
-0.06783130
0.51090384
0.07681645
0.62602660
0.85090352
5.53515036
lp21
-4.82196709
-1.52413568
-0.54206496
-0.73315011
-0.22747304
-0.06783130
0.51090384
0.07681645
0.62602660
0.85090352
5.53515036
lp31
39.0917900
-1.5169100
-0.7355235
0.1022015
1.1560714
-0.5044145
0.8838808
-1.1792922
0.6029547
1.0882845
5.2542255
Funci
on pluginBw
Descripci
on: implementa un selector del ancho de banda de tipo plug-in para
la funcion de regresion. El metodo se describe en el texto de Fan y Gijbels (1996)
51
52
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
>
>
>
>
>
>
>
>
>
>
+
>
>
0.000000
0.000512
0.004096
0.013824
0.032768
0.064000
0.110592
0.175616
0.262144
0.373248
0.512000
0.681472
0.884736
0.000001
0.000729
0.004913
0.015625
0.035937
0.068921
0.117649
0.185193
0.274625
0.389017
0.531441
0.704969
0.912673
0.000008
0.001000
0.005832
0.017576
0.039304
0.074088
0.125000
0.195112
0.287496
0.405224
0.551368
0.729000
0.941192
0.000027
0.001331
0.006859
0.019683
0.042875
0.079507
0.132651
0.205379
0.300763
0.421875
0.571787
0.753571
0.970299
0.000064
0.001728
0.008000
0.021952
0.046656
0.085184
0.140608
0.216000
0.314432
0.438976
0.592704
0.778688
1.000000
0.000125
0.002197
0.009261
0.024389
0.050653
0.091125
0.148877
0.226981
0.328509
0.456533
0.614125
0.804357
CV
th
PI
bw 0.196241577 0.199382210 0.126873646
ise 0.001127976 0.001100554 0.002027269
0.000216
0.002744
0.010648
0.027000
0.054872
0.097336
0.157464
0.238328
0.343000
0.474552
0.636056
0.830584
0.000343
0.003375
0.012167
0.029791
0.059319
0.103823
0.166375
0.250047
0.357911
0.493039
0.658503
0.857375
53
0.5
0.5
0.0
d$y
1.0
0.0
0.2
0.4
0.6
0.8
1.0
d$x
0.5
0.0
0.5
d$y
1.0
0.0
0.2
0.4
0.6
0.8
1.0
d$x
54
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
Funci
on PRDenEstC
Descripci
on: estimador Parsen-Rosenblat de densidad univariante.
Funci
on:
PRDenEstC(x, xeval, bw, kernel, weig = rep(1, length(x)))
Valor devuelto por la funci
on: esta funcion devuelve una hoja de datos de
la forma: (x, den).
Ejemplo de uso:
>
>
>
>
>
N <- 100
x <- runif(N)
xeval <- 0:10/10
b0.125 <- PRDenEstC(x, xeval, 0.125, EpaK)
b0.125
1
2
3
4
5
6
7
8
9
10
11
x
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
den
0.3762050
0.8861180
0.9478700
0.9940558
1.2625850
1.2979144
1.1465889
1.2102660
0.8060191
0.7589499
0.3192066
1
2
3
4
x
0.0
0.1
0.2
0.3
den
0.4603164
1.0064206
0.5727967
1.1694444
5
6
7
8
9
10
11
0.4
0.5
0.6
0.7
0.8
0.9
1.0
55
1.0153751
1.4813057
0.9270388
1.4077981
0.5424289
1.1261434
0.2701843
[1,]
[2,]
[3,]
[4,]
[5,]
[6,]
[7,]
[8,]
[9,]
[10,]
[11,]
x fx
b0.125
b0.05
0.0 1 0.3762050 0.4603164
0.1 1 0.8861180 1.0064206
0.2 1 0.9478700 0.5727967
0.3 1 0.9940558 1.1694444
0.4 1 1.2625850 1.0153751
0.5 1 1.2979144 1.4813057
0.6 1 1.1465889 0.9270388
0.7 1 1.2102660 1.4077981
0.8 1 0.8060191 0.5424289
0.9 1 0.7589499 1.1261434
1.0 1 0.3192066 0.2701843
Funci
on regCVBwSelC
Descripci
on: implementa el metodo por validacion cruzada para la seleccion
del ancho de banda del estimador de regresion polinomial local.
Funci
on:
regCVBwSelC(x, y, deg, kernel=gaussK,weig=rep(1,length(y)),
interval=.lokestOptInt)
Valor devuelto por la funci
on: esta funcion devuelve un valor numerico, el
ancho de banda seleccionado.
Ejemplo de uso:
> size <- 200
> sigma <- 0.25
56
>
>
>
>
>
>
>
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
deg <- 1
kernel <- EpaK
xeval <- 0:100/100
regFun <- function(x) x^3
x <- runif(size)
y <- regFun(x) + rnorm(x, sd = sigma)
d <- data.frame(x, y)
[1]
[9]
[17]
[25]
[33]
[41]
[49]
[57]
[65]
[73]
[81]
[89]
0.000000
0.000512
0.004096
0.013824
0.032768
0.064000
0.110592
0.175616
0.262144
0.373248
0.512000
0.681472
0.000001
0.000729
0.004913
0.015625
0.035937
0.068921
0.117649
0.185193
0.274625
0.389017
0.531441
0.704969
0.000008
0.001000
0.005832
0.017576
0.039304
0.074088
0.125000
0.195112
0.287496
0.405224
0.551368
0.729000
0.000027
0.001331
0.006859
0.019683
0.042875
0.079507
0.132651
0.205379
0.300763
0.421875
0.571787
0.753571
0.000064
0.001728
0.008000
0.021952
0.046656
0.085184
0.140608
0.216000
0.314432
0.438976
0.592704
0.778688
0.000125
0.002197
0.009261
0.024389
0.050653
0.091125
0.148877
0.226981
0.328509
0.456533
0.614125
0.804357
0.000216
0.002744
0.010648
0.027000
0.054872
0.097336
0.157464
0.238328
0.343000
0.474552
0.636056
0.830584
0.000343
0.003375
0.012167
0.029791
0.059319
0.103823
0.166375
0.250047
0.357911
0.493039
0.658503
0.857375
57
>
>
>
>
>
>
>
>
>
>
+
>
>
0.5
0.5
0.0
d$y
1.0
CV
th
PI
bw 0.196241577 0.199382210 0.126873646
ise 0.001127976 0.001100554 0.002027269
0.0
0.2
0.4
0.6
0.8
1.0
d$x
58
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
Funci
on selKernel
Descripci
on: utilizacion de los atributos del n
ucleo para seleccionar n
ucleos.
Esta funcion se utiliza principalmente para fines internos.
Funci
on:
selKernel(kernel)
Valor devuelto por la funci
on: esta funcion devuelve un entero que es u
nico
para cada n
ucleo.
Funci
on simpleSmoothers
Descripci
on: calcula un suavizador elemental de las respuestas, definido como
el promedio ponderado por el n
ucleo de las respuestas observadas. La version simpleSqSmootherC es igual solo que promediando las respuestas al cuadrado.
Funci
on:
simpleSmootherC(x, y, xeval, bw, kernel, weig = rep(1, length(y)))
simpleSqSmootherC(x, y, xeval, bw, kernel)
Valor devuelto por las funciones: ambas funciones devuelven una hoja de
datos con:
x: puntos de evaluacion de x.
reg: valores de suavizado en los puntos de x.
Ejemplo de uso:
>
>
>
>
>
>
>
>
>
59
60
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
1000
Min.
1st Qu.
Median
Mean
3rd Qu.
Max.
0.0009869 0.0150400 0.0264600 0.0371300 0.0441600 0.1071000
10000
Min. 1st Qu.
Median
Mean 3rd Qu.
Max.
0.001878 0.007167 0.010570 0.013100 0.021160 0.024560
1e+05
Min.
1st Qu.
Median
Mean
3rd Qu.
Max.
0.0008332 0.0015290 0.0049780 0.0051580 0.0092530 0.0117500
Funci
on thumbBw
Descripci
on: implementa la regla del pulgar descrita en el texto de Fan y Gijbels
(1996) para la seleccion del ancho de banda en regresion polinomial local.
Funci
on:
thumbBw(x, y, deg, kernel, weig = rep(1, length(y)))
compDerEst(x, y, p, weig = rep(1, length(y)))
Valor devuelto por las funciones: la funcion thumbBw devuelve un u
nico
valor numerico, mientras que compDerEst devuelve una hoja de datos cuyos componentes son los siguientes:
x: valores de x.
y: valores de y.
res: residuos de la estimacion parametrica.
61
[1] 0.1962416
> thBwSel <- thumbBw(d$x, d$y, deg, kernel)
> thBwSel
[1] 0.1993822
> piBwSel <- pluginBw(d$x, d$y, deg, kernel)
> piBwSel
[1] 0.1268736
>
+
>
>
>
>
[1]
[9]
[17]
[25]
[33]
[41]
0.000000
0.000512
0.004096
0.013824
0.032768
0.064000
0.000001
0.000729
0.004913
0.015625
0.035937
0.068921
0.000008
0.001000
0.005832
0.017576
0.039304
0.074088
0.000027
0.001331
0.006859
0.019683
0.042875
0.079507
0.000064
0.001728
0.008000
0.021952
0.046656
0.085184
0.000125
0.002197
0.009261
0.024389
0.050653
0.091125
0.000216
0.002744
0.010648
0.027000
0.054872
0.097336
0.000343
0.003375
0.012167
0.029791
0.059319
0.103823
62
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
[49]
[57]
[65]
[73]
[81]
[89]
[97]
>
>
>
>
>
>
>
>
>
>
+
>
>
0.110592
0.175616
0.262144
0.373248
0.512000
0.681472
0.884736
0.117649
0.185193
0.274625
0.389017
0.531441
0.704969
0.912673
0.125000
0.195112
0.287496
0.405224
0.551368
0.729000
0.941192
0.132651
0.205379
0.300763
0.421875
0.571787
0.753571
0.970299
0.140608
0.216000
0.314432
0.438976
0.592704
0.778688
1.000000
0.148877
0.226981
0.328509
0.456533
0.614125
0.804357
0.5
0.5
0.0
d$y
1.0
CV
th
PI
bw 0.196241577 0.199382210 0.126873646
ise 0.001127976 0.001100554 0.002027269
0.0
0.2
0.4
0.6
0.8
1.0
d$x
0.157464
0.238328
0.343000
0.474552
0.636056
0.830584
0.166375
0.250047
0.357911
0.493039
0.658503
0.857375
2.4.
63
Libro Locfit
64
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
$x
[1]
[8]
[15]
[22]
[29]
[36]
[43]
[50]
1.564723
2.060516
2.556310
3.052103
3.547897
4.043690
4.539484
5.035277
$y
[1]
[6]
[11]
[16]
[21]
[26]
[31]
[36]
[41]
[46]
1.182697e-16
5.571365e-01
1.963319e-01
1.046841e-02
9.107183e-02
1.022381e-01
5.441002e-01
8.292375e-01
4.034270e-01
1.409679e-01
1.635550
2.131344
2.627137
3.122931
3.618724
4.114518
4.610311
1.706378
2.202172
2.697965
3.193759
3.689552
4.185346
4.681139
1.890007e-01
3.739426e-01
1.132892e-01
7.019261e-02
4.838509e-02
1.911011e-01
5.917874e-01
6.788447e-01
3.677768e-01
9.322311e-02
1.777206
2.272999
2.768793
3.264586
3.760380
4.256173
4.751967
1.848033
2.343827
2.839620
3.335414
3.831207
4.327001
4.822794
4.623314e-01
1.256785e-01
3.419681e-02
4.762960e-02
9.322311e-02
3.630067e-01
3.663234e-01
4.238963e-01
5.616119e-01
9.322311e-02
1.918861
2.414654
2.910448
3.406241
3.902035
4.397828
4.893622
7.174016e-01
3.316671e-03
7.653125e-02
2.512419e-02
9.322311e-02
3.338104e-01
3.868570e-01
4.480279e-01
7.364176e-01
5.972420e-02
1.989689
2.485482
2.981276
3.477069
3.972863
4.468656
4.964450
8.081279e-01
8.002072e-02
4.129095e-02
1.445726e-01
6.792613e-02
2.442562e-01
6.537848e-01
4.545461e-01
3.963838e-01
5.913483e-17
obs.);
Bandwidth bw = 0.3677
y
Min.
:0.0000
1st Qu.:0.0605
Median :0.1560
Mean
:0.1828
3rd Qu.:0.2568
Max.
:0.4834
Funcion gam.lf : es una llamada a la funcion locfit por lf() utilizada en los
terminos del modelo aditivo. Normalmente no es llamada directamente por los
usuarios.
Uso de la funci
on:
gam.lf(x, y, w, xeval, ...)
65
donde:
w: son los pesos a priori.
Funcion locfit: formula base del libro para el ajuste de la regresion local y
para los modelos de verosimilitud.
Uso de la funci
on:
locfit(formula, data=sys.frame(sys.parent()), weights=1, cens=0, base=0,
subset, geth=FALSE, ..., lfproc=locfit.raw)
donde:
formula: es la formula del modelo; por ejmplo, y~lp(x) para un modelo de
regresion; ~lp(x) para un modelo de densidad estimada. Es recomendable, usar para lp() los RHS, especialmente cuando por defecto no se
utilizan los parametros de suavizacion.
subset: son las observaciones de subconjuntos en la hoja de datos.
geth: no utilizar; siempre se pone geth = F ALSE.
lfproc: es una de las funciones de procesamiento para calcular el ajuste
local. El valor predeterminado es locfit.raw(). Otras opciones incluyen
locfit.robust(), locfit.censor() y locfit.quasi().
Valor devuelto por la funci
on: esta funcion devuelve un objeto con clase
locfit y un conjunto estandar de metodos para impresion, graficos, etc.
Ejemplo de uso:
>
>
>
>
66
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
# density estimation
data(geyser, data="locfit")
fit <- locfit( ~ lp(geyser, nn=0.1, h=0.8))
plot(fit,get.data=TRUE)
o o
o
o
o
o
oo
o
o
o
o
o
o
ooo
o
o o
o oo
o o
o
o
oo
o
oo
NOx
o
o o
o
o
o
o
o
o
o
o
o
oo
oo
o oo
o
o
oo
o
o
o
o
o
ooo o o
o oo
o oo o
o
oo o
o
o
o oo
oo
0.6
0.7
0.8
0.9
1.0
1.1
1.2
16
1.5
2.5
18
0.5
10
12
14
0.5
0.8
0.7
2.5
1.5
0.5
0.6
3.5
0.9
1.0
1.1
1.2
0.4
0.3
0.1
0.2
density
0.5
0.6
0.7
0.0
>
>
>
>
2.0
2.5
3.0
3.5
4.0
4.5
5.0
geyser
67
data(geyser)
gf <- 2.5
a <- seq(0.05, 0.7, length=100)
z <- sjpi(geyser, a)
>
>
>
+
>
>
>
+
68
1.0
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
0.6
0.2
0.4
Bandwidth h
0.8
Plugin
SJ assumed
0.5
1.0
1.5
Pilot Bandwidth k
2.5.
Libro sm
Estimacion n
ucleo de la funci
on de densidad
La funcion sm.density calcula la estimacion de la densidad de los datos en
una, dos o tres dimensiones. En dos dimensiones, una variedad de representaciones
graficas pueden ser seleccionadas, y en tres dimensiones, puede representarse una
superficie de contorno.
uso de la funci
on:
sm.density(x, h, model = "none", weights = NA, group=NA, ...)
Valor devuelto por la funci
on: esta funcion devuelve una lista que contiene los
69
2.5. LIBRO SM
# A one-dimensional example
y <- rnorm(50)
sm.density(y, model = "Normal")
# sm.density(y, panel = TRUE)
0.4
0.3
0.2
0.0
0.1
0.5
y[2]
y[1]
70
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
C
alculo del par
ametro de suavizado
La funcion h.select selecciona un parametro de suavizacion para la densidad
estimada en una o dos dimensiones y para la regresion no parametrica con una
o dos covariables.
Uso de la funci
on:
h.select(x, y = NA, weights = NA, group = NA, ...)
Valor devuelto por la funci
on: esta funcion devuelve el valor del parametro
de suavizacion seleccionado.
Ejemplo de uso:
> x <- rnorm(50)
> h.select(x)
[1] 0.4766912
> h.select(x, method = "sj")
[1] 0.4164856
71
2.5. LIBRO SM
Density fun
0.10
0.05
ction
0.00
2
1
]
x[2
1
1
0
]
x[1
72
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
4
2
2
1
x[2
]
0
0
1
1
1
[1]
2.5. LIBRO SM
73
# Density estimation
x <- rnorm(50)
par(mfrow=c(1,2))
h.cv <- hcv(x, display="lines", ngrid=32)
sm.density(x, h=hcv(x))
>
>
>
>
>
>
# Nonparametric regression
x <- seq(0, 1, length = 50)
y <- rnorm(50, sin(2 * pi * x), 0.2)
par(mfrow=c(1,2))
h.cv <- hcv(x, y, display="lines", ngrid=32)
sm.regression(x, y, h=hcv(x, y))
74
0.2
0.4
h
0.15
0.6
0.8
0.25
0.0
0.8
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
0.4
0.05
0.24
0.26
0.28
0.6
0.4
0.2
0.0
1.0
0.5
0.0
0.5
1.0
CV
CV
0.30
0.32
0.34
0.36
10
8
6
4
2
2.5. LIBRO SM
75
76
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
Estimaci
on de la funci
on de regresi
on
Funcion sm.discontinuity: utiliza una comparacion de izquierda a derecha
de las curvas de regresion no parametricas para evaluar la evidencia de la
presencia de una o mas discontinuidades en una curva de regresion o en la
superficie.
Uso de la funci
on:
sm.discontinuity(x, y, h, hd, ...)
donde:
hd: es un parametro de suavizado que se utiliza para suavizar las diferencias del lado izquierdo y derecho de las estimaciones de la regresion no
parametrica.
77
2.5. LIBRO SM
Ejemplo de uso:
> par(mfrow = c(3, 2))
> provide.data(nile)
> sm.discontinuity(Year, Volume, hd = 0)
Test of continuity:
significance =
0.006
location st.diff
1888.5 -2.85
1889.5 -3.65
1890.5 -3.12
1891.5 -2.82
1896.5 3.78
1897.5 4
1898.5 4.77
1899.5 3.35
1915.5 -3.02
1938.5 2.58
> sm.discontinuity(Year, Volume)
Test of continuity:
significance =
0.009
location st.diff
1887.5 -2.9
1888.5 -3.28
1889.5 -3.34
1890.5 -3.03
1896.5 3.47
1897.5 4.2
1898.5 4.54
1899.5 4.48
1900.5 4.06
1901.5 3.37
1902.5 2.51
>
>
>
>
78
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
>
>
>
+
+
+
+
>
>
>
>
>
>
>
Test of continuity:
significance =
0.016
Test of continuity:
significance =
0.005
79
1900
1920
1940
1000
Volume
1880
600
1000
600
Volume
2.5. LIBRO SM
1960
1880
1900
1920
1940
1960
Year
0.00
0.15
1000
600
1880
1900
1920
1940
1960
10
Score1[ind]
Latitude
1.5
1.0
0.5
0.0
11.2
e
11.4
Lon
143.0
ud
143.2
11.6
gitu 11.8
143.4
tit
143.6
de La
14
2.5
143.0
143.2
143.4
Longitude
0.6
0.8
1.0
0.4
2.
3.5
0.0
0.2
4.5
0.0
12
11.8 11.4
Year
x2
Volume
0.30
Year
0.2
0.4
0.6
0.8
1.0
x1
143.6
143.8
80
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
81
2.5. LIBRO SM
rc.age
4600
4800
5000
5200
5000
5200
5400
5600
5800
6000
cal.age
0.6
0.4
0.0
0.2
Low[Smoke == "N"]
0.8
1.0
100
150
200
Lwt[Smoke == "N"]
82
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
83
2.5. LIBRO SM
significance =
significance =
0.031
significance =
0.031
84
11.4
11.6
Latitude
11.8
1.0
0.0
143.6
0.0
Longitude
0.2
0.4
0.6
0.8
Longitude 143
de
43
1.5
1.0
0.5
0.0
0.0
0.2
0.4
11.8
11.7
0.6
L11.6
ati11.5
tu11.4
0.8
de11.3
itu
43
de
itu
ng
one92]
Score1[Z
one92]
Score1[Z
1.5
1.0
0.5
0.0
0.0
0.2
0.4
11.8
11.7
0.6
L11.6
ati11.5
tu11.4
0.8
de11.3
ng
143.2
Lo
142.8
Lo
Score1
2.0
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
85
2.5. LIBRO SM
h = 0.0948
1.0
0.5
0.0
Score1[Zone92]
1.5
2.0
df = 6
0.0
0.2
0.4
0.6
0.8
Position[Zone92, 1]
h = ( 0.167 , 0.0863 )
1.5
Score1[Zon
1.0
e92]
0.5
0.0
titu
La
11.3
11.4
11.5
11.6
de
0.8
11.7
11.8
0.0
0.6
0.4 143
0.2 itude
g
Lon
86
CAP
ITULO 2. SOFTWARE DISPONIBLE EN R
Captulo 3
Aplicaci
on pr
actica
3.1.
88
PRACTICA
CAP
ITULO 3. APLICACION
n
ucleos normales (argumento kernel =normal), y en este ejemplo hemos dejado
dicha eleccion por defecto. De este modo compararemos el resultado usando diferentes grados para lo cual hemos generado el siguiente codigo:
"duration"
89
60
70
80
90
100
110
50
p=1
p=0
p=2
p=3
Figura 3.1: Estimador polinomico local de grado p para los datos del geyser. La
variable x es duracion y la variable y es tiempo de espera y el tama
no de la hoja de
datos es n = 299
90
PRACTICA
CAP
ITULO 3. APLICACION
110
data(geyser, package="MASS")
x <- geyser$duration
y <- geyser$waiting
plot(x,y,title=Suavizado por Splines para los datos del geyser,
+ xlab=Duraci
on,ylab=Tiempo de espera)
geyser.spl <- sm.spline(x,y)
geyser.spl
lines(geyser.spl, lty=1,lwd=2, col = "green")
geyser.sts<-smooth.spline(x,y)
geyser.sts
lines(geyser.spl, lty=2,lwd=2, col = "blue")
h1 <- dpill(x, y)
fit1 <- locpoly(x,y,bandwidth = h1, degree=1)
lines(fit1,col="red",lty=3,lwd=2)
legend(topright,legend=c("sm.spline", "smooth.spline",
+ "locpoly (plug-in)"), lwd=2,lty=1:3,
+ col=c("green","blue","red"))
80
70
50
60
Tiempo de espera
90
100
sm.spline
smooth.spline
locpoly (plugin)
Duracin
91
La Figura 3.2 muestra los ajustes realizados. Podemos observar que los resultados
graficos de las funciones smooth.spline y sm.spline son identicos, si bien los algoritmos implementos difieren ligeramente y los resultados de los objetos generados
tambien. En concreto se obtiene:
> geyser.spl
Call:
smooth.Pspline(x = ux, y = tmp[, 1], w = tmp[, 2], method = method)
Smoothing Parameter (Spar): 5.388047e-05
Equivalent Degrees of Freedom (Df): 32.3831
GCV Criterion: 31.59988
CV Criterion: 60.01679
> geyser.sts
Call:
smooth.spline(x = x, y = y)
Smoothing Parameter spar= 1.044891 lambda= 0.05174406 (12 iterations)
Equivalent Degrees of Freedom (Df): 3.366694
Penalized Criterion: 9604.32
GCV: 110.0222
Con respecto a la bondad de los ajustes vemos que el estimador lineal local ofrece
una estimacion mas suavizada que los splines en este caso.
Nuestro siguiente objetivo sera comparar todos los procedimientos disponibles
para la seleccion del ancho de banda, asociado al estimador lineal local. Los procedimientos para seleccionar el ancho de banda considerado son los metodos plug-in,
validacion cruzada y la sencilla regla del pulgar.
La implementacion de dichos metodos se hace en diversas funciones disponibles
en los libros KernSmooth, Locpol y sm (si bien existen algunas versiones mas
disponibles en otros libros de R que contienen posibilidades para metodos no parametricos, como por ejemplo el libro Locfit que implementa versiones del estimador que
fijan el n
umero de observaciones en el entorno local en lugar del tama
no del mismo).
Todas ellas fueron ampliamente descritas en el captulo 2 de este trabajo, por
lo que aqu nos centraremos en su particular aplicacion a los datos con los que
estamos trabajando. Agrupando las funciones seg
un la metodologa de seleccion que
implementan, podemos enumerar las siguientes:
92
PRACTICA
CAP
ITULO 3. APLICACION
Selectores de tipo plug-in: la funcion dpill que forma parte del libro KernSmooth, implementando el metodo de Ruppert, Sheather y Wand (1995). Y
la funcion pluginBw dentro del libro Locpol, que implementa el metodo
descrito en el libro de Fan y Gijbels (1996) paginas 110-112.
Selectores basados en Validacion Cruzada: la funcion regCVBwSelC, que
se puede encontrar en el captulo 2 de este trabajo en el libro Locpol, y la
funcion h.select del libro sm.
Usando dichas funciones nuestro objetivo es el calcular el estimador lineal local,
usando distintos parametros ancho de banda. En concreto parametros seg
un metodos
plug-in y validacion cruzada. Ademas de ilustrar el resultado final, podremos discutir
las particularidades que conllevan la aplicacion de cada uno de ellos.
Dado que nuestro objetivo en este momento es el parametro de suavizado, volvemos a fijar la eleccion de la funcion n
ucleo de tipo gausiano y, como ya hemos
comentado antes, fijamos ajustes de grado p = 1. El codigo generado para tales
propositos es el siguiente:
data(geyser, package="MASS")
x <- geyser$duration
y <- geyser$waiting
plot(x,y,title=Estimaci
on lineal local para los datos del geyser,
+ xlab=Duraci
on,ylab=Tiempo de espera)
h1 <- dpill(x, y)
h1
fit1 <- locpoly(x,y,bandwidth = h1, degree=1)
lines(fit1,col="red",lty=1,lwd=2)
h2<- pluginBw(x,y, deg=1, kernel=gaussK)
h2
fit2 <- locpoly(x, y , bandwidth = h2, degree=1)
lines(fit2,col="yellow",lty=2,lwd=2)
h3<- regCVBwSelC(x,y, deg=1, kernel=gaussK)
h3
fit3 <- locpoly(x,y,bandwidth = h3, degree=1)
lines(fit3,col="green",lty=3,lwd=2)
h4<-h.select(x, y,method = "cv")
h4
fit4 <- locpoly(x,y,bandwidth = h4, degree=1)
lines(fit4,col="blue",lty=4,lwd=2)
legend(topright,legend=c("h1-dpill", "h2-pluginBw","h3-regCVBwSelC",
+ "h4-h.select"),lwd=2,lty=1:4,col=c("red", "yellow", "green","blue"))
93
Los resultados obtenidos para los parametros de suavizado son los siguientes:
> h1
[1] 0.2342897
> h2
[1] 0.08805326
> h3
[1] 0.739138
> h4
[1] 0.6789217
110
80
70
50
60
Tiempo de espera
90
100
h1dpill
h2pluginBw
h3regCVBwSelC
h4h.select
Duracin
94
PRACTICA
CAP
ITULO 3. APLICACION
3.2.
Ilustraremos ahora los metodos de regresion no parametrica y en concreto el estimador polinomial local a partir de datos simulados. Nuestro objetivo ahora sera el
de cuantificar la bondad de las estimaciones (dado que conocemos los modelos exactos) y ademas ilustrar aspectos interesantes del problema de regresion con sera el
del efecto del tama
no muestral y la variabilidad de la muestra considerada.
De este modo estudiaremos el comportamiento de los estimadores con distintos
tama
nos de muestra (n = 25, 50, 100y500) y con distintas desviaciones tpicas para
los residuos del modelo (0,3, 0,4y0,1).
De esta forma lo que se pretende es observar la convergencia de la curva teorica
y asimismo ver como el problema de estimacion se hace mas difcil de resolver a
medida que vamos aumentando el valor de la desviacion tpica de los residuos del
modelo.
Para realizar lo anterior consideramos el siguiente modelo de regresion:
Y = m(x) +
donde
m(x) = sen(2x) + 2exp(16x2 )
y donde x se genera seg
un una distribucion uniforme continua en el intervalo (2, 2)
y los residuos se consideran normales con media 0 y desviacion tpica .
En primer lugar, empezaremos comparando el estimador polinomico local (EPL)
con con grados p = 0, 1, 3. El parametro ancho de banda lo fijamos en h = 0,15.
Y en segundo lugar, de forma similar al ejercicio que hicimos con los datos del
geyser, compararemos el EPL con los distintos metodos de seleccion para el ancho
de banda (plug-in, CV, regla del pulgar), fijando ajustes de grado p = 1.
Para cuantificar la precision de las estimaciones resultantes utilizaremos como criterio de error la suma residual de cuadrados sobre una rejilla de puntos de estimacion.
De este modo evaluaremos el estimador sobre una red de puntos xl , l = 1, ..., ngrid
equiespaciada en (2, 2) de tama
no ngrid = 500. Una vez calculadas las estimaciones sobre la rejilla calcularemos los errores con la formula:
500
X
1
ch (xl ))2
(m(xl ) m
500 i=1
(3.1)
95
n<-100
sigma<-0.4
nucleo<-gaussK
regFun<-function(x) sin(2*x)+2*exp(-16*x^2)
x<-runif(n,-2,2)
mx<-regFun(x)
y<-mx+rnorm(n,mean=0,sd=sigma)
plot(x,y,main="Datos simulados")
curve(sin(2*x)+2*exp(-16*x^2),col="black",lwd=2,add=T)
h<- 0.15
fit0 <- locpoly(x,y,bandwidth = h,degree=0)
lines(fit0,col="orange",lty=2,lwd=2)
fit1 <- locpoly(x,y,bandwidth = h, degree=1)
lines(fit1,col="blue",lty=3,lwd=2)
fit3 <- locpoly(x,y,bandwidth = h, degree=3)
lines(fit3,col="green",lty=4,lwd=2)
legend(topright,legend=c("Curva te
orica", "ajuste p=0",
"ajuste p=1","ajuste p=3"),lwd=2,lty=1:4,col=c("black",
"orange","blue","green"))
Datos simulados
Curva terica
ajuste p=0
ajuste p=1
ajuste p=3
96
PRACTICA
CAP
ITULO 3. APLICACION
2.0
Datos simulados
1.0
0.5
0.0
0.5
1.0
1.5
Curva terica
ajuste p=0
ajuste p=1
ajuste p=3
2.0
1.5
1.0
0.5
0.0
0.5
1.0
1.5
Curva terica
ajuste p=0
ajuste p=1
ajuste p=3
97
Curva terica
ajuste p=0
ajuste p=1
ajuste p=3
98
PRACTICA
CAP
ITULO 3. APLICACION
th
0.3238807
0.2768001
0.2140991
0.07953835
0.2492679
0.2395432
0.2080944
0.09508265
pi
NA
0.2738346
0.2093302
0.08881742
0.001
0.1
0.5
0.01265973
0.06306383
0.2278124
th
0.08732214
0.0912005
0.1755693
pi
0.03904589
0.06364838
0.1888333
Bibliografa
99
100
Bibliografa
Bibliografa
[1] Wand, M. P. and Jones, M. C. (1995). Kernel Smoothing. Chapman and
Hall, London.
[2] Wand, M. P. (1994). Fast Computation of Multivariate Kernel Estimators.
Journal of Computational and Graphical Statistics, 3, 433-445.
[3] Sheather, S. J. and Jones, M. C. (1991). A reliable data-based bandwidth
selection method for kernel density estimation. Journal of the Royal Statistical
Society, Series B, 53, 683690.
[4] Scott, D. W. (1979). On optimal and data-based histograms. Biometrika, 66,
605610.
[5] Wand, M. P. (1995). Data-based choice of histogram binwidth. University of
New South Wales, Australian Graduate School of Management Working Paper
Series No. 95011.
[6] Ruppert, D., Sheather, S. J. and Wand, M. P. (1995). An effective bandwidth selector for local least squares regression. Journal of the American Statistical Association, 90, 12571270.
[7] John Fox, 2002. Nonparametric Regression. Appendix to An R and S-PLUS
Companion to Applied Regression.
[8] Fan, J. and Gijbels, I. Local polynomial modelling and its applications. Chapman and Hall, London (1996).
[9] Wand, M. P. and Jones, M. C. Kernel smoothing. Chapman and Hall Ltd.,
London (1995).
[10] Crist
obal, J. A. and Alcal
a, J. T. (2000). Nonparametric regression estimators for length biased data. J. Statist. Plann. Inference, 89, pp. 145-168.
[11] Ahmad, Ibrahim A. (1995). On multivariate kernel estimation for samples
from weighted distributions. Statistics and Probability Letters, 22, num. 2, pp.
121-129
101
102
Bibliografa
[12] H
ardle W. (1990). Smoothing techniques. Springer Series in Statistics, New
York (1991).
[13] Loader, C. (1999). Local Regression and Likelihood. Springer, New York.
[14] Consult the Web page http://www.locfit.info/.
[15] Cleveland, W. and Grosse, E. (1991). Computational Methods for Local
Regression. Statistics and Computing 1.
[16] Sheather, S. J. and Jones, M. C. (1991). A reliable data-based bandwidth
selection method for kernel density estimation. JRSS-B 53, 683-690.
[17] Bowman, A.W. and Azzalini, A. (1997). Applied Smoothing Techniques for
Data Analysis: the Kernel Approach with S-Plus Illustrations. Oxford University
Press, Oxford.
[18] Hurvich, C.M., Simonoff, J.S. and Tsai, C.-L. (1998). Smoothing parameter selection in nonparametric regression using an improved Akaike information
criterion. J. R. Statistic. Soc., Series B, 60, 271-293.
[19] Bowman, A.W., Pope, A. and Ismail, B. (2006). Detecting discontinuities
in nonparametric regression curves and surfaces. Statistics and Computing, 16,
377390.
[20] Bowman, A.W., Jones, M.C. and Gijbels, I. (1998). Testing monotonicity
of regression. J.Comp.Graph.Stat. 7, 489-500.
[21] Bowman, A.W. (2006). Comparing nonparametric surfaces. Statistical Modelling, 6, 279-299.
[22] Hastie, T.J. and Tibshirani R.J. Generalized Additive Models. Chapman
and Hall. (2000).
[23] Fan, J., Gijbels, I. and Hu, T.-C. and Huang, L.-S. (1996). An asymptotic study of variable bandwidth selection for local polynomial regression with
application to density estimation. Statistica Sinica, Vol. 6, No. 1.
[24] Wand, M.P. and Jones, M.C. (1994). Multivariate Plug-in Bandwidth Selection. Computational Statistics, 9. pp. 97-116.
[25] Wand, M.P. and Jones, M.C. (1995). Kernel Smoothing. Monographs on
Statistics and Applied Probability 60. Ed. Chapman and Hall.
[26] Azzalini, A. and Bowman, A. W. (1990). A look at some data on the Old
Faithful geyser. Applied Statistics 39, 357-365.
Bibliografa
103
104
BIBLIOGRAF
IA
[40] Cleveland, W.S. (1979). Robust Locally Weighted Regression and Smoothing
Scatterplots. Journal of the American Statistical Association, Vol. 74, No. 368.
Theory and Methods, pp. 829-836.
[41] Ruppert,D. Wand, M.P. and Carroll, R.J. (2003). Semiparametric Regression. Cambridge Series in Statistical and Probabilistic Mathematics. Cambridge
University Press.
[42] Ruppert, D. and Wand, M.P. (1994). Multivariate Locally Weighted Least
Squares Regression. The Annals of Statistics, Vol. 22, No. 3, pp. 1346-1370.
[43] Bellman, R.E. (1961). Adaptive control processes. Princeton University Press.
[44] Friedman, J.H. and Stuetzle, W. (1981). Projection pursuit regression.
Journal of the American Statistical Association, Vol. 76, No. 376, pp. 817-823.
[45] Breiman, L. and Friedman, J.H. (1985). Estimating optimal transformations for multiple regression and correlation (with discussion). Journal of the
American Statistical Association, Vol. 80, pp. 580-619.
[46] Hastie, T.J. and Tibshirani R. (1990). Generalized additive models. Washington, D.C.;Chapman and Hall.
[47] Buja, A., Hastie, T.J. and Tibshirani, R. (1989). Linear smoothers and
additive models (with discussion). The Annals of Statistics, Vol. 17, No. 2, pp.
453555.
[48] Kim,W., Linton, O.B., and Hengartner, N.W. (1997). A nimble
method of estimating additive nonparametric regression. Electronic article,
http://www.stats.yale.edu.
[49] Hengartner, N.W. (1996). Rate optimal estimation of additive regression via
the integration method in the presence of many covariates. Preprint, Department of Statistics, Yale University.
[50] Cook and Weisberg (1994). An Introduction to Regression Graphics. Wiley,
New York.