Mostrando entradas con la etiqueta análisis de residuos. Mostrar todas las entradas
Mostrando entradas con la etiqueta análisis de residuos. Mostrar todas las entradas

viernes, 11 de septiembre de 2015

Regresión Lineal, semestre 2015-1

Quisiera en esta entrada aclarar algunas cosas sobre la regresión lineal a la luz de los (deplorables) resultados de la segunda prueba parcial de la 746 de este semestre. Si han presentado esta prueba y no lograron el objetivo 5 o el 6, lean a continuación para ver porqué.

Comencemos repasando lo que es un modelo de regresión lineal:

\[
Y=\beta_0 + \beta_1 X_1 + \beta_2 X_2 + \beta_d X_d + \varepsilon
\]

lunes, 1 de abril de 2013

The Lending Club - parte III

En esta última entrada de la serie, procedemos a construir y analizar distintos modelos de regresión para descubrir cómo se determina la tasa de interés de los prestamos que se tramitan a través del Lending Club.



Primer modelo de regresión


Para comenzar, cargaremos el archivo de datos "lending_club.Rda" y la librería estUNA (el archivo tiene el mismo nombre), los cuales se supone que deben estar en el mismo directorio de trabajo.  Seguidamente, nuestro script debe contener una instrucción attach para referirnos a las variables individuales del data-frame loandata de manera más sencilla.  Este preámbulo de instrucciones cambiará si usted utiliza el interprete de R a través de un servidor RWeb.

load("estUNA")
load("lending_club.Rda")
attach(loandata)
options(width=60)
png("regresion%02d.png")

El primer modelo incluirá aquellas variables de loandata que consideramos significativas según el análisis exploratorio realizado en la entrada The Lending Club - parte II. Estas variables son:

  • Ar (Monto Requerido).
  • Fi (calificación FICO).
  • Ld (Duración del prestamo)
  • Ocl (Líneas de crédito abiertas)
  • Inq0 (Variable indicadora según sea el número de indagaciones igual a 0).
  • Lp_dc (Variable indicadora según sea el propósito del préstamo la consolidación de deudas).


Las últimas dos variables indicadoras, Inq0 y Lp_dc, no están definidas en loandata- hay que definirlas.  Seguidamente se define el modelo de regresión como modelo1a y se imprime un resumen:

Lp_dc <- Lp=="debt_consolidation"
Inq0 <- Inq==0
modelo1a <- regresion.lineal(Ir~1+Ar+Fi+Ld+Inq0+Ocl+Lp_dc)
resumen(modelo1a)
---------------------------------------------------------
Resumen de regresion lineal

  MODELO         : modelo1a
  Marco de datos : variables globales
  Formula        : Ir ~ 1 + Ar + Fi + Ld + Inq0 + Ocl + Lp_dc

Estimacion de los coeficientes poblacionales

                Estimacion   Error Est. Estadistico T
[Intercepto]  7.382562e-01 8.548541e-03     86.360488
Ar            1.481033e-06 5.975320e-08     24.785830
Fi           -8.772580e-04 1.189671e-05    -73.739512
Ld60          3.201605e-02 1.081372e-03     29.606863
Inq0TRUE     -1.079905e-02 8.222849e-04    -13.132985
Ocl          -5.018680e-04 9.328141e-05     -5.380150
Lp_dcTRUE    -2.028007e-03 8.385869e-04     -2.418362
                p-valor
[Intercepto] < 2.22e-16
Ar           < 2.22e-16
Fi           < 2.22e-16
Ld60         < 2.22e-16
Inq0TRUE     < 2.22e-16
Ocl           8.138e-08
Lp_dcTRUE      0.015662

Prueba F global

  Valor F : 1342.558   gl. num: 6   gl. den : 2485
  p-valor : < 2.22e-16

Coeficientes de determinacion

   R^2 : 0.7642392   R^2 ajustado : 0.76367

Residuos

  Minimo  : -0.094555
  Mediana : -0.002316511
  Maximo  : 0.09745238

  Desv. estandar residual:  0.02032266
Todas las variables independientes de este modelo son significativas (con p-valores muy por debajo de 5%).  El coeficiente de determinación \(R^2\) es un poco más de 76%, lo cual no está mal.  ¿Es este el mejor modelo que podemos producir? ¿Hay algún problema en el modelo de regresión? Esta última pregunta la responderemos definitivamente al hacer un análisis de residuos.

Por ahora quiero llamar su atención a la estimación del coeficiente de la variable Lp_dc, que es igual a -0,0020287. Lp_dc es una variable lógica (TRUE o FALSE), lo cual equivale a decir que es una variable categórica.  Por la forma en que está definida la variable,  Lp_dc es igual a TRUE (verdadero) cuando el propósito del préstamo es la consolidación de deudas. Como vimos en el análisis exploratorio, los prestamos solicitados para la consolidación de deudas tienen una tasa de interés más alta (en promedio) que la tasa de interés promedio global. Por lo tanto, esperaríamos que el coeficiente de esa variable fuese positivo, pero según los resultados obtenidos, ¡es negativo!

La variable Lp_dc tiene lo que se conoce como un efecto supresor en el modelo de regresión donde la variable dependiente es la tasa de interés.  Esto ocurre porque una (o posiblemente varias) de las otras variables independientes están correlacionadas con la varaible Lp_dc y con la variable Ir.   Podemos construir modelos de regresión en los cuales probamos eliminar cada una de las otras variables una por una, hasta obtener un modelo de regresión en donde el coeficiente de Lp_dc sea positivo (como debería ser).  Tras un poco de ensayo y error, se descubrió que Lp_dc tiene un efecto supresor sobre Ir en conjunto con la variable Ar.  Para probar, construimos un modelo de regresión igual al anterior, pero sin la variable Ar:

