miércoles, 27 de marzo de 2013

The Lending Club - Parte II

Para comenzar a trabajar con este ejemplo


En la primera parte de esta serie de entradas, se expuso la información de contexto sobre el problema del Lending Club. En la siguiente parte, se hará el ejercicio de construcción de modelos de regresión lineal.

La data con la que se trabajará para este ejemplo está disponible para su descarga desde este enlace. Una vez descargado ese archivo, colóquelo en su directorio de trabajo de R, que usualmente será "Mis Documentos" en el caso de Windows. Para trabajar con este ejemplo, también debe tener la librería "estUNA" en su directorio de trabajo (consulte esta en si tiene dudas sobre cómo descargar estUNA y colocarla en su directorio de trabajo).


Sobre la data del problema del "Lending Club"

El archivo identificado arriba "lending_club.Rda" contiene un data frame identificado como loandata.  A continuación se detallan las variables contenidas en loandata como columnas.

Identificador de variable Descripción
Ar (Amount Requested) Monto solicitador por el prestatario para financiamiento.
Af (Amount Funded) Monto financiado.
Ir (Interest Rate) Tasa de Interés del financiamiento. Esta es la variable dependiente.
Ld (Loan Duration) Variable categórica correspondiente a la duración del préstamo (36 o 60 meses).
Lp (Loan Purpose) Variable categórica correspondiente al propósito del préstamo.
DtIR (Debt-to-income Ratio) Coeficiente de deuda sobre ingresos.
St (State) Código de dos letras correspondiente al estado de residencia del prestatario.
Ho (Home ownership) Tipo de propiedad sobre la casa: "NONE" es ninguna casa, "MORTGAGE" indica hipoteca sobre la casa, "OWN" indica que la casa es propia y "RENT" indica que la casa es alquilada.
I (Income) Ingreso mensual.
Fi (FICO) Puntuación FICO del solicitante.
Ocl (Open Credit Lines) Cantidad de líneas de crédito abiertas del solicitante.
Rcb (Rotating credit balance) Balance rotativo de credito.
Inq (Inquiries) Número de veces que algún comercio ha solicitado un reporte crediticio certificado.
Ed (Employment duration) Tiempo en el actual empleo.

En todo informe de análisis de datos, es importante indicar el tamaño de la muestra empleada en el estudio.  El data frame loandata consta de 2492 observaciones (o renglones) y 14 variables (o columnas).

Análisis exploratorio de los datos


Antes de emprender el planteamiento de los modelos de regresión para inferir cuales variables, en definitiva, inciden sobre la fijación de la tasa de interés de un préstamo, es conveniente realizar un análisis exploratorio de los datos. En un análisis exploratorio se utilizan técnicas de la estadística descriptiva para "descubrir" el comportamiento de las variables, su variabilidad inherente y la variabilidad conjunta entre las mismas.El análisis exploratorio nos debe conducir a plantear uno o varios modelos de regresión viables y a entender cómo o donde estos pueden fallar.

A continuación damos el script en R que realiza los distintos pasos del análisis exploratorio. Si va a experimentar con este script en su computadora, recuerde que debe tener el archivo de la librería estUNA y el archivo de data lending_club.Rda en su directorio de trabajo. Seguidamente iremos interpretando los resultados.

load("estUNA")
load("lending_club.Rda")
attach(loandata)
options(width=60)
png("exploratorio%02d.png")
#Imprime un resúmen del data frame
summary(loandata)
#Matriz de correlación entre las variables cuantitativas
cor(loandata[,c("Ar","Af","Fi","I","Ocl","Rcb","Inq","Ir")])
#La primera gráfica es un histograma de Ir
graficar(Ir)
#A continuación unas graficas de dispersión
#Grafica la tasa de intereses (eje Y) versus:
graficar.dispersion(Ar,Ir,cex=0.2,pch=19)
#Monto solicitado
graficar.dispersion(Af,Ir,cex=0.2,pch=19)
#Monto financiado
graficar.dispersion(Fi,Ir,cex=0.2,pch=19)
#Puntuación FICO
graficar.dispersion(I,Ir,cex=0.2,pch=19)
#Ingreso mensual
graficar.dispersion(Ocl,Ir,cex=0.2,pch=19)
#Lin. credito abiertas
graficar.dispersion(DtIR,Ir,cex=0.2,pch=19)
#Deuda/Ingresos
graficar.dispersion(Rcb,Ir,cex=0.2,pch=19)
#Balance crédito rotativo
graficar.dispersion(Inq,Ir,cex=0.2,pch=19)
#Cantidad de indagaciones
#Diagramas de caja comparativos
#Grafica la relación entre la tasa de interés
#y las siguientes variables categóricas:
caja(Ir,Ho)   #Propiedad de la vivienda
caja(Ir,Ed)   #Tiempo en el empleo actual
caja(Ir,Ld)   #Plazo de financiamiento (36 o 60 meses)
#Para las siguientes dos variables, la visualización
#más adecuada es una tabla.
#Estudia la variabilidad de las tasas de interés según:
#1) El propósito del prestamo (Lp)
lp_mat <- t(sapply(levels(Lp),
            function(s)
               c(sum(Lp==s), median(Ir[Lp==s]),
                 wilcox.test(Ir~Lp==s)\(\$\)p.value)
              )
            )
