Cuadro de mando de Python de combate del proyecto de control de riesgos financieros

Los modelos de medición del riesgo crediticio pueden incluir calificaciones crediticias individuales, calificaciones crediticias corporativas y calificaciones crediticias nacionales. Las calificaciones de crédito personal se componen de una serie de modelos de calificación, los más comunes son la tarjeta A (tarjeta de puntuación de aplicaciones), la tarjeta B (modelo de comportamiento), la tarjeta C (modelo de cobro) y la tarjeta F (modelo antifraude). Hoy mostramos el proceso de desarrollo del modelo de calificación crediticia personal. Los datos utilizan el conocido conjunto de datos crediticios dame algunos datos de kaggle .

1. Proceso de modelado

En la Figura 1-1 se muestra un modelo típico de tarjeta de puntuación de crédito. El principal proceso de desarrollo del modelo de calificación de riesgo crediticio es el siguiente:
(1) Obtener datos, incluidos los datos de los clientes que solicitan préstamos. Los datos incluyen varias dimensiones de los clientes, incluida la edad, el sexo, los ingresos, la ocupación, el número de miembros de la familia, la situación de la vivienda, la situación del consumo, la deuda, etc.
(2) Preprocesamiento de datos, el trabajo principal incluye limpieza de datos, procesamiento de valores faltantes, procesamiento de valores atípicos, conversión de tipos de datos, etc. Necesitamos convertir los datos sin procesar capa por capa en datos modelables.
(3) Análisis de datos exploratorios y estadísticas descriptivas de EDA, incluidas estadísticas del tamaño general de los datos, proporción de clientes buenos y malos, tipos de datos, tasa de variables faltantes, visualización de histogramas de análisis de frecuencia variable, visualización de diagramas de caja, visualización de correlación de variables, etc.
(4) Selección de variables, mediante métodos estadísticos y de aprendizaje automático, para descartar las variables que tienen el impacto más significativo en el estado predeterminado. Existen muchos métodos comunes de selección de variables, incluidos iv, importancia de las características, varianza, etc. Además, también se recomienda eliminar las variables con una alta tasa de faltas. También se recomienda eliminar las variables que no tengan variables explicativas de negocio ni variables de valor.
(5) Desarrollo del modelo, las principales dificultades en el modelado de tarjetas de puntuación son la clasificación de problemas, la extensión de la puntuación y el cálculo de coeficientes variables. Entre ellos, la clasificación de ayes es uno de los puntos más difíciles del cuadro de mando, que requiere un amplio conocimiento estadístico y experiencia empresarial. En la actualidad, existen más de 50 algoritmos de agrupación y no existe un estándar de oro unificado. Generalmente, la máquina agrupa primero automáticamente, luego ajusta manualmente la agrupación y, finalmente, prueba repetidamente el rendimiento final del modelo y selecciona el mejor algoritmo de agrupación. .
(6) Verificación del modelo, verificar la capacidad del modelo para distinguir, predecir, estabilidad, capacidad de clasificación, etc., y formar un informe de evaluación del modelo para sacar una conclusión sobre si el modelo se puede utilizar. La verificación del modelo no se realiza de una vez, sino que se verifica periódicamente después del modelado, antes de lanzar el modelo y después de lanzarlo. El desarrollo y mantenimiento de modelos es un ciclo, no un proceso único.
(7) Cuadro de mando crediticio, que genera un cuadro de mando basado en el coeficiente variable y el valor WOE de la regresión logística. El cuadro de mando es conveniente para la interpretación empresarial, se ha utilizado durante décadas, es muy estable y es apreciado por la industria financiera. El método consiste en convertir la puntuación de probabilidad del modelo logístico en una forma de puntuación estándar de 300 a 900 puntos.
(8) Establecer un sistema modelo de tarjeta de puntuación y establecer un sistema informático de puntuación de crédito automático basado en el método de la tarjeta de puntuación de crédito. El producto tradicional estadounidense FICO tiene funciones similares y el lenguaje subyacente de FICO es Java. Java, Python o R son actualmente lenguajes populares para crear sistemas de modelos de automatización de cuadros de mando.

