Calificación crediticia con aprendizaje automático

El puntaje de crédito es una expresión numérica que mide la solvencia de las personas. La banca generalmente lo utiliza como un método para apoyar la toma de decisiones sobre las solicitudes de crédito. En este blog, hablaré sobre cómo desarrollar un cuadro de mando estándar con Python (Pandas, Sklearn), que es la forma más popular y más simple de calificación crediticia, para medir la solvencia de los clientes.

Proyecto de motivación

Hoy en día, la solvencia es muy importante para todos, ya que se considera como un indicador de cuán confiable es un individuo. En diversas situaciones, los proveedores de servicios deben evaluar primero el historial de crédito de los clientes y luego decidir si proporcionarán el servicio o no. Sin embargo, lleva mucho tiempo verificar todas las carteras personales y generar un informe de crédito manualmente. Por lo tanto, el puntaje de crédito se desarrolla y aplica para este propósito porque ahorra tiempo y es fácilmente comprensible.

El proceso de generar el puntaje de crédito se llama puntaje de crédito. Se aplica ampliamente en muchas industrias, especialmente en la banca. Los bancos generalmente lo usan para determinar quién debe obtener crédito, cuánto crédito deben recibir y qué estrategia operativa se puede tomar para reducir el riesgo crediticio. En general, contiene dos partes principales:

  • Construyendo el modelo estadístico
  • Aplicar un modelo estadístico para asignar un puntaje a una solicitud de crédito o una cuenta de crédito existente

Aquí presentaré el método de calificación de crédito más popular llamado cuadro de mandos. Hay dos razones principales por las cuales el cuadro de mando es la forma más común de calificación crediticia. Primero, es fácil de interpretar para personas que no tienen antecedentes y experiencia relacionados, como los clientes. Segundo, el proceso de desarrollo del cuadro de mando es estándar y ampliamente entendido, lo que significa que las empresas no tienen que gastar mucho dinero en él. A continuación se muestra un cuadro de mandos de muestra. Hablaré sobre cómo usarlo más tarde.

Figura-1 Ejemplo de cuadro de mando

Exploración de datos e ingeniería de características

Ahora voy a dar algunos detalles sobre cómo desarrollar un cuadro de mando. El conjunto de datos que utilicé aquí es de la competencia de Kaggle. La información detallada se enumera en la Figura-2. La primera variable es la variable objetivo, que es una variable categórica binaria. Y el resto de las variables son las características.

Figura-2 Diccionario de datos

Después de obtener una idea del conjunto de datos, empiezo a aplicar algunos métodos de ingeniería de características. Primero, verifico cada característica si contiene valores faltantes, y luego imputo los valores faltantes con mediana.

A continuación, hago el tratamiento atípico. En general, los métodos utilizados para los valores atípicos dependen del tipo de valores atípicos. Por ejemplo, si el valor atípico se debe a un error mecánico o problemas durante la medición, puede tratarse como datos faltantes. En este conjunto de datos, hay algunos valores extremadamente grandes, pero todos son valores razonables. Por lo tanto, aplico la codificación superior e inferior para tratar con ellos. En la Figura 3, puede ver que después de aplicar la codificación superior, la distribución de la función es más normal.

Figura 3: tratamiento atípico con codificación superior

De acuerdo con el cuadro de mandos de muestra que se muestra en la Figura 1, es obvio que cada característica debe agruparse en varios atributos (o grupos). Hay algunas razones para agrupar las características.

  • Obtenga una idea de los atributos de relación de una característica y rendimiento.
  • Aplicar modelos lineales en dependencias no lineales.
  • Comprender más a fondo los comportamientos de los predictores de riesgo, que pueden ayudar a desarrollar mejores estrategias para la gestión de la cartera.

Binning es un método apropiado utilizado para este propósito. Después del tratamiento, asigno cada valor al atributo en el que debería estar, lo que también significa que todos los valores numéricos se convierten en categóricos. Aquí hay un ejemplo para el resultado de binning.

Figura-4 Función de agrupación

Después de agrupar todas las características, se completa la ingeniería de características. El siguiente paso es calcular el peso de la evidencia para cada atributo y el valor de la información para cada característica (o característica). Como se mencionó anteriormente, he usado binning para convertir todos los valores numéricos en categóricos. Sin embargo, no podemos ajustar el modelo con estos valores categóricos, por lo que debemos asignar algunos valores numéricos a estos grupos. El propósito del peso de la evidencia (WoE) es exactamente asignar un valor único a cada grupo de variables categóricas. El valor de información (IV) mide el poder predictivo de la característica, que se utiliza para la selección de características. La fórmula de WoE y IV se da a continuación. Aquí "Bueno" significa que el cliente no tendrá una morosidad grave o la variable objetivo es igual a 0, y "Malo" significa que el cliente tendrá una morosidad grave o la variable objetivo es igual a 1.

