Conversación con Francisco Ramírez
Siempre me gusta empezar estas conversaciones con un pequeño viaje en el tiempo. En su día, estudiaste Telecomunicaciones, ¿cómo y cuándo empezaste a adentrarte en el mundo de los Datos y de la Analytics?
Entre idas y venidas al final de la carrera de Telecos, acabé decantándome por el procesado avanzado de datos y la teoría de la señal de comunicaciones; específicamente en cómo se preprocesan los datos antes de transmitirlos para garantizar que las secuencias originales pueden ser recuperadas después de pasar por un canal. Se trata de un campo inmenso, con múltiples subcampos, pero básicamente todo versa en transformar los datos iniciales -ya sean analógicos o digitales- en una señal, una secuencia de datos con una estructura interna, que será distorsionada al atravesar un canal de comunicaciones pero que puede ser recuperada por un equipo receptor con una probabilidad muy alta, explotando la estructura dada a la señal.
Y al análisis de datos llegué de forma más aleatoria durante el doctorado. Por un lado, estimadores / predictores y regresores ya los había estudiado durante la carrera o los cursos del doctorado, pero al comenzar a ir a conferencias me empecé a interesar más en técnicas más avanzadas para el modelado de funciones o distribuciones de probabilidad. Además también iban apareciendo continuamente relaciones con aprendizaje de datos en los papers que iba leyendo durante el doctorado e iba indagando. También tuve la suerte de que durante aquellos años mi hermano Miguel estaba haciendo un doctorado sobre planning y comentábamos sobre el tema.
A partir de ahí, ya entré de lleno en el análisis de datos durante 2012, por un tema más mundano: hacer trading con bitcoin. Me fui a vivir con unos amigos y uno de ellos trabajaba haciendo data scraping y como yo sabía algo de aprendizaje de datos, decidimos intentar ganar dinero con eso.
Al acabar tus estudios comenzaste una etapa en la Universitat Politécnica de Catalunya (UPC), en la que participaste en proyectos diversos. Uno de ellos es el “Group Testing Algorithms”, un concepto del por se ha hablado bastante durante la pandemia.
Durante el doctorado me metí en varios proyectos industriales, aparte de los temas de investigación principales. Por un lado me involucré en temas de implementación de algoritmos C para decodificar / extraer datos corrompidos al ser transmitidos por un canal de telecomunicaciones. Específicamente, trabajé en codificación de canal, los códigos de canal low-density parity-check (LDPC) y turbo-códigos, que permitían alcanzar “rates de transmisión” de datos que convergían con la capacidad del canal en régimen asintótico, en diferentes escenarios. Básicamente, en el lado del receptor, eran algoritmos de paso de mensajes que representaban la fiabilidad de los datos sobre grafos bipartitos que representaban los sistemas de ecuaciones booleanas a resolver.
La idea era desarrollar en paralelo el tema de mi tesis y por eso mi directora de tesis me propuso utilizar mi conocimiento sobre códigos LDPC y explorar qué pasaría si usaba esas estructuras de códigos de canal para comprimir fuentes de datos altamente no balanceadas (baja entropía). En aquel tiempo no lo sabía, pero el campo en el que me adentraba era el pooling / group testing en un escenario sin ruido. Ahora, con el tema de la pandemia ha sido un campo de investigación bastante sexy porque permite ahorrarse mucho dinero y tiempo al hacer test de covid. En sí, es un campo bastante antiguo que surgió por primera vez durante la segunda guerra mundial. Los soldados de USA tenían más bajas debido a enfermedades venéreas que debido a los combates y buscaban formas económicas de testear a la población, para identificar los que estaban contaminados y tratarlos antes de que siguieran esparciendo las enfermedades venéreas. Para minimizar costes, pensaron en mezclar la sangre de diferentes sujetos y si el test de la muestra resultante era negativo, sabían que todos los testeados no estaban enfermos y si salía positivo, pues tenían que seguir haciendo test. El problema era buscar qué combinaciones de sangre eran las ideales para identificar los enfermos de la población con el mínimo número de tests.
La verdad es que en aquel momento en ese mundillo quedaba bastante por explorar. Cuando llegué a él, llevaba casi 30 años parado. Hasta los años 80 se habían concentrado en problemas donde el número de casos positivos se desvanecía, tendía a 0 cuando el tamaño de la población crecía. Pero yo me dediqué a estudiar el caso en que los casos positivos no se desvanecen, la fracción de población enferma tiende a un número independientemente de cual sea su tamaño. Trabajé la parte teórica y práctica del problema. Probé que había técnicas que para el caso desvaneciente eran óptimas, pero para el caso no desvaneciente no lo eran y propuse soluciones alternativas que permitían identificar todos los sujetos identificados con probabilidad 1 de forma eficiente en el caso desvaneciente.
El problema que tenía es que todo lo que funcionaba en el caso “clásico”, en el caso no desvaneciente no sucedía y, por ende, no era bien aceptado a priori. Además, tuvimos bastante mala suerte porque enviamos un artículo de revista muy interesante planteando el problema y explicando las diferencias y posibilidades de la nueva aproximación: durante su revisión se publicó en una revista de impacto un artículo que después se probó erróneo y que probaba que lo que demostramos en la nuestra era errónea. La corrección del paper se demoró mucho y al final los correctores lo rechazaron sin meterse muy al fondo porque no lo citamos. Durante la espera, otra gente envió una refutación del artículo que solapaba lo que nosotros habíamos enviado y en el impasse, y como resultado, una parte interesante del trabajo quedó sin publicar. Al final, decidí cambiarme a un tema más ameno y lateralmente relacionado que era el Compressed Sensing.
Pues hablemos entonces de tus investigaciones sobre “Compressed Sensing algorithms”.
Llegué a esta temática en 2010 porque había gente interesada en estos temas en el grupo donde comencé a hacer el doctorado. El Compressed Sensing / Compressive Sampling (CS) es un campo de investigación que por aquel entonces tenía unos pocos años de vida. En 2007 se demostró que se podían reconstruir señales muestreando por debajo del límite de Nyquist si la señal es sparse.
En general, cuando la gente hablaba de CS sin ruido, se refería a la reconstrucción sin posibilidad de error de una secuencia con k elementos no nulos sobre un vector de n elementos a partir de m ecuaciones lineales, el típico y = Ax, con k<=m<=n. En 2007 Candes demostró que existe una dualidad entre el problema de buscar la secuencia con mínima pseudonorma 0 o con norma 1 dado un sistema de ecuaciones que cumpliera ciertas condiciones. Básicamente, en el caso sin ruido la solución a una búsqueda exhaustiva es la misma siempre que m>= 2k y se cumple que todas las submatrices de 2k columnas de la matriz con m filas y n columnas tienen rango 2k. En el caso con ruido, había varios algoritmos basados en Matching Pursuit o Basis Pursuit, mínimo de la norma 1, que permiten solventar el problema con un número de ecuaciones a partir de k log(n/k) en función del ruido del sistema.
En realidad este planteamiento del problema es un caso particular de otro problema mayor como demostraron Wu y Verdú en 2010, utilizando principios de teoría de la información. Sin entrar al detalle, existen algoritmos que permiten que cualquier secuencia de reales de longitud n, pueda ser comprimida, es decir y = Ax, con k<m<=n, y reconstruida con alta probabilidad, encontrar la x, siempre que la dimensión del espacio de información de Renyi de la secuencia comprimida sea mayor que la de la secuencia original. Sin entrar mucho a fondo, cada distribución continua o discreta de una variable tiene una dimensión del espacio de la información de Renyi entre 0 y 1. Por ejemplo, cualquier distribución discreta tiene dimensión 0 y una distribución Gaussiana tiene dimensión 1. Así que si la dimensión de la salida es mayor que la de la entrada pues existe alguna forma de hacerlo. Otra cosa es que se sepa cómo hacerlo con el mínimo tamaño m.
En términos de CS, esto dice que con m>k sin ruido, se puede reconstruir la secuencia original. Esto es verdad, por ejemplo, si tenemos un sistema de k+1 ecuaciones lineales con n incógnitas y sabemos que hay k valores no nulos, hay n sobre k soluciones posibles. Se puede resolver haciendo dos subgrupos diferentes de k ecuaciones y calculando las n sobre k soluciones de cada subgrupo. Lo que pasa es que desde un punto probabilístico, sólo hay una solución común entre los dos conjuntos de soluciones si las matrices cumplen ciertas condiciones con el rango.
En realidad, desde un punto probabilístico para y = Ax, con k<m<=n donde k incógnitas tienen distribución Gaussiana y el resto son cero hay 3 zonas diferentes en función de la esparsidad de la secuencia de incógnitas:
k>=m el problema tiene múltiples soluciones.
k<m<2k, el problema tiene solución única con una probabilidad 1.
2k<=m, el problema tiene una única solución.
La diferencia entre 2 y 3 es que en 2 existe algún algoritmo de reconstrucción para todas las secuencias k-sparse cuya probabilidad del suceso error es 0 y en el caso 3 el evento de error no está en el álgebra de sucesos, por tanto no puede pasar. Básicamente, la probabilidad de 2 es cero porque el hipervolumen de los errores tiene una dimensionalidad menor que el de las soluciones. Por ejemplo, en 3 dimensiones sería como si un algoritmo fallase en una línea (1 dimensión) contenida en una esfera que sería es espacio de soluciones. El volumen de la línea es 0 y por ende, el algoritmo falla con probabilidad 0 dentro de la esfera.
Esto que parece una tontería, no lo es porque permitió el desarrollo de algoritmos probabilísticos como el Approximate Message Passing (AMP) de Maliki y Donoho o generalizaciones de AMP (GAMP) que permiten resolver el problema probabilísticamente de forma mucho más eficiente.
Más adelante, en tu etapa en Atekna Solutions, estuviste involucrado en iniciativas para detectar anomalías/outliers y en aplicaciones en tiempo real. ¿Qué tipo de modelos utilizaste?
En Ateknea trabajé en poner en producción soluciones a problemas incipientes. Entre los temas en los que estuve involucrado había segmentaciones de Voronoi sobre coordenadas esféricas en zonas cercanas al polo o detección de outliers en redes de sensores. Trabajamos en soluciones para detectar situaciones anómalas en diferentes clases de datos modelándolos mediante Procesos Gaussianos y construimos soluciones basadas en arquitecturas de microservicios que se pasaban datos procesados entre ellos ya en 2016.
Visto en perspectiva, todo era muy rústico en aquella época. Ahí me di cuenta que la gente del mundo IoT en aquel momento no tenía porqué tener mucha idea de cómo generar datos. Cuando mirabas cómo se generaban los datos en los equipos, se veían unas barbaridades tremendas para ahorrar tiempo de transmisión. Básicamente generaban números que a veces no eran representativos de lo que pasaba. Esto dificulta la detección de outliers, ya que hace que los datos generados en redes de sensores a veces tengan distribuciones correctas y otras la incorrecta. Pero si muchos de los datos generados en un instante por la red son incorrectos a la vez, al final no puedes detectar nada en la red o sale que el los datos correctos son outliers... Un mundo muy divertido.
Es muy importante la parte de adquisición de información medio, que se puede denominar como encoder analógico desde el punto de vista de Teoría de la información. Se debe de diseñar correctamente. Y bueno, cuando procesas los datos generados por los equipos, se debería de saber cómo se generan.
De hecho, en esta época creo que llegaste a combinar Machine Learning e Inferencia Bayesiana. ¿En qué situaciones recomiendas combinar estos dos métodos versus usar un enfoque puro de Machine Learning?
Es bastante crítico cuando hay pocos datos y quieres detectar eventos de forma lo más eficientemente posible y conocer los niveles de incertidumbre en las zonas de trabajo de los modelos.
Y ahora, entramos ya en tu trabajo en Bettair Cities. Primero te quería pedir una pequeña introducción del trabajo que hacéis en la empresa: qué datos utilizáis, con qué finalidad, qué casos de uso, etc
Bueno, en Bettair construimos dispositivos que miden la calidad del aire con alta precisión de forma autónoma durante varios años, sin necesidad de intervención humana y estamos desarrollando servicios para suministrar información útil a diferentes segmentos de la población: técnicos ambientales, ciudadanos con perfiles diferentes o autoridades con poder de decisión. Para hacer esto, desde que nos dimos cuenta que podíamos fabricar equipos de precisión autónomos, en 2019, nos pusimos a trabajar en desarrollar técnicas de modelado con incertidumbre evaluada que permitieran estimar las concentraciones de gases con alta precisión en entornos urbanos a partir de datos de diferente sistemas geográficos de información, información en tiempo real de nuestros sensores o proveedores externos y las geometrías de la ciudad.
Volviendo a los sensores. Para gases tóxicos usamos sensores electroquímicos que básicamente son como unos condensadores que en la parte de arriba tienen un filtro por el que el aire se mete dentro e interacciona con lo que hay dentro, generando corrientes en unos electrodos que se miden y que dependen de la composición química y la temperatura del aire. Aparte otros sensores más típicos, de temperatura, por ejemplo.
Uno de los problemas mayores que hay en nuestro mercado es que la calidad de los datos de los sensores puede cambiar muy muy rápido (en días) y si no eres capaz de desagregar esos factores de los datos en crudo de los sensores automáticamente tienes dos opciones: o tirar los datos y no saber lo que pasa o suministrar datos erróneos a la población.
Lo mismo pasa con los modelos atmosféricos en entornos urbanos: a día de hoy los modelos de bajo coste se han validado en sitios específicos y no se sabe muy bien cómo funcionan al aplicarlos en otros lugares con geometrías más complejas como en una ciudad, con sus calles. Pueden funcionar correctamente… o no. Y los de mayor coste, algo similar. Hay que ser muy crítico con cómo se generan los datos.
Hay diferentes métodos de modelado pero en general todos necesitan equipos altamente preparados para saber qué ha pasado a micro-escala y/o de usar mucha capacidad computacional, lo que no escala bien como solución global para toda la población. Al final, quien tiene dinero, puede contratar los servicios de monitorización y modelado de calidad, y los que no tienen dinero, pues no pueden.
Todo esto es lo que queremos solucionar en Bettair, facilitando información con fiabilidad conocida a un precio asequible para todos.
Hablemos un poco más a fondo de “vuestra materia prima” ¿Qué datos recogéis? ¿Qué infraestructura utilizáis para la recogida y posterior procesamiento de esos datos? ¿Cómo garantizáis la calidad de los mismos? Por lo que me decías el otro día, en muchos casos los sensores generan una “incertidumbre variable”
Nosotros recogemos datos atmosféricos automáticos en tiempo real en los puntos de monitorización y utilizamos sensores que generan voltajes y telemetría que varían en función de la composición y condiciones atmosféricas del lugar, así como otros sensores que recogen la temperatura o la humedad de la mezcla de gases que observan los sensores. El tema es que la respuesta de los sensores que usamos a concentraciones de gases similares puede variar mucho en periodos muy cortos de tiempo porque su respuesta no solo depende de la concentración del gas objetivo sino de muchos otros parámetros tanto atmosféricos como del equipo. Lo importante es la respuesta de los equipos completos, instrumentos de medida. Es muy importante el diseño conjunto de todo el instrumento porque cualquier cosa puede afectar a la medida de los sensores: temas mecánicos, electrónicos, de alimentación, de firmware.
Lo importante es el enfoque del problema. Desde nuestro punto de vista, el equipo es un codificador analógico que tiene una respuesta al medio que varía a lo largo del tiempo y cuyo objetivo es acceder a ciertas variables atmosféricas de forma indirecta. Por otra parte, a partir de los datos recolectados construimos un decoder digital y el objetivo es el diseño conjunto de los dos módulos que permite estimar las variables de interés con mínima distorsión, mínimo coste y mínima complejidad.
Si miramos un poco más a fondo, cada línea de datos es una función que depende de factores externos producidos por la interacción del equipo con el medio, es decir debido a efectos físico-mecánicos y químicos y, muy importante, de factores internos del instrumento en sí. Y el decoder digital es la función inversa adaptada al encoder que permite medir las variables interesantes con mínima distorsión.
Por ello, para garantizar que las medidas de concentraciones de un gas tienen “buena calidad” se necesitan dos cosas: diseñar el equipo para que facilite el acceso a las variables de forma estable y predecible, sin añadir dependencias internas innecesarias a las funciones para así poder desagregarlas fácilmente mediante el decoder digital. Segundo, añadir líneas de datos estables, sensores, para disminuir el error de la medida del gas objetivo, lo más independientemente posible de las condiciones ambientales. Después, el decoder, es aplicar aprendizaje de datos y tener en cuenta que se muestreen todas las regiones de interés con puntos suficientes y que los modelos del equipo sean fieles, ajustados a la realidad.
Por todo esto, el proceso de control de incertidumbre de los datos de los equipos es muy complejo. Traducido al mundo real, son dos temas. Primero, es control de calidad de producto durante el proceso de producción, garantizar que todos los equipos son iguales. Pero no iguales desde el punto de vista de las personas que pasan por la calle y ven la caja bonita, sino desde el punto de vista matemático. Es la única forma de hacer que los técnicos reciban equipos que miden de forma repetible, reproducible y precisa.
Por otro lado está todo el proceso de hacer modelos, gemelos digitales, de los equipos que garanticen que la función inversa introduce la incertidumbre mínima en las regiones de trabajo. Por ello es muy importante tener valores de cómo reaccionan los equipos en las localizaciones típicas de trabajo durante largos periodos de tiempo, para poder evaluar cómo varían las respuestas de los sensores a lo largo del tiempo. Ahí entra la incertidumbre epistémica de los modelos, la paramétrica que depende de la cantidad y calidad de los datos utilizados para estimar los parámetros de un modelo y la estructural, que depende de lo bien que se acerque la función estimada a la respuesta real del sistema de medida en un momento específico. También es muy importante todo el tema de preprocesado de datos de los sensores ya que hay que tener en cuenta los aspectos químicos y físicos del sensor.
Nosotros seleccionamos los sensores que utilizamos, controlando que responden al medio como creemos que deben responder. Y después hemos modelado la respuesta de nuestros equipos con estos sensores en ambientes diferentes por toda Europa durante años. Por eso disponemos de modelos bastante precisos que modelan la respuesta conjunta de nuestros equipos ante la sucesión de muchas condiciones ambientales. Además llevamos 4 años trabajando en los temas de control de calidad de producto. Por esto, entre otras cosas, hemos conseguido y garantizamos que nuestros equipos midan de forma estable durante tanto tiempo cuando los equipos de la competencia necesitan intervenciones con recalibraciones periódicas o gente que de forma manual vaya cribando los datos cuando pasan “cosas raras”.
No voy a entrar al detalle de la plataforma mucho, pero actualmente utilizamos para la ingestión de datos tecnología del stack de FIWARE y además de módulos del stack de Apache.
Creo además que tenéis una API para conectar estos datos con terceros. ¿Podrías darme algún ejemplo?
Sobre la API no puedo decir mucho. Realmente son dos API, una es un conector en el sistema de SENTILO que bastantes entidades regionales y locales utilizan por toda España mientras que también disponemos de una API REST.
Pasemos ahora a la etapa de transformación de esos datos en un output. Por ejemplo, la parte de mapas de contaminación. ¿Cómo lleváis a cabos la transformación? Porque imagino que habrá un esfuerzo enorme para”pintar” los mapas pero también para validarlos. No sé si es aquí donde aplicáis más la parte de Computer Vision
Éste es un producto que hemos desarrollado junto con gente del Barcelona Supercomputing Center (BSC) durante varios años. Por un lado, bajo el proyecto MappingAir -financiado por fondos europeos del H2020- diseñamos un servicio basado en microservicios varios que permiten correr nuestros modelos de dispersión en entornos urbanos. Esto es muy importante porque nos es muy fácil evolucionarlos y mejorarlos ya que tenemos el knowhow para hacerlo.
Desde un punto de vista de ciencia de datos, hacemos pre-procesos de los datos para obtener variables físicas relevantes utilizando modelos atmosféricos de la literatura que permiten obtener variables meteorológicas de micro-escala (nivel calle) a partir de información de mesoescala (por encima de los edificios), teniendo en cuenta varios factores como las geometrías urbanas y diferente información del entorno.
Después, usamos modelos de dispersión física que hemos picado nosotros en C++ evolucionando modelos disponibles en la literatura, añadiendo nuestro conocimiento. Para ello ha sido muy importante tanto la colaboración del equipo de BSC -que nos ayudaba a entender las dinámicas atmosféricas a microescala así como a identificar variables relevantes- como la presencia en el equipo de i+D de Bettair de doctores con perfiles muy teóricos, matemáticas y física, lo que nos ha permitido plantear, transformar y resolver problemas de forma diferente, más eficiente a lo que hay en la literatura, obteniendo un producto con calidad de datos conocida que está a punto de llegar al mercado.
En temas de modelado, lo más importante siempre es tener en cuenta la calidad de los datos que se generan mediante estos modelos. No hay que olvidar que estamos estimando una función en una zona a partir de lo que sabemos digitalmente y que puede haber otros factores no tenidos en cuenta que a nivel local afecten en mayor o menor medida a la calidad de la estimación. Para lidiar con este problema, llevamos ya más de un año evaluando cómo funciona nuestro servicio de mapas en diferentes lugares de Europa, montados sobre nuestras redes de sensores, utilizando datos de la infraestructura europea de datos y datos de proveedores externos.
Para evaluar la calidad de los datos que generamos con nuestros modelos utilizamos técnicas de leave-x-out o similares. Esto consiste en generar mapas de calidad del aire con datos recolectados por una fracción de equipos y evaluar el resultado en lugares específicos utilizando los datos del resto de equipos y de las estaciones de referencia de la European Environmental Agency. Esto nos permite estimar la incertidumbre en ciertas micro geometrías específicas, teniendo en cuenta diferentes circunstancias atmosféricas y diferentes patrones de emisiones de gases.
Recientemente, dentro del proyecto iBAM del programa FF4EuroHPC de H2020 hemos comenzado a mejorar y añadir microservicios a nuestro servicio de generación de mapas que espero nos permitan hacer un downscale del viento en mesoescala a microescala urbana con alta precisión lo que nos permitirá estimar mucho mejor cómo se dispersa la contaminación en entornos urbanos y dar información más fiable de lo que está pasando en tiempo real o de lo que va a pasar.
Por cierto, si tuvieras que dar alguna recomendación basada en datos para reducir la contaminación en las ciudades, ¿cuál sería?
Es un tema muy complejo en que las predicciones no se suelen cumplir porque nos falta mucho por aprender, como humanidad. La ciencia y la tecnología no alcanzan todavía, ya que no contamos con monitorización y modelado fiable a gran escala. Además se necesitan aproximaciones regionales para reducir la contaminación, porque acciones locales provocan desplazamientos de los focos de emisión a otros lugares más o menos cercanos y al final se sigue contaminando igual. Esto se lleva haciendo mucho tiempo, por ejemplo con la globalización, las empresas llevaron la producción más contaminante a lugares del tercer mundo o China, externalizamos esos costes ocultos… pero también se hace cuando los técnicos toman decisiones como cambiar el sentido de una calle con mucho tráfico sin un estudio adecuado ya que envían el veneno en forma de gas a otros lugares.
Lo más básico, en mi opinión, sería no utilizar el coche para hacer desplazamientos que se pueden hacer a pie o en bici o en transporte público, que los gobernantes garanticen que estas opciones son factibles y seguras para toda la población y que también permitan la circulación de vehículos para realizar tareas necesarias (transporte última milla, por ejemplo). Más a nivel personal, otra acción útil que tendría impacto podría ser hacer pedidos online para que las entregas sean en grupo, así ahorramos viajes y emisiones de gases tóxicos de los transportistas de la última milla.
Después hay otras acciones que podemos hacer para mitigar nuestra exposición a contaminantes, como por ejemplo caminar lo más lejos posible del tráfico, porque a medida que nos alejamos de las fuentes de emisión las concentraciones de gases tóxicos suelen descender.
Y si hablamos de proyectos de “modelización” y predicción ¿qué tipo de modelos utilizáis? Me interesa saber también el grado de precisión” de vuestras predicciones. Lo digo porque cuando hablo con personas que trabajan en el campo de la Física, suelen recalcar lo difícil que es llevar a cabo predicciones fiables basadas en estadística
Lo más importante es poder evaluar la calidad de las estimaciones obtenidas de modelos o técnicas de predicción. Para esto hay diferentes técnicas que permiten observar las dinámicas que se suceden en esos lugares de modo anual y después extrapolar los resultados. Hay que tener en cuenta que los instrumentos de medida de alta precisión también tienen diferentes calidades de datos, así que también se debe de tener en cuenta (nota: esto depende de la periodicidad del mantenimiento y los modelos específicos de esos instrumentos). Por desgracia, todavía hay algunas carencias en los sistemas de recolección de datos automáticos ya que a veces se cuelan series de datos generadas por equipos que están “malfuncionando”. Así que es importante limpiar los datos pero revisar que esos datos tienen la estructura típica espacial. Esto es bastante complejo y a veces no se puede hacer porque las redes no tienen redundancia suficiente.
Otro problema es que los procesos de generación de contaminación (emisiones y dispersión) pueden variar anualmente debido a las diferentes medidas llevadas a cabo localmente por diferentes autoridades. Por ello, muchas veces al juntar datos puede ser que parte de ellos sean “antiguos” respecto a otros datos. Por ejemplo, se usan time series de 2019, 2020, y 2021 de contaminación con datos de tráfico o actividad del 2018 o 2019 y obviamente, debido al COVID todo esto cambió en 2020 y 2021. Así que no se pueden usar. Esto pasa continuamente a diferentes escalas. Por ejemplo, no es tan claro cómo usar catálogos de emisiones calculados hace varios años para estimar algo actual, que también puede ser problemático.
Una vez tienes datos con una calidad adecuada se puede montar un dataset interesante y, se pueden aplicar diferentes técnicas de búsqueda de causalidad y luego aplicar alguna técnica de modelado sobre los resultados obtenidos. Ahora está muy en boga las gradient boosting machines que si se tiene la información relevante suficiente generan modelos fieles pero en cualquier caso siempre hay que buscar el mínimo conjunto de variables características que permitan obtener los mejores resultados. Pero bueno, hemos usado redes neuronales más o menos complejas, procesos Gaussianos, SVMs o random forests también.
Otro tema relevante es el tiempo que necesario para que los modelos hagan su predicción. Sé que algunas soluciones existentes en el mercado tardan varios días y semanas, pero que en vuestro caso es mucho más rápido. ¿Cómo lográis esa magia?
Nosotros, desde un principio, nos hemos focalizado en generar información actuable en tiempo real con la mejor calidad de datos posible y con un coste y escalabilidad de la solución que permita una amplia implantación.
Por un lado los sistemas de microservicios que permiten garantizar la asignación de recursos necesarios para ejecutar cada proceso cuando es necesario, por otro la optimización de la implementación de algoritmos existentes, tanto a nivel código como en aproximaciones y por último utilizando Inteligencia artificial para mimetizar el funcionamiento de sistemas de solvers numéricos. El ejemplo claro es lo que estamos haciendo en iBAM: generamos datasets de 1 km3 con resolución de 1m3 de cómo el viento se mueve en entornos urbanos típicos europeos utilizando software científico de simulaciones físicas y mecánicas del BSC, ALYA. Después, aprendemos -usando redes neuronales- cómo a partir de las condiciones iniciales (geometrías y velocidades / dirección de viento) generar las datasets de resultados de ALYA en una fracción de tiempo con mínima capacidad computacional, sin utilizar cantidades ingentes de energía.
Y ¿qué tipo de perfiles trabajan en proyectos de este tipo?
Ahora mismo en la empresa somos 16 y en el equipo de desarrollo de productos y producción somos un equipo multidisciplinar de 13 personas. La multidisciplinariedad es muy importante porque nos permite ver los problemas de forma holística. Somos 5 doctores: un matemático, uno en ciencia de los materiales, otro en sensórica, otro en física computacional y yo que soy un telecos raro. Después hay varios ingenieros en informática, en telecos, electrónica y mecatrónica. Lo bueno es que los conocimientos de unos y otros se solapan. Además sabemos cómo hemos de comunicarnos entre nosotros lo que nos permite resolver problemas muy rápido y trabajar conjuntamente para construir soluciones económicas, útiles y que funcionen lo más parecido a lo que queremos.
Y por si esto fuera poco, también colaboras con la UOC en proyectos y tesis sobre la calidad del aire por zonas geográficas ¿verdad?
Si, comencé hace más de un año. Siempre he pensado que hay que transferir el conocimiento aprendido durante el trabajo en la universidad y por eso hace un par de años me ofrecí y me acogieron muy bien. La verdad es que todos los chicos a los que les he dirigido la tesis del máster han resultado ser unos cracks y han aprendido muy rápido y bien a crear datasets más o menos gigantescos, evaluar datos, hacer búsqueda de causalidad y montar modelos que funcionaban muy bien en validación. Desgraciadamente este semestre, por motivos personales, no he podido coger a ninguno pero a ver si el que viene se me despeja un poco la vida y puedo volver al ataque.
Termina esta frase. Una buena previsión de los niveles de contaminación es aquella que
…se hace con una buena previsión meteorológica. Jajaja. La meteorología es muy importante, ya sea el viento o la temperatura, por temas de dispersión de emisiones, como la luz, por temas química atmosférica.
Y ya para acabar, si miramos al futuro ¿qué grandes cambios esperas en tu sector en los próximos 5 años?
El problema principal es que es un sector desregulado aún, donde se está intentando poner orden pero al que todavía le queda mucho camino por recorrer. La mayor problemática es que todos los temas ambientales tienen dinámicas muy largas y para estudiarlos bien se necesita tiempo, bastante, y tanto la academía como la industria están enfocadas más a resultados cortoplacistas. Ahora hay más esfuerzos para hacer ciencia, por ejemplo, monitorizando el CO2 a nivel del suelo. Hasta hace unos meses solo había un par de estaciones terrestres en España que generarán series temporales con datos de alta calidad sobre medidas de CO2.
También se proponen estándares cuyo objetivo es evaluar la calidad de instrumentos de medida que pueden estar conectados a la nube en ambientes controlados con datos en abierto y en tiempo real de calidad del aire… lo que deja en manos de entidades con ánimo de lucro en un mercado multimillonario hacer actualizaciones en los parámetros de los equipos para adaptar los datos al lugar donde se evalúan y así pasar las certificaciones.
En fin, espero que haya una regulación lógica y funcional que permita que la venta armonizada de equipos y el uso de modelos atmosféricos que generan calidades de datos conocidas y estables y que a su vez puedan ser utilizados para saber qué está pasando realmente en las calles y evaluar mejor el impacto de las medidas que se toman y que afectan gravemente a la salud de las personas y la economía de los estados.