(9) Monitoreo del modelo: a medida que pasa el tiempo, la capacidad de distinguir modelos, como ks y auc, disminuirá gradualmente y la estabilidad del modelo también cambiará. Necesitamos un equipo profesional de monitoreo de modelos. Cuando el monitoreo muestra una disminución significativa en la discriminación del modelo o un gran cambio en la estabilidad del modelo, debemos volver a desarrollar el modelo e iterarlo. El equipo de monitoreo del modelo debe enviar informes de monitoreo del modelo a los equipos relevantes por correo electrónico a tiempo todos los días, especialmente al equipo de desarrollo y al equipo comercial.

inserte la descripción de la imagen aquí

2. Obtener datos

Antes hablé sobre el uso del conjunto de datos crediticios alemán para construir un modelo de cuadro de mando crediticio de Python. La ventaja de este conjunto de datos es que tiene una pequeña cantidad de datos y no requiere alto hardware de computadora, lo cual es conveniente para estudiantes de todos los ámbitos de la vida. aprender y probar.

imagen

Los algoritmos de calificación crediticia hacen conjeturas sobre la probabilidad de incumplimiento y son los que utilizan los bancos para determinar si se debe conceder un préstamo. Los datos se refieren a préstamos de consumo personales y mejoran el estado del arte en puntajes crediticios al predecir la probabilidad de que alguien experimente dificultades financieras en los próximos dos años.

Los bancos desempeñan un papel vital en una economía de mercado. Deciden quién obtiene financiación y en qué condiciones, y pueden tomar decisiones de inversión o cancelar inversiones. Para que los mercados y las sociedades funcionen, los individuos y las empresas necesitan acceso al crédito.

Dame algo de crédito tiene 150.000 datos de muestra, que resuelven los datos de combate reales de instituciones financieras medianas y grandes, y está más cerca del combate real de proyectos de empresas financieras. El conjunto de datos mejora las puntuaciones crediticias al predecir la probabilidad de que alguien experimente dificultades financieras en los próximos dos años.

imagen

La interpretación china de las variables, las variables son pocas pero precisas, se puede utilizar como referencia para modelar.

imagen

Clasificamos las variables anteriores en:

– Atributos básicos: incluida la edad del prestatario en ese momento.

– Solvencia de la deuda: incluyendo el ratio de línea disponible del prestatario, sus ingresos mensuales y su ratio de endeudamiento.

– Historial de crédito: 35 a 59 días de mora en dos años, 60 a 89 días de mora en dos años, 90 días de mora en dos años

días o con más de 90 días de mora.

– Estado de la propiedad: incluye el número de créditos y préstamos abiertos, y el número de préstamos o líneas inmobiliarias.

– Otros factores: el número de dependientes del prestatario (sin incluirse a sí mismo)

En la competencia del modelo Kaggle, la bonificación es de 5000 dólares estadounidenses y el índice de evaluación del modelo es AUC .

imagen

La mejor puntuación AUC del conjunto de datos crediticios de Internet en el país y en el extranjero es 0,85.

imagen

Sin embargo, el AUC en nuestro tutorial "modelado de tarjetas de crédito de Python (con código)" puede alcanzar 0,929, y el AUC puede ser mayor después del ajuste de parámetros, que es mucho mayor que el rendimiento del modelo AUC = 0,85 del documento de crédito. En Internet. Los artículos de Internet tienen muchas teorías plausibles, pero en realidad incorrectas, sobre los pasos del modelado.

imagen

Si tiene curiosidad sobre cómo podemos lograr un AUC de 0,929 para el conjunto de datos de crédito Dame algo, consulte el tutorial "Modelado de tarjetas de puntuación de crédito de Python (con código)".

Una descripción general del conjunto de datos de crédito Dame algo en "Modelado de cuadro de mando de crédito de Python (con código)".

imagen

3. Preprocesamiento de datos

Preprocesamiento de datos, el trabajo principal incluye limpieza de datos, procesamiento de valores faltantes, procesamiento de valores atípicos, conversión de tipos de datos, etc. Necesitamos convertir los datos sin procesar capa por capa en datos modelables.


3.1 Procesamiento de valores faltantes

Los datos que faltan en el conjunto de datos de "dame algo de crédito" no son graves. Solo faltan valores en dos variables y las tasas que faltan son 2% y 19,8%.

imagen

