#15 Preguntas para cuestionar a tu modelo analítico

  • Autor de la entrada:
En este momento estás viendo #15 Preguntas para cuestionar a tu modelo analítico
Imagen de Freer Law para Getty Images en Canva.

¡Buenos días y buenos datos!

Las preguntas nunca son indiscretas. Las respuestas sí que a veces lo son.

Óscar Wilde. Escritor inglés.

Siempre he admirado a Óscar Wilde por su manera de transmitir certezas con fina ironía e inteligente sentido del humor. Y esta cita no desmerece porque nos revela una gran verdad.

No te arrepientas nunca de preguntar porque una pregunta bien hecha disipa dudas y construye conocimiento. 

De hecho, esa es mi manera de aprender y el motivo por el que hoy comparto las 15 cuestiones, y alguna sub-cuestión, que te ayudarán a evitar errores de principiante durante el entrenamiento de tu modelo de analítica avanzada.

¿Qué? ¿Cómo? ¿Por qué?

¿Cuántas veces te has encontrado con que has encargado algo a alguien y cuando te lo entrega no se parece a lo que has pedido? ¿O no funciona correctamente? ¿O no lo puedes utilizar?

Este, amigo mío, es el día a día de cualquier proyecto y el desarrollo de un modelo analítico es uno más.

De hecho, para complicarlo, entender el resultado de un algoritmo de aprendizaje automático no es fácil. 

Es más, a veces ni los científicos de datos que lo han desarrollado son capaces de explicar lo que ocurre al 100%. 

Por ello y aunque no puedas comprenderlo completamente, no te conformes. Pregunta siempre y asegúrate de que ciertas cosas no ocurren simplemente porque “lo dicen los datos…”. 

Preguntas

Antes de seguir, ¿recuerdas la metodología CRISP-DM?

Sus pasos, más simplificados, son los que vamos a seguir para organizar a nuestras cuestiones: 

  • Primero: Entendiendo el negocio.
  • Segundo: Comprendiendo y preparando los datos.
  • Tercero: Realizando el modelo y evaluando el resultado.
  • Cuarto: Desplegando el modelo.

Entendiendo el negocio

#1 ¿Cuál es el problema que queremos resolver?

Lo primero es identificar el tipo de problema

¿Tenemos que resolver un caso que implica una serie temporal? ¿Queremos clasificar algo? o ¿Nos gustaría recomendar un nuevo producto?

Tipos de problemas analíticos
Tipos de problemas para resolver con analítica avanzada.

Analicemos bien cuál es nuestro problema y tengamos claro el gran titular para determinar el contexto, recopilar los datos relevantes y orientar la solución.

Para ello, necesitamos saber si nos enfrentamos a algo nuevo o si ya hay alguna solución al problema que queramos mejorar.

#2 ¿Se está resolviendo ya este problema? ¿Cómo?

Si es así, entonces tenemos un modelo base contra el que comparar. Sólo nos resta analizar bien los datos y métricas ya existentes para ver qué podemos mejorar y qué no.

En caso de que sea un problema nuevo, estableceremos un modelo básico contra el que contrastar algoritmos. 

Una vez determinado el contexto, deberemos acordar cómo el negocio va a evaluar la solución entregada.

Ello nos lleva a la siguiente pregunta.

#3 ¿Cuáles son los indicadores clave del negocio?

Es imprescindible tener claros los indicadores de negocio desde el principio para evaluar la capacidad de conseguir el resultado buscado. 

Por ejemplo, dependiendo del uso que se le quiera dar, para una misma línea de productos se podría querer: 

  • mejorar las ventas de un producto concreto
  • incrementar la cartera de clientes global
  • aumentar ingresos vendiendo los productos más caros
  • por el contrario reducir la inversión para una misma rentabilidad. 

El indicador clave será el que determine el objetivo de nuestro modelo analítico.

#4 ¿Tenemos definido el objetivo?

Es importante tomarse el tiempo que sea necesario para definir el dato o variable que se va a utilizar cómo objetivo del modelo.

Sin objetivo, no hay modelo y con el objetivo incorrecto, hasta el mejor modelo puede perjudicar al negocio. 

Si no lo ves claro, lee el ejemplo de Oleg Novikiv en KDnuggets.

