El problema a resolver es muy simple:
¿Podría decirme quién está interesado en comprar una póliza de seguros para una casa rodante (caravan) y explicarme por qué?
Para resolver el problema se publicaron dos tablas de datos, una con 85 variables explicatorias acerca de quién compró o no una póliza en el pasado. O sea, cada fila consiste de 85 variables independientes más otra variable dependiente que indica con 1 ó 0 si la persona compró o no. La otra tabla es similar a la anterior excepto porque no contiene la variable que indica si la persona compró la póliza o no.
Si estuviéramos trabajando en un proyecto real con una compañía de seguros, la primera tabla de datos podría venir de una campaña de marketing realizada con una muestra de los clientes y la segunda tabla estaría formada por los clientes que no participaron en la campaña anterior.
Con el propósito de minimizar los costos de la segunda campaña (la que se hará con la segunda lista de clientes), la oferta no será enviada a toda la lista de clientes, sino a aquellos 800 clientes con mayor probabilidad de que compren el seguro.
Así que los pasos a realizar en el proyecto serán:
- Construir un modelo usando los datos de la primera tabla
- Aplicar el modelo a la segunda tabla para obtener una probabilidad de que el cliente compre el seguro
- Seleccionar los 800 clientes con mayor probablidad
En la página web The Insurance Company (TIC) Benchmark hay más detalles del problema con los datos y los resultados.
Un score es un número que tiene asociada una probabilidad. Un score de riesgo de crédito indicará la probabilidad de falta de pago.
En este caso, el score tendrá asociada la probabilidad de que el cliente compre la póliza de seguros.
Bueno, luego de esta larga introducción podemos comenzar con el proyecto.
Powerhouse tiene tres modelos que generan un score, el OPFIT, el MAXIT y el Scorecard. Para esta tarea podemos usar el modelo OPFIT o el Socrecard.
Comenzamos cargando los datos y definiendo CARAVAN como la variable a predecir (es la variable 86). Hay que tener en cuenta que no hace falta hacer ninguna preparación previa de los datos. Cuando los mismos son cargados en Powerhouse, quedan automáticamente preparados para que cada variable exponga al máximo la información que pueda contener acerca de la variable a predecir.
Al terminar la carga y la preparación de los datos (esta preparación en realidad forma parte de algo más complejo que es un mapeo de información, pero para este ejercicio no hace falta considerar este tema), aparece una ventana de estadísticas que sirve para realizar un análisis exploratorio
En un proyecto real esta información es muy útil para verificar si las variables contienen la información que se espera que tengan.
El siguiente paso es seleccionar las variables más importantes. El modelo que vayamos a construir debe estar basado en una pocas variables por varias razones:
- Es más simple de entender
- Existe mayor probabilidad de que funcione correctamente con datos nuevos
- Se facilita la preparación de variables para el área de sistemas
Tenemos a disposición 85 variables. ¿Cómo seleccionar un grupo óptimo de variables? La tarea no es simple debido a la explosión combinatoria que aparece si se desean probar todos los grupos posibles. Afortunadamente Powerhouse usa un método basado en la Teoría de la Información que le permite encontrar un grupo óptimo de variables en muy poco tiempo (para este caso Powerhouse tardó 30 segundos para encontrar las variables con mayor información acerca de la variable a predecir). La siguiente tabla muestra las variables seleccionadas

Powerhouse no continuó seleccionando más variables porque la siguiente variable no aportaría la suficiente información adicional para justificar la pérdida de representatividad de la muestra con la que se construirá el modelo. Dicho de otro modo, Powerhouse nos dice: "Para obtener un buen modelo que funcione tanto con datos del training set como con datos nuevos, éstas son las 5 variables recomendadas"
Si bien no es necesario para este artículo profundizar más en el análisis de las variables seleccionadas, vale la pena notar que las últimas dos variables parecen aportar más información que cada una del resto, tomadas por separado. O sea, la última variable aporta 58.11% - 36.90% = 21.21% de información adicional. De la misma manera, la variable anterior aporta 17.26%. Esto parece contradecir lo que dije anteriormente, que la primer variable es la que lleva la mayor cantidad de información posible. Pero esta contradicción es sólo aparente. Lo que está sucediendo es que las variables que van siendo agregadas están interactuando con las ya seleccionadas previamente, entonces la información que aportan es mayor que si las tomáramos aisladamente.
Continuando con la creación del score, lo que falta ahora es realizar un modelo con estas 5 variables. Con un clic sobre esta selección elegimos construir un OPFIT. El modelo se construye en unos pocos segundos y se muestra una ventana con el modelo, pero no analizaremos esta ventana, solo nos concetraremos en el rendimiento, especificamente en la curva de Lift sobre el Test set.
Veamos si esto es cierto. Recordemos que nosotros ya conocemos cuáles clientes de la segunda tabla realmente compraron la póliza, así que simplemente aplicaremos el modelo a la segunda tabla de clientes, los ordenamos en base al score de mayor a menor, seleccionamos los primeros 800 y contamos cuántos clientes compraron la póliza.
Para aplicar el modelo a la segunda tabla, primero debemos agrega esta nueva tabla al proyecto haciendo clic derecho sobre el proyecto y elegiendo "Agregar Fuente de Datos".
El ganador de este concurso obtuvo 121 clientes y el segundo 115, así que Powerhouse no lo hizo tan mal. Es más, si consideramos que el tiempo total del proyecto fue inferior a 5 minutos, podemos asumir que los resultados han sido más que satisfactorios.
Ya está listo y probado el modelo de score, pero todavía falta algo para terminar con el proyecto, falta explicar por qué. Para esto usaremos el modelo Scorecard. Este modelo podríamos haberlo usado en un principio en vez del OPFIT, pero se supone que OPFIT es levemente más preciso que el Scorecard. De hecho, una prueba rápida revela que el Scorecard encuentra 117 clientes en los 800 (OPFIT encontró 118), así que la diferencia es realmente muy pequeña.
Pero el Scorecard que construiremos será más simple y menos preciso, ya que solo lo quereos para explicar las relaciones encontradas en los datos. Así que en vez de usar los parámetros default en las opciones del modelo, cambiaremos uno de ellos. En vez de usar 5 rangos (o 5 bins) para las variables, usaremos solo dos, así el modelo será más simple de entender
La tercera columna "Si es nulo" es para el caso de que el valor de esa variable no se conozca. En ese caso el score asociado a esa variable será el indicado en esta columna. Por ejemplo, para la primera variable es 17.
El score total de un cliente es la suma de los scores individuales de cada variable.
La variable PPERSAUT se refiere a "Contribution car policies", y según el modelo a mayores valores que tome, mayor será la probabilidad de que el cliente compre la póliza.
Con el resto de las variables se puede hacer una análisis similar. En particular se puede ver que la variable MOSHOOFD tiene una relación inversa con la probabilidad: a mayores valores, menor es la probabilidad.
Este modelo puede exportarse a Excel y se obtendrá, entre otras cosas, una tabla con las probabilidades asociadas a cada score.
Conclusión, realizar un score con Powerhouse es una tarea muy simple que lleva pocos minutos una vez que se cuenta con la tabla de datos correspondiente.
Powerhouse no sólo obtiene modelos precisos y robustos (trabajan muy bien con datos nuevos), sino que a su vez estos modelos son muy simples de entender.
No hay comentarios:
Publicar un comentario