colnames(lp_mat) <- c("frec","mediana","p_valor")
lp_mat <- as.data.frame(lp_mat)
lp_mat <- lp_mat[order(lp_mat\(\$\)frec,decreasing=TRUE),]
lp_mat
#2) El estado de residencia del prestatario:
st_mat <- t(sapply(levels(St),
            function(s)
               c(sum(St==s), median(Ir[St==s]),
                 wilcox.test(Ir~St==s)\(\$\)p.value)
              )
            )
colnames(st_mat) <- c("frec","mediana","p_valor")
st_mat <- as.data.frame(st_mat)
st_mat <- st_mat[order(st_mat\(\$\)frec,decreasing=TRUE),]
st_mat
Como primer paso del análisis exploratorio, se genera un resumen con las principales estadísticas del data frame. Esto lo hace la instrucción summary(loandata), tras lo cual se imprime lo siguiente:
       Ar              Af              Ir          Ld      
 Min.   : 1000   Min.   :  200   Min.   :0.0542   36:1944  
 1st Qu.: 6000   1st Qu.: 6000   1st Qu.:0.1016   60: 548  
 Median :10000   Median :10000   Median :0.1311            
 Mean   :12431   Mean   :12038   Mean   :0.1308            
 3rd Qu.:17000   3rd Qu.:16000   3rd Qu.:0.1580            
 Max.   :35000   Max.   :35000   Max.   :0.2489            
                                                           
                  Lp            DtIR              St      
 debt_consolidation:1306   Min.   :0.0000   CA     : 432  
 credit_card       : 442   1st Qu.:0.0975   NY     : 253  
 other             : 197   Median :0.1533   TX     : 174  
 home_improvement  : 152   Mean   :0.1540   FL     : 169  
 major_purchase    : 101   3rd Qu.:0.2068   IL     : 101  
 small_business    :  87   Max.   :0.3491   GA     :  97  
 (Other)           : 207                    (Other):1266  
        Ho             I                  Fi       
 MORTGAGE:1146   Min.   :   588.5   Min.   :642.5  
 NONE    :   0   1st Qu.:  3500.0   1st Qu.:682.5  
 OTHER   :   5   Median :  5000.0   Median :702.5  
 OWN     : 200   Mean   :  5687.6   Mean   :708.4  
 RENT    :1141   3rd Qu.:  6800.0   3rd Qu.:727.5  
                 Max.   :102750.0   Max.   :832.5  
                                                   
      Ocl             Rcb              Inq        
 Min.   : 2.00   Min.   :     0   Min.   :0.0000  
 1st Qu.: 7.00   1st Qu.:  5612   1st Qu.:0.0000  
 Median : 9.00   Median : 10978   Median :0.0000  
 Mean   :10.07   Mean   : 15263   Mean   :0.9013  
 3rd Qu.:13.00   3rd Qu.: 18900   3rd Qu.:1.0000  
 Max.   :38.00   Max.   :270800   Max.   :9.0000  
                                                  
       Ed     
 10+    :653  
 < 1    :247  
 2      :244  
 3      :234  
 5      :201  
 4      :192  
 (Other):721

Para las variables cuantitativas, la instrucción summary(...) devuelve una tabla con las principales medidas de posición (mínimo, 1er cuartíl, mediana y media, 3er cuartíl, máximo). Para las variables categóricas (o variables tipo "factor", como se les conoce en R), summary(...) devuelve una tabla de frecuencias para algunos niveles de la variable (los más frecuentes). Estos resultados permiten apreciar rápidamente cuál rango de valores asume cada variable.  Por ejemplo, podemos observar que la distribución de la variable Ar, en términos de los estadísticos de posición más importantes, es bastante similar a la de la variable Af. Esto tiene bastante sentido, pues esperaríamos que el monto solicitado y el monto financiado sean muy parecidos, una vez aprobado el préstamo.  Nótese el uso de la instrucción attach(...) al principio del script para referirse fácilmente a las variables de loandata en lo sucesivo.

