En este artículo trataré sobre cómo medir el rendimiento de un modelo de score, en particular para variables dependientes de dos estados, o categorías, por ejemplo, un modelo de score para estimar la probabilidad de fuga de clientes (attrition).
En un modelo de attrition que realicé el año pasado los resultados sobre los datos de prueba se resumen con la siguiente tabla:
Esta tabla, llamada matriz de confusión, es una de las herramientas que se pueden usar para medir el rendimiento de un modelo que predice dos posibles resultados. En este caso los estados en que se encuentran los clientes son:
1. Activos, son aquellos que siguen operando con la empresa
2. No Activos, son los que dejaron de operar con la empresa
Los datos que se usaron para probar el modelo contenían 36.292 clientes en total, de los cuales había 33.417 clientes Activos y 2.875 clientes No Activos, tal como se puede ver en la matriz de confusión. O sea, en esta tabla, las filas representan la variable dependiente o como figura a la izquierda, la Categoría Actual.
La distribución de los estados de la variable dependiente es:
Porcentaje de Activos = 33.417 / 36.292 = 92,08%
Porcentaje de No Activos = 2.875 / 36.292 = 7,92%
Una vez que se aplicó el modelo sobre estos datos, se obtuvieron las predicciones correspondientes. Se predijeron 33.650 clientes como Activos y 2.642 como No Activos.
Con esta tabla podríamos calcular cuántos aciertos tuvo el modelo. Para esto sólo hay que sumar los casos en los que el modelo acertó. O sea, se predijo No Activo y el cliente es No Activo, y se predijo Activo y el cliente es Activo.
O sea el modelo acertó
Aciertos: 991 + 31.766 = 32.757 veces
El porcentaje de aciertos se calcula como la cantidad de aciertos dividido la cantidad total de casos
Porcentaje de aciertos = 32.757 / 36.292 = 90,26%
La pregunta es, ¿es útil esta medición? Antes de contestar esta pregunta vamos a calcular cuánto sería el porcentaje de aciertos de un modelo que sólo responda al azar pero respetando la distribución de la variable dependiente. O sea, un modelo que responda Activo el 92,08% de las veces y No Activo el 7,92% restante de las veces.
Haciendo un poco de cálculos encontramos que este modelo tendría un porcentaje de aciertos de
Aciertos = 7,92% * 2.875 + 92,08% * 33.417 = 30.998
% Aciertos = 30.998 / 36.292 = 85.41%
En principio parece que el primer modelo (el que tiene un acierto de 90.26%) no es mucho mejor que un modelo al azar. Es más, hay casos en que el porcentaje de aciertos de un modelo al azar supera al de un modelo hecho con alguna herramienta de Data Mining. Pero entonces ¿de qué sirve trabajar tanto en un modelo si hacer predicciones al azar podría tener un mayor porcentaje de aciertos?
Una de las diferencias está en las predicciones de la clase o categoría menos representada. O sea, en nuestro ejemplo, en las predicciones de los clientes No Activos. Si comparamos los aciertos de ambos modelos, veremos una gran diferencia:
%Aciertos = Aciertos de No Activos / Total de No Activos predichos
%Aciertos modelo DM = 991 / 2.642 = 37.41%
En el caso de predicciones al azar, se predijeron 7,92% del total de casos, o sea 2.875 = 7,92% * 36.292
%Aciertos modelo al azar = 227 / 2.875 = 7.92%
Ahora se puede apreciar el valor de un modelo realizado con técnicas de Data Mining, ya que es capaz de predecir mucho mejor los clientes No Activos.
En el siguiente artículo seguiré con este tema.
Durante este año que viene me gustaría recibir algunos comentarios acerca de los artículos o los temas tratados. Al no tener feedback no tengo claro si los temas son interesantes o de la profundidad esperada.
Les deseo a todos los lectores del blog que tengan unas Felices Fiestas y un excelente 2008.
Hasta pronto,
Marcelo