En este artículo, Oleg nos cuenta cómo desarrolló un modelo analítico muy bueno para incrementar el número de clientes que accedían a los productos en una página web (variable objetivo = “click” en un producto) pero este conllevó una reducción de ventas e ingresos globales. 

Tras el cambio de variable objetivo (nueva variable objetivo = «ventas») y un poco de suerte, la historia de Oleg tiene un final feliz ya que consiguió que finalmente los clientes compraran más productos con un mejor margen y mayor rentabilidad. 

Pero esto no va de suerte, va de hechos y la mayor certeza de que algo va bien son los indicadores con los que el negocio mide el éxito o fracaso del modelo. 

Por ello, determinar bien el objetivo de tu modelo implica saber cómo este se relaciona con la métrica de negocio por el que el negocio va a evaluar el resultado. 

¡No empieces nunca sin tener totalmente acordado el objetivo del modelo con el dueño del producto!

#5 ¿Hay un caso de negocio detrás que justifique la resolución del problema?

Y es que “Si no hay generación de valor, no hay proyecto”… 

De hecho, preparar un caso de negocio detallado ayuda a establecer el marco de actuación: 

  • Sirve para conocer el interés del negocio para sacarlo adelante ya que no siempre es igual para todas las personas clave que hay que involucrar.
  • Facilita un orden de magnitud de la mejora esperada en el indicador clave de negocio.
  • Ayuda a evaluar la viabilidad en inversión de tiempo y recursos de este tipo de proyectos.

En realidad, las iniciativas de datos pueden ser realmente complejas y normalmente tienen que tener en cuenta muchas consideraciones.

#6 ¿Alguna limitación o consideración del negocio para tener en cuenta en el modelo? 

Las consideraciones con las que nos podemos encontrar son múltiples.

Quizá las más relevantes porque pueden convertirse en puntos de bloqueo son:

  • Están todas las personas clave del negocio involucradas en el proyecto: marketing, operaciones, ventas, técnicos, etc…
  • Tengo datos disponibles o tengo que generarlos.
  • ¿Cada cuánto tiempo necesito los resultados? ¿Tiempo real?¿Un día? ¿Un mes?
  • Necesito crear alguna herramienta nueva o integrar los resultados en una existente.
  • Existe algún requisito específico en cuanto a seguridad, privacidad o ética de los datos.

Una vez tengo definido mi problema, el objetivo y su contexto, pasamos a la siguiente etapa: análisis y preparación de los datos.

Comprendiendo y preparando los datos

¿Qué es lo que no se nos puede escapar en esta etapa? 

#7 ¿Cómo has elegido las variables y cuál es la más relevante?

Es muy relevante saber contar cómo has seleccionado tus variables y las siguientes sub-preguntas te ayudarán a explicarte:

¿Te ha ayudado el negocio a seleccionar las variables?

Al final el negocio es quien más conoce el dominio en el que estamos trabajando.

Sin duda es quien mejor te va a orientar hacia las variables que tiene sentido considerar o son más relevantes para establecer el objetivo. 

¿Has podido utilizar todas las variables o te has dejado alguna fuera? Si no has incluido alguna ¿por qué?

Puede que no hayas podido utilizar una variable por temas de calidad de datos o porque no tienes información de ese dato para un número alto de registros.

Tienes que analizarlo y dar argumentos razonables para que no tiren tu modelo por «falta de datos relevantes».

Tienes suficiente histórico y volumen de datos.

Para hacer cualquier predicción necesitas profundidad de datos, al menos de 6 meses para hacer un modelo relevante. Incluso más en el caso de una serie temporal (entre 1 año y año y medio de datos).

Con menos que esto, tienes que dejar claro que sólo podrás hacer un prototipo, prueba o piloto, pero no vas a poder asegurar un resultado concluyente para llevarlo a producción y usarlo de manera masiva.

Por otro lado, necesitas suficiente cantidad de datos en volumen para encontrar aprendizajes en ellos.

Con unos pocos registros, no vas a poder hacer analítica avanzada, como mucho realizarás otras técnicas descriptivas o diagnósticas más básicas.  

¿El conjunto de datos representa a toda la población que quieres modelar?