En realidad, es muy común que a los datos les falten una gran cantidad de valores. La tasa de falta de muchas variables en la investigación crediticia del banco central puede llegar al 99%. Los valores faltantes pueden causar problemas en algunos análisis y modelados de datos. Por lo general, en el primer paso del desarrollo del modelo de cuadro de mando del riesgo crediticio nos ocuparemos de los valores faltantes. Los métodos de procesamiento de valores perdidos incluyen los siguientes.
(1) Elimine directamente las muestras que contengan valores faltantes.
(2) Complete los valores faltantes.
(3) Ignóralo.

3.2 Procesamiento de valores atípicos

Después del procesamiento de valores faltantes, debemos realizar una prueba de valores atípicos. Los valores atípicos se dividen en valores atípicos estadísticos y valores atípicos comerciales. Los valores atípicos estadísticos generalmente se juzgan mediante diagramas de caja, como se muestra en la siguiente figura.

imagen

El valor anormal en el negocio es juzgar si los datos son razonables o no en función de la definición de la variable y el sentido común de la línea de negocio. Por ejemplo, en el conjunto de datos Dame algo de crédito, la edad de los clientes individuales es 0. Según el sentido común, consideramos que este valor es un valor atípico. ¿Qué empresa de préstamos prestará dinero a usuarios cuya edad sea 0?

imagen

3.3 Partición de datos

Después de construir el modelo, generalmente nos encontramos con las siguientes tres situaciones: desajuste, ajuste insuficiente, ajuste perfecto y sobreajuste.

imagen

Para verificar el rendimiento del modelo, necesitamos dividir el conjunto de datos.

Primero divida todos los datos en datos xey datos (variable objetivo objetivo).

Luego divida los datos xey en un conjunto de entrenamiento y un conjunto de prueba, y genere cuatro variables train_x, test_x, train_y, test_y.

imagen

4. Análisis exploratorio de datos de la EDA y estadística descriptiva.

Debido a la estructura fisiológica del cerebro humano, la mayoría de las personas no son sensibles a los números, pero la visualización de datos es más amigable para la comprensión del cerebro. Ésta es la importancia de la visualización de datos y también es conveniente para informar a los líderes o tomadores de decisiones.

imagen

El análisis de datos exploratorios y las estadísticas descriptivas de EDA incluyen estadísticas sobre el volumen general de datos, la proporción de clientes buenos y malos, tipos de datos, tasa de variables faltantes, visualización de histogramas de análisis de frecuencia variable, visualización de diagramas de caja, visualización de correlación de variables, etc. EDA es la abreviatura de Análisis de datos exploratorios y la interpretación china es análisis de datos exploratorios. Existen muchos métodos comunes de análisis de datos exploratorios: histograma hist, diagrama de dispersión de dispersión, diagrama de caja de boxer, mapa de calor y mapa de emparejamiento.

El histograma de la variable de edad del conjunto de datos Dame algo de crédito.

imagen

El histograma de la variable objetivo del conjunto de datos Dame algo de crédito muestra que la proporción de buenos y malos clientes está muy desequilibrada. El número de buenos clientes es aproximadamente 15 veces el número de malos clientes.

imagen

Histograma del número variable de miembros de la familia en el conjunto de datos de dame algo de crédito

imagen

El diagrama de emparejamiento de todas las variables en el conjunto de datos de crédito me da algo de información, mucha información es clara de un vistazo.

imagen

El mapa de calor de la correlación de todas las variables en el conjunto de datos Dame algo de crédito se puede analizar para mostrar que hay 6 pares de correlaciones de variables que son muy altas y se debe prestar atención al seleccionar las variables.

imagen

La variable de edad del conjunto de datos de dame algunos datos crediticios trata sobre las estadísticas del diagrama de caja de clasificación de buenos y malos clientes. Podemos ver que la edad media de los buenos clientes es mayor que la edad media de los malos clientes.

imagen

5. Selección de variables

Selección de variables, mediante métodos estadísticos y de aprendizaje automático, para descartar las variables que tienen el impacto más significativo en el estado predeterminado. Existen muchos métodos comunes de selección de variables, incluidos iv, importancia de las características, varianza, etc. Además, también se recomienda eliminar las variables con una alta tasa de faltas. También se recomienda eliminar las variables que no tengan variables explicativas de negocio ni variables de valor.

