Riesgo de Crédito

Introducción

En la banca se han presentado crisis financieras, por lo que se ha visto necesario observar el comportamiento de pago de los deudores, para ello el Comité de Basilea ha planteado sistemas de clasificación con el fin de analizar el riesgo de crédito en carteras de créditos ya concedidos.

La manera de cómo el banco asigna categorías de riesgo a los deudores varía de un banco a otro. Profesionalmente, los bancos cuyas calificaciones se utilizan de manera principal con fines de suscripción es probable que apliquen sistemas “a través del ciclo” (through-the-cycle, TTC). Las calificaciones TTC tenderán a permanecer más o menos constantes a medida que las condiciones macroeconómicas cambien con el tiempo. Por otro lado, los bancos cuyas calificaciones se utilizan con fines de fijación de precios o para seguir el riesgo actual de la cartera son más propensos a aplicar sistemas de calificación “punto en el tiempo” (point-in-time, PIT). Las calificaciones PIT tienden a ajustarse rápidamente a un entorno económico cambiante.

En primer lugar, se estimará un modelo de elección binaria logit para posteriormente obtener la probabilidad de impago (PD) de una cartera de créditos concedidos de consumo, de la entidad financiera Produbanco, se dispone de 22965 individuos y alrededor de 25 variables explicativas en los periodos desde Enero del 2018 hasta Marzo del 2019, luego se crearán grupos homogéneos de riesgo para observar cambios o migraciones de los clientes en cada sistema de clasificación durante las crisis económicas.

Desde este punto de vista, se observarán las diferencias entre los sistemas de calificación PIT y TTC reflejadas en las PD específicas de los deudores que se utilizarán para asignarlos a las categorías de riesgo.

Finalmente, se mostrarán los resultados del estudio.

Objetivos

  • Preparar la base de datos para obtener mejores resultados, realizando limpieza, transformaciones, análisis descriptivo y selección de variables.

  • Evaluar los datos disponiendo de dos subconjuntos de datos, uno de ellos servirá para construir el modelo, y el otro para validarlo.

  • Construir el modelo de regresión logística.

  • Validar el modelo, evaluando (p-valor) y comparando las predicciones con las observaciones.

Filosofías de Clasificación de Riesgo

En el presente estudio se realizará una modelización del riesgo de crédito en una cartera de consumo, considerando los enfoques de clasificación:

  • PIT: Sistemas puntuales que tienden a centrarse en las condiciones actuales de un deudor para asignarlo a las categorías de riesgo y en general tienden a bajar durante las recesiones económicas y a subir durante las expansiones económicas.

  • TTC: Sistemas cíclicos que tienden a centrarse en el rendimiento probable de un deudor en el punto más bajo de un ciclo económico o durante condiciones económicas adversas, utiliza caracterísiticas estáticas y dinámicas, pero tiende a no ajustar las calificaciones en respuesta a los cambios en condiciones macroeconómicas.

Modelo Credit Scoring

Los Credit Scoring, según Hand and Henley (1997), son procedimientos estadísticos que se usan para clasificar a aquellos que solicitan crédito, inclusive a los que ya son clientes de la entidad crediticia. Estima el momento en el que se está llevando a cabo la solicitud, cuál será el comportamiento del crédito hasta su vencimiento atendiendo al riesgo del cliente. Además, se considera como un buen punto de partida para comenzar el análisis formal de las filosofías de clasificación.

En resumen, la estimación se realiza por medio de la discriminación de los nuevos clientes con el uso de datos sobre el cumplimiento de clientes antiguos, con el fin de determinar el comportamiento de pago de esos nuevos clientes.

Descripción de la base de datos

Informacion correspondiente a las Tarjetas de Credito

En el presente trabajo se analizará la base de datos llamada BaseProd.xlsx, la cual consta con alrededor de 25 variables y 22965 individuos, en la que consta un registro detallado del uso de tarjetas de crédito, como también costa de información particular de los propietarios. La periodicidad de los datos es diaria, considerada desde el 01-01-2018 hasta el 31-03-2019.

A continuación se muestra el diccionario de la misma:

Con el objetivo de tener una idea más clara sobre los datos, se muestran las 10 primeras observaciones de BaseProd.xlsx, sin ninguna modificación, información que será almacenada con el nombre BaseProd:

Información Macroeconómica

Además, se posee variables macroeconómicas adicionales (con periodicidad mensual y fechas correspondientes a la de la base inicial 01-01-2018 al 01-03-2019) a las 25 variables, antes mencionadas, información que servirá para tomar en cuenta la situación macroeconómica del país, la cual fue proporcionada en una hoja de cálculo adicional en el mismo documento donde consta la base de datos, BaseProd.xlsx. Y son las siguientes:

Se muestra la información de las variables que se van a adicionar, almacenada con el nombre BaseProdICC, de igual manera sin modificar, de las primeras 5 observaciones:

Primer acercamiento a los datos

Se observa el tipo de variables que se dispone en BaseProd, es decir, el cómo se encuentran almacenados inicialmente los datos en el software:

