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.