modelo1b <- regresion.lineal(Ir~1+Fi+Ld+Inq0+Ocl+Lp_dc)
resumen(modelo1b)
---------------------------------------------------------
Resumen de regresion lineal

  MODELO         : modelo1b
  Marco de datos : variables globales
  Formula        : Ir ~ 1 + Fi + Ld + Inq0 + Ocl + Lp_dc

Estimacion de los coeficientes poblacionales

                Estimacion   Error Est. Estadistico T
:                   :            :            :
:                   :            :            :
Lp_dcTRUE     1.717800e-03 9.210058e-04     1.8651343
                 :
                 :
Coeficientes de determinacion

   R^2 : 0.7059548   R^2 ajustado : 0.7053634
       :
       :
  Desv. estandar residual:  0.02269156
No se imprime la tabla completa de resumen para ahorrar espacio. Lo que se quiere resaltar es que para este modelo, el coeficiente de Lp_dcTRUE (prestamos cuyo propósito es la consolidación de deudas) es positivo, lo cual coincide con lo observado en el análisis exploratorio respecto a que los prestamos para consolidación de deudas tienen tasas de interés más altas.  Sin embargo, eliminamos una variable que era muy significativa (la variable Ar) y por lo tanto, el coeficiente de determinación disminuyó a un poco más de 70%- aproximadamente 6% menos que el modelo1a.  Para evitarnos el problema de tener una variable con efecto supresor, eliminaremos más bien la variable Lp_dc (que era menos significativa que Ar) e incorporaremos otra vez la variable Ar.  Una vez obtenido el nuevo modelo (modelo1c), imprimimos un resumen y generamos las gráficas para el diagnostico de residuos.

modelo1c <- regresion.lineal(Ir~1+Ar+Fi+Ld+Inq0+Ocl)
resumen(modelo1c)
graficar(modelo1c)
---------------------------------------------------------
Resumen de regresion lineal

  MODELO         : modelo1c
  Marco de datos : variables globales
  Formula        : Ir ~ 1 + Ar + Fi + Ld + Inq0 + Ocl

Estimacion de los coeficientes poblacionales

                Estimacion   Error Est. Estadistico T
[Intercepto]  7.349896e-01 8.449383e-03     86.987369
Ar            1.454991e-06 5.883215e-08     24.731215
Fi           -8.735828e-04 1.181075e-05    -73.965030
Ld60          3.206793e-02 1.082213e-03     29.631794
Inq0TRUE     -1.078765e-02 8.230728e-04    -13.106558
Ocl          -5.111106e-04 9.329393e-05     -5.478498
                p-valor
[Intercepto] < 2.22e-16
Ar           < 2.22e-16
Fi           < 2.22e-16
Ld60         < 2.22e-16
Inq0TRUE     < 2.22e-16
Ocl          4.7207e-08

Prueba F global

  Valor F : 1606.766   gl. num: 5   gl. den : 2486
  p-valor : < 2.22e-16

Coeficientes de determinacion

   R^2 : 0.7636844   R^2 ajustado : 0.7632091

Residuos

  Minimo  : -0.09370228
  Mediana : -0.002240513
  Maximo  : 0.09816036

  Desv. estandar residual:  0.02034247
Verificamos que al volver a incorporar la variable Ar, el coeficiente de regresión sube a 76%. Realmente, la variable Lp_dc no contribuye en mucho sobre la variabilidad de la tasa de intereses. Para terminar de validar el modelo, estudiamos las gráficas de diagnóstico de análisis de residuos:

Fig 1.1
Fig 1.2
Fig 1.3

Las gráficas de verificación de normalidad (Fig. 1.1 y 1.2) no revelan desviaciones problemáticas de normalidad.  Aún cuando el p-valor del test de normalidad revela que la distribución de los residuos es significativamente distinta de la distribución normal, podemos ver que en el plot cuantíl-cuantíl, ello se debe a que hay muchos residuos significativamente mayores a cero (son residuos atípicos).  Esto ocurre con frecuencia cuando tenemos tantos datos (2492 observaciones).  Lo que sí llama la atención son los patrones convexos (en forma de U) visibles en los diagramas de dispersión de los residuos versus las variables Fi y Ocl (Fig. 1.3.c y 1.3.d).  Esto revela que la relación entre estas variables y la tasa de interés (Ir) no es netamente lineal, lo cual ya habiamos advertido en el análisis exploratorio.  Tomando esta no linealidad en cuenta, incorporamos términos cuadráticos para estas variables, lo cual produce el modelo2:


Segundo modelo de regresión


modelo2 <- regresion.lineal(Ir~1+Ar+Fi+I(Fi^2)+Ld
           +Inq0+Ocl+I(Ocl^2))
graficar(modelo2)

Fig 2.1
Fig 2.2


Fig 2.3

En cuanto a la normalidad de los residuos, este segundo modelo es muy parecido al primero y valen las mismas observaciones que se hicieron anteriormente. Sin embargo, en las gráficas de dispersión de los residuos versus las variables independientes (Fig. 2.3) no se observa ningún problema de heterocedasticidad o no linealidad, por lo cual los residuos del segundo modelo tienen un "mejor" comportamiento que los del primer modelo. Ejecutando la instrucción resumen(modelo2) vemos la tabla de resumen:
--------------------------------------------------------
Resumen de regresion lineal

  MODELO         : modelo2
  Marco de datos : variables globales
  Formula        : Ir ~ 1 + Ar + Fi + I(Fi^2) + Ld
                        + Inq0 + Ocl + I(Ocl^2)

Estimacion de los coeficientes poblacionales

                Estimacion   Error Est. Estadistico T
[Intercepto]  3.553545e+00 1.275557e-01      27.85877
Ar            1.558942e-06 5.216556e-08      29.88451
Fi           -8.637778e-03 3.535800e-04     -24.42949
Fi^2          5.366278e-06 2.444955e-07      21.94837
Ld60          3.218830e-02 9.567038e-04      33.64500
Inq0TRUE     -1.043817e-02 7.277374e-04     -14.34332
Ocl          -4.370420e-03 2.763538e-04     -15.81458
Ocl^2         1.597878e-04 1.087364e-05      14.69497
                p-valor