Otra tabla bastante útil en un análisis exploratorio es la tabla de las correlaciones entre las variables.  Esto por cierto sería muy útil para estudiar la colinealidad o multicolinealidad de las variables, según se exige para el trabajo de este semestre.  La instrucción cor(...) en R genera una matriz cuadrada de correlaciones entre todas las variables.  Como cada variable está perfectamente correlacionada consigo misma, los elementos de la diagonal son todos "1".  De hecho,  una correlación de "1" o "-1" indica una colinealidad perfecta entre dos variables.  Puede consultar más sobre esto en el artículo de wikipedia sobre correlación lineal.  La matriz de correlación sólo tiene sentido para variables cuantitativas del data frame, lo cual en este caso se determina por medio de la instrucción cor(loandata[,c("Ar","Af","Fi","I","Ocl","Rcb","Inq","Ir")]) :

              Ar          Af           Fi           I
Ar    1.00000000  0.97022602  0.083040383  0.39109060
Af    0.97022602  1.00000000  0.073791988  0.37468574
Fi    0.08304038  0.07379199  1.000000000  0.12355539
I     0.39109060  0.37468574  0.123555388  1.00000000
Ocl   0.19680145  0.18779714 -0.090039520  0.17180076
Rcb   0.29277055  0.26116166  0.003217914  0.35936379
Inq  -0.02721561 -0.06224654 -0.092828774  0.03398569
Ir    0.33141077  0.33627376 -0.709911785  0.01231114
DtIR  0.07985656  0.09177385 -0.217596139 -0.16376264
             Ocl         Rcb         Inq          Ir
Ar    0.19680145 0.292770550 -0.02721561  0.33141077
Af    0.18779714 0.261161657 -0.06224654  0.33627376
Fi   -0.09003952 0.003217914 -0.09282877 -0.70991178
I     0.17180076 0.359363787  0.03398569  0.01231114
Ocl   1.00000000 0.290582979  0.10790657  0.09109025
Rcb   0.29058298 1.000000000  0.01285580  0.06042262
Inq   0.10790657 0.012855801  1.00000000  0.16846322
Ir    0.09109025 0.060422621  0.16846322  1.00000000
DtIR  0.37172725 0.188286897  0.01126195  0.17143913
            DtIR
Ar    0.07985656
Af    0.09177385
Fi   -0.21759614
I    -0.16376264
Ocl   0.37172725
Rcb   0.18828690
Inq   0.01126195
Ir    0.17143913
DtIR  1.00000000

Por razones tipográficas de espacio, la matriz de correlación de arriba se dividió en tres segmentos: el primero con las primeras cuatro columnas de la matriz, el segundo en el renglón de abajo con las siguientes cuatro columnas de la matriz y la última columna de la matriz en el tercer renglón. Nótese que la correlación de cada variable consigo misma es "1". También se puede observar que las variables Ar y Af están muy correlacionadas (correlación mayor a 97%). Esto implica que incluir ambas variables en un mismo modelo de regresión lineal puede generar un problema de colinealidad o multicolinealidad (para más detalles, puede consultar la sección 14.4 del libro "Probabilidad y Estadística" de G. Canavos). Ya se había comentado anteriormente sobre la relación (semántica) entre ambas variables- en lo sucesivo consideraremos solamente a la variable Ar, porque el monto solicitado del financiamiento es la información previa necesaria para decidir el monto a financiar y la tasa de interés del crédito.  También podemos notar que la puntuación FICO (Fi) y la tasa de interés (Ir) tienen bastante correlación (-0.71).  Esto indica que la variable Fi es una buena candidata para incluirse en un modelo de regresión lineal con la tasa de interés como variable dependiente.  Además, el signo negativo de la correlación indica que el coeficiente de regresión para la variable Fi en el modelo lineal también debería ser negativo.

La puntuación FICO del solicitante está muy correlacionada con la tasa de interés del préstamo. Pero a su vez, como vimos en la primera parte de esta serie (The Lending Club - Parte I), muchas de las variables en este data frame son tomadas en cuenta para el cálculo de la calificación FICO. Entonces, por una parte esperaríamos cierta correlación entre esas variables y la calificación FICO. Si esas variables se incluyen en el modelo lineal, pudiésemos estar ante un problema de variables de confusión (confounder variables).  Las variables de confusión son aquellas que están correlacionadas con la variable dependiente y con alguna o algunas de las otras variables independientes del modelo. El problema que generan las variables de confusión es que a veces, sus efectos sobre la variable dependiente pueden ser exagerados. También puede ocurrir lo que se llama un efecto supresor. Puede consultar más sobre estos temas en este blog. Por nuestra parte, algunos de estos conceptos saldrán a relucir a medida que iremos ensayando distintos modelos de regresión lineal.