ANTIGUEDAD_TARJETA_ANIOS :  num [1:22965] 10 7 7 7 10 10 7 7 7 7 ...
CANTIDAD_TOTAL_AVANCES :  num [1:22965] 0 0 0 0 0 0 0 0 0 0 ...
CODIGO_ID :  num [1:22965] 1 2 3 4 5 6 7 8 9 10 ...
CUPO_PROMEDIO_TARJETA :  num [1:22965] 1400 3000 800 15600 4800 ...
EDAD :  num [1:22965] 27 37 46 40 29 39 44 34 35 42 ...
Fecha :  POSIXct[1:22965], format: "2018-01-29" "2018-01-25" "2018-01-21" "2018-01-17" "2018-01-08" ...
FORMA_PAGO :  chr [1:22965] "No" "No" "No" "No" "No" "No" "No" "No" "No" "No" "No" "No" ...
GENERO :  chr [1:22965] "FEM" "MAS" "MAS" "MAS" "MAS" "FEM" "MAS" "FEM" "FEM" "MAS" ...
INSTRUCCION :  chr [1:22965] "PRI" "UNI" "SEC" "UNI" "UNI" "UNI" "SEC" "UNI" "PRI" "UNI" ...
MARCA_CUENTA_AHORROS :  chr [1:22965] "No" "Si" "Si" "Si" "No" "No" "Si" "Si" "No" "No" "No" "No" ...
MARCA_CUENTA_CORRIENTE :  chr [1:22965] "No" "Si" "Si" "Si" "No" "No" "Si" "Si" "No" "No" "No" "No" ...
MarcaMora_Tarjeta :  num [1:22965] 0 0 0 0 0 0 0 0 0 0 ...
MAXIMO_NUM_DIAS_VENCIDO :  num [1:22965] 21 20 31 2 2 16 7 0 19 23 ...
NUM_TC_SIST_FIM :  num [1:22965] 1 0 4 2 2 3 1 0 4 5 ...
NUMERO_OPERACIONES_TITULAR :  num [1:22965] 5 2 3 7 2 2 2 2 6 7 ...
ORIGEN_APROBACION :  chr [1:22965] "Proactivo" "Demanda" "Demanda" "Proactivo" "Proactivo" ...
PROMEDIO_DIAS_SOBREGIRO_CC :  num [1:22965] 0 0 0 0 0 0 0 0 0 19 ...
PROMEDIO_MENSUAL_CONSUMOS_LOCALES :  num [1:22965] 242.3 0 0 404.6 42.3 ...
PROMEDIO_MENSUAL_SALDO_CUENTA_PASIVO :  num [1:22965] 0 1627 4066 8400 0 ...
RIESGO_CLIENTE_TOTAL_GFP :  num [1:22965] 1125.3 601.6 25.3 16228.7 173.7 ...
SALDO_TOTAL_TARJETA :  num [1:22965] 1108.5 601.6 25.3 12996.6 173.7 ...
SALDO_UTILIZ_PROM_CLIENTE :  num [1:22965] 1279.7 17 36.2 17592 574.3 ...
SEGMENTO_RIESGO :  chr [1:22965] "E" "A" "A" "B" "A" "A" "A" "A" "D" "A" "A" "A" "A" "D" "A" ...
SUCURSAL :  chr [1:22965] "QUITO" "QUITO" "QUITO" "AMBATO" "QUITO" "QUITO" "QUITO" ...
VALOR_DEPOSITO_A_PLAZO :  num [1:22965] 0 0 0 0 0 0 0 0 0 0 ...

Por otro lado, se observa el tipo de variables de BaseProdICC, es decir, de los indicadores macroeconómicos:

CRUDO_ORIENTE :  num [1:15] 62.9 59.3 59.8 63.1 66.5 ...
Fecha :  chr [1:15] "2018-1-01" "2018-2-01" "2018-3-01" "2018-4-01" "2018-5-01" ...
ICC :  num [1:15] 0.402 0.403 0.388 0.393 0.39 0.397 0.398 0.375 0.419 0.4 ...
IDEAC :  num [1:15] 162 147 160 160 163 ...
P_WTI :  num [1:15] 63.7 62.1 62.8 66.3 69.9 ...

Esta información se usará más adelante, pues dentro del software estadístico R, se necesita que:

  • Las Variables categóricas correspondan al tipo factor

Fusión de las bases

Como se desea incluir las variables macroecónomicas a la base BaseProd, a continuación se procede a su unión/fusión mediante la variable Fecha, pues está presente en ambas bases. Para ello, se nota que:

  • Fecha en BaseProd: Es de periodicidad diaria, su tipo de variable es POSIXct, y su formato es AAAA-MM-DD.

  • Fecha en BaseProdICC: Es de periodicidad mensual, su tipo de variable es chr, y su formato es AAAA-MM-01.

Así, se decidió cambiar los tipos de variables de la variable Fecha, en ambas bases, al tipo Date y cambiar los días de la BaseProd, DD por 01:

Una vez, modificado el tipo de variables e identificada la manera de fusión, será realizada a través de la función merge:

Entonces, la base anterior, denotada como Data_fusionada, será la base con la que se trabajará en adelante.

Modificación inicial del tipo de variables

