Como ya hemos adelantado en alguna ocasión, en PiperLab hemos estado trabajando en un modelo de predicción de contaminación en la ciudad de Madrid. Se trata de un proyecto piloto desarrollado en cluster con CITET, CEL Y UNO, con el objetivo de crear un prototipo de previsión de contaminación que tenga aplicaciones en diversos sectores de actividad, en particular el logístico.
Podemos resumir estos meses de trabajo en una sola frase: los resultados han superado todas las expectativas. Os los detallamos a continuación.
Con la operatividad siempre en el foco
El objetivo del proyecto era, principalmente, determinar la viabilidad de los modelos para predecir la contaminación de las ciudades. Por este motivo, se ha seguido una metodología ágil, basada en iteraciones, para ir construyendo progresivamente la solución más adecuada. Cada iteración partía del conocimiento obtenido en las fases previas e incorporaba nuevas variables, parámetros o algoritmos con el objetivo de conseguir una mejora en el rendimiento de los modelos.
Gracias a esta aproximación, desde la primera semana de proyecto ya contábamos con un modelo operativo, y a partir de ahí solo cabía mejorar. Es una filosofía que encaja a la perfección con los procesos de Data Science, que requieren una monitorización y mejora constante, tanto para evitar la degradación causada por el cambio en los patrones, como para recoger las nuevas necesidades de negocio que van surgiendo con el paso del tiempo.
La aplicación principal para este modelo es ser capaces de anticiparse a las activaciones del Protocolo para Episodios de Alta Contaminación de la ciudad de Madrid
Por otro lado, la aplicación principal para este modelo es ser capaces de anticiparse a las activaciones del Protocolo para Episodios de Alta Contaminación de la ciudad de Madrid. Por tanto, lo que nos interesa es conocer de cierta forma los valores máximos que se van a alcanzar cada día y a partir de esto definir las condiciones que se tienen que dar en estos niveles para que se activen restricciones. Aquí puedes ver la comparación entre el indicador de contaminación que hemos modelizado y las activaciones del protocolo:
Para evaluar todo el espectro planteamos pruebas a corto, medio y largo plazo: predicciones con 24 horas, 48 horas y 7 días de adelanto.
Las variables son la clave
Al ver las fluctuaciones de la serie a predecir, confirmamos lo que ya desde un principio nos imaginábamos: el problema de predicción de contaminación no es una tarea nada fácil. Como los modelos aprenden a base de ejemplos, siempre es necesario alimentarlos con variables que, al combinarse entre sí, expliquen la tendencia y los picos al máximo posible. Por eso es tan importante el conocimiento de negocio en Data Science: por muy bueno que sea el algoritmo, si no se alimenta con datos de calidad tratados de la forma adecuada, el resultado no podrá ser preciso. El problema que teníamos con esta serie es que a primera vista parece todo ruido: no tiene pinta de seguir un patrón oculto que el modelo pueda aprender.
Es muy importante el conocimiento de negocio en Data Science: por muy bueno que sea el algoritmo, si no se alimenta con datos de calidad tratados de la forma adecuada, el resultado no podrá ser preciso
Aun así, afortunadamente conseguimos dar con variables clave que explicasen la mayoría de las fluctuaciones que observamos. Exploramos más de 400 parámetros de meteorología y aplicamos múltiples transformaciones hasta dar con las variables clave con las que entrenar el modelo. Las más relevantes han resultado ser: la altura geopotencial, la temperatura, la humedad relativa, la altura de la capa límite planetaria, la velocidad del viento, el ozono, la presión y la ventilación, entre otras.
Sin embargo, nos hemos encontrado con un problema derivado del uso de la meteorología. Para predecir el valor de contaminación a 7 días, por ejemplo, es necesario decirle al modelo las condiciones meteorológicas que habrá entonces; por tanto, la predicción se realiza alimentando el modelo con predicción de meteorología, en vez de valores reales. Y las predicciones de meteorología no son famosas precisamente por su exactitud. Esta dependencia hace que el modelo de predicción de contaminación se degrade a largo plazo.
En la figura de abajo podemos ver cómo cambia la misma variable de meteorología según los días de adelanto. La variación entre la estimación a 7 días (horizonte 7, el más clarito) y la estimación que finalmente acaban haciendo para el día siguiente (horizonte 1, el más oscuro) es abismal.
Los numeritos
Todo esto es muy bonito -estarás pensando- pero, ¿qué tasas de acierto han logrado? ¡Quiero números!
En la siguiente tabla se muestran los porcentajes de acierto para cada uno de los horizontes:
Horizonte | Detección picos | Precisión |
1 día | 90.24% | 87.98% |
2 días | 73.17% | 87.36% |
7 días | 51.22% | 77.97% |
En el modelo de predicciones para el día siguiente, la precisión global alcanzada es del 88%. La serie objetivo presenta un 22% de picos (lo que serían casos positivos), y la proporción de ellos que identifica correctamente el modelo es superior al 90%. Este modelo acierta incluso más que el que usa el Ayuntamiento de Madrid, como ya vimos en el post que enlazábamos al inicio.
En los modelos que predicen a mayor horizonte la precisión va bajando hasta llegar al 78% de acierto en las predicciones a 7 días, con una tasa de detección de picos del 51%. Al operativizar el sistema de modelización, esta predicción irá refinándose a medida que pasen los días, por lo que un casi 80% de precisión es un resultado más que bueno.
¿Qué aplicaciones tiene un modelo de predicción de contaminación?
El modelo para predecir la contaminación de las ciudades tiene múltiples aplicaciones en diversos sectores, porque las restricciones afectan a ciudadanía, administración y actividades económicas. Algunas de ellas son:
- Empresas de transporte: prever las restricciones de tráfico será clave en la planificación diaria de recursos de última milla. Además, esto puede servir para optimizar el número y tipología de vehículos de la flota.
- Administraciones Públicas: para cumplir con los reglamentos europeos de calidad del aire tendrán que aplicar procesos de control, seguimiento y restricciones, con el objetivo de mantener los niveles de contaminación dentro de los parámetros óptimos.
- Salud: los colectivos médicos han constatado en ocasiones que las visitas a urgencias se disparan durante los episodios de contaminación. Anticiparse a estos escenarios permitirá adoptar y comunicar medidas preventivas para grupos de riesgo.
- Empresas de movilidad urbana: en los últimos años han proliferado servicios de car-sharing dentro de las ciudades, que probablemente tendrán más demanda durante los episodios de contaminación porque los vehículos eléctricos no se ven afectados por las restricciones. Conocer estos episodios con antelación permitirá a estas empresas aprovisionar activos para dar mejor servicio.
Estos son solo algunos ejemplos de las múltiples posibilidades de aplicación que tiene este tipo de modelos. Desde PiperLab somos conscientes del potencial y los beneficios que aportaría y ya estamos trabajando en la forma de operativizar estas predicciones de contaminación.
El jueves 7 de junio estaremos en Open Expo, el mayor evento profesional del sector Open Source en España, presentando en detalle estos resultados que aquí hemos adelantado en primicia. ¡Esperamos veros por allí!