[Intercepto] < 2.22e-16
Ar           < 2.22e-16
Fi           < 2.22e-16
Fi^2         < 2.22e-16
Ld60         < 2.22e-16
Inq0TRUE     < 2.22e-16
Ocl          < 2.22e-16
Ocl^2        < 2.22e-16

Prueba F global

  Valor F : 1568.202   gl. num: 7   gl. den : 2484
  p-valor : < 2.22e-16

Coeficientes de determinacion

   R^2 : 0.8154726   R^2 ajustado : 0.8149526

Residuos

  Minimo  : -0.09329256
  Mediana : -0.001115824
  Maximo  : 0.1044033

  Desv. estandar residual:  0.01798302
No solamente aumentó el coeficiente de determinación \(R^2\) de 76% a 81%, sino que la desviación estándar residual disminuyó de 0,0203 a 0,01798.  Esto último implica que los errores del modelo 2 son algo menores que los errores del modelo 1c, además de que las variables independientes del segundo modelo (con los términos cuadráticos de Fi y Ocl), explican un mayor porcentaje de la variabilidad de la tasa de interés que las del modelo 1c.

Hasta aquí deberíamos de estar bastante satisfechos con el modelo de regresión obtenido hasta ahora.  Podemos interpretar el significado de los coeficientes en el marco del problema original de la data del Lending Club.  Debido a que los coeficientes de del monto solicitado (Ar) y de la variable indicadora de prestamos de largo plazo (Ld60) son positivos, tenemos que la tasa de interés será mayor para prestamos de mayor monto requerido o mayor plazo.  El coeficiente de la variable indicadora Inq0TRUE es negativo, lo cual significa que aquellos prestamos para los cuales no se hicieron indagaciones (0 indagaciones) eventualmente tendrán una tasa de interés menor.  Las asociación entre la calificación FICO y la tasa de interés es algo más difícil de explicar, debido a la inclusión del término cuadrático.  De hecho, expresando la asociación de la tasa de interés con la puntuación FICO únicamente en términos de esta última, tenemos:

\[Ir \sim 3,55 - 0,00863\cdot Fi + 0,0000054\cdot Fi^2\]

Al graficar la curva de la fórmula anterior, tendríamos una parábola convexa en forma de U.  Esto quiere decir que para cierto rango de puntuación FICO, la tasa de interés desciende.  Alcanza un punto mínimo y luego comenzaría a ascender.  Si derivamos la función anterior respecto a la variable Fi e igualamos a cero, tenemos una tasa de interés mínima para una calificación FICO de aproximadamente 800 puntos, según este modelo.  Como la curva anterior es una parábola convexa, tendríamos que según este modelo, la tasa de interés comienza a ascender nuevamente para calificaciones FICO mayores de 800 puntos.  Claramente, esto no se corresponde del todo bien al tipo de asociación que esperaríamos entre ambas variables: un solicitante con una calificación FICO de 800 no debería obtener un crédito con menor tasa de interés que alguien con una calificación FICO de 850, porque este último tiene un mejor historial crediticio.  Sin embargo, no hay muchos prestamos con calificaciones FICO mayores a 800 puntos, y la rata de crecimiento en las tasas de intereses para estos casos no es tan significante.

Por último, vamos a hacer un experimento: construir un modelo de regresión igual al anterior pero sin un término de intercepto.  No es que esto sea una buena idea; de hecho, no lo es porque el termino del intercepto es muy significativo en el modelo 2 (p-valor casi nulo).  Sin embargo, se quiere discutir un punto importante referente a la interpretación del coeficiente de determinación:

modelo3 <- regresion.lineal(Ir~-1+Ar+Fi+I(Fi^2)+
           Ld+Inq0+Ocl+I(Ocl^2))
                      :
                      :
                      :
Coeficientes de determinacion

   R^2 : 0.9828925   R^2 ajustado : 0.9828374

Residuos

  Minimo  : -0.09329256
  Mediana : -0.001115824
  Maximo  : 0.1044033

  Desv. estandar residual:  0.01798302

Pudiesemos pensar que estamos frente a un mejor modelo, con un coeficiente de determinación de 98% bastante superior al coeficiente de determinación del modelo de regresión anterior de 81%.  Sin embargo, si comparamos ambos modelos en base al error (medido en términos de la desviación estándar de los residuales), ambos modelos son semejantes, con una desviación estándar residual de 0,01798.  Examinando este asunto más minuciosamente y teniendo en cuenta que el coeficiente de determinación indica el porcentaje de variabilidad de la tasa de interés (variable dependiente) debido a la variabilidad de las variables independientes, debemos concluir que este coeficiente de determinación de 98% no revela lo que realmente está ocurriendo.  Es exagerado porque cuando no hay término de intercepto, una mayor cantidad de variabilidad de la variable dependiente será adosada a las variables independientes que quedan, de ahí que \(R^2\) se "infla" en tal magnitud al eliminar el término de intercepto de un modelo.

Del experimento anterior intuimos que la decisión de no incluir el término de intercepto no debe ser tomada a la ligera, solamente tomando en cuenta la ganancia en el coeficiente de determinación.  El termino de intercepto nos indica el valor de la variable dependiente cuando todas las variables independientes son iguales a cero.  Sin un término de intercepto, la tasa de interés sería cero cuando todas las variables independientes son iguales a cero, lo cual es absurdo.  Es preferible por lo tanto siempre incluir un término de intercepto porque este permite una mayor flexibilidad en la modelización de una variable, sobre todo si no conocemos muy bien sobre el marco teórico de aquello que intentamos modelar.  No incluir un término de intercepto en el modelo podría sesgar los valores ajustados de la variable dependiente- en la mayoría de los casos ocurre así. 