Como se mencionó anteriormente, las variables categóricas, deberán tener un tipo factor para su correcto funcionamiento dentro del software.

A continuación se presenta, una lista con las variables que serán modificadas al momento de leer la base de datos, y los cambios que se realizarán:

Luego de esta modificación, nos hemos acercado más a tener una base de datos adecuada para el trabajo, dado que el objetivo es obtener un modelo de clasificación se retirarán las variables Código y Fecha pues no aportan información relevante.

Preparación de los Datos

Se procede a realizar un pre-procesamiento para aplicar los métodos o herramientas que constituirán al modelo deseado. Para este fin, se verificará que los datos posean las siguientes características:

  • Calidad suficiente: los datos no deben tener redundancias o presentar errores.

  • Datos necesarios: es posible que existan datos que no aporten en gran medida al modelo, la detección de los mismos y su tratamiento ayudará a conseguir un mejor resultado.

Limpieza de Datos

Datos Incompletos

Se realizará un análisis de datos faltantes. Para ello, se presenta gráficamente cuál es la proporción de datos que faltan por variable.

Se observa que no existen datos faltantes.

Sesgo de la muestra

Se trata de aquellos tipos de datos que, en conjunto, reflejan preferentemente un valor determinado o conjunto de valores o que proceden de un conjunto de objetos muy concreto. Se deberá verificar que la base de datos no se encuentre sesgada.

Es de nuestro interés, estudiar la cantidad de casos de Mora, a través de la variable MarcaMora_Tarjeta, donde:

  • \(0\) representa que una tarjeta No llegó a tener la marca de mora durante un período de tiempo \(t\).

  • \(1\) representa que una tarjeta Si llegó a tener la marca de mora durante un período de tiempo \(t\).


    0     1 
22100   865 

Resulta interesante que el \(96\%\) de las observaciones corresponden al caso No posee mora, y solo un \(4\%\) a la categoria Si posee mora, esto indica que existe un desbalanceo; es necesario considerar que esto tendrá importancia en el cálculo del coeficiente del intercepto dentro del modelo de regresión logística (esto sesga todas las probabilidades predichas, lo que a su vez compromete a las predicciones).

La cantidad de observaciones correspondientes a la categoría \(1\) podría dar lugar a que no existan suficientes datos para lograr obtener una predicción adecuada.

Transformación del tipo de datos

No siempre los datos se encuentran en la forma más adecuada para poder aplicar los métodos necesarios para la tarea que hay que llevar a cabo y conseguir el modelo que se requiere. En general, se tendrá que efectuar alguna transformación.

Se tratará de emplear, en su mayoría, como posibles predictores: variables categóricas; esto se debe a que los valores atípicos (outliers) complican la creación de estos modelos.

A continuación, se procede a categorizar algunas variables numéricas, así:

  • MAXIMO_NUM_DIAS_VENCIDO (Máximo número de dias vencidos de la tarjeta): Se empleará información obtenida de una base ficticia del Produbanco.
  • EDAD: Se hará uso de clasificaciones por edad estandarizadas por la OMS.
  • PROMEDIO_MENSUAL_SALDO_CUENTA_PASIVO: Por la naturelza de esta variable y por la observación de que dentro de ella existen valores negativos, considerando los mismos desde el punto de vista contable, se ha decidido usar las categorías: A favor y En contra correspondientes a cómo juegan los pasivos con respecto a las observaciones.
  • RIESGO_CLIENTE_TOTAL_GFP: Se han seleccionado categorías basadas en el salario mínimo ecuatoriano.

Es necesario notar que, a futuro, se podrá realizar alguna transformación extra manteniendo el objetivo de mejorar la interpretación y la robustez del modelo.

Análisis descriptivo

Ahora, se realizará un análisis descriptivo, tanto para las variables categóricas/cualitativas como para las cuantitativas, pues este tipo de metodología proporciona un resumen de información de los datos, que servirá para identificar sus principales características.

Se utilizará la función splitmix ya que permite dividir una matriz de datos mixtos en dos conjuntos de datos: uno con las variables cuantitativas y otro con las variables cualitativas.

Variables Cualitativas

Las variables consideradas cualitativas, presentes en la base de datos, son las siguientes:

 MarcaMora_Tarjeta ORIGEN_APROBACION FORMA_PAGO MAXIMO_NUM_DIAS_VENCIDO
 0:22100           Demanda  : 5080   No:17149   A-1    :9519           
 1:  865           Proactivo:17885   Si: 5816   B-1    :4530           
                                                A-2    :4274           
                                                A-3    :2069           
                                                B-2    :1749           
                                                C-1    : 787           
                                                (Other):  37           
 PROMEDIO_MENSUAL_SALDO_CUENTA_PASIVO MARCA_CUENTA_CORRIENTE
 A favor  : 8015                      No:10983              
 En contra:14950                      Si:11982              
                                                            
                                                            
                                                            
                                                            
                                                            
 MARCA_CUENTA_AHORROS RIESGO_CLIENTE_TOTAL_GFP VALOR_DEPOSITO_A_PLAZO
 No:10983             Bajo Riesgo : 5521       0:22034               
 Si:11982             Medio Riesgo:12973       1:  931               
                      Alto Riesgo : 4471                             
                                                                     
                                                                     
                                                                     
                                                                     
 SEGMENTO_RIESGO      SUCURSAL               EDAD       GENERO      INSTRUCCION
 A:20824         QUITO    :12482   Adulto Joven:10797   FEM: 9625   PRI: 4347  
 B: 1262         GUAYAQUIL: 6789   Adulto      :12168   MAS:13340   SEC:12863  
 C:  256         AMBATO   :  898                                    TEC:  455  
 D:  228         CUENCA   :  794                                    UNI: 5300  
 E:  395         IBARRA   :  493                                               
                 MANTA    :  474                                               
                 (Other)  : 1035                                               