Este punto lo explico con un ejemplo:

  • Tengo una empresa de venta de productos de estética y quiero hacer un modelo de propensión a la compra de productos faciales cuando ya he comprado productos corporales. Lo que se llama compra cruzada de productos.
  • Los canales a través de los que vendo son llamada telefónica, tienda física y tienda online
  • Además los clientes compran de forma equivalente a través de cualquiera de ellos. 
  • Tengo un problema porque hasta el momento sólo he podido recopilar datos de compras anteriores a través de la tienda física. Son los únicos que tengo para entrenar a mi modelo. 

En este caso, mi algoritmo sólo podrá estimar la propensión a la compra de productos a través de tienda física.

Nunca podrá calcula la propensión a la compra total que incluiría también la propensión a comprar a través de llamada telefónica y por Internet. 

Debido a esto, se tiene sesgo de canal de compra en el modelo ya que sólo estoy representando a las personas a las que vendo en tienda física pero no a los que vendo por el resto de canales.

Esto haría que tuviera que redefinir mi objetivo o dejárselo claro al negocio.

¿Cómo te has asegurado de que datos del futuro no “se han colado” en los datos de entrenamiento? 

Este es un error que invalida cualquier modelo y si me apuras puede dañar bastante la reputación de un científico de datos.

De hecho, en los proyectos de fin de máster de los Máster de Científicos de Datos de las escuelas más relevantes, es justificación directa para suspender el proyecto. 

Por ello, asegúrate que los datos de entrenamiento siempre son del pasado y no estás incluyendo datos del momento que quieres predecir. 

Un indicador de que has podido cometer este error es que tienes métricas casi perfectas si no perfectas.

Si esto te pasa, desconfía y revisa.

¿Cómo has tratado los datos anómalos?

Un dato anómalo (outlier en inglés) es el que se desvía mucho de los datos estándares. 

En lenguaje matemático un dato anómalo es un registro mayor a más/menos 2 ó 3 veces la desviación estándar de la distribución del conjunto de datos. 

En muchas ocasiones, el considerar estos valores puede desvirtuar los resultados y normalmente se filtran. 

Pero, ¿qué pasa si tu problema consiste en buscar justo estas anomalías?

Por ejemplo, si quisieras detectar un ritmo cardíaco extraño o un funcionamiento de una máquina no habitual, no los puedes desechar.

En este caso, identificar el dato extraño es lo que resuelve tu problema.

#8 ¿Cómo de balanceada está la variable objetivo?

Los puntos anteriores son comunes para todas las variables: los predictores y la variable objetivo. 

Además, en el caso del objetivo en un problema de clasificación, hay que tener en cuenta si está muy desbalanceado o no.

Así podremos determinar mejores parámetros de entrenamiento y las métricas a utilizar.

#9 ¿Has validado los datos que estás utilizando desde el punto de vista ético y de la privacidad? 

Algunos sesgos de los datos pueden tener implicaciones éticas

Por ejemplo, para un producto comprado habitualmente por hombres, no vamos a tener suficiente información de mujeres que podrían estar interesadas.

Esta falta de datos se va a reflejar en las predicciones y propuestas que haga mi algoritmo. 

Hay un caso que saltó a los medios hace unos años y que refleja esta situación.

Google fotos, a través de su programa de reconocimiento facial, catalogó una foto de una mujer de color como un mono.

Esto fue debido a que el modelo analítico no había visto suficientes caras de mujeres de color y se equivocaba mucho identificando estas. 

Por ello, hay que ser especialmente cuidadosos en estos casos e identificar situaciones que puedan llevar a discriminación, desechando algoritmos que pueden perjudicar a un segmento de la población.

En conclusión, si alguna predicción te sorprende, no te limites a aceptar “lo que dice el algoritmo”. 

Pregunta qué es lo que se ha considerado para llegar a dicha conclusión para modificarlo si va en contra de algún grupo. 

Adicionalmente, y no menos importante, hay que cumplir la regulación de privacidad de datos ya que puede conllevar penalizaciones muy relevantes para la compañía al menos en Europa y una pérdida de credibilidad importante para esta.

No te olvides de realizar un análisis de viabilidad legal para ver qué datos podemos utilizar, cuáles no y cuales podríamos pero anonimizados (sin saber quién está detrás).

Avanzamos un paso y nos metemos de lleno a entrenar los modelos y a evaluar el resultado.

