Tutorial - Parte 2: Scoring - Dataxplore · El valor absoluto del score no tiene mayor importancia,...
Transcript of Tutorial - Parte 2: Scoring - Dataxplore · El valor absoluto del score no tiene mayor importancia,...
Tutorial 2 – Scoring 1
Tutorial - Parte 2: Scoring
Introducción
En este segundo tutorial aprenderá lo que significa un modelo de Scoring, verá cómo
crear uno utilizando Powerhouse Analytics y finalmente a interpretar sus resultados.
El tutorial está dividido en 8 secciones:
1. ¿Qué es un modelo de Scoring?
2. ¿Cómo se utiliza?
3. Carga de los datos
4. Selección de las mejores variables
5. Creación del modelo
6. Modelo en Excel
7. Validación
8. Guardar el Proyecto
9. Resumen
1. ¿Qué es un modelo de Scoring?
Un Score representa una probabilidad de que suceda algún evento. Por ejemplo, un
score de riesgo de crédito representa la probabilidad de que un cliente entre en mora,
mientras que un socore de venta de un producto representa la probabilidad de que un
cliente que ha recibido una oferta compre el producto.
El valor absoluto del score no tiene mayor importancia, ya que normalmente se lo
utiliza para ordenar una lista. Por ejemplo, si el modelo es acerca de riesgo de crédito,
se podrían ordenar los clientes en base al score (y por ende, a la probabilidad de
pago) para que en la parte superior de la lista aparezcan los clientes más riesgos y en
la parte inferior, los de menor riesgo.
Generalmente, un score se utiliza para estimar variables que solamente pueden tomar
dos valores (también llamadas dicotómicas), por ejemplo, Paga/No Paga, Compra/No
No Paga
Paga No Compra
Compra
Tutorial 2 – Scoring 2
compra, pero en Powerhouse un modelo de scoring se puede usar también para
predecir una variable continua, como veremos más adelante.
2. ¿Cómo se utiliza?
Supongamos que realizamos un modelo de scoring para una campaña de marketing y
el mismo utiliza 3 variables. Aplicando el modelo a cada cliente, obtenemos un score
para cada uno
Ordenamos la tabla de clientes en base al score
Y en la parte superior tendremos los clientes con mayor probabilidad de aceptar la
oferta. Utilizando algún criterio comercial, por ejemplo encontrando el máximo de una
curva de utilidad marginal, podemos seleccionar la lista de clientes a los que se les
enviará la oferta correspondiente
Tutorial 2 – Scoring 3
Para modelos de riesgo, una vez ordenados los clientes, podemos diferenciar
segmentos con distinto riesgo para tratarlos de manera adecuada.
3. Carga de los datos
En este ejemplo utilizaremos datos acerca de la Diabetes Mellitus obtenidos del
repositorio de datos del UCI Machine Learning Repositorio.
El primer paso es cargar los datos en Powerhouse, tal como vimos en el Tutorial I. Si
Powerhouse ya está abierto, se puede acceder al menú de Nuevo Proyecto con
Asistente haciendo clic sobre la flecha del botón Nuevo y seleccionado la primera
opción
La ventana de exploración permitirá seleccionar el documento de datos
correspondiente, en este caso diabetes.csv
Tutorial 2 – Scoring 4
Avanzamos hasta el paso 5, haciendo clic al botón siguiente, que muestra las
variables que se cargarán. Elegimos la última variable, Diabetes Mellitus, como la
variable a predecir, marcando la casilla Salida.
Continuamos haciendo clic en el botón siguiente hasta llegar a la ventana final o
directamente aceptamos los valores por defecto haciendo clic al botón Finalizar.
Aparecerá la ventana de Estadísticas que nos permite explorar las variables de un
modo simple y rápido. Por ejemplo, haciendo clic sobre cada variable se accede a una
estadística básica, la distribución, el mínimo, máximo, la media, la mediana, etc.
Visualizar la distribución es muy importante, ya que es posible detectar valores
extremos (outliers). Si es necesario se pueden visualizar los valores de una o más
variables. Sólo se debe arrastrar una variable desde su vista hasta el área Principal,
generando así, una ventana con los valores de la variable. Si se desea agregar otra
variable sobre la misma ventana, sólo es necesario arrastrarla sobre esta ventana.
Haciendo clic sobre el nombre de la variable, dentro de la ventana, todos los valores
se ordenan de menor a mayor en base a esa variable. Con otro clic, se ordenan de
mayor a menor.
Tutorial 2 – Scoring 5
Al arrastrar la variable, se crea la ventana con sus valores
4. Selección de las mejores variables
Para seleccionar las variables utilizaremos el botón Selección de la barra de
herramientas superior en vez de hacerlo como en el tutorial 1.
Arrastrar desde acá
Hasta acá
Tutorial 2 – Scoring 6
Se abrirá una venta para modificar algunas opciones, pero esto no es necesario así
que hagamos clic sobre el botón Finalizar y obtendremos la ventana con las variables
seleccionadas para crear el modelo
En este tutorial sólo nos interesan la lista de variables y la ganancia de información
final, que en este caso es de 48.87%, suficiente para tener un modelo relativamente
bueno, al menos desde el punto de vista infométrico.
5. Creación del modelo
Con las variables seleccionadas podemos construir un modelo de scoring. Haciendo
clic sobre el botón SCORECARD, accederemos a la ventana para crear el modelo
Tutorial 2 – Scoring 7
El paso 1 permite elegir el grupo de variables seleccionadas. En nuestro caso, ya que
solamente creamos una selección, hay un solo grupo de variables llamado Selección
1.1, así que continuamos con el siguiente paso haciendo clic en Siguiente
El paso 2 muestra tres opciones
Tutorial 2 – Scoring 8
El Rango del Score sirve para crear un modelo cuyos valores de score estén en el
rango correspondiente. El valor por defecto es de 0 a 100. Si se desea otro límite, por
ejemplo de 0 a 1000, puede modificarse este valor.
Los bins del modelo indican en cuántos intervalos (o bins, o chunks) se dividirán las
variables numéricas. El valor por defecto es 5 y en general no hacen falta más
intervalos, pero si lo desea podría probar con otros valores, por ejemplo, 3, 7 o 10.
Una variable numérica no necesariamente podrá separarse en los intervalos
deseados. Por ejemplo, si sólo contiene 4 valores distintos, no será posible separar en
5 intervalos.
Por último, el Método Predictivo del Modelo es el criterio que se usará para convertir el
score en una predicción. En este ejemplo, el método predictivo es el que calculará el
valor de score que se usará como punto de corte para saber si el paciente sufre de
Diabetes o no.
En el modelo Scorecard existen dos métodos posibles:
1. Clase más probable, asigna la clase menos representativa al score cuya
probabilidad sea mayor o igual a 50%.
2. Mayor diferencia de lo esperado, tiene en cuenta la distribución de la variable a
predecir y cuando la probabilidad de un score es mayor o igual a la
probabilidad esperada de la clase menos representativa, le asigna esa clase.
Por ejemplo, supongamos que el modelo asigna a cada score la siguiente
probabilidad:
Asumamos que la distribución de las clases en la variable a predecir es:
Si el método usado para asignar una predicción a un score es la clase más probable,
entonces asignará la clase SI a los scores 7 a 10, ya que son los que tienen una
probabilidad mayor o igual a 50%
Tutorial 2 – Scoring 9
En cambio, si el método es Mayor diferencia de lo esperado, entonces se asignará la
clase SI para los scores 6 a 10, ya que son los que tienen una probabilidad mayor o
igual a la esperada, que de acuerdo a la distribución es 35%
El valor por defecto para esta opción es Mayor diferencia de lo esperado, así que sin
cambiar nada hacemos clic sobre el botón Finalizar
Obtenemos el modelo Scorecard
Cada variable está asociada con dos filas, la primera muestra un intervalo, en caso de
variables numéricas, una clase en variables categóricas y un grupo en variables
agrupadas. A cada intervalo, clase o grupo le corresponde un score. Por ejemplo, si
para un determinado paciente, el valor la variable “Concentración de…” es menor que
143.5, entonces esta variable contribuirá con 11 puntos al score total. Si el valor está
entre 143.5 y 166.5, entonces contribuirá con 31 puntos, y así sucesivamente.
La última columna “Si es nulo”, muestra el score que debe asignarse a una variable
cuyo valor se desconoce.
La suma de los puntos de cada variable será el score final. A mayor score, mayor
probabilidad de que la clase pronosticada sea la menos representada.
En nuestro caso, la clase menos representada es “SI”, indicando que el paciente sufre
de Diabetes. Esto se puede verificar en la ventana de estadísticas
Tutorial 2 – Scoring 10
Ya que los intervalos de las variables numéricas están ordenados de manera
creciente, es posible tener una idea del tipo de relación que existe entre cada variable
y la variable a predecir. Por ejemplo, se nota claramente que el índice de masa
corporal está relacionado positivamente con la diabetes, ya que cuanto mayor es el
índice, mayor es el score.
La variable Concentración de glucosa en la prueba de tolerancia oral muestra un
comportamiento extraño, ya que en un intervalo muy pequeño (de 174.5 a 175.5) el
score cae rápidamente a 0. Esto se debe principalmente a la poca cantidad de casos
disponibles. Es probable que esta relación no se encuentre en los datos de prueba.
Si bien este tipo de comportamiento no es usual cuando se trabaja con grandes
cantidades de casos, es posible minimizar este problema creando un nuevo modelo de
score, con las mismas variables pero seleccionando un menor número de bins.
Volviendo a hacer clic sobre el botón de SCORECARD de la barra superior, en el paso
2 cambiamos el valor por defecto de 5 bins a 4 bins y hacemos clic al botón de
Finalizar.
El nuevo modelo tiene 4 intervalos para cada variable y el intervalo sospechoso
desapareció. El R2 bajó levemente, la diferencia es tan pequeña que no debería
importar.
Tutorial 2 – Scoring 11
En este nuevo modelo (en el anterior también) tanto la variable Concentración de …
como la variable Embarazos muestran una relación que crece hasta cierto punto y
luego comienza a decrecer. Esto es una relación no lineal que fue capturada por el
modelo.
Otra particularidad de los intervalos es que no son de igual tamaño. Por ejemplo, la
variable Embarazos tiene los siguientes tamaños:
Esto se debe al Método de Binning elegido cuando se cargaron los datos. Este método
encuentra los intervalos que retienen la mayor información posible.
6. Modelo en Excel
Una vez que tenemos el modelo podemos exportarlo a Excel haciendo clic derecho
sobre el mismo y seleccionando Exportar Modelo a Excel
El programa Microsoft Excel debe estar instalado previamente para poder usar esta
opción.
Tutorial 2 – Scoring 12
El documento Excel creado consta de 3 hojas. La hoja Scorecard contiene tres áreas:
el modelo, una lista de variables para ingresar valores y una tabla de probabilidades.
Modelo
Es un formato similar al formato del modelo sobre Powerhouse
Variables para ingresar valores
Las casillas amarillas permiten ingresar valores de un caso particular. A medida que se
ingresen los valores, se calcularán los scores individuales.
Tutorial 2 – Scoring 13
La suma TOTAL indica el score calculado para el caso ingresado. En este ejemplo el
score final es 66.
Probabilidades
La tabla de probabilidades muestra la probabilidad aleatoria (calculada en base a la
distribución de la variable a predecir) y la probabilidad del caso ingresado más arriba.
De acuerdo a los datos usados para crear el modelo, la probabilidad de que un
paciente sufra de Diabetes es del 34%, pero para el caso ingresado la probabilidad
sube al 87%.
La hoja Proporciones muestra una distribución de los scores
El gráfico muestra que la mayoría de los pacientes tienen un score relativamente bajo.
Finalmente la hoja Chances muestra qué probabilidad le corresponde a cada score.
Por ejemplo, al score 66 calculado con los valores ingresados más arriba le debería
corresponder una probabilidad del 87% según la tabla de probabilidades. En la hoja de
Chances buscamos el score 66 y corroboramos que corresponde a un 87%
Tutorial 2 – Scoring 14
7. Validación
En todas las etapas anteriores, Powerhouse utilizó solamente los datos de desarrollo.
Ahora vamos a verificar el rendimiento del modelo sobre estos mismos datos de
desarrollo y sobre los datos dejados aparte llamados datos de prueba. El rendimiento
esperado cuando el modelo esté en producción, será el obtenido en los de prueba.
Para verificar el rendimiento de un modelo hacemos clic sobre el botón Rendimiento
de la barra superior
Se abrirá una venta mostrando los modelos realizados sobre la Vista activa. En
nuestro caso la única Vista es la 1, sobre la que creamos 2 modelos Scorecard, el
Modelo 1 con 5 bins y el 2 con 4 bins.
La parte superior muestra los datos disponibles sobre los que se desea verificar el
rendimiento. Los de desarrollo aparecen como TR y los de prueba como TS.
Seleccionaremos ambas tablas.
Más abajo aparece una lista de los modelos realizados hasta el momento. También
seleccionaremos ambos modelos.
Tutorial 2 – Scoring 15
Finalmente hacemos clic sobre el botón Ver Rendimiento y obtendremos la ventana
de Rendimientos.
Esta ventana tiene dos áreas, una tabla con distintos estadísticos y un gráfico en la
parte inferior. La ventana puede redimensionarse con el mouse para que se vea como
en este tutorial o maximizarse.
La tabla de estadísticos muestra todos los modelos aplicados a los diferentes datos
seleccionados anteriormente. El gráfico es de la línea activa, en este ejemplo, la
primera línea.
Para ver los gráficos correspondientes a otros datos o modelos, se debe hacer clic en
la línea correspondiente.
Tutorial 2 – Scoring 16
Las columnas de la tabla pueden agrandarse para que entren los valores. Por ejemplo
Así es posible identificar cada modelo y sobre qué datos está aplicado.
Un estadístico adecuado para verificar un modelo de scoring es el KS (Kolmogorov-
Smirnov). Un KS de 30 o superior puede considerarse un buen modelo. Analicemos el
KS sobre los modelos.
El primer modelo creado, el que se basa en 5 bins, tiene un KS de 45.85 sobre los
datos de desarrollo, pero baja a 38.40 sobre los de prueba. Es probable que la razón
sea ese comportamiento extraño analizado previamente.
Tutorial 2 – Scoring 17
El siguiente modelo, basado en 4 bins, muestra una mejora sustancial sobre los datos
de prueba, respecto del primero, corroborando que nuestra decisión de utilizar 4 bins
fue acertada, al menos desde la perspectiva del KS.
Otra manera de verificar el modelo es mediante una tabla LIFT. Esta tabla se arma de
la siguiente manera:
1. Los datos se dividen en 10 grupos o deciles. Cada decil es una fila.
2. La columna Probabilidad Aleatoria corresponde a la probabilidad de encontrar
casos con Diabetes en cada decil, cuando todos los casos se ordenan al azar.
3. La columna Model. Probabilidad, corresponde a la probabilidad de encontrar
casos con Diabetes en cada decil, cuando todos los casos se ordenan en base
al score, de mayor a menor.
4. La columna Lift es el cociente entre la probabilidad del modelo y la aleatoria.
Si el modelo realiza un buen trabajo, es de esperar que la probabilidad del modelo sea
más alta que la aleatoria en los deciles superiores.
La tabla anterior muestra que con el modelo 1 y sobre los datos de desarrollo, el decil
1 agrupó el 25% de todos los casos con Diabetes. El decil 2 agrupó el 47%, el 3
agrupó el 59% y así sucesivamente.
Otra manera de ver estos valores es mediante un gráfico de Lift
Haciendo clic sobre la solapa Curva CG, obtenemos la curva deseada.
Tutorial 2 – Scoring 18
La recta azul en diagonal muestra la probabilidad aleatoria. La curva verde la
probabilidad del modelo y la roja muestra lo que sería un modelo perfecto.
La solapa Curva CG General muestra esta misma curva pero respecto de la
probabilidad aleatoria
La solapa Matriz de Confusión muestra la matriz de confusión considerando que las
predicciones se realizan de acuerdo al método elegido al construir el modelo.
Tutorial 2 – Scoring 19
Esta matriz muestra que el modelo acierta un 78.79% diciendo NO cuando la realidad
es NO y un 79.59% diciendo SI cuando la realidad es SI.
Haciendo clic derecho sobre la matriz, aparecen varias opciones. Por ejemplo, es
posible ver cuántos casos se predicen bien y mal, en vez de ver los porcentajes.
Haciendo clic sobre cada línea de la tabla superior se verán los gráficos
correspondientes a cada modelo y datos aplicados.
Tutorial 2 – Scoring 20
Si se desean ver dos o más rendimientos juntos para compararlos, se debe arrastrar el
título de la columna por la que se desea agrupar el gráfico hacia la parte superior. Por
ejemplo, si se desean ver ambos modelos juntos agrupados por los datos (desarrollo y
prueba), se debería arrastra Datos hacia arriba.
Esta acción agrupa las filas en base a los datos
Ahora también es posible hacer clic sobre las líneas Agrupadas.
Por ejemplo, haciendo clic sobre Agrupado por Datos Diabetes – TS se verán las
curvas de ambos modelos aplicados sobre los datos de prueba.
Con estos gráficos superpuestos es posible comparar ambos modelos más fácilmente.
Por ejemplo se puede ver que el modelo 2 (curva azul) es superior al modelo 1 (curva
verde)
Tutorial 2 – Scoring 21
8. Guardar el Proyecto
Para guardar el proyecto se puede hacer clic sobre Archivo y elegir la opción Guardar
Proyecto como…
O se puede hacer clic derecho sobre el proyecto contenido en el Explorador de
proyectos y seleccionar la opción Guardar Proyecto
Tutorial 2 – Scoring 22
Para abrir un proyecto guardado, se puede utilizar el botón Abrir de la barra superior
Si intentamos cerrar Powerhouse sin haber guardado el proyecto, recibirnos una
ventana de advertencia que nos permitirá guardar el proyecto en ese momento si es
que lo deseamos.
8. Resumen
Crear un modelo de Scoring con Powerhouse es muy simple, si se cuenta con los
datos apropiados. Cuando se arma la tabla de datos se deben agregar todas las
variables que supuestamente están relacionadas con la variable a predecir, sin
importar si una o más variables están correlacionadas. Powerhouse seleccionará las
mejores variables evitando aquellas que son colineales.
Tutorial 2 – Scoring 23
Ya que es posible construir más de un modelo, la selección del mismo debe hacerse
en base a los datos de desarrollo. Los datos de prueba sólo deben usarse al final del
proyecto y solamente para estimar el rendimiento que tendrá el modelo cuando se
ponga en producción.
Hay varias maneras de evaluar un modelo de scoring, pero quizás la más adecuada
sea utilizar criterios de negocio. Por ejemplo, si el scoring es para adquisición de
clientes, se debería calcular el costo de contactos y la ganancia esperada en caso de
respuesta positiva. Con estos datos y ordenando los clientes, es posible calcular una
ganancia marginal en función de los clientes contactados.