De donde, se nota lo siguiente en las variables:

  • MarcaMora_Tarjeta: indica que el \(96\%\) de observaciones No tienen mora, mientras que el \(4\%\) de observaciones de cada una de las tarjetas Si llegó a tener mora durante un período de tiempo \(t\).

  • ORIGEN_APROBACION: indica que cerca del \(78\%\) de los canales de origen de la tarjeta han sido proactivos, mientras que el \(22\%\) han sido demandados.

  • FORMA_PAGO: indica que cerca del \(76\%\) de las observaciones presentan que la tarjeta No tiene débito automático para el pago, mientras que cerca del \(24\%\), Si.

  • MAXIMO_NUM_DIAS_VENCIDO: indica que cerca del \(4\%\) exceden a los 45 días del máximo número de días vencidos que tuvo la tarjeta.

  • PROMEDIO_MENSUAL_SALDO_CUENTA_PASIVO: indica que cerca del \(66\%\) de las observaciones juegan En contra a los individuos, mientras que el \(34\%\) juegan A favor.

  • MARCA_CUENTA_CORRIENTE: indica que cerca del \(52\%\) de las observaciones Si tienen una cuenta corriente activa, mientras que el \(48\%\), No.

  • MARCA_CUENTA_AHORROS: indica que cerca del \(52\%\) de las observaciones Si tienen una cuenta de ahorros activa, mientras que el \(48\%\), No.

  • RIESGO_CLIENTE_TOTAL_GFP: indica que cerca del \(56\%\) de observaciones son de Medio Riesgo, cerca del \(24\%\) son de Bajo Riesgo y cerca del \(20\%\) son de Alto Riesgo, pues tiene información del total de deudas que tiene el cliente incluyendo otros créditos o productos.

  • VALOR_DEPOSITO_A_PLAZO: indica que cerca del \(96\%\) de las observaciones No tiene pólizas de acumulación al corte, mientras que el \(4\%\), Si.

  • SUCURSAL: indica que cerca del \(54\%\) de las observaciones tienen su ciudad de origen en QUITO, cerca del \(30\&\) en GUAYAQUIL y cerca del \(16\%\) en otras provincias como: AMBATO, CUENCA, IBARRA, MANTA, entre otras.

  • EDAD: indica que cerca del \(54\%\) de las observaciones se consideran Adulto (mayor a los 35 años), mientras que cerca del \(46\%\) se consideran Adulto joven

  • INSTRUCCION: indica que cerca del \(56\%\) de los clientes tiene nivel de instrucción SEC (secundaria), cerca del \(23\%\) UNI (universitaria), cerca del \(19\%\) PRI (primaria) y cerca del \(2\%\) TEC (tecnología).

Es interesante observar que ocurre entre las variables MarcaMora_Tarjeta y GENERO:

gráficamente se ve que hay más presencia de Mora en los hombres que en las mujeres y se nota que, el porcentaje de hombres es del \(58\%\) mientras que el de las mujeres es del \(42\%\).

Por otro lado, también es interesante observar la variable SEGMENTO_RIESGO pues recordemos que es una calificación interna que tiene el cliente según el uso de los productos:

Se observa que existe una gran concentración de observaciones que pertenecen a la categoría A en la variable SEGMENTO_RIESGO y que no presentan mora, esto es aproximadamente el \(91\%\). El resto del porcentaje de esta variable se encuentran distribuidos en las categorías B, C, D y E entre las dos categorías de la variable MarcaMora_Tarjeta.

Variables Cuantitativas

Las variables consideradas cuantitativas, presentes en la base de datos, son las siguientes:

