Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso Estadística R 2 2016 PDF
Curso Estadística R 2 2016 PDF
o
c
u
m
e
n
t
o
Curso de Estadística con R
s
T
é
Autor: Francisco Parra Rodríguez
Jefe de Servicio de Estadísticas
Económicas y Sociodemográficas
c
ICANE
n
i
DOC. Nº 2/2016
ISSN 2444 - 1627
Santander, Cantabria
c
o
s
1. EL MODELO LINEAL GENERAL ..................................................................................................3
1.1. INTRODUCCIÓN........................................................................................................................3
1.2. REGRESIÓN LINEAL SIMPLE. EL MÉTODO DE LOS MÍNIMOS CUADRADOS
ORDINARIOS. ........................................................................................................................................3
1.3. REGRESIÓN LINEAL MÚLTIPLE............................................................................................6
1.4. PROPIEDADES ESTADISTICAS DEL ESTIMADOR MÍNIMO CUADRADO: TEOREMA
DE GAUSS-MARKOV............................................................................................................................8
1.5. COEFICIENTES DE DETERMINACIÓN..................................................................................9
1.6. TABLA DE ANALIS DE LA VARIANZA (ANOVA).............................................................10
1.7. INFERENCIA ACERCA DE LOS ESTIMADORES................................................................11
1.7.1. Intervalos De Confianza.................................................................................................12
1.7.2. Contrastes de Hipótesis ..................................................................................................13
1.8. PREDICCIÓN EN EL MODELO DE REGRESIÓN ................................................................15
1.9. ESTIMACIÓN DE UN MODELO DE REGRESIÓN LINEAL CON R...................................15
1.10. LA CONSOLA R STUDIO. ..........................................................................................20
2. EXTENSIONES AL MODELO DE REGRESIÓN LINEAL......................................................25
2.1. INTRODUCCIÓN......................................................................................................................25
2.2. HETEROSCEDASTICIDAD.....................................................................................................27
2.2.1. Test de Bartlett ...............................................................................................................27
2.2.2. Contraste de Goldfeld-Quant..........................................................................................28
2.2.3. Contraste de White .........................................................................................................29
2.3 AUTOCORRELACIÓN...................................................................................................................30
2.3.1. Contraste de Durbin-Watson ....................................................................................................30
2.3.2. Contraste de Breush-Godfrey ...................................................................................................32
2.3. DEFICIENCIAS MUESTRALES: MULTICOLINEALIDAD .................................................33
2.4. ERRORES DE ESPECIFICACIÓN...........................................................................................35
2.4.1. Omisión de una variable relevante .................................................................................35
2.4.2. Inclusión de una variable innecesaria.............................................................................37
2.4.3. Especificación funcional incorrecta ...............................................................................37
2.4.4. Contraste de errores de especificación ...........................................................................37
2.5. METODOS DE SELECCIÓN DE VARIABLES EN EL MODELO DE REGRESIÓN
LINEAL. ................................................................................................................................................38
3. MODELOS CON VARIABLES CUALITATIVAS ....................................................................42
3.1. MODELOS CON VARIABLES CUANTITATIVAS Y CUALITATIVAS COMO
REGRESORES. .....................................................................................................................................42
3.2. MODELOS ANOVA .................................................................................................................43
3.3. MODELOS ANCOVA...............................................................................................................46
4. MODELO LINEAL GENERALIZADO..........................................................................................52
4.1. EL MODELO PROBABILÍSTICO LINEAL ............................................................................56
4.2. EL MODELO LOGIT ................................................................................................................58
4.3. MODELO PROBIT....................................................................................................................62
5. MODELOS CON DATOS DE PANEL.......................................................................................64
5.1. INTRODUCCIÓN......................................................................................................................64
5.2. ESPECIFICACIÓN GENERAL DE UN MODELO DE DATOS DE PANEL.........................65
5.3. VENTAJAS Y DESVENTAJAS DE LOS MODELOS DE DATOS DE PANEL....................67
5.4. MODELO DE EFECTOS FIJOS ...............................................................................................68
5.5. MODELO DE EFECTOS ALEATORIOS.................................................................................70
5.6. ELECCIÓN DE MODELO DE EFECTOS O EFECTOS ALEATORIOS................................71
1
6. MÉTODOS DE ESTIMACIÓN NO PARAMÉTRICOS...........................................................75
6.1. INTRODUCCIÓN......................................................................................................................75
6.2. FUNCIÓN NUCLEO .................................................................................................................76
6.3. ESTIMADORES DE FUNCIÓN NUCLEO Y POLINOMIOS LOCALES..............................79
6.4. REGRESIÓN POR SPLINES ....................................................................................................83
6.5. APROXIMACIÓN POR SERIES DE FOURIER......................................................................88
7. REGRESIÓN EN EL DOMINIO DE LA FRECUENCIA ...........................................................92
7.1. INTRODUCCIÓN......................................................................................................................92
7.2. REGRESIÓN BAND SPECTRUM ...........................................................................................93
7.3. REGRESIÓN EN EL DOMINIO DE LA FRECUENCIA CON PARAMETROS
DEPENDIENTES DEL TIEMPO. .........................................................................................................99
7.4. DESESTACIONALIZACIÓN A TRAVÉS DE LA REGRESIÓN DEPENDIENTE DE LA
FRECUENCIA.....................................................................................................................................106
8. MÉTODOS DE CLASIFICACION..............................................................................................111
8.1. INTRODUCCION....................................................................................................................111
8.2. ANALISIS DISCRIMINANTE ...............................................................................................113
8.3. REGRESION LOGÍSTICA......................................................................................................117
8.4. ALGORITMO K-VECINOS MAS CERCANOS. ...................................................................119
8.5. ÁRBOLES DE CLASIFICACIÓN ..........................................................................................121
8.6. MÁQUINAS DE SOPORTE VECTOR...................................................................................126
8.7. METODOLOGÍAS – COMBINANDO CLASIFICADORES.................................................130
9. BIBLIOGRAFÍA..............................................................................................................................132
10. ANEXO I ........................................................................................................................................137
2
1. EL MODELO LINEAL GENERAL
1.1. INTRODUCCIÓN
La regresión lineal es la técnica básica del análisis econométrico. Mediante dicha técnica
tratamos de determinar relaciones de dependencia de tipo lineal entre una variable dependiente
o endógena, respecto de una o varias variables explicativas o exógenas. Gujarati (1975), define
el análisis de regresión como el estudio de la dependencia de la variable dependiente, sobre una
o más variables explicativas, con el objeto de estimar o predecir el valor promedio poblacional
de la primera en términos de los valores conocidos o fijos (en medias muestrales repetidas) de
las últimas.
En este capitulo abordaremos el estudio del caso de una única ecuación de tipo lineal con una
variable dependiente y una independiente, y la generalización del modelo al caso de múltiples
variables exógenas. Las extensiones del modelo lineal general se analizarán en capítulos
siguientes.
Partimos de la existencia de una relación lineal entre una variable endógena (Y) y k variables
exógenas (Xi):
Yi 0 1 X 1i 2 X 2i ... k X ki ei
Nuestro objetivo consiste en estimar los parámetros i de la ecuación anterior a partir de los
datos muestrales de los que disponemos. Para ello utilizaremos el método de los Mínimos
Cuadrados Ordinarios (MCO), pero antes de ver en que consiste este método debemos plantear
ciertas hipótesis sobre el comportamiento de las variables que integran el modelo.
De lo anterior se desprende que, a la hora de estimar los parámetros del modelo, resultará de
vital importancia que dicho término de error no ejerza ninguna influencia determinante en la
explicación del comportamiento de la variable dependiente. Por ello, si el modelo está bien
especificado, cuando se aplica el método de Mínimos Cuadrados Ordinarios, cabe realizar las
siguientes hipótesis de comportamiento sobre el término de error:
3
longitud de un determinado objeto, a veces al medir dicha longitud cometeremos un
error de medida por exceso y otras por defecto, pero en media los errores estarán
compensados.
2. La covarianza entre ei y ej es nula para i j tal que E (ei·ej) = 0. Ello quiere decir que
el error cometido en un momento determinado, i, no debe estar correlacionado con el
error cometido en otro momento del tiempo, j, o dicho de otro modo, los errores no
ejercen influencia unos sobre otros. En caso de existir este tipo de influencia o
correlación, nos encontraríamos ante el problema de la autocorrelación en los residuos,
el cual impide realizar una estimación por Mínimos Cuadrados válida.
3. La matriz de varianzas y covarianzas del término de error debe ser escalar tal que
Var(ei) = 2I, i=1,…,n, donde I es la matriz unidad. Dado que siempre que medimos
una variable, se produce un cierto error, resulta deseable que los errores que cometamos
en momentos diferentes del tiempo sean similares en cuantía. Esta condición es lo que
se conoce como supuesto de homocedasticidad que, en caso de no verificarse, impediría
un uso correcto de la estimación lineal por Mínimos Cuadrados.
Estas hipótesis implican que los errores siguen una distribución Normal de media cero y
varianza constante por lo que, dado su carácter aleatorio, hace que los errores sean por
naturaleza impredecibles.
2. Las variables explicativas, Xi, son no estocásticas, es decir, son consideradas fijas en
muestreos repetidos.
3. El número de variables explicativas, k, siempre debe ser menor que el tamaño muestral,
n. Es decir, siempre debemos disponer de más observaciones que parámetros haya en el
modelo (coeficientes ).
Yi 0 1 X 1i ei
Si suponemos que se verifican los supuestos anteriores, la estimación mínimo cuadrática de los
parámetros 0 y 1, dará como resultado gráfico una recta que se ajuste lo máximo posible a la
nube de puntos definida por todos los pares de valores muestrales (Xi,Yi), tal y como se puede
apreciar en el Figura 1.1.
4
Fig. 1.1. Nube de puntos o gráfico de dispersión con variables relacionadas linealmente
El término de error, ei, puede ser entendido, a la vista del gráfico anterior, como la distancia
que existe entre el valor observado, Yi, y el correspondiente valor estimado, que sería la
imagen de Xi en el eje de ordenadas. El objetivo de la estimación por Mínimos Cuadrados
Ordinarios es, precisamente, minimizar el sumatorio de todas esas distancias al cuadrado; es
decir1:
n n n
Min ei2 (Yi Yˆi ) 2 (Yi ˆ0 ˆ1 X i ) 2
i 1 i 1 i 1
n n
Yi X i ˆ0 X i ˆ1 X i2
i 1 i 1 i 1
X X Yi Y
n
i
ˆ1 i 1
X X
n
2
i
i 1
ˆo Y ˆ1 X
1
Los parámetros y variables que llevan encima un símbolo de acento circunflejo (^) indican que son
estimadas por lo que no se corresponden con el valor real del parámetro sino con el calculado por
nosotros.
5
1.3. REGRESIÓN LINEAL MÚLTIPLE
Y X · e 1 X 1i 2 X 2i ... k X ki ei , i=1,2,…, n
donde:
Y1
Y2
Y es el vector de observaciones de la variable endógena
...
Yn
X11 X12 ... X1k
X 21 X 22 ... X 2k
X X1 X2 ... Xk es la matriz de observaciones de las variables
... ... ... ...
X n1 X n2 ... X nk
exógenas
1
2 es el vector de coeficientes que pretendemos estimar
...
K
e1
e2
e es el vector de términos de error
...
en
Yi o 1 X 1i 2 X 2i ... k X ki ei , i=1,2,…, n
Suponiendo que se verifican las hipótesis que veíamos antes, el problema a resolver nuevamente
es la minimización de la suma de los cuadrados de los términos de error tal que:
6
Y ˆX
n n n
ei2 Yi Yˆi
2 2
Min
i 1 i 1 i 1
Desarrollando dicho cuadrado y derivando respecto a cada βi obtenemos el siguiente sistema de
ecuaciones normales expresado en notación matricial:
en donde basta con despejar β premultiplicando ambos miembros por la inversa de la matriz
( X ' X ) para obtener la estimación de los parámetros del modelo tal que:
ˆ ( X ' X ) 1 X ' Y
donde:
n 2 n n
n
X 1i X 1i X 2i ... X 1i X ki X 1i Yi
t 1 t 1 t 1 t 1
n n n
n
X ' X X ... X 2i X ki X `Y
2
X 2i X 1i 2i X 2i Yi
t 1 t 1 t 1
t 1
n ..... n
..... ...
n
..... n ....
X X X ki2 X Y
ki 1i X ki X 2i ... ki i
t 1 t 1 t 1 t 1
n
n
n
n
X
t 1
1i ...
t 1
X
Yi
ki
t 1
n n n
n
X'X X ... X 1i X ki X `Y X 1i Yi
2
X 1i 1i
t 1 t 1 t 1
t 1
n..... n
..... ...
n
..... n
....
X X Y
ki X ki i
2
ki X 1i ... X ki
t 1 t 1 t 1 t 1
Cada uno de los coeficientes estimados, ˆi , son una estimación insesgada del verdadero
parámetro del modelo y representa la variación que experimenta la variable dependiente Y
cuando una variable independiente Xi varía en una unidad y todas las demás permanecen
7
constantes (supuesto ceteris paribus). Dichos coeficientes poseen propiedades estadísticas muy
interesantes ya que, si se verifican los supuestos antes comentados, son insesgados, eficientes y
óptimos.
E ( ˆ ) E ( X ' X ) 1 X ' e ( X ' X ) 1 X ' E (e) .
var(ˆ ) E ˆ E ( ˆ ) ˆ E ( ˆ )
'
Entonces
var(ˆ ) E ( X ' X ) 1 X ' ee' X ( X ' X ) 1 ( X ' X ) 1 X ' E ee'X ( X ' X ) 1 2 ( X ' X ) 1
donde D es una matriz (k×n) arbitraria, que establece la diferencia entre el estimador MCO y el
estimador alternativo.
8
La esperanza de dicho estimador es:
~
E DX
~
Si es insesgado, entonces DX 0 . En otras palabras el estimador alternativo sólo será
insesgado si la matriz de distancia es ortogonal a las variables explicativas.
~ ~
~ ~
~
var( ) E E ( ) E ( )
'
entonces,
~
var( ) ( X ' X ) 1 X ' D E ee' D' X ( X ' X ) 1 2 ( X ' X ) 1 D' D
~
y como D' D es una matriz semidefinida positiva, se demuestra que la var( ) var(ˆ ) con
~
independencia de la normalidad o no de las distribución .
Una vez estimada la ecuación de regresión lineal tiene interés determinar la exactitud del ajuste
realizado. Para ello hay que analizar la variación que experimenta esta variable dependiente y,
dentro de esta variación, se estudia qué parte está siendo explicada por el modelo de regresión y
qué parte es debida a los errores o residuos.
donde:
Cuando el modelo tiene término independiente, cada una de estas sumas viene dada por:
n
SCT Y ' Y nY 2 Yi 2 nY 2
i 1
n
SCE ˆ ' X ' Y ˆ nY 2 Yˆi 2 nY 2
i 1
9
n n n
SCR ei2 Y ' Y ˆ ' X ' Y Yi 2 Yˆi 2 SCT SCE
i 1 i 1 i 1
A partir de las expresiones anteriores es posible obtener una medida estadística acerca de la
bondad de ajuste del modelo mediante lo que se conoce como coeficiente de determinación (R2),
que se define como:
SCR
R2 1 , 0 R 1
2
SCT
SCE
R2 , 0 R 1
2
SCT
Mediante este coeficiente es posible seleccionar el mejor modelo de entre varios que tengan el
mismo número de variables exógenas, ya que la capacidad explicativa de un modelo es mayor
cuanto más elevado sea el valor que tome este coeficiente. Sin embargo, hay que tener cierto
cuidado a la hora de trabajar con modelos que presenten un R2 muy cercano a 1 pues, aunque
podría parecer que estamos ante el modelo “perfecto”, en realidad podría encubrir ciertos
problemas de índole estadística como la multicolinealidad que veremos en el capítulo 3.
Por otra parte, el valor del coeficiente de determinación aumenta con el número de variables
exógenas del modelo por lo que, si los modelos que se comparan tienen distinto número de
variables exógenas, no puede establecerse comparación entre sus R2. En este caso debe
emplearse el coeficiente de determinación corregido R 2 , el cual depura el incremento que
experimenta el coeficiente de determinación cuando el número de variables exógenas es mayor.
R2 1
SCR n k
SCT n 1
1
n 1
nk
1 R2
cuyo valor también oscila entre 0 y 1
SCE
Fexp k 1
SCR
nk
y la regla de decisión que rechaza la hipótesis H 0 ocurre cuando Fexp F (k 1, n k . ).
10
Yi o 1 X 1i 2 X 2i ... k X ki ei , i=1,2,…, n
que nos proporciona la suma de cuadrados de los residuos eˆ' eˆ SCR ;
Yi o u ri , i = 1, . . . ,n,
n
que nos proporciona la suma de cuadrados de los residuos, uˆ r ' uˆ r i 1
(Yi Y ) SCT ;
Hasta el momento hemos visto como la estimación por MCO permite obtener estimaciones
puntuales de los parámetros del modelo. La inferencia acerca de los mismos permite completar
dicha estimación puntual, mediante la estimación por intervalos y los contrastes de hipótesis.
Los primeros posibilitan la obtención de un intervalo dentro del cual, con un determinado nivel
de confianza, oscilará el verdadero valor de un parámetro, mientras que los segundos nos
permitirán extraer consecuencias del modelo, averiguando si existe o no, evidencia acerca de
una serie de conjeturas que pueden plantearse sobre sus parámetros.
Por esta razón, a la estimación que obtenemos en una investigación por muestreo la acompañamos
con un intervalo de valores posibles. La amplitud de dicho intervalo dependerá del grado de
confianza que establezcamos.
El grado o nivel de confianza nos expresa el número de veces que la media verdadera de la
población está incluida en cien intervalos de cien muestras extraídas de una población dada. El
11
nivel de confianza más utilizado es el 95%, lo que quiere decir que 95 de cada 100 intervalos
construidos contendrán el verdadero valor de la media.
P[ X a X X b ] 1
Presentamos a continuación cómo se construyen los intervalos de confianza para los distintos
términos que hayamos estimado en el modelo:
ICi : ( i S ˆ tn k )
i
donde S ˆi es la desviación típica estimada para el coeficiente ˆi , que se obtiene de la matriz de
varianzas y covarianzas de los estimadores expresada como:
Sˆ ˆ S 2
... S 2
ˆ2 ˆ2 ˆK
S ˆˆ 2 1
... ... ... ...
S S ˆ ˆ ... S 2ˆ
ˆK ˆ1 K 2 K
12
obtenidos a partir de la expresión S ˆˆ S e2 X ' X , donde S e2 es la estimación de la varianza
1
S 2 (n k ) S 2 (n k ) SCR SCR
IC : e
; e
;
2 2 2 2 2
e 1 1
2 2 2 2
En este caso se asume que la Suma de Cuadrados de los Errores se distribuyen según una
distribución también derivada de la Normal que se conoce como 2 de Pearson. La distribución
2 de Pearson es asimétrica. Su propiedad fundamental es que si sumamos dos 2
independientes de grados de libertad n1 y n2 , se obtiene una nueva variable 2 con grados de
libertad igual a la suma de n1 y n2 . Los grados de libertad que hay que considerar en el cálculo
de los intervalos de confianza del término error son de n-k.
Una buena parte de las investigaciones estadísticas están orientadas al desarrollo de procesos
encaminados a la contrastación de hipótesis que previamente se han establecido.
Una hipótesis es una afirmación que está sujeta a verificación o comprobación. Hay que tener
presente que una hipótesis no es un hecho establecido o firme, las hipótesis están basadas en la
experiencia, en la observación, en la experimentación o en la intuición del sujeto que las formula.
Cuando las hipótesis se plantean de tal modo que se pueden comprobar por medio de métodos
estadísticos reciben el nombre de hipótesis estadísticas. Estas hipótesis son afirmaciones que se
efectúan sobre uno o más parámetros de una o más poblaciones. Las hipótesis estadísticas son de
dos tipos: hipótesis nula e hipótesis alternativa. La hipótesis nula, o que no se verifique dicha
afirmación, simbolizada por H0, es la hipótesis que se debe comprobar.
Para contrastar una hipótesis nula examinamos los datos de la muestra tomados de la población y
determinamos si son o no compatibles con dicha hipótesis. Si son compatibles entonces H0 se
acepta, en caso contrario se rechaza. Si se acepta la hipótesis nula afirmamos que los datos de esa
muestra en concreto no dan suficiente evidencia para que concluyamos que la hipótesis nula sea
falsa; si se rechaza decimos que los datos particulares de la muestra ponen de manifiesto que la
hipótesis nula es falsa, entonces la hipótesis alternativa. H1, es verdadera.
El criterio que permite decidir si rechazamos o no la hipótesis nula es siempre el mismo. Definimos
un estadístico de prueba, y unos límites que dividen el espacio muestral en una región en donde se
rechaza la hipótesis establecida, y otra región en la que no se rechaza, llamada región de
aceptación. A la región donde se rechaza la hipótesis nula se le llama región crítica. Esta región es
un subconjunto del espacio muestral, y si el valor del estadístico de prueba pertenece a él se rechaza
la hipótesis nula.
13
El límite entre la región crítica y la región de aceptación viene determinado por la información
previa relativa a la distribución del estadístico de prueba.
Señalar que un estadístico de prueba es una fórmula que nos dice como confrontar la hipótesis nula
con la información de la muestra y es, por tanto, una variable aleatoria cuyo valor cambia de
muestra a muestra.
Otra de las consideraciones a realizar en el contraste de hipótesis es fijar la probabilidad del error de
rechazar la prueba siendo cierta, a este error se le denomina nivel de significación. Por ejemplo, si
se utiliza un nivel de significación de 0.05, equivale a decir que si para realizar un contraste
tomáramos infinitas muestras de la población, rechazaríamos la hipótesis nula de forma incorrecta
un 5 % de las veces.
Los contrastes de hipótesis que normalmente se realizan en la estimación MCO son los
siguientes:
Formulación de la hipótesis: H 0 : j *j
H 1 : j *j
ˆ j *j
Estadístico experimental: texp
S ˆ
j
Formulación de la hipótesis: H0 : j 0
H1 : j 0
ˆ j
Estadístico experimental: texp
S ˆ
j
14
c) Contraste de significación global
SCE R2
k 1 k 1
Estadístico experimental: Fexp
SCR
nk
1 R
2
nk
Una vez estimado y validado el modelo, una de sus aplicaciones más importantes consiste en
poder realizar predicciones acerca del valor que tomaría la variable endógena en el futuro o para
una unidad extramuestral. Esta predicción se puede realizar tanto para un valor individual como
para un valor medio, o esperado, de la variable endógena, siendo posible efectuar una
predicción puntual o por intervalos. Su cálculo se realiza mediante las expresiones que figuran a
continuación:
15
disponen de libertad para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De
hecho R dispone de una comunidad de desarrolladores/usuarios detrás que se dedican
constantemente a la mejora y a la ampliación de las funcionalidades y capacidades del
programa. En la web http://www.r-project.org/ se encuentra disponible toda la información
acerca de R. La instalación de R se realiza a través de la CRAN (ComprehensiveR Archive
Network): http://cran.r-project.org
Actualmente R se distribuye para los siguientes Sistemas Operativos:
•Windows: entorno gráfico.
•Linux (Debian/Mandrake/SuSe/RedHat/VineLinux)
•MacOSX
•Código fuente: ampliación a sistemas Unix
Las funciones de R se agrupan en paquetes (packages, libraries), los que contienen las funciones
más habituales se incluyen por defecto en la distribución de R, y el resto se encuentran
disponibles en la Comprehensive R Archive Network (CRAN).
Las entidades que R crea y manipula se llaman objetos. Dichos objetos pueden ser:
•Escalares: números, caracteres, lógicos (booleanos), factores
•Vectores/matrices/listas de escalares
•Funciones
•Objetos ad-hoc
Dichos objetos se guardan en un workspace. Durante una sesión de R todos los objetos estarán
en memoria, y se pueden guardar en disco para próximas sesiones.
16
R trabaja sobre estructuras de datos. La estructura más simple es un vector numérico, que
consiste en un conjunto ordenado de números.
Un vector de reales se crea mediante la función c y se guarda con el nombre “Cantidad”.
> Cantidad <- c(2.456,2.325,2.250,2.200,2.100,2.082,2.045,2.024)
Se crea ahora el vector de nombre “Precio”.
> Precio <- c(82,92,94,99,106,108,112,115)
Para obtener los estadísticos básicos del vector (Cantidad): media, desviación estandar, varianza
y mediana, se utilizan las siguientes funciones R:
> mean(Cantidad)
> sd(Cantidad)
> var(Cantidad)
> median(Cantidad)
17
•Factores (factor): útiles para el uso de datos categóricos.
•Listas (list): generalización de los vectores donde los elementos pueden ser de diferentes tipos
(incluso vectores o nuevas listas).
•Data frames: matrices donde las diferentes columnas pueden tener valores de diferentes tipos.
•Funciones (function): conjunto de código de R ejecutable y parametrizable.
Una tabla debe estar en un objecto tipo matriz. Ejemplo:
Tabla<-matrix(c(652,1537,598,242,36,46,38,21,218,327,106,67),nrow=3,byrow=T)
La función read.table permite leer datos desde ficheros en formato ASCII. Devuelve como
resultado un data.frame, por tanto, se supone que cada línea contiene los datos para un
individuo.
El fichero EXCEL personas.xls tiene el siguiente aspecto:
18
La función de R que nos permite estimar un modelo de regresión lineal es la función lm. La
forma de invocar a la función para estimar un modelo de regresión lineal simple es lm(y~x).
Se puede consultar la ayuda de la función para ver todas las posibilidades que ofrece.
> lm(Cantidad~Precio)
Call:
lm(formula = Cantidad ~ Precio)
Coefficients:
(Intercept) Precio
3.53427 -0.01336
En lugar de invocar simplemente la función podemos guardar su resultado en una variable y
veremos así que obtenemos más información.
> reg = lm(Cantidad~Precio)
Si queremos obtener el vector de residuos bastará solicitar:
> reg$residuals
Para realizar el análisis del modelo estimado utilizaremos la función summary. Así:
> summary(reg)
19
1.10. LA CONSOLA R STUDIO
RStudio es una interfaz que permite acceder de manera sencilla a toda la potencia de R. Para
utilizar RStudio se requiere haber instalado R previamente. Al igual que R-project, RStudio es
software libre.
El objetivo de los creadores de RStudio es desarrollar una herramienta potente que soporte los
procedimientos y las técnicas requeridas para realizar análisis de calidad y dignos de confianza.
Al mismo tiempo, pretenden que RStudio sea tan sencillo e intuitivo como sea posible para
proporcionar un entorno amigable, tanto para los ya experimentados como para los nuevos
usuarios
La instalación de RStudio se puede realizar desde la página oficial del programa
http://www.rstudio.org.
20
Para familiarizarnos con la consola R-Studio, vamos a cargar los datos de la encuesta de
presupuestos familiares de España que se distribuyen a través de la siguiente dirección web:
http://www.ine.es/dyngs/INEbase/es/operacion.htm?c=Estadistica_C&cid=1254736176806&me
nu=resultados&secc=1254736195147&idp=1254735976608, para ello nos vamos a auxiliar del
lenguaje Markdown.
Markdown es un lenguaje de marcado ligero creado por John Gruber que trata de conseguir la
máxima legibilidad y facilidad de publicación tanto en su forma de entrada como de salida,
inspirándose en muchas convenciones existentes para marcar mensajes de correo electrónico
usando texto plano. En Anexo I aparecen las instrucciones básicas de Markdown.
21
En el menú file seleccionamos R Markdown, y creamos un documento al que llamamos “Curso
de estadística en R”.
Instalamos la librería o Package-R: “MicroDatosEs” que incluye las funciones para leer el
fichero de microdatos de la Encuesta de Presupuestos Familiares. Base 2006 (EPF), cuyos
microdatos se descargan en la siguiente dirección web:
http://www.ine.es/dyngs/INEbase/es/operacion.htm?c=Estadistica_C&cid=1254736176806&me
nu=resultados&secc=1254736195147&idp=1254735976608
```{r}
library(MicroDatosEs)
setwd("D:/Curso de estadistica con R")
ecpf2014 <- epf.2011.hogares("Fichero de usuario de hogar a2014.txt")
str(ecpf2014)
```
Ejecutamos el Chunk:
22
Para realizar una estimación MCO del gasto de los hogares a partir de los ingresos, hay que
utilizar las siguientes variables:
GASTMON: Importe total del gasto monetario anual del hogar elevado temporal y
poblacionalmente (para el salario en especie se contabiliza sólo el importe del pago realizado
por el hogar).
IMPEXAC: Importe exacto de los ingresos mensuales netos totales del hogar.
Definimos el gasto por hogar y estimamos una regresión lineal entre gastos e ingresos en un
nuevo “Chunk” que ejecutamos:
```{r, echo=FALSE}
ecpf2014$GAST=ecpf2014$gastot/(12*ecpf2014$factor/10000)
est1 <- lm(ecpf2014$GAST~ecpf2014$impexac)
summary(est1)
```
##
## Call:
## lm(formula = ecpf2014$GAST ~ ecpf2014$impexac)
##
## Residuals:
## Min 1Q Median 3Q Max
## ‐9737.1 ‐623.1 ‐198.5 426.2 14583.7
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
23
## (Intercept) 1.000e+03 1.290e+01 77.52 <2e‐16 ***
## ecpf2014$impexac 7.130e‐01 5.613e‐03 127.02 <2e‐16 ***
## ‐‐‐
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1062 on 22144 degrees of freedom
## Multiple R‐squared: 0.4215, Adjusted R‐squared: 0.4215
## F‐statistic: 1.613e+04 on 1 and 22144 DF, p‐value: < 2.2e‐16
La librería-R:”gvlma”, junto a la presentación de los resultados de la regresión incluye un test
sobre los supuestos básicos del modelos de mínimos cuadrados ordinarios, se ejecuta con el
siguiente Chunk:
```{r, echo=FALSE}
library(gvlma)
gvmodelo <- gvlma(est1)
summary(gvmodelo)
plot(gvmodelo)
```
## Warning: package 'gvlma' was built under R version 3.2.3
## Call:
## lm(formula = ecpf2014$GAST ~ ecpf2014$impexac)
##
## Residuals:
## Min 1Q Median 3Q Max
## ‐9737.1 ‐623.1 ‐198.5 426.2 14583.7
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.000e+03 1.290e+01 77.52 <2e‐16 ***
## ecpf2014$impexac 7.130e‐01 5.613e‐03 127.02 <2e‐16 ***
## ‐‐‐
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1062 on 22144 degrees of freedom
## Multiple R‐squared: 0.4215, Adjusted R‐squared: 0.4215
## F‐statistic: 1.613e+04 on 1 and 22144 DF, p‐value: < 2.2e‐16
##
##
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES‐OF‐FREEDOM:
## Level of Significance = 0.05
##
## Call:
## gvlma(x = est1)
##
## Value p‐value Decision
## Global Stat 96987.028 0.0000 Assumptions NOT satisfied!
## Skewness 8351.469 0.0000 Assumptions NOT satisfied!
## Kurtosis 87869.731 0.0000 Assumptions NOT satisfied!
## Link Function 764.273 0.0000 Assumptions NOT satisfied!
## Heteroscedasticity 1.555 0.2124 Assumptions acceptable.
24
2. EXTENSIONES AL MODELO DE REGRESIÓN LINEAL
2.1. INTRODUCCIÓN
Como veíamos en el capitulo anterior, el modelo de regresión lineal requiere que se cumplan las
siguientes hipótesis sobre los términos de error:
Si se construye una gráfica de los resultados de una estimación mínimo cuadrática (en
ordenadas) frente al valor absoluto de los residuos (en abscisas), cuando éstos últimos presentan
una distribución aleatoria, es decir una distribución Normal de media cero y varianza constante,
N (0, 2 ) , el resultado obtenido (véase Fig. 2.1.) muestra que el tamaño del error es
independiente del tamaño de la variable estimada, ya que errores con valor elevado se
corresponden con valores bajos y altos de la variable dependiente estimada; sin embargo, una
distribución de residuos con problemas de heteroscedasticidad da lugar a una figura como la que
puede observarse en la figura 2.2., en donde se manifiesta una clara relación de dependencia
entre la variable estimada y el tamaño del error. En este caso los errores de mayor tamaño se
corresponden con los valores más altos de la variable estimada.
R e s id u o s a le a to rio s d e m e d ia c e ro y
v a ria n z a c o n s ta n te
3500
V a ri a b le e s ti m a d a
3000
2500
2000
1500
1000
500
0
0 200 400 600 800
R e si d u o s v a l o r a b so l u to (e )
25
R e s id u o s c o n h e te ro c e d a s tic id a d
3500
V a ria b le e s tim a d a
3000
2500
2000
1500
1000
500
0
0 200 400 60 0 800 10 0 0
R e sid u o s va lo r a b s o lu to (e )
La representación gráfica de los errores en forma de serie temporal, es decir, poniendo en el eje
de ordenadas los errores y en abscisas el periodo temporal en que están datados, permite
apreciar la ausencia o presencia de correlación ya que a los residuos no correlacionados (figura
2.3.) les corresponde una representación gráfica en la que no se aprecia pauta temporal alguna,
sucediéndose de forma impredecible o aleatoria, mientras que en los residuos con problemas de
autocorrelación la pauta temporal es evidente, evidenciándose que cada residuo podría ser
previsto en función de la sucesión de los errores correspondientes a periodos temporales
pasados (figura 2.4.)
1000
500
0
-5001940 1950 1960 1970 1980 1990 2000 2010
-1000
26
Residuos con problema de autocorrelación
1000
500
0
1940 1950 1960 1970 1980 1990 2000 2010
-500
-1000
Estos problemas asociados a los errores pueden detectarse con tests estadísticos diseñados para
ello. A continuación se describen dichos tests y la forma en que debe procederse para estimar
modelos en donde la estimación mínimo-cuadrática presenta problemas de este tipo asociados a
los residuos.
2.2. HETEROSCEDASTICIDAD
Decimos que el término de error de una estimación mínimo-cuadrática presenta
heteroscedasticidad cuando la varianza del mismo es diferente para las distintas observaciones
que integran la muestra, lo que implica que la variabilidad de los errores mínimo-cuadráticos
obtenidos están relacionados de alguna manera con los datos utilizados en el modelo, ya sea por
estar relacionados con la escala temporal de los datos recogidos o por presentar alguna relación
de dependencia con alguna de las variables exógenas utilizadas. Las consecuencias para la
estimación mínimo-cuadrática son que los estimadores de los coeficientes seguirán siendo
insesgados y lineales pero ya no serán de mínima varianza o eficientes. Estos problemas se
resuelven utilizando una técnica de estimación lineal que recibe el nombre de Mínimos
Cuadrados Generalizados (MCG), método que se estudiará más adelante.
El test de Bartlett se basa en de que la suposición de que las n observaciones de los datos de la
variable a estimar por el modelo pueden agruparse en G grupos (g=1, 2, ..., G), cada uno de los
cuales se caracteriza por tener un distinto tipo de observaciones asociadas a la variable
explicativa, de tal manera que n1 sería el número de observaciones correspondientes al primer
grupo, n2 el número de observaciones asociadas al segundo grupo y, en general, nG es el número
de observaciones asociadas al grupo g-ésimo. A cada grupo le corresponde un valor medio de la
variable dependiente y una varianza para este valor medio.
El test contrasta si dicha varianza es igual o no entre los distintos grupos que se han construido
para la variable dependiente, admitiéndose la hipótesis de existencia de heteroscedasticidad si la
varianza es significativamente diferente entre los grupos formados.
27
Los pasos a seguir en la práctica para realizar el test de Bartlett son los siguientes:
2
1. Se estima la varianza ( s g ) de cada grupo de observaciones, g=1, 2, ..., G mediante la
siguiente expresión:
ng
( y
g 1
i yg )2
s g2
ng
2. Se calcula el estadístico S:
G ng 2 G
n log
s n log sg2
g 1 n g g 1 g
S
1 G 1 1
1
3(G 1) g 1 ng n
Bajo el supuesto de homocedasticidad, S se distribuye como una chi-cuadrado (χ2) con G–1
grados de libertad. Por lo tanto, se rechazará la hipótesis de igual varianza en todos los grupos si
S es mayor que el valor crítico de la distribución chi-cuadrado al nivel de significación
estadística fijado.
1. Ordenar todas las observaciones de las variables del modelo, de menor a mayor, en
función de la variable z.
4. Denominando SR1 y SR2 a las sumas de los cuadrados de los residuos de ambas
submuestras (de manera que el subíndice 1 corresponda a la submuestra con la menor
suma) se define el estadístico F:
SCR1
F
SCR2
28
residuos está asociado con la varianza de los mismos, entonces SR2 debería ser
sensiblemente mayor que SR1. Por ello, se rechazara la hipótesis nula de
homocedasticidad siempre que el valor del estadístico F excede el valor en tablas de la
distribución F(n-c-2k)/2, (n-c-2k)/2, aceptándose la existencia de heteroscedasticidad en caso
contrario.
El contraste de White se desarrolló también para evitar la necesidad de considerar una forma
específica para la heteroscedasticidad. El contraste se basa en que, bajo la hipótesis nula de
homocedasticidad, la matriz de varianzas y covarianzas de los estimadores MCO de es:
2 X ' X 1
Por ello, basta con contrastar la hipótesis nula de que todas estas diferencias son iguales a cero,
lo que equivale a contrastar que no hay heteroscedasticidad.
Los pasos a seguir para realizar el contraste de White son los siguientes:
2. Realizar una regresión del cuadrado de la serie de residuos obtenidos en el paso anterior
sobre una constante, las variables exógenas del modelo original, sus cuadrados y los
productos cruzados de segundo orden (los productos resultantes de multiplicar cada
variable exógena por cada una de las restantes). Es decir, se trata de estimar por MCO la
relación:
eˆt2 1X1 ...k Xk 1X12 ...k Xk2 1X1X2 ...k X1Xk 2X2X3 ...k X2Xk ... k Xk1Xk t
Ejemplo 2.1.
29
> install.packages("tseries")
data: x and y
X-squared = 746.56, df = 2, p-value < 2.2e-16
En este ejemplo el valor del estadístico nR 2 746,56 , dado que el valor de la distribución
Chi-cuadrado teórica para el nivel de significación 0,05 da un valor crítico c 0,103
habría que aceptar la hipótesis de existencia de heterocedasticidad. El p-value es la probabilidad
asociada al estadístico calculado, al ser de 2.2e-16 y por tanto menor que 0,05, situaría al
estadístico en la zona de aceptación de la hipótesis H 0 .
2.3. AUTOCORRELACIÓN
Si se sospecha que el término de error del modelo econométrico tiene una estructura como la
siguiente:
eˆt ·eˆt 1 u t
30
n
(eˆ
t 2
t eˆt 1 ) 2
d n
eˆ
t 1
2
t
El valor del estadístico d oscila entre 0 y 4, siendo los valores cercanos a 2 los indicativos de
ausencia de autocorrelación de primer orden. La interpretación exacta del test resulta compleja,
ya que los valores críticos apropiados para contrastar la hipótesis nula de no autocorrelación
requieren del conocimiento de la distribución de probabilidad bajo el supuesto de cumplimiento
de dicha hipótesis nula, y dicha distribución depende a su vez de los valores de las variables
explicativas, por lo que habría que calcularla en cada aplicación. Para facilitar la interpretación
del test Durbin y Watson derivaron dos distribuciones: dU y dD, que no dependen de las
variables explicativas y entre las cuales se encuentra la verdadera distribución de d, de forma
que a partir de un determinado nivel de significación, se adopta la siguiente regla de decisión:
(eˆ i eˆt 1 ) 2 eˆ eˆ t t 1
d t 2
n
22 t 1
n
21 ˆ 1
eˆ
t 1
2
t eˆt 1
2
t
Ejemplo 2.2.
En el siguiente ejercicio planteamos una regresión lineal entre el consumo de energía eléctrica
en España y el PIB a precios de mercado valorado en moneda constante (millones de euros).
> dwtest(formula)
> install.package(“bgtest”)
> library(bgtest)
> datos <- read.table(file="libro1.txt",header=T)
> datos
Años CEnEl PIB
1 1987 9427 355312
2 1988 9876 373412
3 1989 10410 391443
4 1990 10974 406252
31
5 1991 11372 416582
6 1992 11488 420462
7 1993 11569 416126
8 1994 11999 426041
9 1995 12462 437787
10 1996 12827 448457
11 1997 13331 466513
12 1998 14290 486785
13 1999 15364 507346
14 2000 16309 528714
15 2001 17282 543746
16 2002 17756 554852
Durbin-Watson test
data: datos$PIB ~ datos$CEnEl
DW = 0.628, p-value = 0.0001192
alternative hypothesis: true autocorrelation is greater than 0
El test es más general que el de Durbin–Watson, que solo es válido para regresores no-
estocásticos y para testear la posibilidad de un modelo autoregresivo de primer orden para los
errrores de regresión. El test Breusch–Godfrey no tiene estas restricciones, y es estadísticamente
más poderoso que el estadístico d .
Ejemplo 2.3.
32
Breusch-Godfrey test for serial correlation of order up to 3
data: datos$PIB ~ datos$CEnEl
LM test = 5.3733, df = 3, p-value = 0.1464
En este ejemplo el valor del estadístico n p R 2 5,37 , dado que el valor de la distribución
Chi-cuadrado teórica para el nivel de significación 0,05 da un valor crítico c 7,81
habría que rechazar la hipótesis de existencia de autocorrelación. El p-value es la probabilidad
asociada al estadístico calculado, al ser de 0,1454 y por tanto mayor que 0,05, situaría al
estadístico en la zona de aceptación de la H 0 , la que constituyen los valores del estadístico
inferiores al valor crítico.
Yi 0 1 X 1i 2 X 2i u i
X 2i cX 1i
n X 1 X 2
X ' X X 1 X 1
2
X X 1
2
X 2 X X X 2
1 2 2
33
n
X 1 c X 1
A X 1 X 1
2
c X 12
0 0 0
Sin embargo, en la práctica no nos encontraremos con un caso tan extremo como el que
acabamos de exponer, sino que generalmente nos encontraremos ante lo que se conoce como
multicolinealidad aproximada, siendo una de las columnas de la matriz ( X ' X ) ,
aproximadamente, una combinación lineal del resto por lo que será una matriz
aproximadamente singular. Al no ser el determinante de ( X ' X ) igual a cero, existirá inversa y
podrán estimarse los parámetros pero con las siguientes consecuencias:
2. Por otro lado, la matriz de covarianzas del estimador MCO, S ˆˆ S e2 X ' X , al
1
1
ser un múltiplo de ( X ' X ) , será muy grande por ser el determinante de ( X ' X )
muy pequeño por lo que la estimación realizada será muy poco precisa al ser la
desviación típica de cada parámetro muy elevada.
1. Una posibilidad, sugerida por Johnston (1984), consiste en excluir aquella variable
exógena que puede estar muy correlacionada con el resto y posteriormente estimar el
coeficiente asociado a dicha variable mediante otro procedimiento para incluirlo en el
modelo.
34
2.4. ERRORES DE ESPECIFICACIÓN
Los errores de especificación hacen referencia a un conjunto de errores asociados a la
especificación de un modelo econométrico. En concreto cabe referirse a:
En Economía la teoría no suele concretar la forma funcional de las relaciones que estudia. Así,
por ejemplo, cuando se analiza la demanda se señala que la cantidad demandada es
inversamente proporcional al precio; cuando se estudia el consumo agregado se apunta que la
propensión marginal a consumir (relación entre renta y/o consumo) es mayor que cero y menor
que uno. Por otro lado es frecuente utilizar la condición “ceteris paribus” para aislar la
información de otras variables relevantes que influyen y/o modifican la relación estudiada. Por
esta razón, la existencia de errores de especificación en la relación estimada es un factor a
considerar y a resolver en el proceso de la estimación econométrica.
Para responder a esta cuestión, partimos del modelo de regresión lineal cuya especificación
general es:
Para analizar las consecuencias de la omisión de una variable relevante, vamos a partir del
siguiente modelo verdadero:
Yi = 0 + 1 X1i + vi (2.2)
Dado que la variable excluida X2i está relacionada con la variable dependiente Yi, entonces se
deduce que:
35
ˆ 1
X 1i X 1 y i
X X1
2
1i
Al tomar esperanzas condicionales con respecto a los valores de las variables independientes y
dado que E(e| x1, x2, …, xk) = 0, se obtiene que:
E ˆ 1 1 2
X X X X
1i 1 2i 2
X X
2
1i 1
lo que implica que E (ˆ 1 ) no será igual a 1, por lo que estará sesgado siendo su sesgo:
2
X X X X
1i 1 2i 2
X X
2
1i 1
Expresión cuyo signo viene determinado por el signo del coeficiente 2 y por el sentido de la
correlación entre las variables X1 y X2.
Var ˆ1 e2
X 1i
X 1 1 r12, 2
2
donde r21,2 es el R2 resultante de regresar X1 sobre X2.
Y además:
v2
Var ˆ 1
X X1
2
1i
entonces Var (ˆ1 ) será diferente de Var ( ˆ1 ) , y por lo general será mas pequeña ya que
0<r21,2<1; pero aún en el caso en que r21,2=0, que implicaría que X1 y X2 no están
correlacionadas, y aunque el estimador MCO de 1 no fuera insesgado (ya que el sesgo de las
variables omitidas se anularía porque el termino 1i
X X 1 X 2i X 2 sería cero), las
X 1i X 1
2
36
2.4.2. Inclusión de una variable innecesaria
Yi = 0 + 1 X1i + ei
Pero como desde el punto de vista de las varianzas ahora resulta que:
Var ˆ1
e2
X X1
2
1i
v2
Var ˆ 1
X X 1 1 r12, 2
2
1i
Puesto que 0< r21,2<1, se cumpliría que Var (ˆ1 ) Var ( ˆ1 ) , es decir, la varianza de la
estimación MCO de 1 sería mayor que la estimación MCO de 1.
Si especificamos la forma funcional de una relación (ya sea lineal, cuadrática, cúbica,
exponencial, logarítmica, etc.) y la verdadera relación presenta una forma diferente a la
especificada tiene, en algunos casos, las mismas consecuencias que la omisión de variables
relevantes, es decir, proporciona estimadores sesgados e inconsistentes. En general, una
especificación funcional incorrecta lleva a obtener perturbaciones heteroscedásticas y/o
autocorrelacionadas, o alejadas de los parámetros de la distribución del término de error del
modelo correctamente especificado.
2. Se efectúa una nueva regresión incluyendo Yˆi en alguna forma, con uno o varios
regresores adicionales, por ejemplo:
Yi 0 1 X i 2Yˆi 2 3Yˆi 3 ei
37
2
3. Considerando el R2 obtenido en el modelo inicialmente especificado, RA , y el R2
2
obtenido en la segunda regresión, RB , se construye el siguiente estadístico:
R 2
B RA2
F l
1 RB2
(n k )
El cual se distribuye según una F de Snedecor con l, n–k grados de libertad, siendo l
el número de regresores nuevos incluidos en el segundo modelo y n – k el número
de observaciones menos el numero de parámetros del segundo modelo.
Una de las cuestiones más importantes a la hora de encontrar el modelo de ajuste más adecuado
cuando se dispone de un amplio conjunto de variables explicativas, es la correcta especificación
del modelo teórico, ya que como se ha visto la inclusión de una variable innecesaria o la
omisión de una variable relevante, condiciona los estadísticos que resultan en la estimación
MCO del modelo, por otro lado, en un elevado número de explicativas no cabe descartar la
existencia de correlaciones que originen un problema de multicolinealidad aproximada, y en
estos casos hay que determinar cual de ellas cabe incluir en la especificación del modelo.
En otras palabras, ante un conjunto elevado de explicativas debemos seleccionar de entre todas,
un subconjunto de ellas que garanticen que el modelo esté lo mejor especificado posible. Este
análisis cabe hacerlo estudiando las características y propiedades de cada una de las variables
independientes, a partir, por ejemplo, de los coeficientes de correlación de cada una de ellas y la
dependiente, y de cada explicativa con las restantes, seleccionando modelos alternativos y
observando los resultados estadísticos de la estimación MCO de cada uno de ellos. Sin
embargo, en la práctica, la selección del subconjunto de variables explicativas de los modelos de
regresión se deja en manos de procedimientos más o menos automáticos.
Método backward: se comienza por considerar incluidas en el modelo teórico a todas las
variables disponibles y se van eliminando del modelo de una en una según su capacidad
explicativa. En concreto, la primera variable que se elimina es aquella que presenta un
menor coeficiente de correlación parcial con la variable dependiente-o lo que es
equivalente, un menor valor del estadístico t– y así sucesivamente hasta llegar a una
situación en la que la eliminación de una variable más suponga un descenso demasiado
acusado en el coeficiente de determinación.
Método forward: se comienza por un modelo que no contiene ninguna variable
explicativa y se añade como primera de ellas a la que presente un mayor coeficiente de
correlación -en valor absoluto- con la variable dependiente. En los pasos sucesivos se va
incorporando al modelo aquella variable que presenta un mayor coeficiente de
correlación parcial con la variable dependiente dadas las independientes ya incluidas en
38
el modelo. El procedimiento se detiene cuando el incremento en el coeficiente de
determinación debido a la inclusión de una nueva variable explicativa en el modelo ya
no es importante.
Método stepwise: es uno de los más empleados y consiste en una combinación de los
dos anteriores. En el primer paso se procede como en el método forward pero a
diferencia de éste, en el que cuando una variable entra en el modelo ya no vuelve a salir,
en el procedimiento stepwise es posible que la inclusión de una nueva variable haga que
otra que ya estaba en el modelo resulte redundante.
El modelo de ajuste al que se llega partiendo del mismo conjunto de variables explicativas es
distinto según cuál sea el método de selección de variables elegido, por lo que la utilización de
un procedimiento automático de selección de variables no significa que con él se llegue a
obtener el mejor de los modelos a que da lugar el conjunto de datos con el que se trabaja.
Ejemplo 2.4.
Utilizando los microdatos de la EPF, vamos a completar un modelo explicativo de los gastos
por hogar, para ellos seleccionamos como posibles variables explicativas, además de los
ingresos corrientes del hogar, las siguientes variables:
Todas las variables excepto las tres últimas son numéricas, las dos últimas son variables
cualitativas (factores).
2
Las categorías 07 a 11 se refieren exclusivamente a hogares formados por padres e hijos, incluyendo
los adoptados y los que son hijos sólo de un miembro de la pareja. En el caso en que haya otras personas
en el hogar, éste se clasificaría en 12.Otros hogares. Se considera adulto a toda persona de 16 o más
años
39
Pareja sin hijos
5 Pareja sin hijos teniendo al menos uno de los miembros 65 años o más
6 Pareja sin hijos teniendo los dos miembros menos de 65 años
Para realizar la selección de un modelo por el método “forward” necesitamos instalar la librería-
R: “leaps”, una vez instalada ejecutamos el siguiente Chunk:
```{r, echo=FALSE}
datos <-
data.frame(ecpf2014[,11],ecpf2014[,25:34],ecpf2014[,41],ecpf2014[,52:5
3],ecpf2014$impexac)
str(datos)
library(leaps)
40
regfit.fwd=regsubsets(y~.,data=datos,method="forward")
plot(regfit.fwd)
coef(regfit.fwd,9)
```
##(Intercept)
##2199.60830
##nmiemb
##68.89259
##nmiem11
##150.39439
##nmiem13
##‐207.45699
##numinacti
##245.64795
##tiphogar1: Una persona de 30 a 64 años.
##‐340.29367
##tiphogar1: Pareja con un hijo menor de 16 años.
##‐193.07523
##situocuhog: Ningún ocupado en el hogar.
##‐962.83813
##situacthog: El sustentador principal o el cónyuge activo, otro de
los miembros también activo.
##‐261.19099
##numnoestu
##27.50668
41
3. MODELOS CON VARIABLES CUALITATIVAS
Las variables cualitativas expresan cualidades o atributos de los agentes o individuos (sexo,
religión, nacionalidad, nivel de estudios, etc.) y también recogen acontecimientos
extraordinarios como guerras, terremotos, climatologías adversas, huelgas, cambios políticos
etc.
No cabe duda de que una forma de recoger factores de este tipo sería la utilización de variables
proxy o aproximadas a las variables utilizadas. Por ejemplo, si quiero utilizar una variable que
mida el nivel cultural de un país (variable cualitativa) puedo utilizar como variable proxy el
número de bibliotecas existentes en un país, o representa una climatología adversa a partir de las
temperaturas medias o precipitaciones. Sin embargo, no siempre es posible encontrar este tipo
de variables y, en cualquier caso, debemos de ser conscientes de la posible existencia de errores
en la definición de la variable.
Las variables dicotómicas pueden combinarse para caracterizar variables definidas por su
pertenencia o no a un grupo. Si incluyo una variable cualitativa que me define la pertenencia o
no de un país a un grupo, por ejemplo renta alta, media y baja, introduciré tres variables
cualitativas en el modelo asociadas a la pertenencia o no a cada grupo; la primera caracterizaría
a los individuos con renta alta, la segunda a los individuos con renta media, y la tercera a los
individuos con renta baja.
Los modelos que utilizan variables cualitativas como regresores se diferencian en dos grupos,
los modelos de Análisis de la Varianza o modelos ANOVA, que únicamente incluyen variables
cualitativas como regresores; y los modelos de Análisis de la Covarianza o modelos ANCOVA
que incluyen tanto variables cualitativas como cuantitativas. Los modelos ANOVA son muy
utilizados en Sociología, Psicología, Educación, etc.; en Economía son más comunes los
modelos ANCOVA.
42
3.2. MODELOS ANOVA
Un problema estadístico clásico es la comparación de medias de dos distribuciones normales.
Supongamos que las observaciones de la variable Yi , provienen de dos distribuciones normales
con medias 1 y 2 y varianza común 2 . El tamaño de la primera distribución se circunscribe
a las n1 primeras observaciones, y el de la segunda las n n1 restantes observaciones.
Queremos constrastar la hipótesis H o : 1 2 frente a la alternativa H o : 1 2 al nivel de
significación de .
Este contraste de igualdad de medias cabe formularlo en el marco del modelo lineal general.
Así, bajo H o tenemos el siguiente modelo de regresión múltiple utilizando variables Dummy:
Yi 1 D1i 2 D 2i ei
Siendo:
1 si i 1,..., n1 0 si i 1,..., n1
D1i D2i
0 si i n1 1,..., n 1 si i n1 1,..., n
ˆ 1 D1 D 2 n
n
i D 2 i Yi
2
i D2i
i 1 i 1 i 1
n n n
Teniendo presente que D1
i 1
2
i n1 , D2
i 1
2
i n n1 n2 , D1 D2
i 1
i i 0,
n n1 n n
D1i Yi Yi y D2i Yi
i 1 i 1 i 1
Y , el estimador mínimo cuadrático quedaría:
i n1 1
i
n1
1 Yi
ˆ 1 n1 0 i 1 Y1
ˆ 1 0 n2 n Y
Yi 2
i n1 1
e 2
i
ˆ 2 i 1
.
n2
La hipótesis H o : 1 2 0 se rechaza con el estadístico teórico ttco t n2 ( / 2) si
texp ttco .
43
El análisis anterior se extiende a la comparación de medias con tres o más distribuciones
normales. Suponemos ahora que las n observaciones proceden de tres distribuciones normales
con medias 1 , 2 y 3 y varianza común 2 , correspondientes a tres muestras que contienen
las n1 primeras observaciones, n2 siguientes y 3 n n1 n2 ultimas observaciones.
2
ˆ
2 0 n 2 0 Yi Y2
ˆ 0 0 n in1 1 Y
3 3 n 3
i Y
i n2 1
Para contrastar la hipótesis H o : 1 2 3 , se utiliza el contraste de significación global,
R2
para el que construimos es estadístico experimental Fexp 2 , siendo el estadístico
(1 R 2 )
n3
teórico Ftco F (2, n 3) , la hipótesis se rechazaría con la regla de decisión Fexp Ftco .
Ejemplo 3.1.
## Nmnl. item w/ 8 labels for 1,2,3,... num [1:22146] ‐9 ‐9 8 2 5 2
8 5 2 2 ...
## Df Sum Sq Mean Sq F value Pr(>F)
## ecpf2014$situacthog 1 2.002e+08 200217093 103.2 <2e‐16 ***
## Residuals 22144 4.295e+10 1939679
## ‐‐‐
44
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Warning in replications(paste("~", xx), data = mf): non‐factors
ignored:
## ecpf2014$situacthog
## Tables of effects.
##ecpf2014$situacthog
##ecpf2014$situacthog
##‐9
##‐174.61
##El sustentador principal y el cónyuge activos, al menos otro de los
miembros también activo.
##‐11.93
## El sustentador principal y el cónyuge activos, ninguno de los otros
miembros activos (si es que los hay)
##4.34
##El sustentador principal o el cónyuge activo, otro de los miembros
también activo
##20.61
##El sustentador principal o el cónyuge activo, al menos otros dos
miembros activos
##36.88
## El sustentador principal o el cónyuge activo, ninguno de los otros
miembros activos (si es que los hay)
##53.14
##Ni el sustentador principal ni su cónyuge activos, otro miembro
activo
##69.41
##Ni el sustentador principal ni su cónyuge activos, al menos otros
dos miembros activos
##85.68
##Ningún activo en el hogar
##101.95
45
Utilizando la función “lm”, e incluyendo un término constante.
```{r, echo=FALSE}
mod2 <- lm(ecpf2014$GAST ~ as.factor(ecpf2014$situacthog))
anova (mod2)
```
## Analysis of Variance Table
##
## Response: ecpf2014$GAST
## Df Sum Sq Mean Sq F value
## as.factor(ecpf2014$situacthog) 7 3.1069e+09 443837987 235.76
## Residuals 17763 3.3440e+10 1882556
## Pr(>F)
## as.factor(ecpf2014$situacthog) < 2.2e‐16 ***
##Residuals
## ‐‐‐
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Este modelo es más fácil de interpretar, ya que considerando un consumo promedio por hogar
de 2962.27, los hogares en donde el sustentador principal y el cónyuge están activos, y ninguno
de los otros miembros está activos (si es que los hay) , consumirían al mes 175.84 euros que el
hogar medio, en tanto que ni el sustentador principal ni su cónyuge activos, pero al menos otros
dos miembros está activos, consumiría 44.69 euros más al mes que el hogar medio.
De este grupo de individuos conocemos algunas otras características que pueden ser
transcendentes a la hora de nuestro análisis, por ejemplo si están o no están casados. Utilizando
dicha información creamos las siguientes variables dummy:
Si por ejemplo la muestra de individuos que tenemos es de n=10, de los cuales cuatro de ellos
están casados, las variables dummy tendrían la siguiente estructura:
46
1 0
0 1
0 1
1 0
0 1
D1 0 D 2 1
0 1
0 1
1 0
1 0
De cara a estudiar los efectos del estado civil sobre el ahorro podemos estar interesados en saber
si los casados parten de un nivel de ahorro diferente de los solteros, o bien si las diferencias
entre solteros y casados derivan en que unos y otros tienen una diferente propensión marginal a
ahorrar. En el primer caso se trata de conocer si 0 es diferente entre los dos grupos de
individuos, y en el segundo, si lo es 1.
El planteamiento del problema para observar las diferencias de cada grupo respecto a 0 se
puede realizar a través de las siguientes especificaciones del modelo ANCOVA:
Yi=0+1D1i+1Xi+ei (3.1)
Yi=0+2D2i+1Xi+ei (3.2)
Yi=1D1i+2D2i +1Xi+ei (3.3)
En este caso:
Las tres especificaciones son equivalentes, y hay que tener presente que en la especificación del
modelo (3.3) se prescinde del término constante ya que de no hacerlo así tendríamos un
problema de multicolinealidad exacta entre el término constante y las dos variables dummy.
Yi = 0+1D1i+2D2i +1Xi+ei
La matriz X quedaría:
47
1 1 0 X1
1 0 1 X 2
1 0 1 X3
1 1 0 X4
1 0 1 X5
X
1 0 1 X6
1 0 1 X7
1 0 1 X8
1 1 0 X9
1 1 0 X 10
En la que se aprecia que la suma de las columnas 2 y 3 da como resultado la primera columna,
lo que provoca que la matriz (X’X) sea no singular.
Para el análisis del comportamiento de cada grupo respecto a la pendiente, aquí propensión
marginal a ahorrar, podemos plantear las siguientes especificaciones del modelo ANCOVA:
En este caso:
Si queremos incluir en modelo otra característica de los individuos como sería por ejemplo la
profesión y distinguimos entre tres profesiones: agricultores, asalariados y empresarios, habría
que crear tres nueva variables dummy:
48
1, si i es agricultor
E1i
0, si i no es agricultor
1, si i es asalariado
E 2i
0, si i no es asalariado
1, si i es empresario
E 3i
0, si i no es empresario
Si bien a la hora de especificar el modelo hay que evitar los problemas de multicolinealidad
entre todas las variables dummy incluidas y el término constante. Una forma de evitar los
problemas es no incluir alguna de las categorías en forma de variable dummy, y dejar que la
constante recoja el efecto de la categoría no incluida. Una especificación posible de un modelo
ANCOVA sería entonces:
Yi = 0+1D1i+1E1i+2E2i +1Xi+ei
Las variables cualitativas también pueden corresponder a hechos que concurren en un periodo
de tiempo y tener la forma de serie temporal. Este tipo de variables se utilizan para observar los
efectos que sobre el modelo provocan sucesos extraordinarios como son las huelgas, una
climatología adversa, cambios políticos e incluso cambios en la metodología estadística de
elaboración de los datos.
1 si t T1 0 si t T1
D1t D 2t (1 D1t )
0 si t T1 1 si t T1
1 0
. .
. .
1 0
D1 D 2
0 1
. .
. .
0 1
D1 tienen tantos unos como observaciones hay hasta T1 y D2 tiene tantos unos como
observaciones hay entre T1 y T.
El análisis del efecto del suceso extraordinario sobre la regresión puede realizarse de forma
separada para cada periodo de 1 a T1 y T1 a T, o conjuntamente para todo el periodo, bien sobre
el termino constante 0 o sobre la pendiente 1.
49
Para el análisis de los efectos sobre el término constante tendremos que plantear los siguientes
modelos de regresión:
Yt=0+1D1t+1Xt+et (3.7)
Yt=0+2D2t+1Xt+et (3.8)
Yt=1D1t+2D2t +1Xt+et (3.9)
En este caso:
Si queremos analizar el efecto del acontecimiento extraordinario sobre la pendiente del modelo,
plantearemos las siguientes ecuaciones de regresión:
En cuyo caso:
Para tomar una decisión acerca de que modelo ANCOVA seleccionar entre las varias
especificaciones que utilizan variables cualitativas, hay utilizar el contraste de errores de
especificación descrito en el apartado 3.5.4.
Ejemplo 3.2.
Partiendo de la base de datos “ecpf2014” preparamos un “Chunk”, con la función lm, utilizando
ahora como explicativas la iteración situacthog e ingresos del hogar:
```{r, echo=FALSE}
mod3 <- lm(ecpf2014$GAST ~ as.factor(ecpf2014$situacthog)* ecpf2014$
impexac)
anova (mod3)
## Analysis of Variance Table
50
##
## Response: ecpf2014$GAST
## Df Sum Sq
## as.factor(ecpf2014$situacthog) 7 3.1069e+09
## ecpf2014$impexac 1 1.2390e+10
## as.factor(ecpf2014$situacthog):ecpf2014$impexac 7 5.0244e+07
## Residuals 17755 2.0999e+10
## Mean Sq F
Value
## as.factor(ecpf2014$situacthog) 4.4384e+08
375.2692
## ecpf2014$impexac 1.2390e+10
10476.2225
## as.factor(ecpf2014$situacthog):ecpf2014$impexac 7.1777e+06
6.0688
## Residuals 1.1827e+06
## Pr(>F)
## as.factor(ecpf2014$situacthog) < 2.2e‐16 ***
## ecpf2014$impexac < 2.2e‐16 ***
## as.factor(ecpf2014$situacthog):ecpf2014$impexac 4.283e‐07 ***
## Residuals
## ‐‐‐
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
51
4. MODELO LINEAL GENERALIZADO.
Los modelos lineales (regresión, ANOVA, ANCOVA), se basan en los siguientes supuestos:
1. Los errores se distribuyen normalmente.
2. La varianza es constante.
3. La variable dependiente se relaciona linealmente con las variables independientes.
E (Yi ) 1 X 1i 2 X 2i ... k X ki
En muchas ocasiones, sin embargo, nos encontramos con que uno o varios de estos supuestos no
se cumplen por la naturaleza de la información. En algunos casos, estos problemas se pueden
llegar a solucionar mediante la transformación de la variable respuesta (por ejemplo tomando
logaritmos). Sin embargo estas transformaciones no siempre consiguen corregir la falta de
normalidad, la heterocedasticidad (varianza no constante) o la no linealidad de nuestros datos.
Los MLG fueron formulados por John Nelder y Robert Wedderburn (1989) como una manera
de unificar varios modelos estadísticos, incluyendo la regresión lineal, regresión logística y
regresión de Poisson, bajo un solo marco teórico.
Los MLG son, por tanto, una extensión de los modelos lineales que permiten utilizar
distribuciones no normales de los errores (binomiales, Poisson, gamma, etc) y varianzas no
constantes.
Los MLG permiten especificar distintos tipos de distribución de errores, Cayuela (2010) expone
los siguientes ejemplos:
Poisson, muy útiles para conteos de acontecimientos, por ejemplo: número de heridos
por accidentes de tráfico; número de hogares asegurados que dan parte de siniestro al
día.
Binomiales, de gran utilidad para proporciones y datos de presencia/ausencia, por
ejemplo: tasas de mortalidad; tasas de infección; porcentaje de siniestros mortales.
Gamma, muy útiles con datos que muestran un coeficiente de variación constante, esto
es, en donde la varianza aumenta según aumenta la media de la muestra de manera
constante, por ejemplo : número de heridos en función del número de siniestros
Exponencial, muy útiles para los análisis de supervivencia.
52
Otra razón por la que un modelo lineal puede no ser adecuado para describir un fenómeno
determinado es que la relación entre la variable respuesta y las variables independientes no es
siempre lineal.
3
Si bien el método de MCO es el más frecuentemente usado para calcular los parámetros del modelo de
regresión, hay métodos alternativos. Uno de ellos es el método de Máxima Verosimilitud (Maximum
Likelihood). Para utilizar el método debemos conocer la distribución de probabilidad del término
aleatorio t .
53
Para valorar el ajuste de los MLG se utiliza el estadístico chi-cuadrado, que se define como el
doble de la diferencia entre el máximo del logaritmo de la verosimilitud que se podría conseguir
con la mínima (o máxima) parametrización y el valor del máximo del logaritmo de la
verosimilitud que se consigue con el modelo a evaluar, y el estadístico AIC (Akaike Information
Criterion), formulado por Akaike (1974):
l k
AIC 2 2
N N
donde l es el valor en el óptimo del logaritmo de la función de verosimilitud con k parámetros
estimados y N las observaciones. Siguiendo estos criterios, se seleccionará aquel modelo para el
que se obtenga un AIC más bajo.
Si suponemos que t se distribuyen como una N(0, 2 ), la función explícita de probabilidad (PDF) para
Yt se puede escribir como:
f (Yt ) 2
2
1 2
e ( 1 / 2 )(Yt X t )
2
Y1 , Y2 , , Yn
La función de probabilidad (likelihood function) de las Yt s (o la función de verosimilitud de la muestra)
es:
l f (Y1 , Y2 , , Yn )
Podemos escribir ahora:
l 2 e
2
1
( 1 / 2 2 )(Y1 X1 ) 2
2 e 2
1
( 1 / 2 2 )(Yn X n ) 2
l 2
2
n
e
( 1 / 2 2 ) (Yt X t )2
El enfoque Máximo Verosímil para calcular y (y 2 ) es obtener las expresiones para estos
parámetros que maximizan la función de probabilidad de las Yt s en la ecuación anterior.
54
Ejemplo 4.1.
Utilizando la selección de variables del Ejemplo 2.4, vamos a estimar un modelo utilizando la
distribución de poisson y un tipo de función vinculo logarítmica, para ello ejecutamos el
siguiente “Chunk”:
55
##‐0.33215745
##situocuhogEl sustentador principal o el cónyugeocupado, al menos
otros dos miembros ocupados
##‐0.15920869
##situocuhogEl sustentador principal o el cónyugeocupado, ninguno de
los otros miembros ocupado (si es que los hay)
##‐0.50866957
##situocuhogNi el sustentador principal ni su cónyuge ocupado, otro
miembro ocupado
##‐0.62731322
##situocuhogNi el sustentador principal ni su cónyuge ocupados, al
menos otros dos miembros ocupados
##‐0.34452462
##situocuhogNingún ocupado en el hogar
##‐0.88982151
## situacthogEl sustentador principal y el cónyuge activos, ninguno de
los otros miembros activos (si es que los hay)
##0.06184096
##situacthogEl sustentador principal o el cónyuge activo, otro de los
miembros también activo
##0.05059284
##situacthogEl sustentador principal o el cónyuge activo, al menos
otros dos miembros activos
##0.02530061
##situacthogEl sustentador principal o el cónyuge activo, ninguno de
los otros miembros activos (si es que los hay)
##0.09094561
##situacthogNi el sustentador principal ni su cónyuge activos, otro
miembro activo
##0.19433718
##situacthogNi el sustentador principal ni su cónyuge activos, al
menos otros dos miembros activos
##0.14390236
##situacthogNingún activo en el hogar
##0.21091117
##numnoestu
##0.01565029
56
Yi=0+1Xi+ei siendo i=1,……N (4.1)
De acuerdo con la expresión (4.1), el hecho de que la variable endógena tome valores discretos
(1 ó 0), el término de perturbación ei, puede tomar también dos valores únicamente:
Dado que la esperanza del término de error ha de ser nula E(ei)=0, entonces se demuestra que
p= 1-0-1Xi y (1-p) = 0+1Xi, lo que permite evaluar la probabilidad de que la variable
endógena tome el valor correspondiente:
Var (ei ) (1 0 1 X i )( 0 1 X i ) p (1 p)
Una problemática inherente a los estimadores MCO de estos modelos, son los siguientes:
1
( 0 1 X i )(1 0 1 X i )
No obstante, el mayor problema que plantean estos modelos es que las predicciones
realizadas sobre la variable endógena no siempre se encuentran en el intervalo [0,1], ya
que pueden ser mayores que cero y menores que uno. Este problema tiene dos
soluciones, una es tomar como valor cero todas las estimaciones de la variable
endógena con valores negativos, y uno cuando estas resulten mayores que uno; la
segunda, solución es utilizar funciones de distribución que estén acotadas entre cero y
uno como son la Logística y la Normal; de éstas se derivan los modelos Logit y Probit
que pasamos a ver a continuación.
4
La distribución binomial se basa en una prueba conocida como experimento de Bernouilli o problema
de las pruebas repetidas, que consiste en averiguar la probabilidad de que en “n” extracciones o pruebas
se hayan conseguido X valores de 1 y/o (n-X) valores de 0.
57
4.2. EL MODELO LOGIT
El problema que presentan los modelos probabilísticos lineales en cuanto a la existencia de
predicciones establecidas fuera rango (negativas o mayores que uno), es debido a que utilizan
una función de probabilidad que depende linealmente de las variables explicativas (X), que se
resolverían acotando dicha distribución de probabilidad. El modelo Logit en concreto utiliza,
para ello, la función de distribución logística:
Debido a que la función de distribución logística no tiene forma lineal, el modelo Logit se
estima de forma diferente, así en vez de minimizar las sumas de las diferencias al cuadrado
entre los valores observados y los estimados por el modelo, el carácter no lineal de los modelos
Logit requiere la utilización del método de Máxima Verosimilitud para ser estimado,
maximizando la verosimilitud de que un suceso tenga lugar, aunque se podría estimar por MCO
mediante una transformación logarítmica de los datos (Gujarati, 1997).
1
(1 p)
(1 e z )
p (1 e z )
ez
(1 p ) (1 e z )
58
Tomando el logaritmo natural de la expresión anterior se obtiene
pi
Li ln ln(e ) 0 1 X i
z
(4.2)
(1 p )
i
Los coeficientes indican el cambio en el Logit causado por el cambio en una unidad en el
valor de Xi, mientras que los e definen el cambio en la razón de probabilidades
p
(1 p )
causado por el cambio en una unidad en el valor de Xi. Si es positivo, e será mayor que 1, es
decir, se incrementará; si es negativo, e será menor que 1, es decir, p
p
(1 p ) (1 p )
disminuirá. Adicionalmente, puede demostrarse que el cambio en la probabilidad (p) causado
por el cambio en una unidad en el valor de Xi es , es decir, depende no sólo del
p
(1 p )
coeficiente, sino también del nivel de probabilidad a partir del cual se mide el cambio.
A la hora de estimar un modelo Logit, hay que tener presente que para estimar el modelo
además de los valores Xi, se necesitan los valores del Logit (Li). Por otro lado, señalar que la
estimación de los coeficientes de modelo (4.2) se realiza utilizando el método de Máxima
Verosimilitud, es decir, eligiendo como estimadores de los coeficientes a aquellos que
1
maximizan la función de verosimilitud, construida sobre la base de p . Pero si
(1 e z )
tenemos la posibilidad de agrupar los datos individuales, entonces podría estimarse el modelo
por MCO.
Ejemplo 4.1.
En la base de datos “datos” definimos como pobres, aquellos hogares que tienen un ingreso “per
cápita” inferior al 60% de la mediana.
```{r, echo=FALSE}
datos$ingpc=datos$ecpf2014.impexac/datos$nmiemb
datos$pobre=ifelse(datos$ingpc<0.6*median(datos$ingpc),1,0)
str(datos)
table(datos$pobre)
```
## 'data.frame': 22146 obs. of 17 variables:
## $ nmiemb : num 3 2 2 5 5 3 2 3 3 3 ...
## $ nmiem10 : num 1 1 0 0 0 0 0 0 2 0 ...
## $ nmiem11 : num 2 1 1 2 2 2 0 2 0 2 ...
## $ nmiem12 : num 0 0 1 0 0 0 2 0 0 1 ...
## $ nmiem13 : num 0 0 0 0 0 0 0 0 0 0 ...
## $ numacti : num 1 2 0 2 1 2 0 1 2 2 ...
## $ numinacti : num 2 0 2 2 3 0 2 1 0 1 ...
## $ numocu : num 1 2 0 2 1 2 0 1 2 2 ...
## $ numnocu : num 2 0 2 2 3 0 2 1 0 1 ...
## $ numestu : num 0 0 0 2 2 0 0 0 0 0 ...
59
## $ numnoestu : num 3 2 2 2 2 2 2 2 2 3 ...
## $ tiphogar1 : Factor w/ 12 levels "Una persona de 65 o más
años",..: 11 10 5 11 11 7 5 7 7 12 ...
## $ situocuhog : Factor w/ 8 levels "El sustentador principal y
el cónyugeocupados, al menos otro de los miembros también ocupado",..:
NA NA 8 2 5 2 8 5 2 2 ...
## $ situacthog : Factor w/ 8 levels "El sustentador principal y
el cónyuge activos, al menos otro de los miembros también activo",..:
NA NA 8 2 5 2 8 5 2 2 ...
## $ ecpf2014.impexac: num 2191 2702 1167 5167 1100 ...
## $ ingpc : num 730 1351 584 1033 220 ...
## $ pobre : num 0 0 0 0 1 0 1 0 0 0 ...
##
##
0 1
## 17167 4979
Seleccionamos el mejor modelo explicativo del ingreso per capita con “regsubset” por el
método exhaustivo (paso por paso):
```{r}
regfit.exh=regsubsets(datos$ingpc~.,data=datos[,1:15],method="exhausti
ve")
plot(regfit.exh)
coef(regfit.exh,9)
```
##(Intercept)
##1085.7566205
##nmiemb
##‐202.4482883
##nmiem11
60
##59.8275149
##nmiem12
##96.5363080
##numacti
##‐101.0224460
##numocu
##262.9822263
##tiphogar1Pareja con tres o más hijos menores de 16 años
##97.1311348
##tiphogar1Padre o madre solo, con al menos un hijo de 16 o más años
##0.7449329
##situocuhogEl sustentador principal y el cónyuge ocupados, ninguno de
los otros miembros ocupados (si es que los hay)
##76.1584450
##situocuhogEl sustentador principal o el cónyugeocupado, al menos
otros dos miembros ocupados
##18.3472987
Estimamos un modelo logit con glm utilizando las variables antes seleccionadas, y realizamos
un conteo para ver los resultados obtenidos.
```{r}
# Regresion logistica
est3 <- glm(datos$pobre ~ nmiemb + nmiem11 + numinacti + numocu +
tiphogar1 + situocuhog, data=datos,family=binomial)
est3.probs=predict(est3,type="response")
est3.pred=ifelse(est3.probs>0.5,1,0)
table(est3.pred,est3$y)
mean(est3.pred==est3$y)
```
##
## est3.pred 0 1
## 0 13480 2374
## 1 930 2098
## [1] 0.8250185
61
4.3. MODELO PROBIT
Mientras que el modelo Logit utiliza la función de distribución logística para acotar la
distribución de probabilidad en el modelo de probabilidad lineal, el modelo Probit utiliza la
función de distribución Normal.
Figura 4.2. Función de densidad (izq.) y de distribución (dcha.) de una Normal (0,1)
Las funciones de distribución normal y logística son muy semejantes: la diferencia principal es
que la función de distribución normal se acerca más rápidamente a los ejes que la logística
(figura 4.3).
Figura. 4.3.
Para entender la filosofía del modelo Probit, vamos a suponer que existe una variable
desconocida s que cumple lo siguiente:
Dado el supuesto de normalidad en un suceso, la probabilidad de que este sea menor o igual al
valor (s), se calcula a partir de la función de distribución acumulada de una distribución Normal
estandarizada, esto es, con esperanza cero y desviación típica uno.
1 o 1 X i t dt
pi pr (Y 1) pr ( 0 1 X i s )
2
e 2
(4.3)
62
Lo anterior equivale a que la relación entre la endógena y las explicativas venga dada por la
siguiente expresión:
1 o 1 X i t dt u
yi ( 0 1 X i ) ui e 2 i
(4.4)
2
Donde:
Dado que (4.4) es una relación no lineal en los parámetros no puede estimarse por MCO. No
obstante, hay una forma sencilla de asignar valores a las probabilidades que aparecen en la
expresión (4.3). Esta forma consiste en obtener información acerca de Ii y de los parámetros a
partir de la inversa de (4.3):
I F I F p
* 1 1
i i i 0 1 X i
*
I i
0 1 X i u i
Ejemplo 4.3
```{r,echo=FALSE}
# Regresion probit
est4 <- glm(datos$pobre ~ nmiemb + nmiem11 + numinacti + numocu +
tiphogar1 + situocuhog, data=datos,family=binomial(link=probit))
est4.probs=predict(est4,type="response")
est4.pred=ifelse(est4.probs>0.5,1,0)
table(est4.pred,est4$y)
mean(est4.pred==est4$y)
```
##
## est4.pred 0 1
## 0 13495 2441
## 1 915 2031
## [1] 0.8222646
63
5. MODELOS CON DATOS DE PANEL
5.1. INTRODUCCIÓN
Un modelo de datos de panel es, según la definición más extendida, un modelo que utiliza
muestras recogidas a individuos a lo largo de instantes de tiempo. Los modelos de datos de
panel incluyen así información de una muestra de agentes económicos (individuos, empresas,
bancos, ciudades, países, etc.) durante un período determinado de tiempo, combinando, por
tanto, la dimensión temporal y estructural de los datos.
Los modelos de datos de panel se aplican a conjuntos o bases de datos de series de tiempo
agregadas para los mismos individuos; éstos conjuntos de datos suelen tener un número
relativamente grande de individuos y pocas observaciones en el tiempo, o por el contrario
podemos tener datos para un número grande de periodos pero para un número pequeño de
individuos. Un ejemplo de este tipo de bases de datos es el panel de hogares de la Unión
Europea (70.000 hogares en la UE), las encuestas de opiniones empresariales del Ministerio de
Industria (3.000 empresas), los índices Nielsen (5.000 hogares en España) para medir la
audiencia televisiva, etc. Estos conjuntos de datos que son conocidos como datos de panel o
datos longitudinales hay que diferenciarlos de las encuestas transversales que son repetidas en el
tiempo pero no a los mismos individuos (por ejemplo, la Encuesta de Población Activa)5.
El principal objetivo que se persigue al agrupar y estudiar los datos en panel es capturar la
heterogeneidad no observable entre los agentes económicos como entre periodos temporales.
Dado que esta heterogeneidad no se puede detectar exclusivamente con estudios de series
temporales, ni tampoco con estudios de corte transversal, hay que realizar un análisis más
dinámico incorporando a los estudios de corte transversal la dimensión temporal de los datos.
Esta modalidad de analizar la información es muy usual en estudios de naturaleza empresarial,
ya que los efectos individuales específicos de cada empresa y los efectos temporales del
medio son determinantes cuando se trabaja con este tipo de información.
Los efectos individuales específicos se definen como aquellos que afectan de manera desigual a
cada uno de los agentes de estudio contenidos en la muestra (individuos, empresas, bancos).
Estos efectos son invariables en el tiempo y se supone que afectan de manera directa a las
decisiones que toman dichas unidades. Usualmente, se identifica este tipo de efectos con
cuestiones de capacidad empresarial, eficiencia operativa, el “saber-hacer” (Know-how), acceso
a la tecnología, etc.
Por su parte, los efectos temporales son aquellos que afectan por igual a todas las unidades
individuales del estudio y que, además, varían en el tiempo. Este tipo de efectos suele asociarse,
por ejemplo, a shocks macroeconómicos que afectan por igual a todas las empresas o unidades
de estudio (una subida de los tipos de interés, un incremento de los precios de la energía, un
aumento de la inflación, etc.), o a cambios en la regulación de mercados (ampliación de la
Unión Europea, reducción de tarifas arancelarias, aumento de la imposición indirecta, etc.).
5
En los paneles de datos a veces también hay que sustituir individuos por falta de respuesta, pero no es el
caso de las encuestas transversales en donde la muestra se renueva de forma sistemática, de manera que a
un periodo de tiempo determinado, por ejemplo un año, los hogares de la muestra sean diferentes a los del
periodo anterior. La falta de respuesta en los datos de panel como en otro tipo de encuesta a la hora de los
análisis estadísticos deben de depurarse, bien eliminando todos los datos del individuo con falta de
respuesta o eliminando únicamente los individuos con falta de respuesta en cada variable analizada.
64
5.2. ESPECIFICACIÓN GENERAL DE UN MODELO DE DATOS DE PANEL
K
Yit it X itj j uit
j 1
A partir del modelo general, y con base en ciertos supuestos y restricciones acerca del valor de
algunos de los parámetros, se derivan las diferentes variantes de modelos de datos de panel que
resumimos a continuación en la siguiente tabla.
En un modelo de datos de panel, las variables explicativas pueden ser de tres tipos:
Una variable por cada individuo, sin que exista referencia temporal en dicha
variable: las variables son las mismas para cada unidad de corte transversal y se
refieren a atributos del individuo o agente, por ejemplo, el tipo de empresa, su
tamaño, la forma gerencial; el sexo de un trabajador, el nivel de formación, la
profesión y otras características sociales de los individuos.
Una variable por periodo, pero sin que existan diferencias en el valor que toma la
variable en cada individuo: las variables toman distintos valores en cada periodo
6
Siglas de Seemingly Unrelated Regression.
65
temporal pero no varían entre los individuos. Como ejemplo de este tipo de
variables cabe citar a la tasa de inflación, los tipos de interés, etc.
Una variable que cambia en el tiempo y por individuo: se trata de variables que
cambian entre individuos en un momento del tiempo, y que además cambian a lo
largo del tiempo. Como ejemplo de estas variables se pueden mencionar los
ingresos totales, el nivel de beneficios, el stock de capital o el nivel de
endeudamiento, entre otras.
Los modelos de datos de panel se interpretan a través de sus componentes de error.
Considerando la notación matricial abreviada de un modelo general de datos de panel:
uit i t eit
donde i representa los efectos no observables que difieren entre las unidades de estudio pero no
en el tiempo (capacidad empresarial, eficiencia de cada unidad, etc.…); λt identifica los efectos
no cuantificables que varían en el tiempo pero no entre las unidades de estudio; y eit se refiere al
término de error puramente aleatorio.
La mayoría de los análisis realizados con datos de panel utilizan el modelo de componente de
error conocido como one way para el cual λt =0 (modelo A). Las diferentes variantes para el
modelo one way de componentes de errores surgen de los distintos supuestos que se hacen
acerca del término i, pudiéndose presentar tres posibilidades:
Bajo la primera especificación, los it satisfacen todos los supuestos del modelo lineal general y,
por tanto, se emplea como método de estimación MCO, obteniendo estimadores lineales e
insesgados y con la ventaja de ganar grados de libertad.
Ahora bien, en los casos en que se rechaza el supuesto de homogeneidad en un sistema de datos
de panel, es decir, que existe heterogeneidad no observable ya sea a través del tiempo, entre
unidades de estudio (individuos) o en ambos sentidos, debe buscarse una especificación que la
capture de forma apropiada con el fin de evitar que los estimadores de los parámetros de las
variables explicativas estén sesgados.
66
5.3. VENTAJAS Y DESVENTAJAS DE LOS MODELOS DE DATOS DE
PANEL
Los modelos de datos de panel presentan una serie de ventajas y desventajas en comparación
con los modelos de series temporales y de corte transversal. Las más relevantes son las
siguientes:
Ventajas
Los datos de panel suponen, e incorporan al análisis, el hecho de que los individuos o
agentes económicos (consumidores, empresas, regiones, países, etc.…) son
heterogéneos. Los análisis de series de tiempo y de corte transversal no incorporan esta
heterogeneidad corriendo así el riesgo de obtener resultados sesgados.
Permiten estudiar mejor la dinámica de los procesos de ajuste, ya que a través de ellos
se pueden analizar los cambios en el tiempo de las distribuciones transversales.
Desventajas
Asimismo, una escasa dimensión temporal puede invalidar alguno de los elementos
teóricos de los modelos de datos de panel.
67
corte transversal con pocos periodos de tiempo (700 individuos con 5 periodos, por
ejemplo).
Estos modelos asumen que los efectos de las variables omitidas, ya sean específicas a cada
individuo y/o que cambian en el tiempo, no son importantes en forma individual, pero sí en
conjunto.
Por otro lado, dado que el efecto de las variables omitidas se supone constante en el tiempo para
cada individuo, o que no varía en todos los individuos en un determinado momento en el
tiempo, o una combinación de ambos, se pueden capturar en el término constante de un modelo
de regresión como un promedio que toma en cuenta explícitamente la heterogeneidad entre
individuos y/o en el tiempo contenida en los datos.
Los modelos de datos de panel de efectos fijos tienen la siguiente expresión general:
K
Yit i X itj j eit
j 1
donde Yit es la variable dependiente, it , es un escalar que recoge los efectos específicos del i–
ésimo individuo y se supone constante en el tiempo, y X itj , es el vector de las k variables
explicativas y j , de los K parámetros que recogen los efectos de las variables explicativas; uit
es el término de error que se suponen aleatorios distribuidos con media cero y varianza
constante de valor u2 . El panel de datos corresponde a i = 1,2..., N unidades o individuos de
corte transversal, observados para los períodos t = 1,2..., T.
Por tanto, lo que se pretende resolver es un sistema de regresiones específicas con N ecuaciones
de corte transversal: Yi ti X it1 1 X it2 2 ... X itj j eit y T observaciones.
Agrupando las observaciones temporales, para cada unidad transversal se llega al siguiente
modelo:
68
Y11 X 11 e11
Y X e
21 21 21
. . .
YN 1 X N1 eN 1
i 0 ... 0 1
. . .
. 0 i ... 0 2 . .
. . ... . .
. . .
Y 0 0 ... i N X e
1T 1T 1T
Y2T X 2T e2 T
. . .
YNT X NT e NT
Con este modelo se considera que las variables explicativas afectan por igual a las unidades de
corte transversal y que éstas se diferencian por características propias de cada una de ellas,
medidas por medio de la intercepción en el origen. Es por ello que las N intercepciones se
asocian con variables dummy con coeficientes específicos para cada unidad, los cuales se deben
estimar.
La estimación de i y se realiza por MCO, si bien hay que tener presente que este modelo
presenta una pérdida importante de grados de libertad. Un test útil en este tipo de modelos es
realizar la prueba F, para comprobar si i para cualquier i. Por otro lado, cabe señalar que
cuando se quiera incluir un término constante hay que introducir únicamente N-1 variables
ficticias.
1
N T N T
ˆ X it X i X it X i ' X it X i Yit Yi '
i 1 t 1 i 1 t 1
1
2
N T
Var e X it X i X it X i '
ˆ ˆ
i 1 t 1
e'e
donde ˆ e2 es la varianza residual, calculada como ˆ u
2
, donde e’e es la suma de
NT N K
los residuos del modelo al cuadrado.
69
Y X
T
i
'
it ˆ
ˆ i Yi X ˆ
i
' t 1
T
El modelo anterior puede extenderse al modelo de efectos fijos de doble vía, en el que aparecen
también los efectos no observables temporales, tal que:
Expresión que equivale a introducir dos conjuntos de variables ficticias, unas individuales y
otras temporales; en este caso el estimador MCO tendría las mismas propiedades del modelo
anterior.
El estimador a utilizar tendría la siguiente expresión:
1
N T N T
ˆ X it X i X t X X it X i X t X ' X it X i X t X Yit Yi Yt Y '
i1 t1 i1 t1
donde Yi , X i , son las medias muestrales del individuo i-ésimo, Yt , X t las medias muestrales del
periodo t, y Y , X las medias muestrales de las variables para todos los N individuos y T
periodos.
Los efectos fijos se estiman en un segundo paso a través de las siguientes relaciones:
ˆ i Yi Y X i X ˆ
'
ˆt Yt Y X t X ˆ
'
Así, en este modelo se considera que tanto el impacto de las variables explicativas como las
características propias de cada unidad son diferentes.
En lugar de tratar i como una constante fija, esta especificación asume que i N (0, 2 )
independiente e igualmente distribuida, e incorrelada con eit y X it .
70
A su vez el modelo también requiere que t está incorrelado en el tiempo tal que E (t , s ) 0 ,
y además está incorrelada con i , eit y X it .
j
Yit X itj j u it , u it i eit
i 1
El estimador apropiado de este modelo expresado en desviaciones a la media es, por tanto:
1
1 N N
1 N N
ˆ MCG X i'QX i X it X i ' X it X i X i'QYi X it X i X it Yi '
T i 1 i 1 T i 1 i 1
donde:
2
2 T 2
1
Q IT e e'
T
Generalmente las varianzas (varianza entre grupos) y u2 no son conocidas y, por tanto,
2
habrá que estimar un valor para . Para estimar dicho valor un camino sería utilizar las
estimaciones de las varianzas de los residuos obtenidas en la solución MCO del modelo.
Así, Hausman (1978) aconseja utilizar el modelo de efectos fijos para realizar inferencias sobre
la muestra utilizada, mientras que el de efectos aleatorios resulta más útil para realizar
inferencias sobre la población.
Adicionalmente, si el interés del estudio particular está puesto en los coeficientes de las
pendientes de los parámetros, y no tanto en las diferencias individuales, se deberá elegir un
método que relegue estas diferencias y trate la heterogeneidad no observable como aleatoria.
El contexto de los datos, es decir, cómo fueron obtenidos y el entorno de donde provienen,
determinan también la elección del modelo. Con el modelo de efectos fijos la heterogeneidad no
observable se incorpora en la ordenada al origen del modelo y con el de efectos aleatorios, como
ya se mencionó, se incorpora en el término de error, modificándose la varianza del modelo.
Asimismo, emplear un modelo de efectos fijos o aleatorios genera diferencias en las
estimaciones de los parámetros en los casos en que se cuenta con T pequeño y N grande. En
estos casos debe hacerse el uso más eficiente de la información para estimar esa parte de la
71
relación de comportamiento contenida en las variables que difieren sustancialmente de un
individuo a otro.
En principio, el enfoque de efectos fijos es más atractivo, ya que no requiere realizar supuestos
paramétricos sobre la distribución condicional de la heterogeneidad inobservable. Sin embargo,
su desventaja es que solo puede utilizarse en ciertas distribuciones y requiere hacer supuestos
muy restrictivos sobre la distribución del término de error como lo son las hipótesis que exige el
método MCO.
A este respecto hay que tener presente que el modelo de efectos fijos asume la existencia de
diferencias entre unidades que se capturan en forma de movimientos de la curva de regresión.
(Fig. 5.1).
Figura 5.1.
Para elegir entre los estimadores del modelo fijo y aleatorio puede utilizarse el test de Hausman,
que compara directamente ambos estimadores. El contraste se basa en el hecho de que bajo la
hipótesis de que E i X it 0 el estimador del modelo de efectos aleatorios ̂ EA es
asintóticamente más eficiente que el estimador MCO del modelo de efectos fijos ̂ ; sin
EF
embargo, si E i X it 0 , el estimador MCO mantendrá la consistencia, mientras que el
estimador MCG será sesgado e inconsistente.
72
donde qˆ ˆEA ˆEF , y la matriz diagonal Var (qˆ ) Var ( ˆ EA ) Var ( ˆ EF ) . Bajo la hipótesis
nula H 0 E i X it 0 el estadístico m se distribuye como una variable k2 .
Ejemplo 5.1.
La librería “plm” ofrece recursos en R para estimar modelos data panel.
> install.packages("plm")
En esta librería tenemos un conjunto de datos panel relativos a 10 empresas para las que
disponemos de las siguientes cifras: año, invesión bruta, valor de la empresa y capital. El
conjunto de datos es para el periodo de 1935 a 1954.
> data("Grunfeld", package="plm")
> str(Grunfeld)
En el conjunto de datos los campos identificativos de las empresas y años deben de ser índices.
Para estimar un modelo de data panel de efectos fijos que relacione la inversión realizada por la
empresa con su valor contable y su capital, se requiere la siguiente sentencia R:
> summary(grun.fe)
Oneway (individual) effect Within Model
Call:
plm(formula = inv ~ value + capital, data = Grunfeld, model =
"within")
Balanced Panel: n=10, T=20, N=200
Residuals :
Min. 1st Qu. Median 3rd Qu. Max.
-184.000 -17.600 0.563 19.200 251.000
Coefficients :
Estimate Std. Error t-value Pr(>|t|)
value 0.110124 0.011857 9.2879 < 2.2e-16 ***
capital 0.310065 0.017355 17.8666 < 2.2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Total Sum of Squares: 2244400
Residual Sum of Squares: 523480
R-Squared : 0.76676
Adj. R-Squared : 0.72075
F-statistic: 309.014 on 2 and 188 DF, p-value: < 2.22e-16
73
Balanced Panel: n=10, T=20, N=200
Effects:
var std.dev share
idiosyncratic 2784.46 52.77 0.282
individual 7089.80 84.20 0.718
theta: 0.8612
Residuals :
Min. 1st Qu. Median 3rd Qu. Max.
-178.00 -19.70 4.69 19.50 253.00
Coefficients :
Estimate Std. Error t-value Pr(>|t|)
(Intercept) -57.834415 28.898935 -2.0013 0.04674 *
value 0.109781 0.010493 10.4627 < 2e-16 ***
capital 0.308113 0.017180 17.9339 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Total Sum of Squares: 2381400
Residual Sum of Squares: 548900
R-Squared : 0.7695
Adj. R-Squared : 0.75796
F-statistic: 328.837 on 2 and 197 DF, p-value: < 2.22e-16
74
6. MÉTODOS DE ESTIMACIÓN NO PARAMÉTRICOS
6.1. INTRODUCCIÓN
Se dice que se ajusta el modelo paramétrico cuando se estiman sus parámetros a partir de un
conjunto de observaciones que siguen dicho modelo, de manera que pueden hacerse
predicciones de nuevos valores de Y conocido el valor de X, y tener información precisa acerca
de la incertidumbre asociada a la estimación y a la predicción. Sin embargo, si el modelo
paramétrico no es el adecuado al análisis de datos que estamos realizando, pueden llevar a
conclusiones que queden muy alejadas de la realidad, dado que el modelo paramétrico conlleva
un grado de exactitud en las afirmaciones que de él se derivan y que son adecuadas siempre y
cuando se cumplan los supuestos básicos sobre los que se apoya su construcción teórica. De
hecho, los modelos paramétricos presentan una estructura teórica tan rígida que no pueden
adaptarse a muchos conjuntos de datos de los que hoy día se disponen para el análisis
económico.
Los modelos de regresión paramétricos suponen que los datos observados provienen de
variables aleatorias cuya distribución es conocida, salvo por la presencia de algunos parámetros
cuyo valor se desconoce.
yi 0 1 xi i , con i N 0, 2
Este es un modelo estadístico con tres parámetros desconocidos: 0 ; 1 y 2 .
Se supone que se observan n pares de datos xi , yi que provienen del siguiente modelo de
regresión no paramétrico:
yi m( xi ) i
75
Donde 1... n es una variable aleatoria idénticamente distribuida con E i 0 y V i 2 ,
y los valores de la variable explicativa x1...xn son conocidos, por lo que se dice que el modelo
tiene diseño fijo, y dado que la varianza de los errores es constante el modelo es
Homocedástico.
Una vez establecido el modelo, el paso siguiente consiste en estimarlo (o ajustarlo) a partir de
ˆ ( x) de la función de
las n observaciones disponibles. Es decir hay que construir un estimador m
regresión y un estimador ̂ 2 de la varianza del error. Los procedimientos de estimación de
m( x) se conocen como métodos de suavizado.
Los estimadores de tipo núcleo (o kernel) fueron diseñados para superar estas dificultades. La
idea original es bastante antigua y se remonta a los trabajos de Rosenblatt y Parzen en los años
76
50 y primeros 60. Los estimadores kernel son, sin duda, los más utilizados y mejor estudiados
en la teoría no paramétrica.
Dada una m.a.s. X 1... X n con densidad f , estimamos dicha densidad en un punto t por medio
del estimador
ˆf t 1
n
t Xi
K
nh i 1 h
Núcleo Triangular
1 u I u 1
Núcleo Uniforme
1
I
2 u 1
Núcleo Biweight
15
16
1 u 2 I u 1
Núcleo Triweight
35
32
1 u 2 I u 1
3 1 2
1 u I
4 5 u 5
1
donde I u 5
es la función que vale si u 5 y 0 si u 5
5
8
Por lo general, los programas informáticos eligen el ancho de ventana siguiendo criterios de
optimización (error cuadrático medio).
77
3 1 1
h K 10 sn n 5
8
Donde
n es el tamaño de la muestra
1
1 n 2
2
sn X i X
n i1
K depende del núcleo K, y se calcula como:
1
K t dt
2 5
K
u 2 K t dt
2
Por ejemplo:
1
1 10
Si K es el núcleo gaussiano, entonces K
4
Si K es el núcleo Epanechnikov, entonces K 15
1
5
Ejemplo 6.1
En R la estimación de una función de densidad kernel se realiza con la función “density”, con
los datos del vector x hay que realizar el siguiente programa:
> x <- c(2.1,2.6,1.9,4.5,0.7,4.6,5.4,2.9,5.4,0.2)
> density(x,kernel="epanechnikov")
Call:
density.default(x = x, kernel = "epanechnikov")
Data: x (10 obs.); Bandwidth 'bw' = 1.065
x y
Min. :-2.99424 Min. :0.00000
1st Qu.:-0.09712 1st Qu.:0.02366
Median : 2.80000 Median :0.09427
Mean : 2.80000 Mean :0.08621
3rd Qu.: 5.69712 3rd Qu.:0.15245
Max. : 8.59424 Max. :0.16948
> plot(density(x,kernel="epanechnikov"))
78
6.3. ESTIMADORES DE FUNCIÓN NÚCLEO Y POLINOMIOS LOCALES
La alternativa no paramétrica a los modelos de regresión, supone que
Y m( X ) e
donde m es una función que no se supone “confinada" dentro de una familia paramétrica. Se
trata de estimar m a partir de una muestra X 1 , Y1 …; X n , Yn .
1 t Xi
K
h h
Wi (t , X i )
fˆ (t )
donde K(t) es una función de densidad simétrica (por ejemplo, la normal estándar) y
fˆ (t ) es un estimador kernel de la densidad como el definido en el apartado anterior.
Wi (t , X i ) es, para cada i, una función de ponderación que da “mayor importancia" a los valores
X i de la variable auxiliar que están cercanos a t.
79
A partir de los pesos Wi puede resolverse el problema de mínimos cuadrados ponderados
siguiente:
n
min Wi Yi a bt X i
2
a ,b
i 1
los parámetros así obtenidos dependen de t, porque los pesos Wi también dependen de t, la recta
de regresión localmente ajustada alrededor de t sería :
lt ( X ) a(t ) b(t )(t X )
Y la estimación de la función en el punto en donde X t
mˆ (t ) lt (t ) a(t )
Las funciones núcleo usadas en la estimación no paramétrica de la regresión son las mismas que
en la densidad.
n
min Wi Yi 0 1 t X i ... q t X i
q 2
0 .. q
i 1
j 0
t Xi
n
K
h
Yi n
mˆ K (t ) n
i 1
W t , X i Yi
t Xi
i 1
K
h
i 1
Definida la matriz
1
t X 1 ... t X 1 q
. . ...
Xt
. . ...
1 t X n ... t X n
q
80
Y definidos los vectores Y Y1...Yn , 1... n , 0 ... q . Se calcula la matriz de
pesos Wt
W1 X 1 , t 0 ... 0
0. W2 X 2 , t ... 0
Wt
. . ... 0
0 0 ... Wn X n , t
o
t Xi
Wi (t , X i ) K
h
Ejemplo 6.2
Utilizando la base de datos “cars” de R, que contine las variables “dist” (distancia de parada) y
“speed” (velocidad), vamos a realizar la representación gráfica de la regresión kernel realizada
con el estimador de Nadaraya–Watson con diferentes parámetros de suavizado.
> data(cars)
> plot(cars$speed, cars$dist)
> lines(ksmooth(cars$speed, cars$dist, "normal", bandwidth = 2), col =
2)
> lines(ksmooth(cars$speed, cars$dist, "normal", bandwidth = 5), col =
3)
81
Si la cantidad de datos de que disponemos lo permite, lo habitual es obtener dos muestras una
para la estimación del modelo (muestra de entrenamiento) y otra muestra para predecir (muestra
de test). En este caso una medida de calidad del parametro h de suavizado es el error cuadrático
medio de la población de la muestra de test:
nt
Y mˆ X i ,t
1 2
ECMPtest (h) i ,t
nt i 1
82
no es necesario ajustar las n regresiones no paramétricas, sino que vasta con evaluar todos los
datos y anotar los valores de la diagonal principal de la matriz S .
ˆ 2
1 n
Yi Yˆi
n v i1
2
Para poder estimar la función f de la forma más sencilla posible, deberíamos poder representar
f de forma que Yi f ( xi ) ei , ei 1,2...., n se convierta en un modelo lineal.
Y esto se puede hacer eligiendo una base de funciones de dimensión q que genere un
subespacio de funciones que incluya a f como elemento y que pueda expresarse como:
q
f ( x) j s j x
j 1
s 4 ( x) x
3
s 5 ( x) x 4
Con lo que el modelo (10.1) se convierte en:
83
Yi 1 2 xi 3 xi2 4 xi3 5 xi4 ei
Un spline es una curva diferenciable definida en porciones mediante polinomios, que se utiliza
como bases de funciones para aproximar curvas con formas complicadas.
Las bases de spilines más populares:
Bases de polinomios truncados.
Bases de splines cúbicos.
Bases de B-splines.
Bases de thin plate splines.
Una función spline está formada por varios polinomios, cada uno definido sobre un
subintervalo, que se unen entre sí obedeciendo a ciertas condiciones de continuidad.
Supongamos que se ha fijado un entero q 0 , de manera que disponemos de q+1 puntos, a
los que denominaremos nodos, tales que t0 t1 t 2 .... t q , en los que troceamos nuestro
conjunto de. Decimos entonces que una función spline de grado q con nodos en t1 , t 2 ,...., t q es
una función S que satisface las condiciones:
(i) en cada intervalo t j 1 , t j , S es un polinomio de grado menor o igual a q .
(ii) S tiene una derivada de orden (q-1) continua en to , t q .
Los splines de grado 0 son funciones constantes por zonas. La expresión matemática de un
spline de grado 0 es la siguiente:
So ( x) co x t0 , t1
S ( x)S j ( x) c j x t j , t j 1
..
S q1 ( x) cq1 x t q1 , t q
En la figura 6.1 se muestran las gráficas correspondientes a los splines de grado cero.
Figura 6.1.
Los splines de grado 0, se define en un solo tramo de nudo y ni siquiera es continua en los
nudos. Equivale a realizar una regresión por tramos.
84
siendo
1 x t j , t j 1
cj
0 resto
..
S ( x) aq1 x bq 1 x t q1 , t q
q 1
La representación gráfica de un spline lineal aparece en la figura 6.2:
Figura 6.2.
Las funciones de spilines más comúnmente utilizadas son las de grado 3 ó cúbicas. Son
polinomios de grado tres a trozos, que son continuos en los nodos al igual que su primera y
segunda derivada, proporcionando un excelente ajuste a los puntos tabulados y a través de
cálculo que no es excesivamente complejo.
Sobre cada intervalo to , t1 , t1 , t 2 ,..., t q 1 , t q , S está definido por un polinomio cúbico
diferente. Si el polinomio cúbico que representa a b en el intervalo t j , t j 1 , por tanto:
S o ( x) ao x bo x co x d o x t0 , t1
3 3
3 2
S ( x)S j ( x) a j x b j x c j x d j x t j , t j 1
..
3 3
S q1 ( x) aq1 x bq1 x cq1 x d q1 x t q1 , t q
S j 1 xi yi S j xi
85
por lo que se garantiza que S es continuo en todo el intervalo. Además, se supone que S' y S''
son continuas, condición que se emplea en la deducción de una expresión para la función del
spline cúbico.
Aplicando las condiciones de continuidad del spline S y de las derivadas primera S' y
segunda S'', es posible encontrar la expresión analítica del spline.
Una de las bases de splines cúbicos más utilizadas basadas en q 2 nodos interiores, x *j ,
j 1,..., q 2 , es:
S o ( x) 1
S ( x)S1 ( x) x
S j 2 ( x ) R ( x, x j )
*
Siendo
4
2
12 2
12 24
2
4
2
2
R ( x, z ) 1 z 1 1 x 1 1 1 x z 1 1 x z 1 7
2 2 2
240
Con esta base de splines definimos f a través de un modelo lineal con matriz de regresores X
con n filas y q columnas cuya i_esima fila es:
X i 1, xi , R xi , x1* , R xi , x2* ,..., R xi , xk*2
Los elementos de una base de splines cúbicos son polinomios de grado 3. Un Spline cúbico se
representa en la figura 6.3:
Figura 6.3.
Un tema importante es la elección del grado de suavización del spline. Una de las posibilidades
es a través del contraste de hipótesis, valorar la posibilidad de utilizar uno o más nodos. Pero lo
aconsejado es mantener fija la base de splines y controlar el grado de suavización añadiendo una
penalización a la función objetivo de mínimos cuadrados:
' S
Donde S es una matriz de orden q q con coeficientes conocidos que dependen de la base
elegida y un parámetro de suavizado .
La solución del modelo de regresión lineal penalizado en donde la matriz de regresores está
ahora definida por la base de splines y la penalización sería:
ˆ penal X ' X S 1 X ' y
El modelo de regresión lineal con spilines penalizados es equivalente al siguiente modelo de
regresión lineal:
86
Y' X ' e
En donde Y ' (Y ,0,0...0)' es un vector de dimensión (n q ) 1 , es decir el vector Y seguido
de tantos ceros como nodos se han utilizado en la base de splines.
X
La matriz de regresores X ' tiene ahora orden (n q) q , siendo B una matriz que
B
cumple S B' B y que se obtiene a través de la descomposición de Cholesky y el parámetro
de suavizado y e un vector de (n q ) 1 errores aleatorios.
vg
n y X X ' X S X ' y ' y X X ' X S X ' y
1 1
traza I X X ' X S X '
1
La regresión por splines puede realizarse con múltiples variables explicativas, si tenemos ahora
dos explicativas, xi y zi , y queremos estimar el siguiente modelo aditivo:
yi f1 ( xi ) f 2 ( zi ) ei
Representaríamos cada una de estas dos funciones a través de una base de splines penalizados,
que tomando la base cúbica quedaría:
q 2
f1 ( x) 1 2 xi R xi , x*j
j 1
y
q 2
f 2 ( z ) 1 2 zi R zi , z *j
j 1
Ejemplo 6.3
87
> cars.spl2 <- smooth.spline(speed, dist,spar=0.10)
> lines(cars.spl1, col = "blue")
> lines(cars.spl2, col = "red")
La forma de Fourier permite aproximar arbitrariamente cerca tanto a la función como a sus
derivadas sobre todo el dominio de definición de las mismas. La idea que subyace en este tipo
de aproximaciones (que podrían denominarse semi-no-paramétricas) es ampliar el orden de la
base de expansión, cuando el tamaño de la muestra aumenta, hasta conseguir la convergencia
asintótica de la función aproximante a la verdadera función generadora de los datos y a sus
derivadas (Gallant, A.R.; 1981, 1984).
88
Suponiendo que los datos siguieran el modelo yi g ( xi ) ei para i=1,2,…,n estimaríamos
por mínimos cuadrados, minimizando
n y g
n
s n 1 i K xi / 2
i 1
Dado que la variable exógena xi no esta expresada en forma periódica, debe de transformase o
normalizarse en un intervalo de longitud menor que 2 , 0,2 .
Ejemplo 6.5
> library(fda)
> library(fda.usc)
> data(aemet,package = "fda.usc")
> tt = aemet$temp$argvals
> temp = as.data.frame(aemet$temp$data,row.names=F)
> range.tt = aemet$temp$rangeval
> inv.temp = data.frame(t(aemet$temp$data)) # 365 x 73 matrix
> names(inv.temp) = aemet$df$name
> plot(ts(inv.temp[,21]),main="Temperaturas medias diarias Santander
1980-2009")
16
14
12
10
Time
89
u cos jwo t v j sin jwo t
5
j
j 1
90
Temperaturas medias diarias Santander 1980-2009
20
18
ts(inv.temp[, 21])
16
14
12
10
Time
91
7. REGRESIÓN EN EL DOMINIO DE LA FRECUENCIA
7.1. INTRODUCCIÓN
Nerlove (1964) y Granger (1969) fueron los primeros investigadores en aplicar el Análisis
espectral a las series de tiempo en economía. El uso del análisis espectral requiere un cambio en
el modo de ver las series económicas, al pasar de la perspectiva del tiempo al dominio de la
frecuencia. El análisis espectral parte de la suposición de que cualquier serie X t , puede ser
transformada en ciclos formados con senos u cósenos:
n
ft ft
xt a j cos 2 b j seno 2 (7.1)
j 1 n n
donde es la media de la serie, a j y b j son su amplitud, f son las frecuencias que del
conjunto de las n observaciones, t es un índice de tiempo que va de 1 a N , siendo N el
número de periodos para los cuales tenemos observaciones en el conjunto de datos, el cociente
ft
convierte cada valor de t en escala de tiempo en proporciones de 2n y rango j desde 1
n
N
hasta n siendo n (es decir, 0,5 ciclos por intervalo de tiempo). La dinámica de las altas
2
frecuencias (los valores más altos de f ) corresponden a los ciclos cortos en tanto que la
dinámica de la bajas frecuencias (pequeños valores de f ) van a corresponder con los ciclos
f
largos. Si nosotros hacemos que la ecuación (7.1) quedaría, así:
n
xt a j cos j t b j seno j t
n
(7.2)
j 1
bp
donde R p a p b p y p tan 1
a
p
92
nR p2
La representación gráfica de I frente recibe el nombre de periodograma de las
4
serie de datos. Una tendencia produce un pico en la representación gráfica del periodograma en
la frecuencia cero, mientras que las variaciones estacionales procuren "picos" en las frecuencias
estacionales y sus múltiplos enteros, de manera que si un peridograma presenta un "pico" en
alguna frecuencia , presentará también "picos" en las frecuencias 2 ,3 ,...
Hannan (1963) fue quien propuso la regresión en dominio de la frecuencia (regresión band
spectrum). Engle (1974), demostró que dicha regresión no alteraba los supuestos básicos de la
regresión clásica, cuyos estimadores eran Estimadores Lineales Insesgados y Óptimos (ELIO).
fˆx k wk x
2
Haciendo
w0
w1
W w2
.
w
t 1
Se cumple que WW ' I W 'W debido a las ortogonalidad de los productos de senos y
cósenos.
93
Se trata de una regresión con variables aleatorias complejas pero que no afecta a los supuestos
básicos del modelo de regresión clásico. Las propiedades del error u~ :
var(u~ ) E (u~u~ ' ) E (Wuu 'W ' ) WE (uu ' )W ' u2WW '
Si I , entonces var(u~ ) u2 I .
1 T 1
T 1
ˆ fˆxx k fˆ xy k
k 0 k 0
fˆxx k fˆxy k
donde es la matriz de cross-periodogramas de cada frecuencia e es el vector del
x y
cross-periodograma de t e t .
La transformación de los datos originales del dominio del tiempo al dominio de la frecuencia
utilizando series finitas de senos y cósenos en la regresión band spectrium, se realiza a través de
la matriz ortogonal A, con el elemento (j,t)th (Harvey, 1978) :
1
1 2
j 1
T
1
2 2 j t 1
T cos T j 2,4,6,..., (T 2) /(T 1)
a j ,t 1
2 2 j 1t 1
sin
T T j 3,5,7,..., (T 1) / T
1
1 2 t 1
(1) j T
T (7.4)
De esta forma los problemas derivados del uso de la transformada compleja de Fourier pueden
ser eludidos. Asimismo afirma que el vector de residuos definido en (7.3) da lugar a un vector
de residuos del modelo transformado a través de A:
vˆ A y X Auˆ
de forma que :
94
T
p j vˆ2 j vˆ2 j 1 , j 1,..., 2 1 si T par
2 2
p vˆ 2 vˆ 2 , j 1,..., T 1 si T impar
pj j 2j 2 j 1
2
T
p j 2vˆ 22 j , j y T impar
2
p o 2vˆ12
Puede ser utilizado de forma consistente como estimador del periodograma de û . Al ser ̂ un
estimador MCO de , puede utilizarse el test del periodograma acumulado de Durbin (Durbin,
1969).
Tan H.B and Ashley R (1999), señalan que el procedimiento de elaboración del cross-
periodograma consta de tres etapas:
1.- Transformar los datos originales del dominio del tiempo al dominio de la frecuencia
utilizando series finitas de senos y cosenos. Implicaría premultiplicar los datos originales por
una matriz ortogonal, A, sugerida por Harvey (1978).
3.- Re-estimar el resultado del modelo de regresión en el dominio del tiempo con las
estimaciones 1... k y los coeficientes de las m variables Dummy. Implicaría premultiplicar la
ecuación de regresión ampliada por las variables Dummy por la transpuesta de A.
Ejemplo 7.1
En la tabla siguiente se recogen las cifras de Consumo de energía final eléctrica (TEP) y del PIB
en Millones de euros de España en el periodo 1992 y 2008.
95
Consumo de Energía Final Eléctrica (TEP) PIB (Mill euros año 2000)
1992 11244 484580,9
1993 11237 479583,3
1994 11777 491011,6
1995 12116 515405
1996 12655 527862,4
1997 13672 548283,8
1998 14202 572782
1999 15241 599965,8
2000 16205 630263
2001 17279 653255
2002 17759 670920,4
2003 18916 691694,7
2004 19834 714291,2
2005 20827 740108
2006 22052 769850,2
2007 22548 797366,8
2008 22817 804223,1
Fuente: INE
La regresión Mínimo Cuadrática en el dominio del tiempo de ambas series ofrece los siguientes
resultados:
>y <-
c(11244,11237,11777,12116,12655,13672,14202,15241,16205,17279,17759,18
916,19834,20827,22052,22548)
>x <-
c(484581,479583,491012,515405,527862,548284,572782,599966,630263,65325
5,670920,691695,714291,740108,769850,797367)
> summary(lm(y~x))
Call:
lm(formula = y ~ x)
Residuals:
Min 1Q Median 3Q Max
-346.73 -195.25 -28.16 194.01 360.10
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -6.689e+03 3.707e+02 -18.04 4.32e-11 ***
x 3.687e-02 5.919e-04 62.30 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 242.6 on 14 degrees of freedom
Multiple R-squared: 0.9964, Adjusted R-squared: 0.9961
F-statistic: 3882 on 1 and 14 DF, p-value: < 2.2e-16
La transformación de los datos del dominio del tiempo al dominio de la frecuencia se realiza
premultiplicando los datos originales por la matriz ortogonal A definida en (7.4). Para ello nos
auxiliamos de la función gdf del package-R: “descomponer”.
> library(descomponer)
> gdf(y)
96
[,1]
[1,] 64391.0000
[2,] -825.7467
[3,] -12360.5380
[4,] -1588.4091
[5,] -5560.1717
[6,] -2165.7826
[7,] -3392.0696
[8,] -2068.9944
[9,] -2052.7310
[10,] -2276.1742
[11,] -1552.3892
[12,] -1975.4091
[13,] -809.8283
[14,] -1748.2101
[15,] -368.2184
[16,] -1527.0000
> gdf(x)
[,1]
[1,] 2471806.00
[2,] -37363.77
[3,] -330603.45
[4,] -36340.78
[5,] -150333.85
[6,] -57659.89
[7,] -99733.49
[8,] -52172.81
[9,] -64772.04
[10,] -53932.84
[11,] -43070.70
[12,] -53680.28
[13,] -22559.65
[14,] -57068.96
[15,] -10290.24
[16,] -41025.50
97
Call:
lm(formula = gdf(y) ~ 0 + gdf(Constante) + gdf(x))
Residuals:
Min 1Q Median 3Q Max
-287.42 -65.98 2.02 98.26 552.03
Coefficients:
Estimate Std. Error t value Pr(>|t|)
gdf(Constante) -6.689e+03 3.707e+02 -18.04 4.32e-11 ***
gdf(x) 3.687e-02 5.919e-04 62.30 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 242.6 on 14 degrees of freedom
Multiple R-squared: 0.9998, Adjusted R-squared: 0.9998
F-statistic: 3.717e+04 on 2 and 14 DF, p-value: < 2.2e-16
Se crean ahora variables Dummys para separar altas frecuencias de las bajas frecuencias.
> D1 <- c(rep(1,6),rep(0,10))
> D2 <- c(rep(0,6),rep(1,10))
> D1
[1] 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
> D2
[1] 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
La siguiente regresión en el dominio de la frecuencia permite observar los efectos de las altas y
bajas frecuencias en la regresión:
> RBSD
Call:
lm(formula = gdf(y) ~ 0 + gdf(Constante) + c(gdf(x) * D1) + c(gdf(x) *
D2))
Residuals:
Min 1Q Median 3Q Max
-375.80 -82.06 -16.96 58.31 565.38
Coefficients:
Estimate Std. Error t value Pr(>|t|)
gdf(Constante) -6.910e+03 3.975e+02 -17.38 2.21e-10 ***
c(gdf(x) * D1) 3.723e-02 6.361e-04 58.53 < 2e-16 ***
c(gdf(x) * D2) 3.524e-02 1.363e-03 25.86 1.45e-12 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 236.3 on 13 degrees of freedom
Multiple R-squared: 0.9998, Adjusted R-squared: 0.9998
F-statistic: 2.613e+04 on 3 and 13 DF, p-value: < 2.2e-16
La representación gráfica de los resultados obtenidos, requiere transformar los datos ajustados
en el dominio de la frecuencia a datos ajustados en el dominio utilizando la transpuesta de A,
este paso se realiza con la función gdt del package-R descomponer.
> plot(ts(y,1992,frequency = 1),main="Consumo de energia electrica en
TEP 1992-2008",col=1)
> lines (ts(gdt(RBS$fitted.values),1992,frequency=1),col=2)
98
> lines (ts(gdt(RBSD$fitted.values),1992,frequency=1),col=3)
> legend("top", ncol=3,c("Y","Estimado RBS","Estimado
RBSD"),cex=0.6,bty="n",fill=c(1,2,3))
Yt y a yj cos j b jy sin j
N
j 1
t a j cos j b j sin j
N
j 1
u t u a uj cos j b uj sin j
N
j 1
donde Y AT Yt , X AT X t , y AT t .
99
El sistema (7.6) puede reescribirse como:
Y AX t I N AT AI N AT u (7.6)
Para obtener una solución a la minimización de los errores e que ofrezca el mismo resultado
que la regresión lineal por mínimos cuadrados ordinarios, requiere utilizar una matriz de
regresores X cuya primera columna sería el vector de tamaño T (1,0,0,...), la segunda columna
sería la primera fila de la matriz AX t I N AT y las columnas, corresponderían las filas de
AX t I N AT correspondientes a las frecuencias de senos o cósenos que queremos regresar.
Ejemplo 7.2
Utilizando los datos del ejemplo 7.1 vamos a plantear la regresión en el dominio de la
frecuencia con parámetros dependientes del tiempo. Para obtener la matriz jjX
X
= AX t I N AT , se
utiliza la función cdf del package-R descomponer. Con el siguiente chunk se obtiene la
estimación MCO:
```{r}
a <- matrix(y, nrow=1)
b <- matrix(x, nrow=1)
cx <- cdf(b)
C <- matrix(c(1,rep(0,15)),nrow=1)
X1 <- rbind(C,cx)
X <- as.matrix(X1[1:2,])
X
cy <- gdf(a)
B1 <- solve(X%*%t(X))%*%(X%*%cy)
Y <- t(X)%*%B1
F <- gdt(Y)
data.frame(y,F,MCO=lm(y~x)$fitted.values)
B1
```
100
X
## [,1] [,2] [,3] [,4] [,5] [,6]
[,7]
## [1,] 1.0 0.000 0.00 0.000 0.00 0.00
0.00
## [2,] 617951.5 ‐9340.943 ‐82650.86 ‐9085.195 ‐37583.46 ‐14414.97 ‐
24933.37
## [,8] [,9] [,10] [,11] [,12] [,13]
[,14]
## [1,] 0.0 0.00 0.00 0.00 0.00 0.000
0.00
## [2,] ‐13043.2 ‐16193.01 ‐13483.21 ‐10767.67 ‐13420.07 ‐5639.913 ‐
14267.24
## [,15] [,16]
## [1,] 0.00 0.00
## [2,] ‐2572.56 ‐10256.38
## y F MCO
## 1 11244 11179.75 11179.75
## 2 11237 10995.46 10995.46
## 3 11777 11416.90 11416.90
## 4 12116 12316.38 12316.38
## 5 12655 12775.73 12775.73
## 6 13672 13528.78 13528.78
## 7 14202 14432.14 14432.14
## 8 15241 15434.54 15434.54
## 9 16205 16551.73 16551.73
## 10 17279 17399.56 17399.56
## 11 17759 18050.95 18050.95
## 12 18916 18817.02 18817.02
## 13 19834 19650.24 19650.24
## 14 20827 20602.23 20602.23
## 15 22052 21698.96 21698.96
## 16 22548 22713.64 22713.64
B1
## [,1]
## [1,] ‐2.675607e+04
## [2,] 1.474987e‐01
Una estimación utilizando ahora como regresores además del PIB los ciclos de bajas frecuencias
del PIB, se realizaría con el siguiente chunk:
```{r}
a <- matrix(y, nrow=1)
b <- matrix(x, nrow=1)
cx <- cdf(b)
C <- matrix(c(1,rep(0,15)),nrow=1)
X1 <- rbind(C,cx)
X <- as.matrix(X1[1:4,])
X
cy <- gdf(a)
B1 <- solve(X%*%t(X))%*%(X%*%cy)
Y <- t(X)%*%B1
F <- gdt(Y)
data.frame(y,F,MCO=lm(y~x)$fitted.values)
101
B1
# Representaciones gráficas
plot(ts(y,1992,frequency = 1),main="Consumo de energia electrica en
TEP 1992-2008",col=1)
lines (ts(F,1992,frequency=1),col=2)
lines (ts(lm(y~x)$fitted.values,1992,frequency=1),col=3)
legend("top", ncol=3,c("Y","Estimado RBS","Estimado
MCO"),cex=0.6,bty="n",fill=c(1,2,3))
```
X
## [,1] [,2] [,3] [,4] [,5]
[,6]
## [1,] 1.000 0.000 0.00 0.000 0.000
0.00
## [2,] 617951.500 ‐9340.943 ‐82650.86 ‐9085.195 ‐37583.462 ‐
14414.97
## [3,] ‐9340.943 611527.297 ‐26575.52 ‐16797.969 ‐76073.542 ‐
15647.14
## [4,] ‐82650.862 ‐26575.521 624375.70 40812.429 3587.881
15125.33
## [,7] [,8] [,9] [,10] [,11]
[,12]
## [1,] 0.000 0.00 0.0000 0.000 0.0000
0.000
## [2,] ‐24933.372 ‐13043.20 ‐16193.0105 ‐13483.210 ‐10767.6749 ‐
13420.070
## [3,] ‐38025.708 ‐19726.99 ‐25244.4526 ‐18712.360 ‐15438.2083 ‐
19622.531
## [4,] 2798.735 10016.66 ‐658.8562 7462.167 266.4848
5794.821
## [,13] [,14] [,15] [,16]
## [1,] 0.0000 0.000 0.0000 0.00
## [2,] ‐5639.9131 ‐14267.240 ‐2572.5600 ‐10256.38
## [3,] ‐9432.9705 ‐19745.797 ‐3988.0208 ‐14267.24
## [4,] 554.3929 3988.021 766.9527 2572.56
## y F MCO
## 1 11244 11455.69 11179.75
## 2 11237 11207.80 10995.46
## 3 11777 11537.38 11416.90
## 4 12116 12325.48 12316.38
## 5 12655 12698.03 12775.73
## 6 13672 13374.39 13528.78
## 7 14202 14225.64 14432.14
## 8 15241 15209.08 15434.54
## 9 16205 16341.57 16551.73
## 10 17279 17248.79 17399.56
## 11 17759 17986.87 18050.95
## 12 18916 18840.24 18817.02
## 13 19834 19746.27 19650.24
## 14 20827 20739.45 20602.23
102
## 15 22052 21832.38 21698.96
## 16 22548 22794.94 22713.64
B1
## [,1]
## [1,] ‐2.396021e+04
## [2,] 1.428679e‐01
## [3,] 8.053688e‐04
## [4,] ‐8.870311e‐04
18000
16000
14000
12000
Time
```{r}
X0.1 <- c(0.4 ,0.35044 ,0.35477 ,0.33435 ,0.31556
,0.30244 ,0.28991 ,0.27828 ,0.26794
,0.25884 ,0.25071 ,0.24325 ,0.23639
,0.2301 ,0.2243 ,0.21895 ,0.21397 ,0.20933
,0.20498 ,0.20089 ,0.19705 ,0.19343
,0.19001 ,0.18677 ,0.1837 ,0.18077 ,0.17799 ,0.17037
,0.14466 ,0.14325 ,0.14188 ,0.14055 ,0.13926 ,0.138 ,
,0.12255 ,0.12087 ,0.12087 ,0.11926 ,0.11926 ,0.11771
,0.10835 ,0.10719 ,0.10719 ,0.10607 ,0.10607 ,0.10499
103
X0.05 <-
c(0.45,0.44306,0.41811,0.39075 ,0.37359 ,0.35522 ,0.33905 ,0.32538
,0.22012 ,0.2163 ,0.21268 ,0.20924 ,0.20596
,0.20283 ,0.19985 ,0.197 ,0.19427 ,0.19166 ,0.18915
,0.16058 ,0.15911 ,0.15769 ,0.1563 ,0.15495
,0.15363 ,0.15235 ,0.1511 ,0.14989 ,0.1487
,0.14754 ,0.14641 ,0.1453 ,0.1453 ,0.14361
,0.14361 ,0.14112 ,0.14112 ,0.13916
,0.13916 ,0.13728 ,0.13728 ,0.13548
,0.13548 ,0.13375 ,0.13375 ,0.13208
,0.13208 ,0.13048 ,0.13048 ,0.12894
,0.12894 ,0.12745 ,0.12745 ,0.12601
,0.12601 ,0.12464 ,0.12464 ,0.12327
,0.12327 ,0.12197 ,0.12197 ,0.12071
,0.12071 ,0.11949 ,0.11949 ,0.11831
,0.11831 ,0.11716 ,0.11716 ,0.11604
,0.11604 ,0.11496)
Realiza una prueba estadística para estudiar la dependencia serial sobre el periodograma
acumulado de la variable “y”, con una significación de 0,1(significance=1);
0,05(significance=2); 0,025(significance=3); 0,01(significance=4) y 0,005 (significance=5)
(Durbin; 1969)
```{r}
td <- function(y,significance) {
# Author: Francisco Parra Rodríguez
104
# Some ideas from:
#Harvey, A.C. (1978), Linear Regression in the Frequency Domain,
International Economic Review, 19, 507-512.
# DURBIN, J., "Tests for Serial Correlation in Regression Analysis
based on the Periodogram ofLeast-Squares Residuals," Biometrika, 56,
(No. 1, 1969), 1-15.
# http://econometria.wordpress.com/2013/08/21/estimation-of-time-
varying-regression-coefficients/
per <- periodograma(y)
p <- as.numeric(per$densidad)
n <- length(p)
s <- p[1]
t <- 1:n
for(i in 2:n) {s1 <-p[i]+s[(i-1)]
s <- c(s,s1)
s2 <- s/s[n]
}
while (n > 100) n <- 100
if (significance==1) c<- c(TestD[n,1]) else {if (significance==2) c <-
c(TestD[n,2]) else {if (significance==3) c <- c(TestD[n,3]) else {if
(significance==4) c <- c(TestD[n,4])
c <- c(TestD[n,5])}}}
min <- -c+(t/length(p))
max <- c+(t/length(p))
data.frame(s2,min,max)
}
```
Función para presentar gráficamente los resultados de la prueba de Durbin (Durbin; 1969):
```{r}
gtd <- function (y,significance) {
S <- td(y,significance)
plot(ts(S), plot.type="single", lty=1:3,main = "Test Durbin",
ylab = "densidad acumulada",
xlab="frecuencia")
}
```
> res <- Y-F
> td(res,3)
s2 min max
1 0.1042583 -0.2447 0.4947
2 0.2230305 -0.1197 0.6197
3 0.3581542 0.0053 0.7447
4 0.4971258 0.1303 0.8697
5 0.6324497 0.2553 0.9947
6 0.7536951 0.3803 1.1197
7 0.8544578 0.5053 1.2447
8 1.0000000 0.6303 1.3697
> gtd(res,3)
105
Test Durbin
1.0
densidad acumulada
0.5
0.0
1 2 3 4 5 6 7 8
frecuencia
Si la observación se toma a intervalos de tiempo t , entonces la frecuencia angular es .
t
1
La frecuencia equivalente expresada en ciclos por unidad de tiempo es f t .
2 2
1
Cuando solo hay una observación por año, radianes por año o f ciclos por año (un
2
ciclo por cada dos años), variaciones con una oscilación de un año tienen una frecuencia de
2 radianes por año o f 1 ciclos por año.
Por ejemplo en una serie mensual de n 100 datos, el ciclo estacional o las oscilaciones que
100
ocurren al cabo del año, tienen una frecuencia de f 8,33 ciclos por cada 100 datos.
12
Una serie mensual que completa 8 ciclos, al ser su menor frecuencia estacional 1 ciclo por año,
tendrá un total de 96 observaciones (8 ciclos), y los múltiplos enteros que también destacaran en
n 2n 3n
su periodograma corresponderán a las frecuencias f , , ,... ; las oscilaciones de
12 12 12
106
tendencia o de baja frecuencia, las que ocurren con un ciclo inferior al año corresponderán a las
n
frecuencias f .
12
Puede utilizarse (7.6) para estimar los coeficientes de Fourier de la serie temporal y t :
Y AI n AT AI N AT u
o
Y AtI n AT AI N AT u
En (6.9)
1 0 0 ... 0
0 1 0 ... 0
W At I n A 0
T
0 1 ... 0
. . . ... .
0 0 0 ... 1
1 0 0 0 0 ... 0
0 1 0 0 0 ... 0
0 0 1 0 0 ... 0
W * At I n AT 0 0 0 1 0 ... 0
0 0 0 0 0 ... 0
. . . . . ... .
0 0 0 0 0 ... 0
2n
Las 1 primeras filas de la matriz A son utilizadas para estimar los coeficientes de Fourier
12
2n
que corresponden a los ciclos de bajas frecuencias, los ciclos de tendencia, y las filas y
12
2n
1 permiten regresar sobre los coeficientes de Fourier que dan lugar a oscilaciones de un
12
6n 6n 8n
ciclo en cada año, los múltiplos enteros de dicha frecuencia y 1 , el ...deben de ser
12 12 12
utilizados para obtener la frecuencia estacional.
Ejemplo 7.3
107
La función descomponer, requiere indicar la serie, la frecuencia de la serie temporal, el tipo de
ajuste, 1, si se quiere realizar un ajuste utilizando (6.9) o 2 si se desea realizar un ajuste
utilizando (6.10), y el numero de datos a proyectar.
plot(ts(desc1$datos,frequency=12))
Para realizar una representación gráfica del periodograma de los residuos se invoca la función
“gperiodograma”.
> gperiodograma(desc1$datos$IR)
108
Para realizar un test sobre la aleatoriedad de la serie irregular (IR) basado en el periodograma
acumulados puede utilizarse la función “cpgram”.
> cpgram(ts(desc1$datos$IR,frequency=12))
o alternativamente:
> gtd(desc1$datos$IR,3)
109
110
8. MÉTODOS DE CLASIFICACIÓN
8.1. INTRODUCCIÓN
La clasificación supervisada es una de las tares que más frecuentemente son llevadas a cabo por
los denominados Sistemas Inteligentes. Por lo tanto, un gran número de paradigmas
desarrollados bien por la Estadística (Regresión Logística, Análisis Discriminante) o bien por la
Inteligencia Artificial (Redes Neuronales, Inducción de Reglas, Árboles de Decisión, Redes
Bayesianas) son capaces de realizar las tareas propias de la clasificación.
A lo largo del curso se trataran los métodos desarrollados por la estadística: Análisis
Discriminante y Regresión Logística y los K vecinos próximos, los Arboles de Decisión y las
Máquinas Soporte Vector desarrollados por la Inteligencia Artificial.
Paso previo a aplicar un método de clasificación, es la partición del conjunto de datos en dos
conjuntos de datos más pequeños que serán utilizadas con los siguientes fines: entrenamiento y
test9. El subconjunto de datos de entrenamiento es utilizado para estimar los parámetros del
modelo y el subconjunto de datos de test se emplea para comprobar el comportamiento del
modelo estimado. Cada registro de la base de datos debe de aparecer en uno de los dos
subconjuntos, y para dividir el conjunto de datos en ambos subconjuntos, se utiliza un
procedimiento de muestreo: muestreo aleatorio simple o muestreo estratificado. Lo ideal es
entrenar el modelo con un conjunto de datos independiente de los datos con los que realizamos
el test.
Valor real de Yi
Yi 0 Yi 1
Yˆi Yˆi 0 P11 P12
Yˆi 1 P21 P22
Donde P11 y P22 corresponderán a predicciones correctas (valores 0 bien predichos en el primer
caso y valores 1 bien predichos en el segundo caso), mientras que P12 y P21 corresponderán a
predicciones erróneas (valores 1 mal predichos en el primer caso y valores 0 mal predichos en el
segundo caso). A partir de estos valores se pueden definir los índices que aparecen en el
siguiente cuadro:
9
Pueden considerarse tres conjuntos de datos: entrenamiento, validación y test. El conjunto de datos de
validación se utilizaría en estos casos para ajustar y/o seleccionar el mejor modelo.
111
Un método para evaluar clasificadores alternativo a la métrica expuesta es la curva ROC
(Receiver Operating Characteristic). La curva ROC es una representación gráfica del
rendimiento del clasificador que muestra la distribución de las fracciones de verdaderos
positivos y de falsos positivos. La fracción de verdaderos positivos se conoce como
sensibilidad, sería la probabilidad de clasificar correctamente a un individuo cuyo estado real
sea definido como positivo. La especificidad es la probabilidad de clasificar correctamente a un
individuo cuyo estado real sea clasificado como negativo. Esto es igual a restar uno de la
fracción de falsos positivos.
112
Figura nº 8.1.
En R existe una librería que ayuda a la representación de la curva ROC: el R-package ROCR.
El Análisis Discriminante (AD), introducido por Fisher (1936), es una técnica que se utiliza
para predecir la pertenencia a un grupo (variable dependiente) a partir de un conjunto de
predictores (variables independientes). El objetivo del AD es entender las diferencias de los
grupos y predecir la verosimilitud de que una persona o un objeto pertenezca a una clase o
grupo basándose en los valores que toma en los predictores. Ejemplos de análisis discriminante
son distinguir entre innovadores y no innovadores de acuerdo a sus perfiles demográficos y
sociales o el riesgo de impago de un préstamo a través de predictores económicos y
sociodemográficos.
Y1 X 1i X 2i ... X p
Z jk 0 1 X 1k 2 X 2 k ... p X pk
donde,
113
o término constante
i ponderación discriminante para la variable independiente i
Una vez hallada la función discriminante, el resultado es una única puntuación Z discriminante
compuesta para cada individuo en el análisis. Promediando las puntuaciones discriminantes para
todos los individuos dentro de un grupo particular, obtenemos la media del grupo. Esta media es
conocida como centroide. Cuando el análisis se realiza con dos grupos tenemos dos centroides,
si es con tres serían tres los centroides, con k objetos tendremos k centroides.
Z jk 0 1 X 1k 2 X 2 k
Sustituyendo en la función discriminante el valor de las medias del grupo 1 en las variables X 1
y X 2 , obtenemos el centroide del grupo 1:
Z 1 0 1 X 11 2 X 21
De igual modo, sustituyendo las medias del grupo 2, obtenemos el centroide del grupo 2:
Z 2 0 1 X 12 2 X 22
La función Z debe ser tal que la distancia entre los dos centroides sea máxima, consiguiendo de
esta forma que los grupos estén lo más distantes posible. Podemos expresar esta distancia de la
siguiente manera:
h Z1 Z 2
Es importante señalar que los grupos deben diferenciarse de antemano en las variables
independientes. El análisis busca diferenciar los dos grupos al máximo combinando las
variables independientes pero si los grupos no difieren en las variables independientes, no podrá
encontrar una dimensión en la que los grupos difieran (figura 8.2). Dicho de otro modo, si el
solapamiento entre los casos de ambos grupos es excesivo, los centroides se encontrarán en la
misma o parecida ubicación en el espacio p-dimensional y en esas condiciones, no será posible
encontrar una función discriminante útil para la clasificación. Es decir, si los centroides están
muy próximos, las medias de los grupos en la función discriminante serán tan parecidas que no
será posible distinguir a los sujetos de uno y otro grupo.
114
Figura nº 8.2.
La mayor utilidad de una función discriminante radica en su capacidad para clasificar nuevos
casos. Ahora bien, la clasificación de casos es algo muy distinto de la estimación de la función
discriminante. De hecho, una función perfectamente estimada puede tener una pobre capacidad
clasificatoria.
Una vez obtenida la función discriminate podemos utilizarla, en primer lugar, para efectuar una
clasificación de los mismos casos utilizados para obtener la función: esto permitirá comprobar
el grado de eficacia la función desde el punto de vista de la clasificación. Si los resultados son
satisfactorios, la función discriminante podrá utilizarse, en segundo lugar, para clasificar futuros
casos de los que, conociendo su puntuación en las variables independientes, se desconozca el
grupo al que pertenecen.
Una manera de clasificar los casos consiste en calcular la distancia existente entre los centroides
Z1 Z 2
de ambos grupos y situar un punto de corte z 0 equidistante de ambos centroides. A
2
partir de ese momento, los casos cuyas puntuaciones discriminantes sean mayores que el punto
de corte z 0 serán asignados al grupo superior y los casos cuyas puntuaciones discriminantes
sean menores que el punto de corte z 0 serán asignados al grupo inferior.
La regla de clasificación descrita sólo permite distinguir entre dos grupos, con lo que es
difícilmente aplicable al caso de más de dos grupos e incluso a dos grupos con distinto tamaño,
con tamaños desiguales es preferible utilizar una regla de clasificación que desplace el punto de
corte hacia el centroide del grupo de menor tamaño buscando igualar los errores de
clasificación. Para calcular este punto de corte se utiliza una distancia ponderada10:
n1 Z 1 n2 Z 2
z0
n1 n2
El AD solo admite variables cuantitativas como regresores, por lo que si alguna de las variables
independientes es categórica, hay que utilizar otros métodos alternativos de clasificación.
10
Fukunaga y Kessell (1973) han propuesto una regla de clasificación basada en la teoría bayesiana. Esta
otra regla permite incorporar fácilmente la información relativa al tamaño de los grupos y, además, es
extensible al caso de más de dos grupos.
115
Ejemplo 8.1
Para realizar una minería de datos con la clasificación de familias con renta inferior al 60% de la
mediana a partir de las explicativas seleccionadas en el Ejemplo 4.2, para ello se va a dividir la
encuesta en dos muestras una de entrenamiento con el 70% de los datos y una muestra test con
el 30% restante, a fin de no tener problemas en los cálculos con los datos ausentes se va a
elaborar un “data frame” en donde se omitirán los “NA’s”. La función R que realiza el Análisis
Discriminante Lineal es “lda”. Para los 5 primeros datos, se dan los resultados de la
clasificación (class), las probabilidades posteriores de pertenecer a la clase cero (posterior.0) o
de pertenecer a la clase 1 (posterior.1), la probabilidad posterior es la probabilidad condicional
que es asignada después de que la evidencia es tomada en cuenta. Evaluaremos los resultados
con una métrica de porcentaje de aciertos y la curva ROC.
```{r}
datos1<-na.omit(datos)
explicativas <-
data.frame(datos1$nmiemb,datos1$nmiem11,datos1$nmiem12,datos1$numinact
i,datos1$numocu)
#modelo
x=explicativas
y=datos1$pobre
# división de la muestra en entrenamiento y validacion
train=sample(seq(length(y)),length(y)*0.70,replace=FALSE)
# Lineal Discriminat Analisys
lda.tr=lda(y[train]~.,data=x[train,])
#predicción
probs=predict(lda.tr,newdata=x[-train,],type="prob")
data.frame(probs)[1:5,]
table(probs$class,y[-train])
mean(probs$class==y[-train]) #porcentaje de bien clasificados
#gráfica curva ROC
library(ROCR)
predict.rocr <- prediction (probs$posterior[,2],y[-train])
perf.rocr <- performance(predict.rocr,"tpr","fpr") #True y False
postivie.rate
auc <- as.numeric(performance(predict.rocr ,"auc")@y.values)
plot(perf.rocr,type='o', main = paste('Area Bajo la Curva
=',round(auc,2)))
abline(a=0, b= 1)
```
## class posterior.0 posterior.1 LD1
## 1 0 0.8947561 0.10524393 ‐0.1670454
## 7 0 0.9416882 0.05831181 ‐0.6064807
## 12 0 0.8936114 0.10638860 ‐0.1587596
## 15 0 0.8936114 0.10638860 ‐0.1587596
## 19 0 0.8019755 0.19802448 0.3408693
##
## 0 1
116
## 0 3920 629
## 1 256 527
## [1] 0.834021
La Regresión Logística es un método ajuste estadístico cuyo objetivo es obtener una relación
funcional entre una transformación -de una variable cualitativa- llamada logit y p variables
predictoras que pueden ser cuantitativas o cualitativas (apartado 4.2). La característica
fundamental de esta regresión es que la variable dependiente es dicotómica.
pi
Li ln ln(e ) 0 1 X 1i 2 X 2i ... p X pi
z
(1 pi )
En el caso de una variable explicativa dicotómica, el modelo tiene una formulación equivalente
dada por:
117
1
p ( o 1 X 1i 2 X 2 i ... p X pi
(1 e )
De manera que el modelo se usa para clasificar nuevos individuos a partir de reglas de la
siguiente forma:
Sin embargo, la elección de un umbral igual a 0,5 no siempre es la mejor alternativa. En el caso
en que la muestra presente desequilibrios entre el número de unos y el de ceros la elección de un
umbral igual a 0,5 podría conducir a no predecir ningún uno o ningún cero. El modo de resolver
este problema es tomar un umbral más pequeño.
Ejemplo 8.2.
Partiendo del modelo estimado en el Ejemplo 4.1, vamos a realizar una minería de datos,
dividiendo la encuesta en dos muestras una de entrenamiento con el 70% de los datos y una
muestra test con el 30% restante, a fin de no tener problemas de cálculo con los datos ausentes
se va a elaborar un “data frame” en donde se omitirán los “NA’s”. Evaluaremos los resultados
con una métrica de porcentaje de aciertos y la curva ROC.
# Selección de variables
datos2=na.omit(datos)
explicativas <-
data.frame(datos2$nmiemb,datos2$nmiem11,datos2$nmiem12,datos2$numinact
i,datos2$numocu,datos2$tiphogar1,datos2$situocuhog)
x=explicativas
y=datos1$pobre
# división de la muestra en entrenamiento y validacion
train=sample(seq(length(y)),length(y)*0.70,replace=FALSE)
# Estimación de modelo probit
glm.tr=glm(y[train]~.,data=x[train,],family=binomial)
#predicción
probs=predict.glm(glm.tr,newdata=x[-train,],type="response")
pred=ifelse(probs>0.5,1,0)
table(pred,y[-train])
mean(pred==y[-train])
#gráfica curva ROC
library(ROCR)
predict.rocr <- prediction (probs,y[-train])
perf.rocr <- performance(predict.rocr,"tpr","fpr") #True y Tasa de
falsos positivos
118
auc <- as.numeric(performance(predict.rocr ,"auc")@y.values)
plot(perf.rocr,type='o', main = paste('Area Bajo la Curva
=',round(auc,2)))
abline(a=0, b= 1)
```
Los resultados obtenidos:
##
## pred 0 1
## 0 3929 625
## 1 246 532
## [1] 0.8366467
119
Figura nº 8.3
De los 3 vecinos más cercanos a la muestra x , representada en la figura por un aspa, uno de
ellos pertenece a la Clase 1 y los otros dos a la Clase 2. Por tanto, la regla 3-nn asignará la
muestra x a la Clase 2. Es importante señalar que si se hubiese utilizado como regla de
clasificación k=1, la 1-nn, la muestra x sería asignada a la Clase 1, pues el vecino más cercano
de la muestra x pertenece a la Clase 1.
xi x1i , x 2i ,..., x pi X
x x rj
p
2
d ( xi , x j ) ri
r 1
La fase de entrenamiento del algoritmo consiste en almacenar los vectores característicos y las
etiquetas de las clases de los ejemplos de entrenamiento. En la fase de test, la evaluación del
ejemplo (del que no se conoce su clase) es representada por un vector en el espacio
característico. Se calcula la distancia entre los vectores almacenados y el nuevo vector, y se
seleccionan los k ejemplos más cercanos. El nuevo ejemplo es clasificado con la clase que más
se repite en los vectores seleccionados.
El método k-nn supone que los vecinos más cercanos nos dan la mejor clasificación y esto se
hace utilizando todos los atributos; el problema de dicha suposición es que es posible que se
120
tengan muchos atributos irrelevantes que dominen sobre la clasificación, de manera que los
atributos relevantes perderían peso entre otros veinte irrelevantes.
Ejemplo 8.2
Partiendo del modelo estimado en el Ejemplo 4.1, vamos a realizar una minería de datos,
dividiendo la encuesta en dos muestras una de entrenamiento con el 70% de los datos y una
muestra test con el 30% restante, se va a realizar el proceso con el primer vecino próximo k=1
(Nearest Neighbor Algorithm), para ello hay que instalar el package-R class, e invocar la
función knn1, dentro de esta librería la función knn permite elegir el numero de vecinos a
aproximar, en está función todas las covariables han de ser numéricas por lo que las variables
clasificatorias de tipos de hogares y situación de ocupación de hogares son transformadas a
numéricas. Evaluaremos los resultados con una métrica de porcentaje de aciertos.
```{r}
library(class)
# Selección de variables
explicativas <-
data.frame(datos1$nmiemb,datos1$nmiem11,datos1$nmiem12,datos1$numinact
i,datos1$numocu)
x=explicativas
y=datos1$pobre
# K-Nearest Neighbors
Pobre=as.factor(y)
train=sample(seq(length(y)),length(y)*0.70,replace=FALSE)
knn.prd=knn1(x[train,1:5],x[-train,1:5],Pobre[train])
table(knn.prd,Pobre[-train])
```
Los resultados obtenidos:
knn.prd 0 1
## 0 3954 662
## 1 223 493
Los árboles de decisión o de clasificación son un modelo surgido en el ámbito del aprendizaje
automático (Machine Learning) y de la Inteligencia Artificial que partiendo de una base de
datos, crea diagramas de construcciones lógicas que nos ayudan a resolver problemas. A esta
121
técnica también se la denomina segmentación jerárquica. Es una técnica explicativa y
descomposicional que utiliza un proceso de división secuencial, iterativo y descendente que
partiendo de una variable dependiente, forma grupos homogéneos definidos específicamente
mediante combinaciones de variables independientes en las que se incluyen la totalidad de los
casos recogidos en la muestra.
Suponemos que se dispone de una muestra de entrenamiento que incluye la información del
grupo al que pertenece cada caso y que sirve para construir el criterio de clasificación. Se
comienza con un nodo inicial y nos preguntamos cómo dividir el conjunto de datos disponibles
en dos partes más homogéneas utilizando una de las variables. Esta variable se escoge de modo
que la partición de datos se haga en dos conjuntos lo más homogéneos posibles. Se elige, por
ejemplo, la variable x1 y se determina un punto de corte, por ejemplo c, de modo que se puedan
separar los datos en dos conjuntos: aquellos con x1 c y los que tienen x1 c . De este nodo
inicial saldrán ahora dos: uno al que llegan las observaciones con x1 c y otro al que llegan las
observaciones con x1 c . En cada uno de estos nodos se vuelve a repetir el proceso de
seleccionar una variable y un punto de corte para dividir la muestra en dos partes más
homogéneas. El proceso termina cuando se hayan clasificado todas las observaciones
correctamente en su grupo.
En los árboles de decisión se encuentran los siguientes componentes: nodos, ramas y hojas. Los
nodos son las variables de entrada, las ramas representan los posibles valores de las variables de
entrada y las hojas son los posibles valores de la variable de salida. Como primer elemento de
un árbol de decisión tenemos el nodo raíz que va a representar la variable de mayor relevancia
en el proceso de clasificación. Todos los algoritmos de aprendizaje de los árboles de decisión
obtienen modelos más o menos complejos y consistentes respecto a la evidencia, pero si los
datos contienen incoherencias, el modelo se ajustará a estas incoherencias y perjudicará su
comportamiento global en la predicción, es lo que se conoce como sobreajuste. Para solucionar
este problema hay que limitar el crecimiento del árbol modificando los algoritmos de
aprendizaje para conseguir modelos más generales. Es lo que se conoce como poda en los
árboles de decisión.
Las reglas de parada tratan de preguntar si merece la pena seguir o detener el proceso de
crecimiento del árbol por la rama actual, se denominan reglas de prepoda ya que reducen el
crecimiento y complejidad del árbol mientras se está construyendo:
122
Pureza de nodo. Si el nodo solo contiene ejemplos o registros de una única clase se
decide que la construcción del árbol ya ha finalizado.
Cota de profundidad. Previamente a la construcción se fija una cota que nos marque la
profundidad del árbol, cuando se alcanza se detiene el proceso.
Umbral de soporte. Se especifica un número de ejemplos mínimo para los nodos, y
cuando se encuentre un nodo con ejemplos por debajo del mínimo se para el proceso, ya
que no consideramos fiable una clasificación abalada con menos de ese número mínimo
de ejemplos.
Existen dos formas de poda muy comunes utilizadas en los diferentes algoritmos: la poda por
coste-complejidad y la poda pesimista. En la poda por coste-complejidad se trata de equilibrar la
precisión y el tamaño del árbol. La complejidad está determinada por el número de hojas que
posee el árbol (nodos terminales). La poda pesimista utiliza los casos clasificados
incorrectamente y obtiene un error de sustitución, eliminando los subárboles que no mejoran
significativamente la precisión del clasificador.
Ejemplo 8.3
Partiendo del modelo estimado en el Ejemplo 4.1, vamos a realizar una minería de datos,
dividiendo la encuesta en dos muestras una de entrenamiento con el 70% de los datos y una
muestra test con el 30% restante, se va ha realizar la clasificación utilizando arboles de decisión,
para ello hay que instalar el package-R: “tree”, e invocar la función tree. Se realiza una poda por
el procedimiento de coste-complejidad, y mediante un procedimiento de validación cruzada
elegirá el mejor resultado. Para ello hay que invocar la función cv.tree con la opción
FUN=prune.misclas. Evaluaremos los resultados con una métrica de porcentaje de aciertos.
require(tree)
# Selección de variables
explicativas <-
data.frame(datos2$nmiemb,datos2$nmiem11,datos2$nmiem12,datos2$numinact
i,datos2$numocu,datos2$tiphogar1,datos2$situocuhog)
y=as.factor(datos1$pobre)
datos3 <- data.frame(explicativas,y)
# división de la muestra en entrenamiento y validacion
train=sample(seq(length(y)),length(y)*0.70,replace=FALSE)
Pobreza.tree = tree(y~.,datos3,subset=train)
summary(Pobreza.tree)
plot(Pobreza.tree);text(Pobreza.tree,pretty=0)
Pobreza.tree
tree.pred=predict(Pobreza.tree,datos3[-train,],type="class")
summary(tree.pred)
with(datos3[-train,],table(tree.pred,y))
123
cv.Pobreza
plot(cv.Pobreza)
prune.Pobreza=prune.misclass(Pobreza.tree,best=5)
plot(prune.Pobreza);text(Pobreza.tree,pretty=0)
tree.pred=predict(prune.Pobreza,datos3[-train,],type="class")
with(datos3[-train,],table(tree.pred,y))
```
##
## Classification tree:
## tree(formula = y ~ ., data = datos3, subset = train)
## Variables actually used in tree construction:
## [1] "datos1.situocuhog" "datos1.nmiemb"
## Number of terminal nodes: 5
## Residual mean deviance: 0.8397 = 10440 / 12430
## Misclassification error rate: 0.1939 = 2412 / 12439
## node), split, n, deviance, yval, (yprob)
## * denotes terminal node
##
## 1) root 12439 12930.0 0 ( 0.78559 0.21441 )
## 2) datos1.situocuhog: El sustentador principal y el
cónyugeocupados, al menos otro de los miembros también ocupado,El
sustentador principal y el cónyuge ocupados, ninguno de los otros
miembros ocupados (si es que los hay),El sustentador principal o el
cónyugeocupado, al menos otros dos miembros ocupados,Ni el sustentador
principal ni su cónyuge ocupados, al menos otros dos miembros ocupados
3905 1989.0 0 ( 0.92958 0.07042 ) *
## 3) datos1.situocuhog: El sustentador principal o el cónyuge
ocupado, otro de los miembros ocupado,El sustentador principal o el
cónyugeocupado, ninguno de los otros miembros ocupado (si es que los
hay),Ni el sustentador principal ni su cónyuge ocupado, otro miembro
ocupado,Ningún ocupado en el hogar 8534 10130.0 0 ( 0.71971 0.28029 )
## 6) datos1.nmiemb < 2.5 4368 3169.0 0 ( 0.88210 0.11790 ) *
## 7) datos1.nmiemb > 2.5 4166 5734.0 0 ( 0.54945 0.45055 )
## 14) datos1.situocuhog: El sustentador principal o el cónyuge
ocupado, otro de los miembros ocupado,Ni el sustentador principal ni
su cónyuge ocupado, otro miembro ocupado 768 738.3 0 ( 0.81380
0.18620 ) *
## 15) datos1.situocuhog: El sustentador principal o el
cónyugeocupado, ninguno de los otros miembros ocupado (si es que los
hay),Ningún ocupado en el hogar 3398 4709.0 1 ( 0.48970 0.51030 )
## 30) datos1.nmiemb < 4.5 2951 4079.0 0 ( 0.53135 0.46865 ) *
## 31) datos1.nmiemb > 4.5 447 465.1 1 ( 0.21477 0.78523 ) *
124
Se ha elaborado un arbol con 5 nodos terminales, que considera como pobres todos los hogares
de más de 4,5 miembros en donde: El sustentador principal o el cónyuge está ocupado, y
ninguno de los otros miembros ocupado (si es que los hay), y en los que no hay ningún ocupado
en el hogar. Este clasificador presenta los siguientes resultados en la muestra de test:
## 0 1
## 5130 202
## y
## tree.pred 0 1
## 0 4114 1016
## 1 45 157
## $size
## [1] 5 1
##
## $dev
## [1] 2411 2580
##
## $k
## [1] ‐Inf 63.75
##
## $method
## [1] "misclass"
##
## attr(,"class")
## [1] "prune" "tree.sequence"
125
8.6. MÁQUINAS DE SOPORTE VECTOR
Las Máquinas de Soporte Vectorial (Support Vector Machines SVMs) son un conjunto de
algoritmos de aprendizaje supervisados que desarrollan métodos relacionados con los problemas
de clasificación y regresión.
Como en la mayoría de los métodos de clasificación supervisada, los datos de entrada (los
puntos) son vistos como un vector p-dimensional (una lista de p números). Dado un conjunto de
puntos como un subconjunto de un conjunto mayor (espacio), en el que cada uno de ellos
pertenece a una de dos posibles categorías, de manera que un algoritmo basado en SVM
construye un modelo capaz de predecir si un punto nuevo (cuya categoría desconocemos)
pertenece a una categoría o a la otra.
126
puntos en el espacio para tratar de separar las diferentes clases mediante un espacio lo más
amplio posible, para que cuando las nuevas muestras de los casos de test se pongan en
correspondencia con dicho modelo puedan ser clasificadas correctamente en función de su
proximidad.
Figura 8.4
La manera más simple de realizar la separación es mediante una línea recta, un plano recto o un
hiperplano N-dimensional. Desafortunadamente los universos a estudiar no se suelen presentar
en casos idílicos de dos dimensiones como en el ejemplo anterior, sino que un algoritmo SVM
debe tratar con más de dos variables predictoras, curvas no lineales de separación, casos donde
los conjuntos de datos no pueden ser completamente separados, clasificaciones en más de dos
categorías.
Ejemplo 8.4.
Partiendo del modelo estimado en el Ejemplo 4.1, vamos a realizar una minería de datos,
dividiendo la encuesta en dos muestras una de entrenamiento con el 70% de los datos y una
muestra test con el 30% restante, se va ha realizar la clasificación utilizando una máquina de
soporte vector, para ello hay que instalar el package-R: “e1017”, e invocar la función svm. Se
estima un modelo con un lineal y un Kernel de base radial (la función permite además funciones
base polinomiales y sigmoides). Evaluaremos los resultados con una métrica de porcentaje de
aciertos, y obtenemos la curva ROC para la muestra test con la función radial.
```{r}
library(e1071)
# Selección de variables
127
explicativas <-
data.frame(datos1$nmiemb,datos1$nmiem11,datos1$nmiem12,datos1$numinact
i,datos1$numocu)
y=as.factor(datos1$pobre)
datos4 <- data.frame(explicativas,y)
# se estima un modelo svm lineal para la muestra de entrenamiento
train=sample(seq(length(y)),length(y)*0.70,replace=FALSE)
svmfit=svm(datos4$y~.,data=datos4,kernel="linear",scale=FALSE,subset=t
rain)
print(svmfit)
plot(svmfit,datos4,datos1.nmiemb~datos1.numocu)
table(datos4$y[train],svmfit$fitted)
# Predicción para la muestra test
svm.pred=predict(svmfit,datos4[-train,])
summary(svm.pred)
with(datos4[-train,],table(svm.pred,y))
# se estima un modelo svm lineal para la muestra de entrenamiento y se
predice la muestra de test
svmfit2=svm(datos4$y~.,data=datos4,kernel="radial",scale=FALSE,subset=
train,probability=TRUE)
print(svmfit2)
svm.pred=predict(svmfit2,datos4[-train,],probability=TRUE)
summary(svm.pred)
with(datos4[-train,],table(svm.pred,y))
#gráfica curva ROC
library(ROCR)
svm.pred=predict(svmfit2,datos4[-train,],probability =TRUE)
prob=svm.pred=predict(svmfit2,datos4[-train,],probability =TRUE)
predict.rocr <- prediction (attr(prob,"probabilities")[,2],y[-train])
perf.rocr <- performance(predict.rocr,"tpr","fpr") #True y Tasa de
falsos positivos
auc <- as.numeric(performance(predict.rocr ,"auc")@y.values)
plot(perf.rocr,type='o', main = paste('Area Bajo la Curva
=',round(auc,2)))
abline(a=0, b= 1)
```
En primer lugar, se estima un Kernel lineal:
##
## Call:
## svm(formula = datos4$y ~ ., data = datos4, kernel = "linear",
## subset = train, scale = FALSE)
##
##
## Parameters:
## SVM‐Type: C‐classification
## SVM‐Kernel: linear
128
## cost: 1
## gamma: 0.2
##
## Number of Support Vectors: 4582
##
## 0 1
## 0 9466 319
## 1 1715 939
## y
## svm.pred 0 1
## 0 4017 802
## 1 129 384
##
## Call:
## svm(formula = datos4$y ~ ., data = datos4, kernel = "radial",
## probability = TRUE, subset = train, scale = FALSE)
##
##
## Parameters:
## SVM‐Type: C‐classification
## SVM‐Kernel: radial
129
## cost: 1
## gamma: 0.2
##
## Number of Support Vectors: 4280
## y
## svm.pred 0 1
## 0 3970 757
## 1 176 429
El método propuesto por Breinan (1966) intenta aunar las características del Boostrapping11 y la
agregación incorporando los beneficios de ambos (Boostrap AGGregatiNG). La operativa del
método es la siguiente:
Se generan muestras aleatorias que serán los conjuntos de entrenamiento. Las muestras
se generan a través de un muestreo aleatorio con reemplazamiento.
Cada subconjunto de entrenamiento aprende un modelo.
11
El bootstrapping (o bootstrap) es un método de remuestreo propuesto por Bradley Efron en 1979. Se
utiliza para aproximar la distribución en el muestreo de un estadístico.
130
Para clasificar un ejemplo se predice la clase de ese ejemplo para cada clasificador y se
clasifica en la clase con mayor voto.
El método propuesto por Freund y Schapire (1996), está basado en la asignación de un peso a
cada conjunto de entrenamiento. Cada vez que se itera se aprende un modelo que minimiza la
suma de los pesos de aquellos ejemplos clasificados erróneamente. Los errores de cada iteración
sirven para actualizar los pesos del conjunto de entrenamiento, incrementando el peso de los
mal clasificados y reduciendo el peso de aquellos que han sido correctamente clasficados. La
decisión final para un nuevo patrón de clasificación viene dada por la votación mayoritaria
ponderada entre los diferentes conjuntos de entrenamiento.
131
9. BIBLIOGRAFÍA
Introducción a R:
https://www.datacamp.com/courses/introduccion-a-r/?tap_a=5644-
dce66f&tap_s=10907-287229
Akaike, H. (1974), “A new look at the statistical model identification”, IEEE Transactions on
Automatic Control AC-19, pp. 716–723.
Ashley, Richard A. (1984), “A Simple Test for Regression Parameter Instability,” Economic
Inquiry 22, No. 2, 253-267.
Box, G.E.P., Jenkins, G.M. y Reinsel, G.C. (1994), Time Series Analysis - Forecasting and
Control, 3rd Edition, Prentice Hall.
Cayuela L (2010) Modelos lineales generalizados (GLM). EcoLab, Centro Andaluz de Medio
Ambiente, Universidad de Granada. Junio 2010.
Chateld, Cris (2004). The Analysis of Time Series: An Introduction (6th edn.), 2004. CRC Press
Christ (1960). “Simultaneus Equations Estimation: Any Veredict Yet?”. Econometrica 28, pp.
835-845.
132
Cochrane, D. y Orcutt, G. H. (1949a), “Application Of Least Squares Regression To
Relationships Containing Autocorrelated Error Terms”, Journal of American Statistical
Association 44, pp. 32-61.
Dickey, D.A. y W.A. Fuller (1979), “Distribution of the Estimators for Autoregressive Time
Series with a Unit Root,” Journal of the American Statistical Association, 74, p. 427–431.
Durbin, J. y Koopman, S. J. (2001), Time Series Analysis by State Space Models (Oxford
Statistical Science Series, nº 24), Oxford University Press.
Durbin, J. y Watson, G. S. (1950), “Testing for Serial Correlation Least Squares Regressions”,
Biometrika, vol 37. pp. 409-428.
Bradley Efron, Elizabeth Halloran, and Susan Holmes (1996). "Bootstrap confidence levels for
phylogenetic trees". PNAS 93 (23): http://www.pnas.org/content/93/23/13429.full.pdf
Fix, E.; J.L. Hodges (1989) “(1951): An Important Contribution to Nonparametric Discriminant
Analysis and Density Estimation: Commentary on Fix and Hodges (1951)”. International
Statistical Review / Revue Internationale de Statistique 57 (3): 233-238.
Gallant, A. R.(1981) "On the Bias in Flexible Functional Forms and an Essentially Unbiased
Form." J. Econometrics 15(1981):211-45.
Gallant, A. R.(1984) "The Fourier Flexible Form." Amer. J. Agr. Econ. 66(1984):204-15
Granger, C.W.J.(1981), “Some properties of time series data and their use in econometric model
specification”, Journal of Econometrics 16, pp. 121-130.
133
Greene, W. H. (2000), Análisis Econométrico, Ed. Prentice Hall
Hannan, E.J. (1963), Regression for Time Series, in Rosenblatt, M. (ed.), Time Series Analysis,
New York, John Wiley.
Hastie, T, Tibshirani R. and Friedman, J. (2008), The Element of Statistical Learning. Data
Minining, Inference and Prediction. Second Edition. Springe.
Harvey, A.C. (1978), Linear Regression in the Frequency Domain, International Economic
Review, 19, 507-512.
Hausman, J.A. (1974), “Estimation and Inference in Nonlinear Structural Models”, Annals of
Economic and Social Measurement, con Berndt E., Hall R.E. y Hall, B.H. October 1974.
Hausman, J.A. (1978), “Specification tests in econometrics”, Econometrica, 46, pp. 1251-71.
Koopmans, T.C., Rubin, H. y Leipnik, R.B. (1950). “Measuring The Equation System Of
Dinamic Economics”, en Statistical Inference In Dinamic Economic Models, Cowles
Commision Monografico nº 10. John Wiley. Nueva York.
134
McFadden, D. (1976), “Quantal Choice Analysis: A Survey”, Annals Of Economic And Social
Measurement.
Muth, J.F. (1961), “Rational Expectations And The Theory Of Price Movements”,
Econometrica 29, pp. 315-335.
Nelder, John; Wedderburn, Robert (1972). "Generalized Linear Models". Journal of the Royal
Statistical Society. Series A (General) (Blackwell Publishing) 135 (3): 370–384.
Sargent, T.J. (1984), “Vector autoregressions, expectations and advice”, American Economic
Review 74, pp.408-415
Swamy, P. A. y Menhta, J. S. (1977), “Estimation Of Linear Models With Time And Cross-
Sectionaly Varying Coefficients”, Journal Of The American Statistical Association 72.
Tan, Hui Boon & Ashley, Richard, 1999. "Detection And Modeling Of Regression Parameter
Variation Across Frequencies," Macroeconomic Dynamics, Cambridge University Press, vol.
3(01), pages 69-83, March.
135
Theil, H. (1954), “Estimation Of Parameters Of Econometrics Models”, Bulletin Of
International Statistics Institute 34, pp.122-128.
Tinbergen, J. (1930), “Bestimmung Und Deutung Von Angebotkurven”, Zeitschrift Für
Nationalökonomie 1.
Working, E.J. (1927), “What Do Statistical Demand Curves Show?”, Quarterly Journal Of
Economics 41.
Wright, P.G. (1915), “Review Of Economic Cycles By Henry Moore”, Quarterly Journal Of
Economics 29.
Wright, P.G. (1928), “The Tariff On Animal And Vegetable Oils”, New York, The Mcmillan
Company
136
10. ANEXO I
137