En la visualización de la importancia de las características del algoritmo de árbol integrado catboost en el tutorial "modelado de tarjetas de crédito de Python (con código)", podemos ver claramente que la variable de relación de cantidad disponible RevolvingUtilizationOfUnsecuredLines es la más importante. Cuanto más largas sean las barras azules de la figura, mayor será la importancia y viceversa.

imagen

Los resultados del cálculo del valor de la variable iv en el tutorial "modelado de tarjetas de crédito de Python (con código)" son los siguientes: podemos ver claramente que el valor iv de la variable de relación de cantidad disponible de RevolvingUtilizationOfUnsecuredLines es el más alto.

imagen

A través de los métodos de importancia de la característica y valor iv, podemos llegar a la misma conclusión: la variable de proporción de cuota disponible RevolvingUtilizationOfUnsecuredLines es la más importante.

6. Desarrollo del modelo

Las principales dificultades en el desarrollo de modelos y el modelado de cuadros de mando son la combinación de problemas, la extensión de puntajes y el cálculo de coeficientes variables. Entre ellos, la clasificación de ayes es uno de los puntos más difíciles del cuadro de mando, que requiere un amplio conocimiento estadístico y experiencia empresarial. En la actualidad, existen más de 50 algoritmos de agrupación y no existe un estándar de oro unificado. Generalmente, la máquina agrupa primero automáticamente, luego ajusta manualmente la agrupación y, finalmente, prueba repetidamente el rendimiento final del modelo y selecciona el mejor algoritmo de agrupación. .

"Modelado de tarjetas de crédito de Python (con código)" explica Kmeans, agrupación de igual frecuencia, agrupación equidistante, agrupación de chi-cuadrado, principio del algoritmo de agrupación del árbol de decisión y Python para lograr el código de agrupación. El "Modelado de tarjetas de crédito de Python (con código)" también le indica cómo elegir el método de agrupación. Según las diferentes necesidades, elija el método de agrupación más adecuado.

imagen

El binning se divide principalmente en métodos supervisados ​​y métodos no supervisados. El algoritmo de agrupación de k-medias (algoritmo de agrupación de k-medias) es un algoritmo de análisis de agrupación iterativo. Sus pasos son dividir los datos en K grupos por adelantado, luego seleccionar aleatoriamente K objetos como los centros de agrupación iniciales y luego calcular la distancia entre cada objeto y cada centro de grupo de semillas, asigne cada objeto al centro de grupo más cercano a él. Los centros de conglomerados y los objetos asignados a ellos representan un conglomerado. Cada vez que se asigna una muestra, el centro del grupo se vuelve a calcular en función de los objetos existentes en el grupo. Este proceso se repetirá hasta que se cumpla una determinada condición de terminación. Las condiciones de terminación pueden ser que ningún objeto (o un número mínimo) de objetos se reasigne a diferentes clústeres, ningún centro de clúster (o un número mínimo) cambie nuevamente y la suma de errores cuadrados se minimice localmente. La siguiente figura muestra el principio del algoritmo de agrupación Kmeans.

imagen

El legendario agrupamiento óptimo es el agrupamiento del árbol de decisión.

Los pasos del algoritmo de agrupación del árbol de decisión son:

Paso 1 : Primero, utiliza las variables que queremos discretizar para entrenar un árbol de decisión de profundidad finita (2, 3 o 4) para predecir el objetivo.

_Paso 2:_Luego reemplace los valores de las variables originales con las probabilidades devueltas por el árbol. Todas las observaciones dentro de un único contenedor tienen la misma probabilidad, por lo que sustituir probabilidades equivale a agrupar observaciones dentro de un límite determinado por el árbol de decisión.

Las ventajas y desventajas del algoritmo de agrupación del árbol de decisión son:

beneficio:

  • El árbol de decisión devuelto por el pronóstico probabilístico está monótonamente relacionado con el objetivo.

  • Los nuevos contenedores muestran entropía reducida, que es lo similares que son las observaciones dentro de cada contenedor/depósito en comparación con las observaciones en otros contenedores/depósitos.

  • El árbol encontrará automáticamente el contenedor.

