AI of Things (III): Las anomalías del IoT, cómo unos pocos datos erróneos pueden costarnos muy caro

Jorge Pereira Delgado    7 abril, 2022
Botellas de vidrio

Cuando escuchamos el término Internet de las cosas – o IoT por sus siglas en inglés – es normal que pensemos en neveras con acceso a internet o los ya famosos Smartwatches pero, ¿qué quiere decir realmente? El término IoT se refiere a objetos físicos que están dotados de sensores, de procesadores y conectados a otros elementos similares, lo que permite obtener determinada información, procesarla, y recopilarla para su posterior uso.

No todo son neveras y relojes digitales más caros de lo normal: tenemos desde sensores que cuentan el número de personas que entran en un establecimiento hasta pantallas con una cámara integrada capaces de detectar si alguien está prestando atención a su contenido y registrar esa información. Otros ejemplos interesantes los podemos encontrar en los primeros artículos de esta serie, donde se hablaba de diversos casos de uso de estas tecnologías o de las ventajas del uso de contadores de agua inteligentes para la optimización del ciclo de vida del agua.

Sin embargo, en ocasiones los datos capturados se desvían de los valores normales. Si los datos recibidos de un dispositivo IoT nos dicen que una persona ha estado mirando a una pantalla publicitaria durante horas o que la temperatura dentro de un edificio en un momento determinado es de 60ºC son datos, como mínimo, dudosos. Estos valores anómalos han de ser tenidos en cuenta a la hora de diseñar nuestras redes y dispositivos. Los valores recibidos han de pasar un filtro para ver si son valores normales o no y actuar en consecuencia.

Este es un ejemplo muy claro de cómo la Inteligencia Artificial (AI por sus siglas en inglés) y el Internet of Things (IoT por sus siglas en inglés) se benefician el uno del otro. La combinación de ambos es lo que conocemos como Artificial Intelligence of Things (AIoThings por sus siglas en inglés) con lo que conseguimos analizar patrones en los datos dentro de una red de IoT y detectar valores anómalos, es decir, valores que no siguen dichos patrones y que suelen estar asociados a malfuncionamiento, problemáticas diversas o nuevos comportamientos entre otros casos.

¿Qué es un outlier?

Lo primero que debemos preguntarnos es qué son valores anómalos, llamados comúnmente outliers en el mundo de la ciencia de datos y la Inteligencia Artificial. Si miramos la definición de anomalía en el diccionario de la RAE, obtendremos dos definiciones que se ajustan sorprendentemente bien al ámbito de los datos: “desviación o discrepancia de una regla o de un uso” y “defecto de forma o de funcionamiento”.

La primera definición se refiere a valores que no se comportan como nosotros esperaríamos – esto es, se alejan mucho a los valores que esperaríamos. Si nosotros preguntásemos a personas aleatorias cuáles son sus ingresos anuales, sabríamos poner una horquilla de valores en la que van a estar la gran mayoría de los valores. Sin embargo, podríamos encontrarnos con una persona cuyos ingresos son cientos de millones de euros anuales. Este valor sería un outlier, pues se aleja enormemente de lo esperado o lo “normal”, pero es un valor real.

La segunda definición hace alusión al término “defecto”. Esto nos da una pista: se refiere a valores que no son correctos, entendiendo que un dato es correcto cuando su valor refleja la realidad de forma acertada. A veces es obvio que un valor es erróneo. Por ejemplo, una persona no puede tener una edad de 350 años y nadie puede haberse dado de alta en una red social en el año 1970. Son valores incoherentes con la realidad que representan.

¿Qué hacer con los outliers?

Lo siguiente pregunta que debemos hacernos es qué hacer con estas anomalías, y la respuesta vuelve a variar en función de su naturaleza. En el caso de datos incoherentes – de los cuales sabemos que los valores no son correctos – podríamos eliminar dichos los valores, sustituirlos por valores más coherentes – por ejemplo, la media del resto de observaciones – o incluso utilizar métodos más avanzados de IA para imputar el valor de esos outliers.

