Sie sind auf Seite 1von 13

BLOQUE 3

MTODOS DE REGRESIN NO PARAMTRICA



Preliminares
Para seguir adecuadamente estos apuntes es preciso dominar la teora y los ejercicios de los
anteriores mdulos. Igualmente es deseable tener a mano un manual de econometra bsica.
Recuerda que estos apuntes pueden contener errores tipogrficos. Cualquier comentario a
los mismos es bienvenido.

Introduccin: Histogramas y Kernels

Un histograma es una primera aproximacin a la estimacin de un histograma de densidades. El
histograma con el que hemos trabajado en bloques precedentes es un histograma de frecuencias,
el rea total que representa no suma 1, y por tanto no son vlidos para estimar densidades. Ahora
estamos interesados en localizar una funcin que integre 1.

Para calcular el histograma necesitamos, a parte de una muestra, un origen y para los bins y una
anchura del bin que denotamos por h (revisar ejercicio 5). Este parmetro es conocido por
smoothing parameter o parmetro de suavizado porque es el parmetro clave para producir
histogramas suaves (smooth): Valores bajos de h generan histogramas con mucha variacin,
mientras que valores altos para h generan formas suavizadas. El siguiente grfico que recoge
varios histogramas de frecuencias para variables normales estndar puede ser ilustrativo:




Si llamamos al contenedor o bin k-simo, donde t
k
t
k+1
= h, para todo k; y si
denominamos por v
k
al nmero de observaciones que caen en el k-simo bin, entonces
donde I es la funcin indicatriz de pertenencia al bin k-
simo, es un estimador de la densidad que integra 1.

Ejemplo
Vamos a realizar este clculo para una distribucin estndar normal:

n = 1000;
x = randn(n,1);

Calculamos el historgrama con la funcin hist, utilizando el valor por
B
k
=[t
k
,t
k+1
)

f
HIST
=
v
k
nh
=
1
nh
I
B
k
(X
i
); x en B
k
i =1
n

defecto de 10 bins.

% Histograma.
[vk,bc] = hist(x);
% Anchura del bin.
h = bc(2)- bc(1);

El estimador del histograma lo hacemos as. Obsrvese que tenemos que
ajustar el output de hist para asegurar que el estimador de la densidad
es tericamente correcto. Obtengamos el estimador de nuestra funcin en
el punto x0=0.

xo = 0;
% Buscamos todos los centros de bines menores a x0.
ind = find(bc < xo);
% xo deberia estar entre estos dos centros
b1 = bc(ind(end));
b2 = bc(ind(end)+1);

% Lo asignamos al bin ms cercano.
if (xo-b1) < (b2-xo) % entonces va al 1er bin
fhat = vk(ind(end))/(n*h);
else
fhat = vk(ind(end)+1)/(n*h);
end

El resultado es fhat = 0.3477. El valor verdadero de una normal estndar evaluada en 0 es
. Por lo que estamos bastante cercanos, pero no exctamente iguales al verdadero valor.
Prueba a ver qu te sale a ti, y en el primer ejercicio que entregues me comentas el resultado.

En este ejemplo hemos usado una anchura (h) dada por defecto en el comando hist. Sin embargo
en las grficas anteriores hemos visto que su eleccin es relevante. Este es un tema que ha
generado mucha literatura. A continuacin dar algunos de los resultados que nos puedan resultar
ms operativos en economa.

Supongamos que tenemos un estimador de una funcin poblacional en un punto x, y
estamos interesado en conocer algo sobre la calidad del estimador respecto a la verdadera
funcin. Una medida habitual de esta calidad es el MSE (error cuadrtico medio)

1 / 2t

f (x)
MSE(

f (x)) = E[(

f (x) f (x))
2
] =Var(

f (x)) +Sesgo
2
(

f (x)).
En caso de que se trate de un estimador de densidad , es posible bajo ciertas condiciones,
definir una cota superior para MSE de :