defecto:

  • puede llevar a un sobreajuste

  • Es más, es posible que sea necesario realizar algunos ajustes de los parámetros del árbol para lograr divisiones óptimas (por ejemplo, profundidad, número mínimo de muestras en una partición, número máximo de particiones y ganancia mínima de información). Esto puede llevar mucho tiempo.

imagen

                                (决策树分箱可视化)


  • 1
  • 2
  • 3

La agrupación equidistante se puede utilizar para variables como la edad.

imagen

Una vez completada la agrupación, los datos agrupados se convierten en datos de problemas y finalmente se modelan con un algoritmo de regresión logística.

7. Validación del modelo

Después del modelado del algoritmo de regresión logística, necesitamos la validación del modelo. La verificación del modelo consiste en verificar si la capacidad de discriminación, la capacidad de predicción, la estabilidad, la capacidad de clasificación y otros indicadores del modelo están calificados, y formar un informe de evaluación del modelo para sacar una conclusión sobre si el modelo se puede utilizar. La verificación del modelo no se realiza de una vez, sino que se verifica periódicamente después del modelado, antes de lanzar el modelo y después de lanzarlo. El desarrollo y mantenimiento de modelos es un ciclo, no un proceso único.

A medida que pasa el tiempo, la capacidad del modelo para distinguir, como ks, auc, disminuirá gradualmente y la estabilidad del modelo también cambiará. Cuando la capacidad del modelo para distinguir se reduce significativamente o la estabilidad del modelo cambia considerablemente, debemos volver a desarrollar el modelo e iterarlo.

El AUC del modelo de entrenamiento en el tutorial "Modelado de cuadro de mando de crédito de Python (con código)" es 0,929 y el rendimiento específico del modelo es el siguiente:

La precisión del modelo es: 0,9406307593547452.

la precisión del modelo es: 0.9060132575757576

la sensibilidad del modelo es: 0.6077497220898841

puntuación_f1: 0,7274973861800208

AUC: 0,9290751730536397

buen clasificador

gini 0.8581503461072795

valor ks: 0,7107

Supera con creces el rendimiento del modelo AUC 0,85 de Internet. Dame algunos documentos de modelado de conjuntos de datos de crédito.

imagen

8. El nacimiento del cuadro de mando

===

El modelo genera cuadros de mando basados ​​en coeficientes variables de regresión logística y valores WOE. El cuadro de mando es conveniente para la interpretación empresarial, se ha utilizado durante décadas, es muy estable y es apreciado por la industria financiera. El método consiste en convertir la puntuación de probabilidad del modelo logístico en una forma de puntuación estándar de 300 a 900 puntos. La mayoría de las tarjetas de crédito nacionales emula el puntaje FICO estadounidense.

Las personas con puntajes FICO de 800 o más tienen un historial crediticio especial. Es probable que las personas con puntajes crediticios altos hayan tenido múltiples líneas de crédito a lo largo de los años. No excedieron ningún límite de crédito y pagaron todas las deudas a tiempo.

Un puntaje FICO de 700 medio a alto es un buen puntaje. Las personas con puntajes en este rango piden prestado, gastan sabiamente y realizan pagos puntuales. Estas personas, como las mayores de 800 años, tienden a tener un acceso más fácil al crédito y a menudo pagan tasas de interés mucho más bajas.

Las puntuaciones más comunes están entre 650 y 750. Si bien las personas con puntajes en este rango tienen un crédito bastante bueno, es posible que se atrasen en los pagos. Estas personas no suelen tener dificultades para conseguir préstamos. Sin embargo, es posible que tengan que pagar una tasa de interés ligeramente más alta.

El último rango práctico a considerar es una puntuación de 599 o menos. Se considera que tienen un puntaje crediticio bajo y generalmente son el resultado de múltiples pagos atrasados, pagos atrasados ​​o deudas que se han transferido a una agencia de cobranza. A menudo es difícil, si no imposible, para las personas con dichos puntajes FICO obtener cualquier forma de crédito.

imagen

Como se muestra en la figura a continuación, la puntuación crediticia FICO de muy pobre 300-579 representa la proporción más baja, solo el 17%; la proporción de bueno 670-739 es la más alta, alcanzando el 21,5%.

imagen