No obstante, existen situaciones, sobre todo en el campo de la economía, en donde si tiene sentido omitir el término de intercepto en una regresión.  Por ejemplo, el módelo de producción de Cobb-Douglas plantea la siguiente relación entre la producción (Y), el capital (K) y la mano de obra (L): \(ln\,Y = \beta_1\,ln\,K\,+\,\beta_2\,ln\, L\).  Incluir un término constante en este modelo (el término de intercepto) implicaria una situación irreal en la que hay producción (distinta de cero) sin capital y sin mano de obra.



Conclusiones

Tras este ejercicio de regresión, una de las conclusiones más importantes es que la evaluación comparativa de dos modelos de regresión no se puede realizar exclusivamente en términos de cuál modelo tiene un coeficiente de determinación mayor.  Siempre, como he insistido en otras entradas de este blog, hay que revisar los residuos.  El análisis de residuos es el que revela si existen fallas estructurales en un modelo que en la mayoría de los casos, tienen el efecto de "inflar" el coeficiente de determinación, invalidándolo como una métrica única para evaluar modelos.  En este caso, fue a través del análisis de residuos que se detectó la necesidad de incluir algún término de asociación no lineal de dos variables independientes importantes en el modelo.  La desviación típica de los errores es otro de los parámetros a tener en cuenta para evaluar cuál de entre varios modelos predice los valores de la variable dependiente con menos error.  Otro factor que hay que vigilar es el de las variables de confusión.  La presencia de variables de confusión en un modelo puede afectar en formas no deseadas la estimación de los coeficientes del modelo.  Por último, la eliminación (omisión) del término de intercepto es algo que se debe hacer con cuidado y siempre cuando haya fundamentos teóricos de la situación bajo estudio que lo justifiquen.  En todo caso, eliminar el término del intercepto casi siempre hace que el coeficiente de determinación aumente, pero esto no debe tomarse como un indicativo que los modelos sin términos de intercepto sean mejores.

Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.

martes, 19 de marzo de 2013

Observaciones sobre el trabajo de estadística (regresión lineal) del semestre 2013-1

He visto que algunos tienen dudas respecto al trabajo de estadística para este semestre, en particular lo referente a la regresión lineal, que forma parte de los objetivos a evaluar para las asignaturas 745, 738 y 748.

Primero, debo aclarar, una vez más, lo siguiente:
NO ES OBLIGATORIO EL USO DE R PARA LA REALIZACIÓN DE ESTE TRABAJO.  POR RAZONES HARTO EXPLICADAS EN ESTA PÁGINA, YO RECOMIENDO EL USO DE R, PERO EL ESTUDIANTE PUEDE OPTAR POR USAR EXCEL, SAS, SPSS, MINITAB O CUALQUIER APLICACION ESTADÍSTICA (Excel es un programa de hoja de cálculo, no una aplicación para la estadística). LO QUE SE REQUIERE ES REALIZAR LAS ACTIVIDADES QUE SE PIDEN EN EL ENUNCIADO CORRECTAMENTE.
Al momento de elegir la aplicación con la cual trabajarán, deben preguntarse: ¿Qué es lo que se requiere que el estudiante realice correctamente?  Se copia la parte del enunciado detallando las actividades a realizar:

6.1. Obtener los siguientes modelos de regresión lineal múltiple,
        Modelo 1: Y = b0 + b1 X1 + b2 X2 + b3 X3 + b4 X4 + b6 X6 +b7 X7 + b8 X8 + b9 X9
        Modelo 2: Y = b1 X1 + b2 X2 + b3 X3 + b4 X4 + b6 X6 + b7 X7 + b8 X8 + b9 X9
6.2. Explicar cual de los modelos anteriores consideraría para realizar el estudio.
6.3. Estudiar la posibilidad de colinealidad o multicolinealidad en el modelo
        considerado en la pregunta anterior. Si existe, corregir este problema y obtener el
        nuevo modelo.
6.4. Partiendo del modelo obtenido en la pregunta 6.3, explicar todos los resultados
        arrojados por el programa (coeficientes y estadísticos).
6.5. Utilizar el procedimiento de regresión paso a paso (eliminación hacia atrás) para
        encontrar el modelo que mejor se ajusta. Interprete los coeficientes de este último
        modelo.
6.6. Considere una nueva variable,
        X11=(X3+X4)/2.
        Construir el siguiente modelo,
        Y = b1 X1 + b2 X2 + b7 X7 + b8 X8 + b9 X9 + b11 X11
        Realizar el procedimiento indicado en 6.5.
6.7. Explicar cual de los modelos obtenidos en 6.5 y 6.6 representa “mejor” la situación
         bajo estudio.
6.8. Realizar un análisis de residuos para los modelos obtenidos en los puntos 6.5
        y 6.6.
6.9. Explicar los fundamentos teóricos que justifican o no, todos los pasos seguidos
        desde el ítem 6.1. hasta el ítem 6.8.

Antes de elaborar el trabajo, asegúrese de manejar los fundamentos de la técnica de regresión lineal.  ¿Sabe usted qué es la regresión lineal y qué es un modelo de regresión lineal? ¿Sabe en qué consiste un análisis de residuos y cuál es la importancia de realizarlo? ¿Sabe en que consiste el procedimiento de regresión paso a paso (eliminación hacia atrás)? ¿Sabe cómo determinar la colinealidad entre dos variables? ¿Entre múltiples variables? ¿Sabe porqué es problemático  trabajar con variables predictoras que sean colineales entre sí? ¿Sabe cómo evaluar o comparar modelos y cómo esto va más allá de comparar sus coeficiente de determinación? ¿Sabe cómo interpretar un modelo de regresión lineal y determinar cuales variables predictoras son significativas? ¿Sabía que las variables categóricas no se pueden utilizar directamente como variables cuantitativas sin antes transformarlas en variables indicadoras?