De donde, se nota lo siguiente, en las variables:

  • SALDO_TOTAL_TARJETA: en promedio se tiene un saldo total usado de 1542.4 dólares.

  • CUPO_PROMEDIO_TARJETA: en promedio se tiene una línea de crédito de 2814 dólares (últimos 2 años).

  • SALDO_UTILIZ_PROM_CLIENTE: en promedio el saldo usado por cliente es de 1311.2 dólares (últimos 6 meses).

  • CANTIDAD_TOTAL_AVANCES: el número máximo de avances por ventanilla es 79.

  • ANTIGUEDAD_TARJETA_ANIOS: el número máximo de años de antigüedad de las tarjetas es de 12 años.

  • PROMEDIO_MENSUAL_CONSUMOS_LOCALES: en promedio la facturación en establecimientos es de 198.39 dólares.

  • NUMERO_OPERACIONES_TITULAR: el número máximo de operaciones de crédito (excepto TC) que tiene el cliente vigente y cancelado es 13 (últimos 2 años).

  • PROMEDIO_DIAS_SOBREGIRO_CC: el número máximo de días de sobregiro que tuvo el cliente en su cuenta corriente es de 221 días (últimos 6 meses).

  • NUM_TC_SIST_FIM: el número máximo de tarjetas de crédito que el cliente tiene en el sitema financiero (sin incluir Produbanco) es 5.

  • ICC: (v. macroeconómica) en promedio el índice que evalúa el poder adquisitivo del consumidor promedio es de 0.3930 (01-2018 hasta 03-2019).

  • IDEAC: (v. macroeconómica) en promedio el índice de evolución económica coyuntural del país es de 161.7 (01-2018 hasta 03-2019).

  • CRUDO_ORIENTE: (v. macroeconómica) en promedio el precio del barril crudo del oriente ecuatoriano es de 61.72 dólares (01-2018 hasta 03-2019).

  • P_WTI: (v. macroeconómica) en promedio el precio del barril crudo generalizado es de 63.03 dólares (01-2018 hasta 03-2019).

Ahora, se analiza el coeficiente de correlación, ya que es una medida que permite conocer el grado de asociación lineal entre dos variables cuantitativas, mide la fuerza y el sentido de la relación lineal entre dichas variables.

se puede observar que existe una correlación positiva entre:

  • CRUDO_ORIENTE y P_WTI con 0.98

  • SALDO_UTILIZ_PROM_CLIENTE y SALDO_TOTAL_TARJETA con 0.73

  • SALDO_UTILIZ_PROM_CLIENTE y CUPO_PROMEDIO_TARJETA con 0.6

  • CANTIDAD_TOTAL_AVANCES y SALDO_TOTAL_TARJETA con 0.52

  • PROMEDIO_MENSUAL_CONSUMOS_LOCALES y CUPO_PROMEDIO_TARJETA con 0.4, entre otros.

Existe una correlación negativa entre:

  • IDEAC y ANTIGUEDAD_TARJETA_ANIOS con -0.44.

  • IDEAC y CRUDO_ORIENTE con -0.22, entre otros.

Se analiza las densidades de las variables, pues ayudará a determinar el comportamiento de las variable como la tendencia, la distribución o sesgos de los datos.

Se observa la asimetría de estas variables y es natural plantearse la existencia de valores atípicos (outliers).

  • Es claro que el máximo será considerado valor atípico (outlier).

Debido a la asimetría de las variables. Una alternativa visual es el uso de gráficos de probabilidad.

Se evidencia la existencia de valores atípicos (outliers).

Valores atípicos (Outliers).

Durante el análisis descriptivo, se evidenció la existencia de atípicos en los gráficos de probabilidad, se usarán algoritmos de vecinos más cercanos para el estudio de atípicos considerando todas las variables cuantitativas en nuestra base.

Vecinos más cercanos (KNN)

KNN (K-Nearest-Neighbor), en sus siglas en inglés, es un algoritmo basado en instancia de tipo supervisado de Machine Learning. Se lo utilizará pues el supuesto fundamental en el vecino más cercano es que las observaciones similares están próximas entre sí y los valores atípicos suelen ser observaciones solitarias, que se mantienen más alejadas del grupo de observaciones similares.

Cuando se trata de la detección de anomalías, adopta un enfoque no supervisado. Esto se debe a que no hay un “aprendizaje” real involucrado en el proceso y no hay un etiquetado predeterminado de “valor atípico” o “no atípico” en el conjunto de datos, sino que se basa completamente en valores de umbral.

Para ello, se utilizará la función get.knn, que son algoritmos rápidos de búsqueda de vecino más cercano \(k\) incluyendo un árbol-kd (kd-tree), árbol de cobertura (cover-tree) y el algoritmo implementado en el paquete de clases, siendo \(k\) el número máximo de vecinos más cercanos para buscar. Se tomamará \(k=5\) y el percentil \(0.975\) para declarar como cota y se obtendrá una lista de indices que superan la cota:

El total de datos atípicos en la base de datos es: 575

donde, se evidencian \(575\) valores atípicos.

De este modo, estos \(575\) datos deben ser separados del conjunto de datos para futuros análisis. Pero, antes de tomar la decisión de eliminarlos se realizará otro análisis mediante el algoritmo LOF.

Algoritmo LOF

El algoritmo Local Outlier Factor (LOF) es un método de detección de anomalías no supervisado que calcula la desviación de densidad local de un punto de datos dado con respecto a sus vecinos. Considera como valores atípicos las muestras que tienen una densidad sustancialmente más baja que sus vecinas.

Se utilizará la función lof que calcula la puntuación del factor de valor atípico local (LOF) para cada punto de datos utilizando un árbol kd (kd-tree), para acelerar la búsqueda de kNN, se tomará la cota de \(0.975\) para declarar atípicos a los datos que superen este límite:

El total de datos atípicos en la base de datos es: 575

donde, se observa que tenemos un total de \(575\) valores atípicos, que coincide con la búsqueda anterior.

Eliminacion de Datos Atipicos.