El segundo caso es más complicado. Por un lado, tener datos tan extremos podría perjudicar enormemente las capacidades de nuestros modelos, y por otro, ignorar un outlier podría tener consecuencias devastadoras según el escenario en el que nos encontremos.

Para ilustrar el caso en el cual mantenemos los outliers y estos nos perjudican, podemos imaginar un escenario en el que queremos predecir una variable objetivo – por ejemplo, los ingresos anuales de una persona – en función de una o más variables predictoras – años de experiencia, municipio en el que trabaja, nivel de estudios, etc.

Si usásemos una regresión lineal – simplificando, un método que ajusta una recta a los datos de la mejor manera posible -, podemos observar que un outlier podría perjudicar y mucho la forma en la que esa recta se ajusta a los datos, como se aprecia en la Figura 1.

Gráfica - Figura 1: comparación de resultados de una regresión lineal con y sin un valor anómalo.
Figura 1: comparación de resultados de una regresión lineal con y sin un valor anómalo.

En el caso de que decidamos ignorar estos valores extremos, podemos tener el problema de no ser capaces de predecir las consecuencias de dichos eventos que, aunque improbables, son posibles. Un ejemplo sería el caso del accidente nuclear de Fukushima.

En este caso se estimó que un terremoto de magnitud 9.0 era improbable, con lo que la central no estaba diseñada para soportarlo (Silver, N. ”La señal y el ruido.”, 2012). Efectivamente, la probabilidad de un terremoto de semejante magnitud en esa zona era muy pequeña, pero si se hubiesen analizado los efectos y daños producidos, se habría podido actuar de otra manera.

Anomalías en sensores y redes IoT

En el mundo del IoT ocurre lo mismo: ¿son los datos reales, o se deben a un error de los sensores? En ambos casos, habrá que tomar las medidas correspondientes. Si los datos anómalos se deben a un mal funcionamiento de los sensores en momentos puntuales, lo que trataremos de hacer es localizar esos errores y predecir o estimar el valor real en función al resto de datos capturados por el sensor. Aquí hay diversos algoritmos de IA que se pueden usar: basados en redes neuronales recurrentes, como las LTSM, en series temporales, como los modelos ARIMA, y un largo etcétera.

El proceso aquí sería el siguiente: tenemos un sensor dentro de un edificio de oficinas, con el fin de obtener la temperatura a lo largo del tiempo para optimizar el gasto energético del edificio y mejorar el confort de los empleados. Cuando recibimos los datos del sensor, se van a comparar estos con los predichos por un modelo de IA. Si la discrepancia es muy grande en un punto determinado – suponemos que el sensor muestra en un momento una temperatura de 30ºC, mientras que el resto del día y nuestro modelo muestran temperaturas alrededor de los 20-21ºC -, el modelo detectará ese dato como un outlier y lo sustituirá por el valor predicho por nuestro modelo.

En el caso de recibir un dato anómalo, pero que no sabemos si es real o no y que podría ser muy perjudicial, deberíamos actuar de manera diferente. No es lo mismo detectar una temperatura en un edificio algo más alta de lo normal durante unos instantes que detectar unos valores muy bajos de azúcar en sangre en pacientes con diabetes – otro ejemplo de caso de uso dentro del campo del IoT.

El impacto de los outliers en la calidad de los datos

Como dijo Clive Humby – uno de los primeros científicos de datos de la historia –, “los datos son el nuevo petróleo”. El valor que han tomado los datos en nuestra sociedad explica el desarrollo vertiginoso de campos como el IoT durante los últimos años.

Sin embargo, y al igual que con el petróleo, si estos datos no tienen la calidad necesaria y no reflejan de forma adecuada la información que necesitamos, no valen de nada. Tener un dato erróneo puede llevarnos a tomar decisiones drásticamente diferentes que nos harán perder tiempo y dinero para subsanar. Por ello, al capturar datos en entornos IoT, conseguir detectar esos outliers y corregirlos es una tarea de primera necesidad.

Para más contenido sobre IoT e Inteligencia Artificial, no dudes en leer otros artículos de nuestra serie:

Deja una respuesta

Tu dirección de correo electrónico no será publicada.