He puesto a su alcance ciertos recursos que serán de utilidad.  En la parte inferior de la página http://unamatematicaseltigre.blogspot.com/p/estadistica-aplicada.html podrán ubicar la bibliografía más relevante.  Los capítulos 13 y 14 del Canavos tratan en detalle el tema de la regresión lineal, incluyendo información detallada sobre el problema de la multicolinealidad, las variables indicadoras y el análisis de residuos.  El Webster no es tan extenso, pero lo menciono porque es el texto principal de la asignatura.  Además de esto, he escrito una monografía sobre el análisis de residuos cuya lectura recomiendo.

Me he dedicado laboriosamente a poner a su alcance varias herramientas computacionales y guias tutoriales sobre su uso.   Consideren estos recursos cómo herramientas- su buen uso depende del criterio de ustedes y de lo que desean realizar.  Si optan por usar R y la librería estUNA que he creado para tal fin, estudien detenidamente los siguientes recursos:


Si optan por usar R con mi librería y presentan problemas con su descarga o uso, deben describir detalladamente el error que presentan.  Si sólo me indican que "no logran usar el R", o "me sale un error", sin indicar la secuencia de comandos que están intentando ejecutar, cuál es la salida del interprete y el aviso de error, cuál plataforma/sistema operativo o versión de R están usando, no les puedo ser de mucha ayuda.  Tampoco haré el trabajo por ustedes.


Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.

miércoles, 21 de noviembre de 2012

Aventura de Regresión Lineal y el método de eliminación hacia atrás paso a paso

En el semestre 2012-1, los trabajos de estadística se basaron en una data correspondiente a 150 observaciones de algunas variables relacionadas al tema de la nutrición infantil. Especificamente, la muestra de 150 niños con edades comprendida entre 5 y 13 años recopilaba información sobre las siguientes variables:
  • X1 Indice de masa corporal o IMC, calculado según la siguiente fórmula: IMC=peso/estatura^2.
  • X2 Edad en años.
  • X3 Edad ósea en años.
  • X4 Sexo.
  • X5 Peso en kilogramos.
  • X6 Estatura en metros.
  • X7 Indice de actividad física.
  • X8 Calorias consumidas por día en kcal.
  • X9 Nivel de colesterol en la sangre medido en mg/dl.
  • X10 Nivel de glicemia en la sangre medido en mg/dl..
Para evaluar los objetivos referentes a la regresión lineal múltiple de las asignaturas 746 y 738/748, se planteaban dos modelos lineales con todas las variables que se debían depurar mediante el método de eliminación paso a paso hasta obtener modelos con todas sus variables significativas. El primer modelo consideraba la variable X1 como variable independiente, según la siguiente fórmula: 

X 1 = b 0 + b 1 X 2 + b 2 X 4 + b 3 X 8 + b 4 X 9 + b 5 X 10 + ε

El enunciado pedía aplicar el procedimiento de eliminación de variables paso a paso (eliminación hacia atrás) para obtener el "mejor" modelo en cada caso. Seguidamente, había que realizar un análisis de residuos sobre el modelo final obtenido y por supuesto, justificar cada uno de los pasos. A continuación les ofrezco una breve relatoria sobre los resultados de esta experiencia.

Todo el análisis fué realizado en R (ver la salida del script al final de esta entrada). En R (cómo en SPSS y otros programas de estadística) existen librerías que incluyen funciones para realizar la eliminación hacia atrás o la inclusión hacia adelante de forma automatizada, obteniendo el modelo final mediante una sola llamada a la función. Yo no utilicé tales funciones porque requieren la instalación de paquetes que no vienen incluidos por defecto en la instalación base de R. Además, el uso de estos procedimientos automatizados requiere de mucha discresión. De hecho, los procedimientos como el de la eliminación paso a paso, que se basan en ir eliminando la variable con el menor estadístico F en la tabla ANOVA o el menor estadístico T en las pruebas parciales de los coeficientes son bastante controversiales, por las siguientes razones:
  1. Estos procedimientos se justifican cuando hay una grán cantidad de variables predictoras y no existe un cuerpo de teoría que le permita al investigador tener una idea a priori sobre cuales predictores incluir en el modelo. Este no es el caso aqui: son pocas variables predictoras y si el estudiante hizo la tarea investigando sobre el tema del sobre peso y el indice de masa corporal, debería tener una vaga idea sobre cuales variables inciden sobre el IMC o los niveles de colesterol en la sangre (X9).
  2. Hay mucha controversia entre los especialistas sobre los criterios de inclusión/exclusión de variables en estos algoritmos. Por ejemplo, los valores de los estadísticos F parciales (o los estadísticos t de cada coeficiente) pueden depender del orden de inclusión de las variables en el modelo, con el agravante de que cada secuencia de pruebas es condicionada por las secuencias previas y la resultante exclusión/inclusión. Por último, esto tiende a crear modelos demasiado pequeños (muy pocas variables).