As, el primer sumando en la desigualdad acota superiormente la varianza, y el segundo sumando
acota superiormente el sesgo al cuadrado. De este modo podemos observar fcilmente que
sucede cuando h vara.
Podramos querer minimizar el MSE del estimador de densidad variando h. Valores pequeos de h
conducen a reducciones en el sesgo del estimador de la densidad y, a la vez, a mayores varianzas
en el mismo. Se produce justamente el trade-off entre varianza y sesgo que hemos visto en la
primera figura. Se hace necesario entonces tener alguna(s) regla o norma para seleccionar h. Una
norma bsica es la Regla de Sturges, que indica el nmero, k, adecuado de contenedores (bins) en
el histograma:


El ancho del bin h se obtiene dividiendo el rango muestral entre el nmero obtenido con la regla,
k. Existen muchas otras reglas el alumno interesado en este particular puede solicitarme ms
literatura.

Un problema importante que presenta el histograma de densidad como estimador de la funcin
de densidad es que no es una funcin continua, y proporciona una visin un tanto abrupta y poco
eficaz para representaciones generales. Una forma fundamental de generalizar el estimador y as
evitar los problemas del mismo consiste en reemplazar la funcin indicatriz I(.) por una funcin K
que denominamos Kernel, y que satisface la condicin:
.
En tal caso el estimador kernel ser

f
HIST
(x)

f
HIST
(x)
MSE(

f
HIST
(x)) s
f (
k
)
nh
+
2
k
h
2
, con x en B
k
, y donde var(

f
HIST
(x)) s
f (
k
)
nh
hf (
k
) = f (t)dt
B
k
}
para algn
k
en B
k
, y finalmente
k
es una constante positiva tal que
para todo
k
, x en B
k
resulta que el sesgo(

f
HIST
(x)) = f (
k
) f (x) <
k

k
x s
k
h.
k =1+log
2
n.
K(x)dx

}
=1

f
Ker
(x) =
1
nh
K
x X
i
h
|
\

|
.
|
.
i =1
n

La funcin fKer hereda las propiedades de continuidad y diferenciablidad del Kernel. Para ilustrar
el procedimiento veamos en qu consiste:
Pasos bsicos:
1.- Elegir: kernel, h, y dominio (valores de x) sobre los que evaluar f(x).
2.- Para cada X
i
evaluar el kernel en todo x del dominio:

El resultado de esto es un conjunto de n curvas, una para cada punto X
i
.
3.- Ponderar cada curva por 1/h.
4.- Para cada x, hacer la media de las curvas ponderadas.

Ejemplo bsico: Para un conjunto de datos, mostramos cmo obtener estimador kernel de la
densidad, usando para ello la distribucin estndar normal como kernel.
% Generate standard normal random variables.
n = 10;
data = randn(1,n);
% We will get the density estimate at these x values.
x = linspace(-4,4,50);
fhat = zeros(size(x));
h = 1.06*n^(-1/5);
hold on
for i=1:n
% get each kernel function evaluated at x
% centered at data
f = exp(-(1/(2*h^2))*(x-data(i)).^2)/sqrt(2*pi)/h;
plot(x,f/(n*h));
fhat = fhat+f/(n);
end
plot(x,fhat);
hold off

El resultado es el siguiente:
K
i
= K
x X
i
h
|
\

|
.
|
, i = 1,..., n.

EJERCICIO 9. Identifica cada uno de los pasos bsicos indicados anteriormente en el cdigo que he
generado. Posteriormente, utiliza el cdigo anterior para comprobar cmo evoluciona la forma de
la curva a medida que variamos la anchura h. Para ello, contempla usar n=100 observaciones de
una normal estndar, y los siguientes h=0.84, 0.42, 0.21, 0.11. Finalmente, en lugar de utilizar el
kernel normal utiliza este otro: , en el resto de los casos K(t) = 0.

Debido a la relevancia de la eleccin del parmetro que controla la anchura, h, estamos
interesados en conocer cmo determinar los valores apropiados para h. Para kernel normales se
puede demostrar que el ancho de ventana (anchura) ptimo es:

Junto con la eleccin del parmetro h, tambin hemos tenido que elegir la funcin kernel. Sin
embargo esta eleccin es menos importante toda vez que el efecto del kernel se reduce de
manera importante al ir tomando medias. En la prctica habitual la determinacin del kernel se
debe a cuestiones computacionales o a requisitos de diferenciabilidad requeridos en la estimacin.
La siguiente tabla recoge los ms habituales.
2
3
( ) (1 ) 1 1
4
K t t si t = s s
( )
1/5
* 1/5 1/5
4 3 1.06 .
Ker
h n n o o

= ~

Que grficamente son:


EJERCICIO 10. Matlab tiene la funcin ksdensity. Con uso de la ayuda reproduce el ejercicio 1
utilizando esta funcin. Los usuarios de Octave tienen la funcin kernel_density y
kernel_bandwidth. Estos ltimos usuarios pueden intentar, sin embargo, ver si el cdigo de
ksdensity funciona en Octave. Para conseguir el cdigo podis localizarlo en la web del curso.

EJERCICIO 11. Una atraccin turstica que ha sido muy estudiada histricamente se caracteriza por
emular un geiser. Una de las variables ms relevantes es el tiempo de espera (minutos) entre una
erupcin y otra consecutiva. Conocer las caractersticas de la variable tiempo de espera ayuda a
las autoridades del parque de atracciones a controlar otras variables de inters. Los datos geyser
contienen la informacin necesaria para arrojar luz sobre el comportamiento de la variable
aleatoria. Se pide:
a. Si asumimos un modelo paramtrico como la distribucin normal, dibujar la funcin de
densidad correspondiente a los datos geyser.
b. Si por el contrario adoptamos un enfoque noparamtrico, dibuja la densidad estimada
mediante un kernel.
c. Compara una y otra. Qu conclusiones puedes sacar?

Regresin No paramtrica
En esta seccin es necesario recordar mnimamente los elementos bsicos de econometra. Existe
bastante software (empaquetado o enlatado) contrastado para la prctica economtrica, tanto
software comercial como libre. Claro ejemplo de esto ltimo es GRETL, qu es instalable en varios
entornos. Respecto a MATLAB y OCTAVE est disponible un mdulo denominado econometrics
que tienen programadas muchas funciones habituales en la prctica economtrica. Es ms difcil
encontrar repertorios relativos a econometra no paramtrica. A estos efectos el software ms
desarrollado se encuentra probablemente en el programa R, tambin de libre disposicin.
Por otro lado, las tcnicas de regresin no paramtricas no suelen explicarse en los cursos
introductorios de econometra, pese a la relevancia que estn adquieriendo en la actualidad en la
investigacin terica y aplicada en tcnicas economtricas. Esta seccin pretende iniciar al
estudiante, a un nivel muy elemental, en este tpico.
El anlisis de regresin es quizs la herramientas ms utilizada de todo el conjunto de
herramientas para el anlisis de datos. La regresin modeliza el comportamiento esperado de una
variable dependiente -y- dado un vector de variables explicativas (regresores) que covaran
posiblemente con y. El modelo bsico es la regresin lineal respecto a los parmetros del modelos
(atencin: no respecto de la variables en s), por ejemplo:
y=|
0
+|
1
X
1
+|
2
X
2
+...+|
k
X
k
+c.
Este modelo es paramtrico porque asumimos un modelo explcito para la relacin entre la
variable a explicar - y y las explicativas X. Por eso decimos que se trata del modelo de regresin
lineal paramtrico, que tambin se puede expersar de forma ms til y compacta as:
y
i
= X
i
' | +c
i
, i =1,...,n,
donde X
i
e
k
, y | un vector k 1de parmetros desconocidos.
La estimacin de mnimos cuadrados para un vector de errores E(c
i
) =0 y var(c
i
) =o
2
, es