A continuación podemos observar algunas gráficas. La primera (Fig. 1) es un histograma de las tasas de interés:

Fig. 1 - Histograma de las tasas de interés
Esta variable tiene una distribución casi acampanada ... ¡Un momento! ¿Qué es ese segundo pico que se observa a la izquierda, en el intervalo [0,06 - 0,08)? Bueno, una variable así difícilmente sea normalmente distribuida, lo cual no es un problema en sí. Sin embargo, llama la atención que exista un grupo tan significativo de prestamos con tasas de interés en ese rango.  Quizás, alguna de las variables independientes pueda explicar ese comportamiento...

Seguimos con la parte más ilustrativa de nuestro análisis exploratorio, que son las gráficas de dispersión entre la tasa de interés y las otras variables cuantitativas (Fig. 2):


Fig. 2 - Gráficas de dispersión de las variables independientes cuantitativas respecto a la variable dependiente Ir.

(a) Ar / Ir
 (b) Fi / Ir
(c) I / Ir
(d) Ocl / Ir
(e) DtIR / Ir
(f) Rcb / Ir
(g) Inq/ Ir

Los diagramas de dispersión de la Figura 2 confirman que, entre todas las variables independientes, la calificación FICO (Fi) es la más fuertemente asociada a la tasa de interés (Ir). Esto era de esperarse, pero el diagrama de dispersión de la Figura 2.b. revela más detalles sobre esta asociación: la curva lowess (la línea verde oscura) tiene la misma pendiente hasta una puntuación FICO de 750 (aproximadamente, o a pepa de ojo). A partir de 750 puntos en la calificación FICO, la pendiente de la curva lowess se hace más horizontal.  Esto implica que a mayor puntuación FICO, menor tasa de interés del préstamo, pero a partir de 750 puntos FICO, la diferencia no es tan grande.  Dado la magnitud de la asociación entre estas dos variables, la recta lineal quizás no sea el tipo de asociación más idónea entre estas variables.

Otro patron marcado según la curva lowess se puede observar (ver Figura 2.a) en la asociación del monto solicitado para el financiamiento (Ar) y la tasa de interés (Ir), aunque esta asociación no es tan marcada como la asociación Fi-Ir, cuyos puntos en el diagrama de dispersión son menos dispersos respecto a la curva lowess. También se observa una relación creciente entre la cantidad de líneas de crédito abiertas y la tasa de interés (Figura 2.d).   Esta asociación podría no ser no-lineal, dado la convexidad de la curva lowess que se observa en la gráfica.

La variable DtIr (relación Deuda-Ingresos) también tiene una asociación creciente con la tasa de interés (ver Figura 2.e). Sin embargo, dada la baja correlación entre estas variables (de apenas 0.17 según la matriz de correlación de arriba) y el alto grado de dispersión de los puntos, es posible que esta variable no sea significativa en un modelo de regresión.  La Figura 2.g revela un patrón interesante: para 0 indagaciones (solicitudes de reportes de historial crediticio), las tasas de interés son más bajas.  Para 1 o más indagaciones, las tasas de interés no difieren significativamente.  Esto indica que posiblemente sea conveniente transformar la variable Inq a una variable indicadora según sea Inq=0 o no.

Las otras dos variables, ingresos mensuales (I) y balance rotativo de crédito (Rcb) contienen muchos datos atípicos hacia el extremo derecho para ser útiles.  Estos datos atípicos (en forma de ingresos mensuales astronomicamente altos por ejemplo) podrían afectar la regresión en formas no deseadas, por lo cual su inclusión en un modelo de regresión quizás no sea una buena idea.

Para explorar la asociación entre la tasa de interés y otras variables categóricas, lo más conveniente es usar diagramas de caja comparativos. Así se hizo para las variables Ho, Ed y Ld, como se muestra en la Figura 3:

(a) Ir ~ Ho
(b) Ir ~ Ed
(c) Ir ~ Ld

Las primeras dos gráficas de caja (Figuras 3.a y 3.b) no revelan asociaciones significativas entre la tasa de interés y las respectivas variables. En contraste, La Figura 3.c indica que si hay una relación significativa entre la tasa de interés y la duración del préstamo: los prestamos de 36 meses tienen tasas de interés signficativamente más bajas.

