Mediante el mantenimiento predictivo, las máquinas de vending y street machines gozan de una conservación más óptima. Para alcanzarla, los técnicos y los científicos de datos trabajan duro. En este artículo os contamos cómo lo consiguen.
La industria 4.0 está comportando una revolución a diferentes niveles en el ámbito industrial. La reducción de precios en la sensorización de equipos, de procesos de fabricación y el incremento exponencial del poder de procesamiento de datos han permitido que muchas empresas cambien su aproximación al negocio de una basada en instintos a una basada en datos.
Sin embargo, la industria pesada (aquella en la que se suele pensar al hablar de sensorización) no es la única que se puede beneficiar de las ventajas de la industria 4.0, y ahí entra el tema del que queremos hablar hoy: como adaptar las máquinas de vending o street machines a la industria 4.0.
¿Por qué las máquinas de vending son una buena opción para pensar en la industria 4.0?
Las respuestas son variadas. La industria 4.0 se basa en la recogida y procesamiento de datos. En este contexto, y debido a la reducción de precios tanto de tarjetas SIM como del precio de la mayoría de sensores, y considerando que las máquinas de vending utilizan sensores genéricos (y por tanto muy baratos) se pueden sensorizar fácilmente estos equipos.
Es más, muchos de estos equipos vienen parcial o totalmente sensorizados de fábrica (como por ejemplo el control de temperatura de los productos de las máquinas de vending de alimentación).
En general, los parques de máquinas de vending que controla un mismo distribuidor/fabricante son grandes (hablamos de cientos o miles de equipos bajo el control de una misma empresa). En este contexto recopilar grandes volúmenes de datos es sencillo, ya que se generan en tiempo real.
A partir de lo anterior, y considerando que los datos no son un problema de cara al análisis de street machines, la pregunta es: ¿qué problemas se pueden tratar mediante la combinación de máquinas de vending e inteligencia artificial? Hay multitud de opciones al respecto:
- ¿Dentro de los artículos disponibles para su venta en las máquinas de vending, cuáles se venden más? ¿Cómo evolucionará esta tendencia de cara al futuro, para preparar stocks y facilitar la planificación de la reposición de artículos?
- ¿Cuándo se averiará una máquina de vending? De saberlo, se pueden planificar las reparaciones con tiempo, en lugar de tener que atender incidencias a toda prisa.
- En base a los lugares donde hay ahora mismo máquinas de vending: ¿dónde colocar nuevos dispositivos de cara a maximizar las ventas?
El presente artículo resumirá la aproximación tomada por Datision de cara a tratar el segundo de estos problemas, o lo que es lo mismo, ¿cómo utilizar herramientas de machine learning para facilitar el mantenimiento de street machines?
Incorporando el mantenimiento predictivo a street machines
Paso 1: contextualizar el problema
Como en cualquier problema de analítica de datos o machine learning, lo más importante de cara a dar una solución adecuada es entender exactamente qué problema se quiere resolver. En base a la respuesta a esta pregunta diseñaremos todo el sistema de predicción, así que es importante que capte la esencia del problema que se quiere tratar.
En este caso, la pregunta a responder es sencilla: ¿se puede generar de alguna forma una métrica que permita entender a un equipo no técnico que máquina necesita atención antes? ¿Puede esta métrica ser un único número, de forma de que sea fácilmente comparable para simplificar la toma de decisiones?
Desde Datision el enfoque que se le ha dado al problema ha sido tratarlo como un problema de tratamiento de datos tabulados. Para ello se ha definido lo siguiente:
- Datos de entrada: conjunto de información proveniente, en su mayoría, de los distintos sensores de las máquinas de vending. Se toman a intervalos regulares, así que para un instante de tiempo se tiene un vector de información con el estado de los diferentes elementos de la máquina de vending en ese momento (temperatura, número de transacciones realizadas, estado de los diferentes artículos de la máquina, etc.).
- Datos de salida: variable continua en un rango entre [0.0, 1.0] que define la probabilidad de una street machine de averiarse para un instante de tiempo dado.
- Limitaciones: En cualquier problema de aprendizaje automático hay que definir en qué escenarios funcionará el sistema y en qué escenarios no lo va a hacer. En este caso, por ejemplo, el sistema será capaz de predecir la probabilidad de una rotura por desgaste, pero nunca la probabilidad de, por ejemplo, una rotura por golpe (ya que es imposible).
Paso 2: tratamiento de datos
Una vez definido el contexto del problema, toca empezar a trabajar. El primer paso en cualquier problema de análisis de datos es comprobar el estado de los datos, o lo que es lo mismo, entender el problema en el que se está trabajando. Por ejemplo, algunas de las preguntas que se deben estudiar son las siguientes:
- ¿De qué tipo de datos estamos hablando (numéricos, categóricos, booleanos, etc.)?
- ¿Están correctamente estructurados los datos o hay que trabajarlos para convertirlos a una estructura tabular?
- ¿Existen valores nulos/huecos en los datos?
- ¿Cuál es la distribución de los datos?
- ¿Se puede aplicar alguna transformación a los datos para que sigan una distribución más interesante de cara a la interpretación de los mismos? (por ejemplo, en el caso de máquinas de vending, en lugar de usar coordenadas usar el barrio/ciudad donde se ubican)
- ¿Existen outliers (valores extremos) en los datos? ¿Tienen sentido esos valores extremos, o son errores de medición?
- ¿Están normalizados los datos? ¿Las diferentes variables pueden tomar un rango de valores infinito, o ese rango de valores está acotado en un intervalo?
- ¿Podemos generar fácilmente un conjunto de datos etiquetado (del que conocemos los datos de salida)?
- ¿Es necesario que en nuestro vector de estados haya información de no solo el estado actual del sistema, sino del estado del mismo en días anteriores?
- Etc.
El objetivo ha de ser, en definitiva, obtener un conjunto de datos estructurado de forma de que podamos entenderlo mejor por un lado y por otro podamos introducirlo en nuestros algoritmos de machine learning. Este proceso se realiza de forma iterativa, a la vez que se comprueba la eficacia de los algoritmos de machine learning.
Paso 3: cálculo de la probabilidad de avería
No obstante, hay una pregunta que todavía no hemos respondido: ¿Cómo sabremos la probabilidad de rotura en cada instante de tiempo? (información imprescindible para cualquier problema de aprendizaje automático).
Lo cierto es que solo hay un punto en el que se puede saber a ciencia cierta la probabilidad de rotura de un equipo de vending, y es cuando se rompe y deja de enviar datos (probabilidad de rotura del 100%, o un dato de salida de 1.0 en nuestro algoritmo de machine learning).
Sobre el resto de puntos en el ciclo de vida de la máquina solo se pueden hacer suposiciones: si la máquina al instalarse es nueva, podemos asumir que las probabilidades de rotura de la misma son bajas (cercanas al 0%) y por tanto podemos decir que tiene, de cara a entrenar al sistema, una probabilidad de rotura de 0.0.
A partir de aquí, el resto de datos de la máquina pueden etiquetarse en base al conocimiento experto del fabricante/distribuidor:
- Si las máquinas se desgastan de forma similar durante todo su ciclo de vida, podemos etiquetar el resto de datos mediante una función lineal.
- Si el incremento de desgaste aumenta conforme más desgastada está la máquina (las piezas rozan más entre sí, por ejemplo) podemos usar una función exponencial.
- Etc.
Paso 4: crear el modelo de datos que mejor se adapte al problema
Ahora sí, ya tenemos un conjunto de datos estructurado y etiquetado. ¿Cómo generamos el mejor modelo para este problema? ¿Existe acaso un mejor modelo? La respuesta es que no, tal y como explica el “No free lunch theorem”.
Cada problema tiene unas condiciones específicas y, por tanto, no se puede saber de antemano qué modelo predictivo se adaptará mejor al problema (aunque, al igual que en el arte, el científico de datos puede tener cierta intuición de qué modelo funcionará mejor en base a las características del problema).
La alternativa que se suele abordar en estos casos es una de prueba y error. En base a los datos iniciales del problema se define un conjunto de algoritmos que se espera que funcionen bien en este caso en particular, y se dividen los datos en un conjunto de datos de entrenamiento, uno de validación y uno de test.
Hay que tener en cuenta, en este caso, que al no estar trabajando en un problema donde el orden de los datos sea importante (como en el caso de predecir series temporales, donde hay una secuencia implícita en los datos) estos se pueden separar de forma aleatoria (dando más peso al conjunto de datos de entrenamiento, haciendo una división de por ejemplo 60%, 20% y 20%, dependiendo del volumen de datos del que se disponga).
El procedimiento es el mismo en todos los casos, aunque dependiendo del algoritmo se ha de modificar la estructura del conjunto de datos de entrenamiento (no reciben los datos igual una red neuronal que una regresión lineal, por ejemplo).
Sea como fuere, en todos los casos se entrena un modelo con el conjunto de datos de entrenamiento, y se comparan entre sí con el conjunto de datos de validación. Los datos de testeo solo se usan para estudiar la precisión del modelo final, de cara a que sean datos que el modelo no conoce.
Una vez obtenido un modelo final, se puede generar un sistema que permita, por ejemplo, planificar rutas en base a la probabilidad de rotura de cada equipo, de forma de que se vaya siempre un paso por delante de los problemas relacionados con las reparaciones a contrarreloj.
Se puede comprobar que la inteligencia artificial está pasando poco a poco de ser algo de fantasía y ciencia ficción a ser una realidad, y que de cara a triunfar es necesario apostar fuertemente por ello.
Al final, el resumen es el siguiente: todo el mundo conoce el camino de casa al trabajo. Puedes ser un experto en conocer las mejores rutas para llegar de un sitio a otro, predecir cuándo y dónde habrá atascos en base a tus instintos. No obstante: ¿Eres capaz de competir con un sistema basado en datos como Google Maps? ¿De saber absolutamente todos los radares, cuándo habrá accidentes, dónde están y dónde hay atascos?
De la misma forma que hoy en día poco a poco estamos pasando de ser personas basadas en instintos a personas basadas en datos (encender Google Maps para conocer el estado del tráfico en lugar de confiar en tus instintos) como empresas hemos de pasar de guiarnos por creencias a guiarnos por datos, y la inteligencia artificial es una de las mejores herramientas para ello.
El procedimiento anteriormente descrito, si bien de forma bastante estándar y muy simplificada (no se ha entrado, de momento, en el procedimiento de generación de modelos de forma muy técnica) explica como Datision ha afrontado el mantenimiento predictivo de máquinas de vending. ¿Crees que podemos ayudarte con ello? No tienes más que contactar con nosotros.