|=(X'X)
-1
X'y, y es un vector nx1, X=[X
i
], para i =1,...,n.
EJERCICIO 12. Descarga el conjunto de datos REGRESION, y calcula el estimador de mnimos
cuadrados considerando la primera variable como variable a explicar. Luego, con el modelo
estimado, calcula el vector de residuos, y haz un grfico de la variable original, los valores
estimados y los residuos. Finalmente, repite el ejercicio con el siguiente cdigo para el estimador:
bhat = X\Y; %%bhat es el estimador de beta. Aprecias alguna
diferencia?
Un modelo ms general que el lineal paramtrico sera este otro
y
i
=g(X
i
,|)+c
i
, i =1,...,n ,
donde la funcin g tiene un forma funcional conocida con un vector parmetros (betas)
desconocido. En este caso, en ciertas circunstancias, la estimacin mnimo cuadrtica o bien los
mnimos cuadrados nolineales podran servir para estimar adecuadamente el vector de
parmetros. Tambin en este caso estaramos bajo un esquema paramtrico en el que asumimos
que conocemos la forma funcional. Los mtodos de regresin noparamtrica precisamente no
requieren que se hagan asunciones a propsito de la forma funcional del proceso generador de
datos. Simplemente asume que la variable de estudio existe y que satisface ciertas condiciones de
regularidad (por ejemplo, diferenciabilidad) y condiciones sobre los momentos. Ahora bien, al
poner menos restricciones que en caso paramtrico, sern necesarias ms observaciones que las
requeridas por la tcnicas parmtrica para alcanzar el mismo grado de precisin que
obtendramos bajo un modelo correctamente especificado paramtrico.
Consideremos el modelo de regresin noparamtrico siguiente:
y
i
= g(X
i
) +c
i
, i =1,...,n.
Las realizaciones muestrales (y
i
, X
i
) son iid. La funcin g es desconocida. En caso de que sea
diferenciable (smooth), entonces podemos estimarla utilizando kernels. La fucin g(x) se
interpreta como la media condicionada de y dada la realizacin del vector X=x, esto es
g(x) =E[y
i
X
i
= x].
De hecho, se puede demostrar que E[y X] es la funcin ptima de X para predecir la variable
explicativa y, en el sentido de que el error de prediccin medio ser mnimo para la clase de todas
las funciones continuas.
Si denominamos a f
y, x
(x, y), f (x) y f
y x
(x, y) como la funcin de distribucin de probabilidad
(PDF) conjunta de (y,X), la PDF marginal de X, y la PDF condicionada de y X , respectivamente, y
recordando que f
y x
(x, y) = f
y, x
(x, y) / f (x) , se tiene que
E[y X] = y
}
f
y x
(x, y)dy =
yf
y, x
(x, y)
}
dy
f (x)
=: g(x)

La estimacin de las funciones
,
( , ), ( )
y x
f x y f x se realiza por kernels del tipo a los estudiados en la
seccin anterior. La cuestin es por tanto cmo estimar la integral. Realizando algunas
operaciones se llega a la expresin
1
1 1
1
( ) , donde .
n
i
i
i
n n
j
i
i i i
i j
n
i
i
X x
y K
X x
X x h
g x y w w K K
X x h h
K
h
=
= =
=
| |
|
| | | |
\ .
= = =
| |
| |
\ .
\ .
|
\ .


Es decir, el estimador E(y/X) es simplemente una media ponderada de Y
i
con pesos
(ponderaciones) w
i
. Desde el punto de vista terico es posible demostrar que este estimador es
consistente, es decir,
g(x)
p
g(x). A este estimador se le denomina estimador Nadaraya-Watson
y tambin estimador kernel local constante de g(x).
Para el caso en que X
i
es un vector q-dimensional, la expresin del estimador sera la misma con la
salvedad de que ahora
1
1
... ,
qi
i i
q
X x
X x X x
K k k
h h h
| | | | | |
=
|
| |
|
\ .
\ .
\ .
siendo h
q
el parmetro
smooth asociado con la variable X
q
.
EJERCICIO 13. Estimador Nadaraya-Watson.
A partir de la siguiente generacin de ruido.
x = linspace(0, 4 * pi,100);
y = sin(x) + 0.75*randn(size(x));
Crea una funcin inline para poder evaluar los pesos usando un kernel
normal: Para ello, haz un help inline, y sala con la siguiente
expresin:
mystrg='(2*pi*h^2)^(-1/2)*exp(-0.5*((x - mu)/h).^2)';
wfun = FUNCIN INLINE ADECUADA PARA mystrg;
%Obtener la estimacin para cada valor de x, y almacnalos en yhatnw
yhatnw = zeros(size(x));
n = length(x);
% Fijamos el width en 1.
h = 1;
% Calculamos el smooth para cada valor en x
for i = 1:n
w = wfun(h,x(i),x);
yhatnw(i) = EXPRESIN DEL ESTIMADOR NADARAYA-WATSON para cada i;
end
Ahora dibuja los datos originales junto con la curva estimada.
A continuacin, y sobre el script anterior, implementa el siguiente estimador conocido como
estimador no paramtrico Priestley-Chao:
g
PC
(x) =
1
h
(x
i
x
i 1
)K
x x
i
( )
n
|
\