Por mi parte no me gustan los procedimientos automáticos de ajuste de modelos- hay demasiados factores a considerar. Ejemplo de ello es el ajuste que vamos a realizar de los modelos que piden en el enunciado. Para el modelo 1, que inicialmente es X1 ~ X2 + X4 + X9 + X8 + X10 + intercepto. Se dieron los siguientes pasos:
  1. El R2 ajustado incialmente fué de 29,11%. Se eliminó la variable X10.
  2. Se eliminó la variable X8.
  3. Se eliminó la variable X9.
  4. Se eliminó la variable X4 (fíjese que el p-valor del estadístico t no es mucho mayor que 5%). De hecho, mi "intuición" me dice que esta variable no se debería eliminar. X4 es el sexo y si creo que es significativa sobre el IMC...
  5. Tenemos el modelo X1 ~ X2 + intercepto, con un R2 ajustado de apenas 27,47%.
  6. En este momento se hace el análisis de residuos del modelo final, observando que en la gráfica de residuos versus predictores, la gráfica de dispersión de X2 versus residuos (ver fig. 1) presenta una forma característica de U que indica que hay algúna relación no lineal entre esa variable y la variable X1. Por cierto, en mi librería estUNA, estas gráficas incluyen una línea de tendencia verde (estimador LOWESS de la tendencia en una gráfica de dispersión) para guiar al estudiante a apreciar este tipo de patrones. Esto no lo hace Excel.
  7. Guiado por otra "intuición" (¿vé porqué no me gustan los procedimientos automáticos?), me pregunto porqué diablos no hice un análisis de residuos con el modelo inicial (el que incluye todas las variables) desde el principio. Esto reveló que en efecto, sigue habiendo un indicativo de relación no lineal entre X2 y X1 que este modelo no capturó (con una grafica de residuos versus predictores muy similar a la gráfica de la fig. 1). No observó otras relaciones no lineales con otras variables (las deviaciones de horizontalidad de la línea verde en las otras gráficas se debe a la poca presencia de valores de las variables en el eje X o a valores atípicos con mucha influencia sobre la regresión). Es entonces cuando decido incluir un término cuardático para X2 a mi modelo. Al incluir X2^2, mi R2 ajustado sube a 33,72% y la variable X2^2 es significativa. Vamos bien.
  8. De golpe, se me aviene a la mente otra "intuición"- ¿porqué no volver a incluir la variable X4 (sexo)? Lo hago así y sube el R2 ajustado a 36,11%. La variable X4 también resulta significativa en este modelo (p-valor igual a 1%). Observe que aún cuando X4 no era significativa según la eliminación paso a paso, al incluir una nueva variable - X2^2 - sí resultó significativa! ¿Se dá cuenta porqué hay controversia sobre estos métodos de ajuste de modelos?
  9. Mi interpretación de este modelo es la siguiente: El IMC depende de la edad y el sexo. Durante la adolecencia, los varones suelen "estirarse" en estatura haciendo que el IMC baje, pero con la edad ganan peso y el IMC sube nuevamente. Este fenómeno se diferencia según el sexo- las hembras se estiran a una edad distinta. El efecto de "estirarse" durante la adolescencia explica porqué la relación entre X2 y el IMC es la de una parábola convexa (U hacia arriba). Sin embargo, creo que este modelo sólo sería efectivo para este rango de edades. Para edades mucho mayores que los 13 años, el modelo predice un IMC muy por encima de los esperados.
Fig. 1 - Análisis de residuos. Observe el patrón
de U en el diagrama de dispersión.

Para el modelo 2 se siguieron pasos similares a lo arriba expuesto, obteniendo que el mejor modelo para X9 (colesterol) es aquél que incluye un polinómio de grado dos con la variable X8 (calorias consumidas). Aún así, el R2 de este modelo es demasiado bajo como para ser útil.

Por cierto, en el modelo 1 por ejemplo, los residuos parecen conformarse a los supuestos teóricos de los modelos de regresión lineal: los residuos no tienen desviaciones importantes de normalidad (Fig. 2) y parecen ser heteroscedásticos e independientes entre si y las variables del modelo (Fig. 3).



Fig. 2 - Gráficas de ajuste de normalidad de los residuos
y plot cuantíl-cuantíl para verificar la normalidad.


Fig. 3 - Análisis de residuos final para el modelo 1.
Verificación de homocedasticidad e independencia
de los residuos y las variables de predicción.


La moraleja- hay que hacer el análisis de residuos desde el principio para detectar no-linealidades entre las variables o cualquier problema con los modelos (revise mi artículo titulado "Análisis de Residuos para Dummies"). Otra moraleja- dejese guiar por su intuición: la estadística tiene más de árte que de procedimientos mecánicos. La estadística es una ciencia oculta.

R version 2.14.2 (2012-02-29) Copyright (C) 2012 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: x86_64-pc-linux-gnu (64-bit) R es un software libre y viene sin GARANTIA ALGUNA. Usted puede redistribuirlo bajo ciertas circunstancias. Escriba 'license()' o 'licence()' para detalles de distribucion. R es un proyecto colaborativo con muchos contribuyentes. Escriba 'contributors()' para obtener más información y 'citation()' para saber cómo citar R o paquetes de R en publicaciones. Escriba 'demo()' para demostraciones, 'help()' para el sistema on-line de ayuda, o 'help.start()' para abrir el sistema de ayuda HTML con su navegador. Escriba 'q()' para salir de R.
> #----------------------------------------------------
> #script para el trabajo de la 746, lapso 2012-1
> #----------------------------------------------------
> #Carga la librería estUNA y ubica los datos de este
> #semestre
> load("estUNA")
> attach(d20121)
> #pdf("trabajo746.pdf")
> png("trabajo%02d.png")
> #Genera la variable X1
> X1 <- round(X5/X6^2,digits=2)
> #----------------------------------------------------
> #MODELO1
> #----------------------------------------------------
> modelo1 <- regresion.lineal(X1~X2+X4+X9+X8+X10)
> resumen(modelo1)
---------------------------------------------------------
Resumen de regresion lineal
  MODELO         : modelo1    Marco de datos : variables globales    Formula        : X1 ~ X2 + X4 + X9 + X8 + X10  Estimacion de los coeficientes poblacionales        Estimacion   Error Est.   Estadistico T    p-valor [Int]  9.9393823481 2.0222851574     4.9149262 2.3869e-06 X2     0.3609888788 0.0491676987     7.3419926 1.4257e-11 X41    0.4504463538 0.2315323235     1.9455009   0.053663 X9     0.0124392038 0.0080671047     1.5419663   0.125276 X8    -0.0003852448 0.0002983862    -1.2910948   0.198740 X10    0.0099836186 0.0135616497     0.7361655   0.462828 Prueba F global   Valor F : 13.24102   gl. num: 5   gl. den : 144    p-valor : 1.2941e-10  Coeficientes de determinacion    R^2 : 0.3149548   R^2 ajustado : 0.2911685  Residuos   Minimo  : -3.207713    Mediana : 0.004358484    Maximo  : 3.229979    Desv. estandar residual:  1.367149  --------------------------------------------------------- > #graficar(modelo1)