Para las otras dos variables cualitativas - el estado de residencia (St) y el propósito del préstamo (Lp) - no se hicieron diagramas de caja comparativos porque estas variables tienen demasiados niveles (46 estados y 14 propósitos de préstamo diferentes).  Para cada una de estas variables, se optó por generar tablas indicando la frecuencia de cada nivel, la tasa de interés mediana y el p-valor del contraste Wilcoxon de diferencia entre medianas (consultar el artículo en Wikipedia). La idea es verificar si para algún nivel determinado de estas variables, las tasas de interés difieren significativamente de aquellas asociadas a los otros niveles. Para la variable estado (St):

   frec mediana    p_valor
CA  432 0.13110 0.69246237
NY  253 0.13110 0.82515314
TX  174 0.13110 0.30747046
FL  169 0.13110 0.88525055
IL  101 0.12530 0.22145716
GA   97 0.12180 0.27619025
PA   96 0.13045 0.23581778
NJ   92 0.12120 0.38675613
VA   78 0.12550 0.78497883
MA   73 0.12120 0.38183801
OH   71 0.12230 0.10542538
MD   68 0.13790 0.62463807
NC   64 0.12405 0.34075690
CO   61 0.13110 0.92712927
WA   58 0.13110 0.89902872
CT   50 0.13140 0.29789052
AZ   46 0.13110 0.86390489
MI   45 0.14090 0.01538049
MN   38 0.13545 0.34930242
:     :     :        :
:     :     :        :
Esta tabla (dada aquí de forma parcial) enumera los 46 estados en orden descendente por frecuencia de observaciones. Podemos observar que para el estado MI (Michigan), la tasa de interés mediana es significativamente distinta de la de los otros estados (con un p-valor de 1% en el contraste de Wilcoxon). Esto implica que los prestamos de los solicitantes de ese estado tienen una tasa de interés más alta, por alguna razón. Sin embargo, como solo 45 de las 2492 observaciones son de ese estado, incluir la variable St en un modelo de regresión lineal solamente para ajustar mejor a un grupo que representa menos del 2% de las observaciones sería un despropósito. Seguidamente tenemos una tabla similar para el propósito del prestamo: 

                   frec mediana      p_valor
debt_consolidation 1306 0.13490 6.704956e-11
credit_card         442 0.13110 9.769974e-01
other               197 0.13060 6.911076e-01
home_improvement    152 0.11130 2.162582e-06
major_purchase      101 0.11120 2.559098e-08
small_business       87 0.12840 6.169896e-01
car                  50 0.10475 9.231269e-04
wedding              39 0.12210 2.223396e-01
medical              30 0.13110 8.066417e-02
moving               29 0.13110 6.110691e-01
vacation             21 0.12120 3.160609e-01
house                20 0.13085 8.177116e-01
educational          14 0.09755 4.628680e-02
renewable_energy      4 0.09130 1.336665e-01
Para esta variable, si se observa un subgrupo grande (con 1306 observaciones), cuya tasa de interés difiere significativamente de la de otros grupos (p-valor casi nulo).  Este grupo es el grupo de prestatarios que solicitaron un préstamo para consolidación de deudas (debt consolidation). Existen otros grupos con tasas de interés significativamente distintas, pero son muy pequeños en relación con el número total de observaciones. Por cierto, la tasa de interés mediana de los prestamos solicitados para consolidación de deudas (13,49%) es mayor a la tasa de interés mediana general (13,11%). De esto se deduce que sería conveniente incluir una variable indicadora en el modelo de regresión según sea el propósito del préstamo la consolidación de deudas o no.


Análisis exploratorio de datos - algunas conclusiones

Tras realizar el ejercicio anterior, podemos concluir sobre la importancia de explorar los datos antes de construir los modelos de regresión. Las observaciones realizadas tras este estudio exploratorio se pueden aunar al conocimiento o a las ideas previas que tenemos sobre la temática que estamos estudiando (en este caso, los prestamos personales en EEUU). Esto ayudará a plantear posibles hipótesis sobre las relaciones de las variables en forma de modelos de regresión lineal. Es importante destacar que un análisis exploratorio no es inferencial. Todo lo que observamos hasta este punto queda en forma de conjetura y no es generalizable a la población. Cuando, tras realizar el ajuste por mínimos cuadrados de un modelo de regresión lineal, tenemos los p-valores de la prueba F, los estadísticos T-Student de significatividad de los coeficientes poblacionales y cuando finalmente realicemos un análisis de residuos para validar el modelo, si tendremos los elementos estadísticos requeridos para un estudio inferencial. El análisis exploratorio sirve para guiar al análisis de regresión, el cual haremos en la tercera y última parte de estas entradas del blog...

Como citar esta entrada

