Modelos Predictivos y la Matriz de Confusión
Portada » Machine Learning » Modelos Predictivos y la Matriz de Confusión

Modelos Predictivos y la Matriz de Confusión

A principios de los años 40 el radar era una tecnología incipiente que vio su desarrollo acelerado durante la Segunda Guerra Mundial motivado por el interés de las fuerzas armadas británicas por intentar detectar con la mayor precisión posible la llegada de los bombarderos del Tercer Reich alemán. En aquellas primeras versiones del radar el nivel de ruido en la señal era considerable y en muchas ocasiones ser capaz de diferenciar el vuelo de una bandada de gaviotas de la llegada de los bombarderos de la Luftwaffe no resultaba precisamente sencillo.

Un Sistema de Clasificación Binaria es un sistema para tomar decisiones a la hora de clasificar un dato en el que solo hay dos categorías posibles, de ahí el término binario. En nuestro bélico ejemplo los dos tipos posibles de clases serían:

  1. Se trata de un ataque > decisión: sacar los aviones y combatir a la aviación alemana. 
  2. Se trata de «ruido» > decisión: Dejar los Spitfires en los hangares y arriesgarse a que el ataque quede sin respuesta

En aquella época la decisión de sacar los Spitfire británicos a combatir a un montón de pájaros, un falso positivo, suponía un desperdicio de recursos valiosos y muy escasos. Pero el riesgo de un falso , decidir que eran pájaros y no aviones alemanes, tenía un coste mucho mayor. Es entonces que una brillante mente entre las fuerzas aliadas desarrolló la metodología que se sigue usando a día de hoy para testar la bondad de un modelo predictivo.

Predecir la Conversión

Pero vamos a trasladarnos a un territorio que nos es más cercano (y mucho menos arriesgado) pero que también funciona como un sistema binario de clasificación: la probabilidad de conversión. Cada vez que llega alguien a nuestro sitio web podemos intentar crear un modelo que trate de predecir cuál es la probabilidad de que ese usuario convierta (positivo) o no (negativo).

Generalmente los pasos a seguir comenzarán con un proceso de entrenamiento sobre los datos que tenemos disponibles de lo que ha ocurrido en el pasado. El modelo que apliquemos intentará identificar cuáles son los parámetros que más influyen en la capacidad de discriminar adecuadamente la clasificación, es decir, si un nuevo usuario convertirá o no.

Entrenamiento y Validación

A la hora de trabajar con los datos para el entrenamiento frecuentemente se suele dividir aleatoriamente los datos que usaremos para entrenar nuestro modelo en dos subconjuntos.  El modelo se entrenará con uno de los subconjuntos de esos datos al que en un alarde de imaginación se le denomina datos de entrenamiento.

Posteriormente, el subconjunto de datos restante que no usamos para entrenar el modelo se utilizará para testar su capacidad para predecir correctamente el comportamiento de los usuarios, comparando las predicciones del modelo con aquellos datos de nuestro histórico que no formaron parte de los datos de entrenamiento. De ahí que reciban el nombre de datos de validación o datos de prueba o test.

Una práctica habitual es dividir los datos aleatoriamente en una proporción 70/30 o similar. Un 70% de los datos se usan para el entrenamiento y el otro 30% se reservan para validar el modelo. Una de las desventajas de este tipo de reparto aleatorio es que diferentes particiones pueden arrojar diferentes resultados incluso aplicando un mismo tipo de modelo de Machine Learning. Este problema puede ser incluso peor si no contamos con un gran volumen de datos para entrenar nuestro modelo. Pero para minimizar este efecto contamos con la validación cruzada (más sobre esto al final del artículo)

La Matriz de Confusión

Para representar la capacidad de nuestro modelo para predecir correcta o erróneamente el resultado objetivo (también llamado variable objetivo o target) usamos lo que se denomina Matriz de Confusión.

La matriz de confusión representa en una tabla los resultados del modelo a la hora de acertar en su predicción de si los usuarios de los datos de test convierten o no. Al conocer el comportamiento real que tuvieron esos usuarios podemos representar en la matriz los siguientes conceptos:

  • Predicciones correctas de conversión (True Positive en inglés, comúnmente abreviado como TP) es decir, el modelo predijo una conversión y en realidad hubo una conversión.
  • Predicciones incorrectas de conversión (False Positive / FP). El modelo dijo que convertiría pero en realidad ese usuario no convirtió.
  • Predicciones correctas de no conversión (True Negative / TN). El modelo dijo que no convertiría y acertó en su predicción.
  • Predicciones incorrectas de no conversión (False Negative / FN). El modelo dijo que no convertiría pero en realidad el usuario terminó convirtiendo.