Por lo general, los informes de análisis de características se producen para obtener WoE y IV. Aquí defino una función en Python para generar los informes automáticamente. Como ejemplo, el informe de análisis de características para "Edad" se muestra en la Figura-5.

Figura-5 Informe de análisis de características para

Luego hago un gráfico de barras para comparar el IV de todas las características. En el gráfico de barras, puede ver las dos últimas características "NumberOfOpenCreditLinesAndLoans" y "NumberRealEstateLoansOrLines" tienen un IV bastante bajo, por lo que aquí elijo otras ocho características para el ajuste del modelo.

Figura 6 Poder predictivo de cada característica

Ajuste de modelo y cálculo de puntos de cuadro de mando

Después de la selección de características, reemplazo los atributos con el WoE correspondiente. Hasta ahora, obtengo el conjunto de datos adecuado para la capacitación modelo. El modelo utilizado para desarrollar el cuadro de mando es la regresión logística, que es un modelo popular para la clasificación binaria. Aplico validación cruzada y búsqueda de cuadrícula para ajustar los parámetros. Luego, uso el conjunto de datos de prueba para verificar la precisión de predicción del modelo. Dado que Kaggle no dará los valores para la variable objetivo, tengo que enviar mi resultado en línea para obtener la precisión. Para mostrar el efecto del procesamiento de datos, entreno el modelo con datos sin procesar y los datos procesados. Basado en el resultado dado por Kaggle, la precisión se mejora de 0.693956 a 0.800946 después del procesamiento de datos.

El paso final es calcular el punto del cuadro de mando para cada atributo y producir el cuadro de mando final. La puntuación para cada atributo se puede calcular con la fórmula:

Puntuación = (β × WoE + α / n) × Factor + Offset / n

Dónde:
β - coeficiente de regresión logística para características que contienen el atributo dado
α - intercepción de regresión logística
WoE - Valor del peso de la evidencia para el atributo dado
n - número de características incluidas en el modelo
Factor, Offset - parámetro de escala

Los primeros cuatro parámetros ya se han calculado es la parte anterior. Las siguientes fórmulas se utilizan para calcular el factor y el desplazamiento.

  • Factor = pdo / Ln (2)
  • Offset = Score - (Factor × ln (Probabilidades))

Aquí, pdo significa puntos para duplicar las probabilidades y la mala tasa ya se ha calculado en los informes de análisis de características anteriores. Si un cuadro de mando tiene las probabilidades básicas de 50: 1 a 600 puntos y el pdo de 20 (probabilidades de duplicar cada 20 puntos), el factor y la compensación serían:
Factor = 20 / Ln (2) = 28.85
Offset = 600- 28.85 × Ln (50) = 487.14

Al finalizar todo el cálculo, se realiza el proceso de desarrollo del cuadro de mandos. Parte de la tabla de puntuación se muestra en la Figura-7.

Figura-7 Cuadro de mando final con parte de las características

Cuando lleguen nuevos clientes, solo necesita encontrar el atributo correcto en cada característica de acuerdo con los datos y obtener el puntaje. El puntaje de crédito final se puede calcular como la suma del puntaje de cada característica. Por ejemplo, el banco tiene un nuevo solicitante de tarjeta de crédito con una edad de 45 años, un índice de endeudamiento de 0.5 y un ingreso mensual de 5000 dólares. El puntaje de crédito debe ser: 53 + 55 + 57 = 165.

Para desarrollar un cuadro de mando más preciso, las personas generalmente tienen que considerar más situaciones. Por ejemplo, hay algunas personas identificadas como "malas" en la población, pero su solicitud está aprobada, mientras que habrá algunas personas "buenas" que han sido rechazadas. Por lo tanto, se supone que la inferencia de rechazo está involucrada en el proceso de desarrollo. No hago esta parte porque requiere el conjunto de datos de casos rechazados que no tengo en mis datos. Si desea obtener más información sobre esta parte, le recomiendo que lea los cuadros de mando de riesgo de crédito: desarrollo e implementación de puntaje de crédito inteligente escrito por Naeem Siddiqi.

Si está interesado en mi trabajo o tiene algún problema al respecto, no dude en ponerse en contacto conmigo. Mientras tanto, si desea saber más sobre lo que los estudiantes aprenden de los cursos de ciencia de datos de WeCloudData, consulte este sitio web:

www.weclouddata.com