> modelo1 <- regresion.lineal(X1~X2+X4+X9+X8)
> resumen(modelo1)
--------------------------------------------------------- Resumen de regresion lineal   MODELO         : modelo1    Marco de datos : variables globales    Formula        : X1 ~ X2 + X4 + X9 + X8  Estimacion de los coeficientes poblacionales          Estimacion   Error Est. Estadistico T    p-valor [Int]  10.817027359 1.6309212992      6.632464 6.0987e-10 X2      0.353884004 0.0481349612      7.351912 1.3192e-11 X41     0.446365447 0.2311000578      1.931481   0.055374 X9      0.012749762 0.0080433321      1.585134   0.115114 X8     -0.000399444 0.0002972914     -1.343611   0.181173 Prueba F global   Valor F : 16.46782   gl. num: 4   gl. den : 145    p-valor : 3.8168e-11  Coeficientes de determinacion    R^2 : 0.3123767   R^2 ajustado : 0.2934078  Residuos   Minimo  : -3.313198    Mediana : -0.007141708    Maximo  : 3.304436    Desv. estandar residual:  1.364988  --------------------------------------------------------- > modelo1 <- regresion.lineal(X1~X2+X4+X9)
> resumen(modelo1)
--------------------------------------------------------- Resumen de regresion lineal   MODELO         : modelo1    Marco de datos : variables globales    Formula        : X1 ~ X2 + X4 + X9  Estimacion de los coeficientes poblacionales          Estimacion Error Est. Estadistico T    p-valor [Int]  10.726946123 1.63403053      6.564716 8.5259e-10 X2      0.359219626 0.04810299      7.467719 6.8329e-12 X41     0.457919817 0.23157602      1.977406   0.049879 X9      0.009890414 0.00777806      1.271579   0.205545 Prueba F global   Valor F : 21.23818   gl. num: 3   gl. den : 146    p-valor : 1.791e-11  Coeficientes de determinacion    R^2 : 0.3038156   R^2 ajustado : 0.2895104  Residuos   Minimo  : -3.4445    Mediana : 0.01699545    Maximo  : 3.436306    Desv. estandar residual:  1.368747  --------------------------------------------------------- > modelo1 <- regresion.lineal(X1~X2+X4)
> resumen(modelo1)
--------------------------------------------------------- Resumen de regresion lineal   MODELO         : modelo1    Marco de datos : variables globales    Formula        : X1 ~ X2 + X4  Estimacion de los coeficientes poblacionales        Estimacion Error Est. Estadistico T    p-valor [Int]  12.7293771 0.43701846     29.127779 < 2.22e-16 X2      0.3592637 0.04820381      7.453016 7.2307e-12 X41     0.4277187 0.23083769      1.852898   0.065902 Prueba F global   Valor F : 30.91906   gl. num: 2   gl. den : 147    p-valor : 6.1916e-12  Coeficientes de determinacion    R^2 : 0.2961055   R^2 ajustado : 0.2865287  Residuos   Minimo  : -3.231319    Mediana : 0.01775983    Maximo  : 3.431739    Desv. estandar residual:  1.371616  --------------------------------------------------------- > modelo1 <- regresion.lineal(X1~X2)
> resumen(modelo1)
--------------------------------------------------------- Resumen de regresion lineal   MODELO         : modelo1    Marco de datos : variables globales    Formula        : X1 ~ X2  Estimacion de los coeficientes poblacionales        Estimacion Error Est. Estadistico T    p-valor [Int]  12.8272191 0.43736813     29.328198 < 2.22e-16 X2      0.3670029 0.04841566      7.580251 3.4923e-12 Prueba F global   Valor F : 57.4602   gl. num: 1   gl. den : 148    p-valor : 3.4923e-12  Coeficientes de determinacion    R^2 : 0.2796658   R^2 ajustado : 0.2747987  Residuos   Minimo  : -2.966373    Mediana : -0.03913403    Maximo  : 3.668746    Desv. estandar residual:  1.382845  --------------------------------------------------------- > modelo1 <- regresion.lineal(X1~X2+I(X2^2))
> resumen(modelo1)
--------------------------------------------------------- Resumen de regresion lineal   MODELO         : modelo1    Marco de datos : variables globales    Formula        : X1 ~ X2 + I(X2^2)  Estimacion de los coeficientes poblacionales        Estimacion Error Est. Estadistico T    p-valor [Int]  19.1813771 1.69562250     11.312292 < 2.22e-16 X2     -1.1762778 0.40178676     -2.927617 0.00395964 X2^2    0.0871831 0.02254666      3.866785 0.00016511 Prueba F global   Valor F : 38.91451   gl. num: 2   gl. den : 147    p-valor : 2.7332e-14  Coeficientes de determinacion    R^2 : 0.3461698   R^2 ajustado : 0.3372742  Residuos   Minimo  : -2.509407    Mediana : -0.1023154    Maximo  : 3.559675    Desv. estandar residual:  1.321938  --------------------------------------------------------- > modelo1 <- regresion.lineal(X1~X2+I(X2^2)+X4)
> resumen(modelo1)
--------------------------------------------------------- Resumen de regresion lineal   MODELO         : modelo1    Marco de datos : variables globales    Formula        : X1 ~ X2 + I(X2^2) + X4  Estimacion de los coeficientes poblacionales        Estimacion Error Est. Estadistico T    p-valor [Int]  19.6459116 1.67480152     11.730292 < 2.22e-16 X2     -1.3305022 0.39911327     -3.333646  0.0010864 X2^2    0.0953210 0.02236676      4.261726  3.621e-05 X41     0.5620888 0.22070200      2.546822  0.0119065 Prueba F global   Valor F : 29.07335   gl. num: 3   gl. den : 146    p-valor : 8.4809e-15  Coeficientes de determinacion    R^2 : 0.3739818   R^2 ajustado : 0.3611184  Residuos   Minimo  : -2.814932    Mediana : -0.1555243    Maximo  : 3.214668    Desv. estandar residual:  1.29794  --------------------------------------------------------- > graficar(modelo1)
> #---------------------------------------------------- > #MODELO2 > #---------------------------------------------------- > modelo2 <- regresion.lineal(X9~X1+X2+X4+X8+X10)
> resumen(modelo2)
--------------------------------------------------------- Resumen de regresion lineal   MODELO         : modelo2    Marco de datos : variables globales    Formula        : X9 ~ X1 + X2 + X4 + X8 + X10  Estimacion de los coeficientes poblacionales          Estimacion   Error Est. Estadistico T    p-valor [Int]  161.97869371 17.864219175     9.0672137 8.1917e-16 X1       1.30581723  0.846851974     1.5419663 0.12527648 X2      -0.27761681  0.590117211    -0.4704435 0.63874995 X41     -3.06137905  2.389623457    -1.2811136 0.20221308 X8       0.01022012  0.002954539     3.4591235 0.00071311 X10      0.07344650  0.139076249     0.5281024 0.59824116 Prueba F global   Valor F : 3.103189   gl. num: 5   gl. den : 144    p-valor : 0.010855  Coeficientes de determinacion    R^2 : 0.09726893   R^2 ajustado : 0.06592411  Residuos   Minimo  : -36.61831    Mediana : -0.4628569    Maximo  : 37.4289    Desv. estandar residual:  14.0075  --------------------------------------------------------- > modelo2 <- regresion.lineal(X9~X1+X4+X8+X10)
> resumen(modelo2)
--------------------------------------------------------- Resumen de regresion lineal   MODELO         : modelo2    Marco de datos : variables globales    Formula        : X9 ~ X1 + X4 + X8 + X10  Estimacion de los coeficientes poblacionales          Estimacion  Error Est. Estadistico T    p-valor [Int]  161.67709284 17.80471072      9.080580 7.2407e-16 X1       1.09803148  0.72060593      1.523761 0.12974637 X41     -3.04447122  2.38292885     -1.277617 0.20342613 X8       0.01026969  0.00294472      3.487493 0.00064569 X10      0.08660736  0.13586725      0.637441 0.52484285 Prueba F global   Valor F : 3.844302   gl. num: 4   gl. den : 145    p-valor : 0.0053307  Coeficientes de determinacion    R^2 : 0.09588151   R^2 ajustado : 0.07094031  Residuos   Minimo  : -35.96905    Mediana : -0.4268156    Maximo  : 37.82659    Desv. estandar residual:  13.96984  --------------------------------------------------------- > modelo2 <- regresion.lineal(X9~X1+X4+X8)
> resumen(modelo2)
--------------------------------------------------------- Resumen de regresion lineal   MODELO         : modelo2    Marco de datos : variables globales    Formula        : X9 ~ X1 + X4 + X8  Estimacion de los coeficientes poblacionales          Estimacion   Error Est. Estadistico T    p-valor [Int]  169.56149016 12.780959448     13.266726 < 2.22e-16 X1       1.07744252  0.718416600      1.499746 0.13583948 X41     -3.09919146  2.376535563     -1.304080 0.19425870 X8       0.01019272  0.002936255      3.471333 0.00068139 Prueba F global   Valor F : 5.010667   gl. num: 3   gl. den : 146    p-valor : 0.0024586  Coeficientes de determinacion    R^2 : 0.09334791   R^2 ajustado : 0.07471807  Residuos   Minimo  : -35.83157    Mediana : -0.1794051    Maximo  : 39.26263    Desv. estandar residual:  13.94141  --------------------------------------------------------- > modelo2 <- regresion.lineal(X9~X1+X8)
> resumen(modelo2)
--------------------------------------------------------- Resumen de regresion lineal   MODELO         : modelo2    Marco de datos : variables globales    Formula        : X9 ~ X1 + X8  Estimacion de los coeficientes poblacionales          Estimacion   Error Est. Estadistico T    p-valor [Int]  170.56986487 12.787913387     13.338366 < 2.22e-16 X1       0.92115246  0.710035602      1.297333 0.19654904 X8       0.01038678  0.002939462      3.533565 0.00054835 Prueba F global   Valor F : 6.63407   gl. num: 2   gl. den : 147    p-valor : 0.001744  Coeficientes de determinacion    R^2 : 0.08278713   R^2 ajustado : 0.07030804  Residuos   Minimo  : -37.58161    Mediana : 0.4793699    Maximo  : 40.21525    Desv. estandar residual:  13.97459  --------------------------------------------------------- > modelo2 <- regresion.lineal(X9~X8+I(X8^2))
> resumen(modelo2)
--------------------------------------------------------- Resumen de regresion lineal   MODELO         : modelo2    Marco de datos : variables globales    Formula        : X9 ~ X8 + I(X8^2)  Estimacion de los coeficientes poblacionales           Estimacion   Error Est. Estadistico T    p-valor [Int]   1.522697e+02 1.647125e+01      9.244572 2.5171e-16 X8      5.414282e-02 2.091370e-02      2.588868   0.010596 X8^2   -1.359345e-05 6.368918e-06     -2.134342   0.034474 Prueba F global   Valor F : 8.182145   gl. num: 2   gl. den : 147    p-valor : 0.00042734  Coeficientes de determinacion    R^2 : 0.1001705   R^2 ajustado : 0.08792796  Residuos   Minimo  : -39.82377    Mediana : 0.7860429    Maximo  : 42.5595    Desv. estandar residual:  13.84153  --------------------------------------------------------- > 

Si te gustó o te pareció útil este contenido, compártelo en las redes sociales y dale tu voto positivo en el botón "me gusta" de G+, para que otros puedan encontrar el contenido también.