Romero, J. (Marzo, 2013). The Lending Club - parte II. [Entrada de blog]. Recuperado desde https://unamatematicaseltigre.blogspot.com/2013/03/the-lending-club-parte-ii.html.


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, 26 de marzo de 2013

The Lending Club - parte I

El Lending Club es un portal de internet que reúne a inversionistas y prestatarios. Según la información en su portal (http://www.lendingclub.com), los inversionistas obtienen mayores márgenes de rentabilidad que los que obtendrían a través de otros instrumentos de inversión más tradicionales, mientras que los prestatarios, que pueden obtener créditos personales de hasta $35000, terminan pagando tasas de intereses un poco más bajas que las de la banca convencional. Para optar a un crédito, los prestatarios deben reunir ciertos requisitos: una puntuación crediticia mínima de 660 puntos FICO, un coeficiente de deuda a ingresos máximo de 35%, por lo menos dos líneas crediticias activas, entre otros. La información de cada solicitud de crédito se evalúa y se "publica" el préstamo en el portal a determinada tasa de interés fijo y a un plazo determinado para captar inversionistas. Y por supuesto, el Lending Club cobra una comisión en intereses por cada préstamo tramitado.

Es menester explicar algunos términos que se emplean en el contexto crediticio estadounidense, como por ejemplo la puntuación FICO. Básicamente, la puntuación FICO representa la calificación crediticia de un individuo. Es un número en el rango de 300 a 850, donde los valores más altos representan mejores historiales crediticios. La puntuación FICO influye de manera determinante sobre la decisión de otorgar o negar préstamos y sobre las tasas de interés de esos prestamos. Puede leer más sobre esto en ¿Qué es el puntaje de crédito FICO?. Otro factor que influye sobre el otorgamiento de créditos son los denominados inquiries o indagaciones, que son la cantidad de veces que algún comercio ha solicitado una copia certificada del reporte crediticio de un individuo que es emitido por alguna de las tres agencias que otorgan la calificación FICO en Estados Unidos. Por último, es preciso destacar que los créditos del Lending Club se otorgan sin garantía hipotecaria.

Desde la página web del Lending Club se puede descargar la data referente a miles de solicitudes de crédito que se han tramitado por este portal. Cada solicitud contiene data sobre el historial crediticio del solicitante, alguna data personal y financiera (como por ejemplo los ingresos mensuales, tiempo en el empleo actual, etc.), el monto solicitado y el propósito del préstamo y finalmente, la tasa de interés fija del crédito aprobado.

Supongamos ahora que Ud. está creando un portal similar al Lending Club y desea saber lo siguiente:

¿Cuales son los mecanismos que usa el Lending Club para fijar las tasas de interés de un crédito? ¿Cuales otros factores, aparte de la calificación FICO, influyen sobre este cálculo y cómo?

El problema anterior fue planteado como trabajo práctico para un curso on-line que acabo de culminar, llamado "Data Analysis", facilitado por el Profesor Jeff Leek de la Universidad John Hopkins-Bloomberg. Originalmente, para esta asignación había que aplicar un proceso preparatorio de la data (conocido como data munging) para poder tener una data con la cual se pueda trabajar. En la vida real, es necesario preparar los datos antes de poderlos procesar en R o cualquier aplicación estadística, pues los datos en su forma original (en una página web o un informe en pdf) muchas veces no están aptos para ser procesados estadísticamente. En esta oportunidad, yo les facilitaré los datos en una forma directamente utilizable en R (como un archivo con extensión .Rda), pues mi intención en esta serie de entradas sobre el problema del Lending Club es ilustrar cómo

  • Realizar un análisis exploratorio de datos para descubrir las posibles asociaciones entre las variables. Esto se hará en la segunda parte de esta entrada
  • Construir algunos modelos de regresión lineal, evaluarlos y compararlos entre sí.
  • Detectar algunos problemas que surgen en la regresión lineal: variables de confusión, multicolinealidad, asociaciones no lineales entre las variables, heteroscedasticidad de los residuos, entre otros. Estos dos últimos se abordarán en la tercera y última parte de esta serie de entradas.

Espero que esta serie de entradas les sea de utilidad a los cursantes de las asignaturas 746, 738 y 748, quienes deben realizar un trabajo práctico sobre regresión lineal. En las próximas entradas desarrollaré los puntos mencionados arriba. Utilizaré para ello el lenguaje R y como de costumbre, podrán ver las instrucciones en R utilizadas y la interpretación de los resultados que estas arrojan y de esta forma reproducir los análisis que se harán.


Como citar esta entrada

Romero, J. (Marzo, 2013). The Lending Club - parte I. [Entrada de blog]. Recuperado desde http://unamatematicaseltigre.blogspot.com/2013/03/the-lending-club-parte-i.html.


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.

jueves, 21 de marzo de 2013

Teoría de Conjuntos - Parte II

Habiendo definido los conceptos de membresía, igualdad entre conjuntos e inclusión, podemos definir algunas operaciones importantes entre conjuntos, como la unión y la intersección:

Definición – (Unión)
Sea \(A\) y \(B\) dos conjuntos.  La unión de \(A\) y \(B\) es el conjunto que contiene elementos de \(A\) o de \(B\):
\[ A \cup B = \{x \in \Omega | x\in A\quad o\quad x\in B\} \]
Definición – (Intersección)
Sea \(A\) y \(B\) dos conjuntos. La intersección de \(A\) y \(B\) es el conjunto que contiene elementos pertenecientes a \(A\) y a \(B\), simultáneamente:
\[ A \cap B = \{x\in \Omega| x\in A\quad y\quad x\in B\}\]
Es importante resaltar que la unión y la intersección de conjuntos son operaciones binarias: uno toma dos conjuntos, los une o los interfecta, y el resultado es un tercer conjunto. El concepto de operación binaria no debería serle extraño- la suma y la multiplicación que usted conoce desde la primaria son operaciones binarias. Como ocurre con la suma y la multiplicación, para las cuales sabemos que existen dos elementos especiales que son los elementos neutros respecto a estas dos operaciones (el 0 y el 1), la unión y la intersección tienen cada una su respectivo elemento neutro.En efecto, para cualquier subconjunto \(X\) del conjunto universal \(\Omega\), se tiene:

\[X \cap \Omega = X \qquad y \qquad X\cup\emptyset=X\]
Por otro lado, también se cumple que para cualquier conjunto \(X\) (subconjunto del conjunto universal):
\[X \cap \emptyset = \emptyset\qquad y \qquad X\cup\Omega =X \]
Existe otra operación binaria importante sobre conjuntos que es la diferencia:

Definición – (Diferencia)

Sea \(A\) y \(B\) dos conjuntos. La diferencia de \(A\) y \(B\) es el conjunto de aquellos elementos que pertenecen a \(A\) pero no pertenecen a \(B\):

\[A - B = \{x\in\Omega|x\in A\quad y\quad x\notin B\}\]

Cuando tomamos la diferencia de el conjunto universal \(\Omega\) respecto a un conjunto \(X\subset\Omega\) cualquiera, definimos una operación unaria (de un solo argumento) llamada complemento:

Definición - (Complemento)
Sea \(X\subset\Omega\) un subconjunto cualquiera del conjunto universal. El complemento de \(X\) se denota por \(\overline{X}\) y se define como:
\[\overline{X}=\Omega-X=\{x\in\Omega|x\notin\Omega\}\]
En palabras- el complemento de un conjunto es el conjunto de todos aquellos elementos que no pertenecen a él.

Otro concepto importante de la teoría de conjuntos es el concepto de función de conjunto. Una función de conjunto es una función cuyo argumento (variable de entrada) es un conjunto.  Las funciones de conjuntos generalmente asocian conjuntos con números reales. Por ejemplo, una función de conjunto importante es la función cardinalidad, que se denota por \(|\,\cdot\,|\). Cuando trabajamos con conjuntos finitos, la cardinalidad de un conjunto es simplemente la cantidad de elementos que contiene ese conjunto. Por ejemplo:

  • \(A=\{a,b,c\}\) y \(|A|=3\)
  • \(B=\{-1,0,1,-19,23\}\) y \(|B|=5\)
  • \(C=\{x\in\mathbb{R}|x^2+2x+1=0\}\) y \(|C|=1\)
  • \(D=\{x\in \text{mamíferos}| \text{x no tiene sangre}\}\) y \(|D|=0\)
Otra función de conjuntos importante es la función de probabilidad. De hecho, la teoría de la probabilidad define los eventos como subconjuntos del espacio muestral (este último equivale al conjunto universal). Para cualquier evento, su probabilidad asociada es un número real entre 0 y 1, es decir, en el intervalo [0,1].


Cómo trabajar con conjuntos en lenguaje R

La instalación base de R no define un tipo de datos (o clase de objetos) para los conjuntos. Sin embargo, existen funciones en R que realizan operaciones de unión, intersección, diferencia de conjuntos y verificación de membresía para vectores. Si desea experimentar con las herramientas que se dan a continuación, recuerde que puede usar R a través de un RWeb server (en una página web), como los que se dan en los enlaces a continuación:


Las funciones de conjunto en R son union, intersect, setdiff, setequal, is.element:
  • union(x,y) da como resultado un vector que representa la unión de dos conjuntos dados como vectores (x e y).
  • intersect(x,y) da como resultado un vector que representa la intersección de dos conjuntos dados como vectores (x e y).
  • setdiff(x,y) es la diferencia entre dos conjuntos, representada matemáticamente por \(X-Y\).
  • setequal(x,y) verifica si dos conjuntos (representados por los vectores x e y), son iguales.
  • is.element(x,y) es equivalente a x%in%y, y verifica si el elemento x pertenece al conjunto y.
A continuación damos unos ejemplos en código (que usted puede copiar y pegar en la consola o en la ventana de código del RWeb server), donde las variables A y B representarán conjuntos de personas:
A <- c("jose","isabela","jose","pedro",
       "juan","susana","maria")
B <- c("maria","miguel","ruth","pedro","gloria")
"pedro"%in%A
"ruth"%in%A
union(A,B)
intersect(A,B)
setdiff(B,A)
Después de ingresar el script anterior en la cónsola o en la ventana de código del RWeb server, observe los resultados de las últimas 4 instrucciones. "pedro"%in%A verifica si "pedro" pertenece al conjunto A. Como en efecto "pedro" pertenece al conjunto A, esta instrucción devuelve TRUE (verdadero). De manera análoga, "ruth"%in%A devuelve FALSE (falso), porque "ruth" no pertenece al conjunto A.

Observe que algunas de las representaciones vectoriales de los conjuntos A y B incluyen a un mismo elemento más de una vez en el conjunto respectivo.  Tal es el caso de "jose" en el vector que define al conjunto A (aparece dos veces).  Matemáticamente, figurar varias veces en un conjunto equivale a figurar en ese conjunto, pues un elemento cualquiera, o está o no está en un conjunto.  De alguna manera, el interprete R (o mejor dicho, la implementación de las funciones de conjunto en R) distinguen estas situaciones.  Así por ejemplo, cuando realizamos la operación de unión de los conjuntos A y B, esta devuelve lo siguiente:
[1] "jose"    "isabela" "pedro"   "juan"    "susana"
[6] "maria"   "miguel"  "ruth"    "gloria"
En el resultado anterior, puede observar que tras unir los conjuntos A y B, cada persona se denota una sola vez. La operación de intersección devuelve el conjunto conformado por todos aquellos elementos comunes a A y a B, de modo que el resultado de la instrucción intersect(A,B) es:
[1] "pedro" "maria"
De forma análoga, la diferencia \(B-A\), que es el conjunto de todos los elementos de B que no están en A, es el resultado de la instrucción setdiff(B,A):
[1] "miguel" "ruth"   "gloria"

Referencias Bibliográficas

  • LIPSCHUTZ, S. (1991). Teoría de Conjuntos y Temas Afínes. Serie Schaum. McGraw-Hill. Caracas.
  • MONAGAS, O., ORELLANA, M. y RIVAS, A. (1994). Algebra I – Tomo I. Caracas: Universidad Nacional Abierta.
  • PREPARATA, F. y YEH, R. (1973). Introduction to Discrete Structures. Reading, Massachussets: Addison-Wesley Publishing Co.
  • R Development Core Team (2008). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0.

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, 13 de marzo de 2013

Trabajos de estadística para el semestre 2013-1

Ya están disponibles los enunciados para los trabajos prácticos de estadística del semestre 2013-1, elaborados por Nivel Central.  Los enlaces se dan a continuación (según http://areamatematicas.galeon.com/):

Sobre las fechas de entrega, se ha escrito en los enunciados lo siguiente:

La evaluación del trabajo comprende dos entregas obligatorias:
  • 1era Entrega: primera versión del informe final entre el 15/04/2013 y el 20/04/2013, en esta oportunidad el trabajo será revisado por el asesor y el participante debe registrar las observaciones pertinentes a fin de realizar las correcciones, pues el trabajo lo retiene el asesor hasta la entrega final con el objeto de verificar que las correcciones fueron realizadas.
  • 2da Entrega: Versión final del trabajo entre el 20/05/2013 y el 25/05/2013
    improrrogable. De no respetar las dos entregas en los lapsos correspondientes queda a discreción del asesor considerar reprobado el trabajo.

Cómo de costumbre, las entregas se pueden hacer enviando a mi correo el informe en Open Office, PDF o Word (ojo, versión 2003, no enviar en versión 2007 o posterior).

Les recomiendo (aunque no es obligatorio) el uso de R para la elaboración de este trabajo.  La data para este semestre ya está incorporada en mi librería estUNA.

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.