Por tanto, se procede a limpiar los datos, es decir, se eliminarán esas \(575\) observaciones puesto que corresponden únicamente al \(2.50\%\) del total:

Balanceo de los Datos.

Presentar desbalance en los datos, se refiere a una situación en la que el número de observaciones no es el mismo para todas las clases en un conjunto de datos usado para clasificación.

Anteriormente se mencionó que, cerca del \(96\%\) de los casos corresponden a observaciones sin Mora (0), por ello y por el análisis precedente, se trabajará adicionalmente con una data balanceada.

Se utilizará la función ovun.sample, pues, crea muestras posiblemente equilibradas mediante ejemplos de minorías de sobremuestreo aleatorio, ejemplos de mayoría de submuestreo o combinación de sobremuestreo y submuestreo.


    0     1 
0.526 0.474 

de donde, se ve que ambas clases están en casi igual proporción con una diferencia de 0.052.

Selección de Variables

La selección de variables es el proceso de seleccionar un subconjunto de características pertinentes (variables) para su uso en construcción de modelos. Entre las razones de utilizarlas, se tiene las siguientes: simplificación de modelos, reducción de varianza y tiempo de entrenamiento más corto.

La selección del método permite especificar cómo se introducen las variables independientes en el análisis. Utilizando distintos métodos se pueden construir diversos modelos de regresión a partir del mismo conjunto de variables.

Sin variables numéricas

Para un primer análisis no se ha considerado las variables numéricas: - SALDO_TOTAL_TARJETA - CUPO_PROMEDIO_TARJETA - PROMEDIO_MENSUAL_CONSUMOS_LOCALES - SALDO_UTILIZ_PROM_CLIENTE

pero en un siguiente análisis serán tomadas en cuenta.

Datos sin Balancear

Datos Balanceados

Con variables numéricas

Las variables numéricas que no se consideraron con anterioridad, se tomarán en cuenta en este apartado, ya que se realizará un ACP.

La primera componente principal exlica el \(60\%\) de la varianza explicada y con las dos primeras tenemos el \(82\%\) explicada, esto es más que suficiente.

En adelante, se hará uso de las 2 primeras componentes principales en lugar de las 4 variables antes mencionadas.

Datos sin Balancear

Datos Balanceados

Balanceo de los Datos


    0     1 
0.526 0.474 

Seleccion de Variables

Particionamiento.

Consiste en disponer de dos subconjuntos de datos procedentes del conjunto inicial (y ya tratado): un subconjunto de datos que se utiliza para construir el modelo y otro para validarlo.

Se utiliza la función sample.split que divide los datos del vector en dos conjuntos en una proporción predefinida mientras conserva las proporciones relativas de diferentes etiquetas en el vector. Sirve para dividir los datos utilizados durante la clasificación en subconjuntos de entrenamiendo y prueba.

Sin Numericas

Data sin Balancear


    0     1 
16862   663 

En esta tabla se observa que la data para el entrenamiento del modelo hereda la misma proporción de casos que se presentó en la data original.

Data Balanceada


  0   1 
618 556 

En esta tabla se observa que la data para el entrenamiento del modelo hereda la misma proporción de casos que en la data original, pero balanceada. Es importante balancear para disponer una cantidad significativa de observaciones entre categorías.

Modelo 1

Datos sin balancear usando las variables categóricas encontradas en el apartado de selección de variables.

Generación del Modelo

[[1]]
                              Estimate Std. Error    z value     Pr(>|z|)
(Intercept)                -2.53773974 2.33313753  -1.087694 2.767302e-01
SEGMENTO_RIESGOB            1.57841566 0.10631396  14.846740 7.303501e-50
SEGMENTO_RIESGOC            1.87183043 0.19954753   9.380374 6.573936e-21
SEGMENTO_RIESGOD            2.06312400 0.19880146  10.377811 3.128661e-25
SEGMENTO_RIESGOE            1.82470365 0.17777211  10.264285 1.020741e-24
ANTIGUEDAD_TARJETA_ANIOS   -0.26029152 0.02309434 -11.270795 1.829112e-29
IDEAC                       0.01116178 0.00671273   1.662778 9.635693e-02
CRUDO_ORIENTE               0.14460744 0.03623524   3.990795 6.585205e-05
P_WTI                      -0.15442639 0.03406177  -4.533715 5.795514e-06
CANTIDAD_TOTAL_AVANCES      0.03185497 0.01167955   2.727414 6.383286e-03
ICC                        -4.63664689 4.35480777  -1.064719 2.870031e-01
MAXIMO_NUM_DIAS_VENCIDOA-2  0.48324885 0.16794927   2.877350 4.010303e-03
MAXIMO_NUM_DIAS_VENCIDOA-3  0.74239910 0.19153143   3.876122 1.061347e-04
MAXIMO_NUM_DIAS_VENCIDOB-1  0.99302224 0.14918068   6.656507 2.804119e-11
MAXIMO_NUM_DIAS_VENCIDOB-2  1.19094757 0.16783345   7.096008 1.284118e-12
MAXIMO_NUM_DIAS_VENCIDOC-1  1.28875845 0.20043320   6.429865 1.277171e-10
MAXIMO_NUM_DIAS_VENCIDOC-2  1.25004579 0.64576457   1.935761 5.289700e-02