En el caso de que nuestro caso sea el de un conjunto de datos balanceado el objetivo de nuestro modelo será maximizar la diagonal dibujada en naranja.

Es decir, acertar correctamente el mayor número posible de ocasiones lo que intentamos predecir: aquellos usuarios que convertirán frente a aquellos que no convertirán. A la vez intentaremos minimizar el número de predicciones erróneas, los Falsos Negativos (TN) y los Falsos Positivos (FP)

Lo habitual es que apliquemos diferentes métodos o modelos estadísticos para la elección de nuestro modelo predictivo en busca del que mejores resultados arroje en sus predicciones. Para poder comparar sus resultados partiendo de esta matriz contamos con las siguientes métricas.

Métricas de Clasificación

He mencionado hace un par de párrafos que el objetivo de nuestro modelo es acertar correctamente en el mayor número posible de ocasiones lo que intentamos predecir (variable objetivo) y minimizar el número de veces que el modelo se equivoca en su predicción. Con el objetivo de evaluar estos aspectos contamos con el siguiente conjunto de métricas.

Exactitud / Accuracy

Nos da la visión más general de la bondad del modelo. Cuanto mayor sea la exactitud mayor será el rendimiento general del modelo en todas las categorías. Otra manera de explicarlo es preguntarnos  ¿cuántas veces acierta lo que intentamos predecir (convierte/no convierte) del total de predicciones que realiza el modelo en las cuatro categorías?. 

La formulación de la exactitud es la siguiente:

El problema de la exactitud es que puede resultar engañosa en algunas ocasiones y precisamente nuestro ejemplo es una de ellas. El motivo es que en el caso de la conversión, y otros similares, decimos que las clases no están balanceadas. ¿Qué quiere decir que no están balanceadas? pues sencillamente que el número de casos positivos (conversiones) es siempre mucho más pequeño que el de los casos negativos (no convierten).

Precisión / Precission

Estamos intentando predecir las conversiones, es decir nuestros positivos. La precisión nos dice exactamente cómo de bien lo estamos haciendo. Es decir, la precisión nos proporciona la visión de cuántas de nuestras predicciones de conversión acabaron siendo realmente conversiones. Una precisión alta indicará que nuestro modelo está arrojando muy pocos falsos positivos.

La formulación de la precisión es:

Recuperación / Recall 

La recuperación o recall se concentra en la proporción de casos positivos reales que el modelo es capaz de predecir correctamente, es decir, de todas las conversiones reales de nuestro conjunto de validación, cuántas hemos predicho correctamente. 

El numerador de la formulación del Recall es el mismo que el de la precisión pero, al centrarnos en esta ocasión en la proporción de positivos, nuestro denominador usa ahora los falsos negativos, aquellos que el modelo dijo que no convertirían y sí lo hicieron.

Especifidad / Specificity

Esta métrica se añade a las anteriores para ofrecer una visión del reverso tenebroso de la conversión, los casos negativos. La especifidad mide la proporción de casos negativos reales que el modelo es capaz de predecir correctamente como negativos. Resulta especialmente útil cuando el coste de tener falsos positivos es alto.

La formulación es parecida a la precisión pero desde el lado de los negativos

En este artículo me ha faltado una pieza fundamental para la evaluación de los modelos que también se creó en la época de los radares que mencionaba al inicio y que sigue vigente casi 80 años después de su invención. Se trata de un complemento clave para evaluar cómo de bueno es en realidad un sistema de clasificación binaria y se conoce con el peculiar nombre de la Curva de Característica Operativa del Receptor, más conocida por la Curva ROC por sus siglas en inglés (Receiver Operating Charasteristic Curve). Dejaré para un próximo artículo abordar este tema para poder hacerlo con profundidad.

Reconocimientos:
 Foto portada IWM ROYAL AIR FORCE RADAR, 1939-1945 Copyright
 Foto Spitfire
 

 

CompartirFacebookX
Únete a la discusión

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Instagram

Instagram has returned empty data. Please authorize your Instagram account in the plugin settings .

Please note

This is a widgetized sidebar area and you can place any widget here, as you would with the classic WordPress sidebar.

Johannes

A multi-concept personal blog and magazine WordPress theme