|
.
|
y
i
i =1
n


Ahora estars estimando dos curvas. Representa grficamente ambas.

Sin embargo, el mtodo Nadaraya-Watson, que ajusta una constante local, puede ser fcilmente
generalizable y estimar g(x) con un estimador kernel noparamtrico local lineal o incluso
polinmico. Los estimadores locales lineales adems automticamente proveen de un estimador
respuesta, esto es, la derivada de g(x), mientras que el orden p-simo del mtodo polinmico local
puede llegar hasta la derivada de orden p.
Los estimadores kernel locales polinmicos consisten en obtener una estimacin de Yo en el punto
Xo ajustando un polinomico de grado p utilizando para ello mnimos cuadrados ponderados. En
definitiva se quiere ponderar los puntos en base a su distancia al punto Xo (los puntos cercanos
tendrn mayor peso que los alejados). Los pesos se obtienen de la altura de una funcin kernel
centrada en Xo.
La expresin del estimador kernel localmente polinmico en un punto x es:
|
0
+ |
1
(X
i
x) + |
2
(X
i
x)
2
+...|
p
(X
i
x)
p

usando los puntos (Xi,Yi) y por medio de mnimos cuadrados ponderados. Los pesos estn
definidos por la funcin kernel
K
h
(X
i
x) =
1
h
K
X
i
x
h
|
\

|
.
|
.
El valor de la estimacin en el punto x es

|
0
, donde

|
i
es tal que minimiza
K
h
(X
i
x)(Y
i

i =1
n

|
0
|
1
(X
i
x) ... |
p
(X
i
x)
p
)
2
.
Matricialmente el procedimiento para la estimacin de mnimos cuadrados ponderados sera la
siguiente:
b = (X'
x
W
x
X
x
)
1
X'
x
W
x
Y, donde Y es el vector de respuestas de dimensin nx1,
y por otro lado,
X
x
=
1 X
1
x ... X
1
x ( )
p
: : ... :
1 X
n
x ... X
n
x ( )
p

(
(
(
(
, y W es una matriz n x n con los pesos en la diagnonal principal
w
ii
= K
h
(X
i
x).
El estimador
y =

f (x) es el coeficiente del intercepto

|
0
del ajuste local, y por tanto lo podemos
obtener de

f (x) = i'
1
(X'
x
W
x
X
x
)
1
X'
x
W
x
Y, donde i'
1

es un vector (p+1) x 1 con un uno en el primer lugar, y cero en el resto.
En el caso particular de p = 0, llegamos al estimador de Nadaraya-Watson, y para p = 1 llegamos al
estimador kernel local lineal.
EJERCICIO 14. Implementa el estimador kernel lineal local (p=1), y con exactamente los mismos
datos que en el ejercicio 13, replica dicho ejercicio.

En funcin de cul sea el orden del estimador kernel polinmico local, el ancho de banda h (o
anchos de banda) ser(n) diferente(s). No obstante esto no es el objeto de este curso y el lector
interesado puede hallar una variedad de mtodos alternativos en Li y Racine (2007) para
seleccionarlos ptimamente.

Das könnte Ihnen auch gefallen