[[2]]
[1] 0.14

El modelo explica un \(14\%\) de la varianza.

Modelo 2

Datos balanceados, usando las variables categóricas seleccionadas en el apartado de selección de variables.

Generación del Modelo

[[1]]
                               Estimate   Std. Error     z value     Pr(>|z|)
(Intercept)                  0.81437833   3.74473223  0.21747305 8.278397e-01
SEGMENTO_RIESGOB             1.41185328   0.21886127  6.45090511 1.111841e-10
SEGMENTO_RIESGOC             1.59529943   0.48313266  3.30199042 9.600135e-04
SEGMENTO_RIESGOD             1.89558034   0.49000192  3.86851611 1.094997e-04
SEGMENTO_RIESGOE             2.07798642   0.47438114  4.38041534 1.184533e-05
ANTIGUEDAD_TARJETA_ANIOS    -0.27291308   0.03224419 -8.46394682 2.584777e-17
IDEAC                        0.02021572   0.01135139  1.78090219 7.492843e-02
CRUDO_ORIENTE                0.17967006   0.06151615  2.92069753 3.492487e-03
P_WTI                       -0.16810866   0.05599842 -3.00202514 2.681900e-03
CANTIDAD_TOTAL_AVANCES       0.06015173   0.02160460  2.78420935 5.365839e-03
ICC                        -10.19893751   6.97294985 -1.46264318 1.435650e-01
SUCURSALCUENCA              -0.87717195   0.55706693 -1.57462580 1.153428e-01
SUCURSALESMERALDAS           0.99488145   0.89710526  1.10899077 2.674342e-01
SUCURSALGUAYAQUIL           -0.59446053   0.40342624 -1.47352964 1.406083e-01
SUCURSALIBARRA              -0.84882314   0.69346187 -1.22403722 2.209382e-01
SUCURSALLATACUNGA           -2.35899317   0.93816802 -2.51446770 1.192122e-02
SUCURSALLOJA                -1.55136323   1.10985440 -1.39780788 1.621708e-01
SUCURSALMANTA               -0.53774448   0.58183254 -0.92422551 3.553689e-01
SUCURSALQUEVEDO              0.28593539   0.89356558  0.31999374 7.489731e-01
SUCURSALQUITO               -1.09604519   0.39791306 -2.75448407 5.878475e-03
SUCURSALRIOBAMBA            -0.97475629   0.80890965 -1.20502493 2.281937e-01
SUCURSALSANTO DOMINGO       -1.74821087   0.70811299 -2.46883038 1.355555e-02
MAXIMO_NUM_DIAS_VENCIDOA-2   0.68315914   0.25174147  2.71373306 6.652975e-03
MAXIMO_NUM_DIAS_VENCIDOA-3   0.73172715   0.30672555  2.38560877 1.705088e-02
MAXIMO_NUM_DIAS_VENCIDOB-1   1.21981321   0.22764423  5.35841929 8.395322e-08
 [ reached getOption("max.print") -- omitted 3 rows ]

[[2]]
[1] 0.23

El modelo explica un \(23\%\) de la variabilidad.

Modelo 3

Datos sin balancear usando las variables categóricas y componentes principales encontradas en el apartado de selección de variables.

Generación del Modelo

[[1]]
                               Estimate  Std. Error    z value     Pr(>|z|)
(Intercept)                -2.005087124 2.334718143 -0.8588134 3.904435e-01
SEGMENTO_RIESGOB            1.537014993 0.108665236 14.1444960 2.019583e-45
SEGMENTO_RIESGOC            1.767594321 0.203281194  8.6953165 3.458643e-18
SEGMENTO_RIESGOD            2.080310546 0.192678025 10.7968231 3.563198e-27
SEGMENTO_RIESGOE            1.814534031 0.176208851 10.2976327 7.221657e-25
ANTIGUEDAD_TARJETA_ANIOS   -0.234186755 0.023677872 -9.8905324 4.575878e-23
Dim.2                      -0.768604312 0.141281525 -5.4402323 5.321115e-08
IDEAC                       0.005079943 0.006680198  0.7604480 4.469868e-01
CRUDO_ORIENTE               0.095728897 0.036686680  2.6093638 9.071074e-03
P_WTI                      -0.098789831 0.034562564 -2.8582900 4.259309e-03
CANTIDAD_TOTAL_AVANCES      0.026630482 0.011760255  2.2644477 2.354660e-02
ICC                        -5.054836534 4.363098705 -1.1585428 2.466426e-01
MAXIMO_NUM_DIAS_VENCIDOA-2  0.437535049 0.161910177  2.7023320 6.885497e-03
MAXIMO_NUM_DIAS_VENCIDOA-3  0.486917422 0.196023664  2.4839727 1.299258e-02
MAXIMO_NUM_DIAS_VENCIDOB-1  0.874090769 0.145554386  6.0052520 1.910350e-09
MAXIMO_NUM_DIAS_VENCIDOB-2  0.978542503 0.166853635  5.8646760 4.500106e-09
MAXIMO_NUM_DIAS_VENCIDOC-1  1.180437527 0.194809146  6.0594564 1.365823e-09
MAXIMO_NUM_DIAS_VENCIDOC-2  1.119380593 0.651094131  1.7192300 8.557249e-02
Dim.1                      -0.183097010 0.063885795 -2.8660050 4.156876e-03