Realizando el modelo y evaluando el resultado

¿Qué preguntas haríamos aquí al científico de datos?

#10 ¿Has separado datos de entrenamiento y pruebas y analizado la estabilidad de la predicción?

Primero, porque es también de primero de modelos, confirmaremos si se ha probado el modelo con un conjunto de datos diferentes del utilizado para el entrenamiento.

Además, revisaremos si la división se ha realizado de manera aleatoria y si la proporción es adecuada.

Sólo así podemos evaluar cómo de bien predice un modelo para nuevos conjuntos de datos. Es decir, cómo de bien funciona.

Aunque suene muy técnico, una manera de asegurarnos de que la predicción funciona con diferentes grupos de datos, es analizando su varianza. 

Así nos asegurarnos de que el científico de datos ha tenido en cuenta y ha gestionado posibles problemas de sobreajuste del modelo.  

#11 ¿Cuáles son las métricas clave del modelo?

En la entrada anterior ya hablé mucho de métricas así que no me voy a extender mucho más.

Simplemente es importante recordar que elegiremos una métricas u otras en función del objetivo y del tipo de problema a resolver:  

  • Hay unas métricas para problemas de clasificación y otras para los problemas de regresión. 
  • No es lo mismo que los datos objetivos estén balanceados o desbalanceados.
  • Habrá ocasiones en que me fije especialmente en la precisión y otras en las que la sensibilidad es lo importante.
  • ¿El modelo ordena correctamente

En definitiva, es importante entender qué es cada métrica y qué mide para tener claro lo que nos presentan los científicos de datos.

En este último punto cobra especial relevancia la capacidad de los técnicos de explicar información matemática compleja de forma comprensible.

Por ello, un campo importante de la analítica avanzada es la visualización de datos y contar historias basadas en información (storytelling en inglés).

Lo veremos en más detalle en una entrada que tengo pensada para más adelante.

#12 ¿Tiene sentido el resultado obtenido? 

Esta pregunta la confirma el negocio pero un científico de datos debe tener nociones del dominio para que lo que presente no sea muy remoto. 

Cosas a revisar en un modelo predictivo serían si ¿tienen sentido las variables que mi modelo ha considerado más relevantes para estimar el objetivo? 

Por ejemplo, tengo un modelo para predecir la propensión de un cliente a darse de baja de un cliente a un servicio.

En este caso lo lógico es que las principales variables sean precio, incidencias con el servicio, alguna condición socioeconómica (por ejemplo, haber perdido el empleo). 

No tendría sentido que la variable más relevante obtenida fuera que al cliente le gusta viajar a países exóticos…

Es cierto que la gracia de esto está en encontrar relaciones que a simple vista no son evidentes pero no debemos confundir resultados con efectos aleatorios que hayan ocurrido por casualidad.

Por ello, el conocimiento del negocio es tan importante.

#13 ¿Puedo utilizar los resultados del modelo?

Tengo un modelo, de acuerdo, pero ¿lo puedo utilizar? 

Hay veces que aunque matemáticamente mi modelo consiga mejores resultados que no hacer nada, la mejora no justifica el impacto de usar dichos aprendizajes. 

Por ejemplo, una empresa quiere aprovechar las llamadas que hacen los clientes para preguntar por dudas sobre facturas.

El objetivo es anticipar la solución de algunos problemas técnicos no críticos que tienen y así mejorar la satisfacción con el servicio

Para ello:

  • El equipo de atención al cliente necesita saber si dicho cliente tiene el problema técnico no crítico que se quiere anticipar.
  • Pero solo quiere preguntar a clientes que tengan realmente problemas para levantar dudas sobre el servicio a aquellos que no tienen.

Tras analizar el problema y datos, el científico de datos presenta la siguiente información:

  • Si no se hace nada, un 10% de los clientes que me llaman preguntando por la factura, sufre el problema técnico. 
  • Con un modelo analítico, es capaz de predecir un 25% de los clientes que tienen esos problemas con un 60% de precisión. 

Desde un punto de vista técnico, el modelo es bueno ordenando porque duplica la capacidad de detectar a los clientes con problemas (de 10% a 25%).

Pero desde el punto de vista de negocio se equivoca demasiado (2 de cada 5 veces) y no compensa utilizarlo.  