En "Modelado de cuadros de mando de crédito de Python (con código)", hay capítulos detallados para explicar la generación de cuadros de mando, incluidos PDO, theta0, P0, A, B, odds, woe, iv y otros términos profesionales que se explican en detalle.

imagen

9. Sistema de puntuación automática del cuadro de mando

Con base en lo anterior, podemos generar un sistema de puntuación automatizado para generar etiquetas reales para buenos y malos clientes, etiquetas previstas para buenos y malos clientes, valores de probabilidad para malos clientes y puntuaciones extensivas para cada usuario del formulario de aplicación.

imagen

Basándonos en el método de la tarjeta de puntuación de crédito, podemos construir un sistema de puntuación de crédito automático computarizado. El producto tradicional estadounidense FICO tiene funciones similares y el lenguaje subyacente de FICO es Java. Java, Python o R son actualmente lenguajes populares para crear sistemas de modelos de automatización de cuadros de mando. Si la cantidad de datos es grande, no es fácil establecer un sistema de calificación crediticia automático, lo que requiere pruebas y actualizaciones continuas por parte de un equipo profesional. Python o R es un lenguaje de código abierto y el paquete se actualiza periódicamente. Si no hay un equipo profesional que lo mantenga, el sistema tendrá serios problemas en el futuro.

10. Monitoreo del modelo

A medida que pasa el tiempo, la capacidad del modelo para distinguir, como ks, auc, disminuirá gradualmente y la estabilidad del modelo también cambiará. Necesitamos un equipo profesional de monitoreo de modelos. Cuando el monitoreo muestra una disminución significativa en la discriminación del modelo o un gran cambio en la estabilidad del modelo, debemos volver a desarrollar el modelo e iterarlo. El equipo de monitoreo del modelo debe enviar informes de monitoreo del modelo a los equipos relevantes por correo electrónico a tiempo todos los días, especialmente al equipo de desarrollo y al equipo comercial.

El indicador ks del monitoreo del modelo, cuando el modelo ks es inferior a 0,2, la capacidad del modelo para distinguir a los clientes buenos y malos tiene poco efecto y el modelo debe repetirse nuevamente.

imagen

El indicador de mala tasa monitoreado por el modelo, cuando la mala tasa aumenta repentinamente, los líderes estarán muy nerviosos, lo que significa que una gran cantidad de préstamos no pueden cubrir el costo.

imagen

El índice PSI monitoreado por el modelo, cuando el PSI es superior a 0,25, indica que el modelo es extremadamente inestable y debe repetirse.

imagen

Resumir

Aquí se presenta el proceso principal del modelo de cuadro de mando crediticio basado en Python, pero hay muchos detalles en el modelado del cuadro de mando real, y la descripción de estos detalles en Internet es demasiado apresurada o incluso incorrecta. Por ejemplo, si la tasa faltante de una variable alcanza el 80% -90%, ¿debería eliminarse la variable directamente? ¿Se puede eliminar la correlación de la variable si es tan alta como 0,8? Los modeladores experimentados necesitan encontrar un equilibrio entre la teoría matemática, las necesidades reales de las líneas de negocio, los resultados de las pruebas informáticas, etc., en lugar de pensar en los problemas desde un solo ángulo. Es como si los cirujanos experimentados no necesariamente siguieran exactamente las teorías de los libros de texto. Existen muchas controversias en estadística, aprendizaje automático, inteligencia artificial y otros campos, y no existe un consenso completo. Debes mantener habilidades de pensamiento independiente cuando estudies, para que puedas optimizar continuamente tus conocimientos de ciencia de datos.

El modelo de cuadro de mando de crédito basado en Python: dame algo de crédito se presenta aquí para todos,
materiales de referencia: <Curso microprofesional de análisis de datos y modelo de cuadro de mando de control de riesgos financieros de Python (edición mejorada)>

Declaración de derechos de autor: el artículo proviene de la cuenta oficial (modelo de control de riesgos de Python), sin permiso, sin plagio. Siguiendo el acuerdo de derechos de autor CC 4.0 BY-SA, adjunte el enlace de la fuente original y esta declaración para su reimpresión.

Supongo que te gusta

Origin blog.csdn.net/toby001111/article/details/132675911
Recomendado
Clasificación