AHORA NUESTROS CURSOS TAMBIÉN ONLINE
ONLINE
Contactar
Menu
ALUMNOS
Contactar

Proyecto Data Science. Predicción de reclamaciones

24 de septiembre de 2020 8:00:00 CEST

Es algo habitual que los seguros se enfrenten a clientes insatisfechos con las resoluciones de sus aseguradoras. Estas situaciones suponen un importante gasto económico e incluso, en algunos casos, demandas judiciales.

En este proyecto, nuestro alumno del Data Science Bootcamp Daniel Vega, estudió el caso de una empresa brasileña de seguros automovilísticos, Porto Seguro, con el objetivo de predecir los clientes que presentarán una reclamación basándose en el análisis de los datos que la empresa ha registrado de sus clientes durante los últimos años.

Cuando eres conocedor de los factores que influyen, puedes anteponerte a los acontecimientos y actuar en consecuencia. Como por ejemplo adaptando las tarifas de los seguros en función del tipo de cliente o lanzando campañas que beneficien a los conductores más seguros y ayuden a modificar el comportamiento de los más irresponsables. 

Conocer mejor a tus clientes es una valiosa información para realizar operaciones en consecuencia y hacer que la cobertura del seguro de automóviles sea más accesible para más conductores. 

Si quieres seguir más al detalle este proyecto, echa un vistazo al GitHub de Daniel.

¿Con qué datos se trabajó?

La empresa proporcionó un dataset con casi 600.000 registros de clientes diferentes, con 57 variables para cada registro.

Una gran dificultad para sustraer información de estos datos, fue que las variables estaban encriptadas y no se proporcionó información acerca de qué significaba cada una de ellas realmente.

Tan solo informaron de que había 4 grupos de variables:

  • Relacionadas con el individuo
  • Relacionadas con el coche
  • Relacionadas con la región
  • Relacionadas con otras que han sido calculadas previamente

¿Qué pasos se siguieron en el proyecto?

Se identificaron algunos registros que contenían "missings", es decir, elementos perdidos, en algunas de las variables y se procedió a imputarlos con la mediana en las variables numéricas y añadiendo la categoría “missing” en las categóricas. 

proyecto_data_science_countplot_del_target

Figura 1: Countplot del target. Se aprecia claramente el desbalanceo de los registros. 

Además, otra de las dificultades que se encontró para obtener resultados sólidos con este dataset fue que el target representado por el valor numérico 1 en caso de que un cliente Sí presentase una reclamación y un 0 en caso de que NO lo hiciera, estaba muy desbalanceado, tal y como se muestra en la Figura 1. Los reclamadores son tan solo el 3,6% del total de registros. 

Para hacerse una idea de cuáles eran las variables más relevantes en este problema, se ajustó un modelo random forest para hacer uso de su capacidad discriminatoria de la importancia de las variables. De este modo se obtubieron las variables por orden de importancia. 

proyecto_data_science_random_forest

Figura 2: Las 35 variables más relevantes organizadas por orden de importancia. 

Con esta información como guía frente a la incertidumbre de las variables, se ajustó el primer modelo sencillo con las 5 primeras variables más relevantes para evaluar las métricas y establecer un Benchmark como punto de referencia. El modelo elegido fue una regresión logística y la métrica elegida ha sido el coeficiente Gini, calculada a partir del AUC. 

En un problema tan desbalanceado, la accuracy, la exactitud del modelo, fue muy elevada debido a que el modelo tiende a predecir a todos los registros con el valor de la categoría dominante, en este caso, NO reclamadores. Por lo tanto, se eligieron las métricas mencionadas anteriormente para evaluar los modelos. 

El tratamiento de variables en este problema fue sumamente complicado por los motivos mencionados anteriormente. Habría requerido de mucho tiempo de investigación profunda en la empresa y de ensayo y error a la hora de crear combinaciones de variables que pudieran ofrecer información clave a los modelos.

Por ello, tras sondear un poco el tratamiento de variables y medir las variaciones en la métrica con la regresión logística, se optó por ajustar otro tipo de modelos más sofisticados utilizando todas las variables sin más tratamiento que la imputación de los missings. 

En concreto ajustaron 3 modelos:

Hubo bastante fe en que la red neuronal, por su naturaleza, pudiera encontrar algún tipo de combinación o patrón oculto en las variables que, por el hecho de ser anónimas, la interpretación humana no pudiera encontrar fácilmente. Sin embargo, lejos de ser así, el modelo que proporcionó la mejor métrica fue lightgbm.

De todos modos, no se debe descartar que una red neuronal pudiera funcionar bien en este tipo de problema en particular, pero requeriría invertir gran cantidad de tiempo en ajustar sus hyperparámetros y experimentar con diferentes diseños de estructura. 

En un último intento por mejorar los resultados, se construyó un ensamble con los 3 modelos empleados anteriormente, ajustando una regresión logística a sus resultados. Una vez más, el vencedor seguía siendo lightgbm. 

Resultados del proyecto

Lightgbm consigue un valor del Gini = 0.27214 y una accuracy = 0.963. Como se comentaba anteriormente, a pesar de haber obtenido una accuracy muy elevada, el modelo tan solo es capaz de predecir con certeza a 1 cliente como futuro reclamador. 

Ajustando el threshold, que es el parámetro que establece la frontera que clasifica las probabilidades de la predicción de los modelos, se puede sacrificar parte de la accuracy, aumentando así el número de errores en la predicción, a cambio de aumentar el número de aciertos en los targets. 

Con un valor del threshold = 0.348, obtenemos las siguientes predicciones representadas en una matriz de confusión. 

matriz_confusion_proyecto_data_science

Figura 3: matriz de confusión del modelo lightgbm con un threshold = 0.348 

De este modo se aumentó la tasa de aciertos del target en un 60%, aumentando también en un 40% la tasa de errores en la predicción de los no reclamadores

Conclusiones del proyecto

Los resultados obtenidos darían una información orientativa a la aseguradora para actuar en función de su política, sin embargo, para obtener unos resultados más precisos en la predicción, sería indispensable que la empresa proporcionara más información acerca de las variables empleadas.

Sin conocer el significado de las variables, se hace prácticamente imposible sacar información de ellas, y precisamente aquí es donde reside la magia del Machine Learning. 

Por otro lado, al tener tan pocos registros del target, se complica la labor de aprendizaje para los modelos, ya que no tienen referencias suficientes para basarse en sus predicciones. Por lo tanto, para lograr unas predicciones sólidas, ayudaría muchísimo trabajar con datos de mayor calidad y con más registros en el target. 

Sería interesante para este problema, dadas las circunstancias de que no se conoce la naturaleza de las variables, ajustar otro tipo de modelos como el support vector machine, que por cómo transforma las variables y discrimina los registros, probablemente pueda encontrar patrones entre las variables que ayuden a mejorar la predicción del target.

Muchas gracias Daniel por desarrollar un proyecto tan específico y contarnos paso a paso todos los procesos, es realmente enriquecedor.


Si tú también quieres ser capaz de utilizar los datos para desarrollar proyectos como este, no lo dudes, inscríbete ya en nuestro Data Science Bootcamp.

También te puede interesar

Estos post sobre Proyectos Data Science

Suscríbete a nuestro email

Todavía no hay comentarios

Dinos que estás pensando