#14 ¿Se pueden y cómo voy a pilotar los resultados?

Una vez se ha desarrollado el modelo y se entienden los resultados teóricos obtenidos, hay que evaluarlo en la práctica.

Es lo que se llama lanzar un piloto del modelo.

Para que un piloto tenga sentido hay que comparar escenarios: “no hacer nada” frente “aplicar los resultados del modelo”.

El grupo o escenario que representa “no hacer nada” se llama grupo de control y hay que ser cuidadosos a la hora de seleccionarlo manteniendo las condiciones de aleatoriedad para que represente a la población que quiero probar.

De la misma manera, se seleccionará el grupo sobre el que se ejecutan los resultados del modelo.

Normalmente la selección del grupo de control conlleva una negociación entre el negocio y los científicos de datos. 

Cómo el grupo de control implica que no hago nada sobre dicha población, el negocio normalmente quiere minimizarlo lo más posible. 

Pero para que la comparación tenga sentido matemático, es necesario un tamaño mínimo.

Desde un punto de vista del científico de datos, si no se asegura este mínimo, no se va a poder realizar una comparación aceptable. De ahí que sea importante fijarlo en fases tempranas del proyectos para evitar sorpresas al final.

En ocasiones, el grupo de control es otro modelo alternativo y lo que hago es comprobar si uno funciona mejor que otro en la práctica. Esto es lo que se llama una prueba A/B

Adicionalmente en los problemas de clasificación, en esta etapa es donde ajustamos los umbrales de la clasificación. 

En general, como estamos ya en un entorno real, los indicadores que utilizaremos para evaluar ya sea pilotos, pruebas A/B o umbrales son los definidos con el dueño del producto o servicio cuando hemos estado detallando el problema.

Tras el piloto y la validación, ya podemos desplegarlo masivamente en el mundo real.

Desplegando el modelo

#15 ¿El modelo obtenido puede ser implementado en producción?

El lanzamiento de un producto o servicio basado en datos o en un modelo analítico es equivalente a cualquier otro complejo que implica diferentes sistemas y muchos datos.

En esta etapa hay que poder responder al menos los siguientes puntos para poderlos subir a producción:

  • ¿Se ha definido el proceso de lanzamiento con todo el equipo de negocio que lo va a gestionar? 
  • ¿Es una solución completamente nueva? ¿Hay que formar al negocio en la nueva aplicación? ¿Se necesitan nuevos informes?
  • ¿Es una solución robusta ante fallos? Es decir, ¿hemos automatizado alertas? ¿Cuánto del proceso es manual y cuando automático? ¿Cómo me aseguro de la calidad de los datos que lo alimentan?
  • Los técnicos que lo tienen que mantener, ¿lo conocen en detalle? ¿Está documentado? ¿Se han hecho pruebas de rendimiento en el caso de interactuar con mucho volumen de datos o en tiempo real?
  • ¿Cada cuánto tiempo hay que ejecutar el modelo
  • ¿Cada cuánto tiempo espero que se degrade el modelo y habría que re-entrenarlo

TL;DR:

Generalmente, resolver un problema con analítica avanzada es un proyecto complejo que exige tener en cuenta múltiples variables (y nunca mejor dicho).

Por ello, la capacidad de anticipar y enfrentarse a cuestiones clave distinguirá a un experto en el mundo de los datos de alguien que está empezando y afianzará la credibilidad y la validez de los resultados.

En definitiva, cuando estés desarrollando un modelo analítico, nunca dejes de hacerte las siguientes preguntas, y si la respuesta no te convence sigue preguntando.

checklist de modelos analíticos
Lista de puntos para cuestionar un modelo analítico.
kaboom onomatopeya

Si has llegado hasta aquí, mil gracias y si te ha gustado, compártelo en redes y dímelo en comentarios.

Te espero en las siguientes entregas de «La época de la información» donde cerraré este bloque de modelos con las soluciones software que existen para implementarlos. 

Referencias

Hoy no dejo bibliografía dedicada porque lo que he escrito está basado en mi experiencia y alguna otra fuente en la que me he inspirado está referenciada directamente sobre el texto.

En cualquier caso, te remito a las referencias de métricas y principales conceptos de aprendizaje automático para terminar de asentar conceptos que han salido a lo largo de la entrada.