[[2]]
[1] 0.14

El modelo explica un \(14\%\) de la varianza.

Modelo 4

Datos balanceados, usando las variables categóricas y numericas seleccionadas en el apartado de selección de variables.

Generación del Modelo

[[1]]
                               Estimate   Std. Error     z value     Pr(>|z|)
(Intercept)                  1.06242403   3.78828785  0.28044966 7.791325e-01
SEGMENTO_RIESGOB             1.53671387   0.22696814  6.77061489 1.282362e-11
SEGMENTO_RIESGOC             1.29695831   0.47002885  2.75931636 5.792243e-03
SEGMENTO_RIESGOD             2.05259085   0.48037810  4.27286518 1.929771e-05
SEGMENTO_RIESGOE             2.17883002   0.48310622  4.51004338 6.481437e-06
ANTIGUEDAD_TARJETA_ANIOS    -0.19546581   0.03344130 -5.84504187 5.064409e-09
Dim.2                       -1.43259053   0.26222585 -5.46319343 4.676446e-08
IDEAC                        0.01693274   0.01122330  1.50871346 1.313720e-01
CRUDO_ORIENTE                0.20170003   0.06165359  3.27150501 1.069767e-03
P_WTI                       -0.17826383   0.05613497 -3.17562888 1.495121e-03
CANTIDAD_TOTAL_AVANCES       0.05597227   0.02204504  2.53899567 1.111712e-02
ICC                        -12.69306449   7.13346969 -1.77936755 7.517952e-02
SUCURSALCUENCA              -0.97537132   0.54426169 -1.79209991 7.311696e-02
SUCURSALESMERALDAS           0.40869460   0.79802661  0.51213154 6.085590e-01
SUCURSALGUAYAQUIL           -0.58292910   0.39985195 -1.45786236 1.448785e-01
SUCURSALIBARRA              -1.71735647   0.69453287 -2.47267847 1.341047e-02
SUCURSALLATACUNGA           -1.94424680   0.79826747 -2.43558314 1.486781e-02
SUCURSALLOJA                -1.31001740   1.08669283 -1.20550846 2.280071e-01
SUCURSALMACHALA             11.44703641 324.74400740  0.03524942 9.718809e-01
SUCURSALMANTA               -0.53792054   0.58101884 -0.92582289 3.545380e-01
SUCURSALQUEVEDO              0.40775762   1.08444925  0.37600433 7.069137e-01
SUCURSALQUITO               -1.04368330   0.39438814 -2.64633540 8.136909e-03
SUCURSALRIOBAMBA            -0.59737555   0.83082888 -0.71901154 4.721338e-01
SUCURSALSANTO DOMINGO       -1.39276264   0.73809450 -1.88697061 5.916428e-02
Dim.1                       -0.47571488   0.11611076 -4.09707823 4.183975e-05
 [ reached getOption("max.print") -- omitted 6 rows ]

[[2]]
[1] 0.24

El modelo explica un \(25\%\) de la variabilidad.

Validación

Indice GINI

El índice GINI del modelo es 0.6233529

Cuadro

Usando el valor de la curva roc

             predicciones
observaciones   0   1
            0 476 155
            1 179 390

Conclusiones.

  • Se observó que la preparación de los datos es muy importante de realizar antes de utilizar cualquier herramienta de modelado, pues de este modo se obtendrán mejores resultados.

  • No se puede confiar en el diagrama de cajas cuando se tienen comportamientos asimétricos en variables numéricas, esta asimetría implica una gran dispersión en los datos lo que erróneamente podría inferirse como que existen una inmensa cantidad de datos atípicos. Es necesario ocupar alternativas para identificar los atípicos, por ejemplo una alternativa visual son los diagramas de probabilidad.

  • El balance de los datos no es un requerimiento para los modelos de regresión logística, el tener una base de datos con un desbalance muy pronuniciado como el que se tiene en el base de datos original causa problemas al momento de clasificar pues se obtiene un sesgo en las predicciones del modelo, por lo que se decidió tomar una muestra balanceada de los datos lo que mejora significativamente las predicciones del modelo.

  • Para realizar la validación del modelo se analizaron los coeficientes KS, AIC, GINI y AUC, de donde se concluye que el modelo 4 es el que presenta un mejor comportamiento.

Bibliografía

  • Ramon Sangüesa i Solé (s.a), El proceso de descubrimiento de conocimiento a partir de datos. Objetivos, fases y problemática, Universitat Oberta de Catalunya, España.
  • Joaquín Amat Rodrigo (2016), Regresión logística simple y múltiple, available under a Attribution 4.0 International (CC BY 4.0) at. Recuperado del link.
  • Al-Aradi (2014), Credit Scoring via Logistic Regression, Departamente de Ciencias Estadísticas, Universidad de Toronto, Canadá, Recuperado del link