Hace ya tres años, en marzo de 2015, se aprobó en la ciudad de Madrid la primera versión del “Protocolo de Medidas a Adoptar durante Episodios de Alta Contaminación por Dióxido de Nitrógeno”. Desde entonces, cuando los niveles de este contaminante en Madrid suben por encima de lo que la OMS considera aceptable, se activan una serie de restricciones de tráfico para que los niveles de contaminación bajen.

La primera vez que se dio esta situación nos pilló a todos un poco por sorpresa. En PiperLab, empresa de big data en Madrid, estuvimos investigando cómo eran las reglas del protocolo y analizando la situación de la contaminación en Madrid, y resumimos nuestros descubrimientos en este post.

En enero de 2016 se hizo una revisión del protocolo, y se creó la versión actual. El esquema general sigue siendo el mismo: a partir de las mediciones horarias se genera un indicador diario llamado “nivel de actuación”, y en función de los niveles que se alcancen en días consecutivos se determina el escenario a activar. La diferencia está en las reglas que activan niveles de actuación y escenarios, que son un poco más restrictivas que las originales:

protocolo nivel de actuacion

protocolo

El punto crítico del protocolo está en que, cuando se alcanzan niveles altos de contaminación (cosa que suele ocurrir por la noche), las restricciones se activan para el día siguiente. Por un lado es lógico, ya que si la contaminación está siendo alta lo correcto es actuar cuanto antes; pero por otro lado, esto supone un problema de planificación que afecta a ciudadanía, administración y actividades económicas.

El protocolo de NO2 en 2017

Por este motivo, el Ayuntamiento introdujo en 2017 la siguiente modificación: la activación de escenarios 2-4 para el día siguiente se avisa como muy tarde a las 12 del mediodía. Se basan por tanto en un modelo predictivo de contaminación para determinar por la mañana si los niveles de contaminación van a superar los límites establecidos en lo que queda de día.

Esto hace que las activaciones no concuerden exactamente con las reglas teóricas del protocolo: hay veces que no se llega a activar el protocolo aunque finalmente los niveles de contaminación cumplan las reglas de activación, y hay otras veces que se mantiene activado aunque los niveles ese día no hayan alcanzado los requisitos para llegar a un escenario. Esto es lo que en data science se conoce como falsos negativos y falsos positivos, y ocurre siempre que se utilizan modelos predictivos de clasificación; la labor del data scientist es buscar la manera de minimizar estos errores.

¿Qué diferencia hay entre el protocolo teórico y las activaciones reales del Ayuntamiento? En la siguiente gráfica podemos ver una comparativa:

El Ayuntamiento ha activado el protocolo en 29 ocasiones este año, frente a los 27 días con escenario según las reglas teóricas. La principal diferencia está en el tipo de escenarios aplicados: la teoría se salda en 2017 con muchos más días de escenario 2 que lo activado por el Ayuntamiento y un día de Escenario 3, que no fue activado en la realidad.

Puedes consultar el detalle en este calendario. Para cada día, la esquina superior izquierda muestra el escenario a activar según las reglas del protocolo, y la esquina inferior derecha indica el escenario que activó el Ayuntamiento en la realidad.

Como el escenario 1 sí se activa automáticamente, las discrepancias se encuentran cuando corresponden escenarios más restrictivos o cuando es hora de desactivarlos. Como vemos, el algoritmo predictivo del Ayuntamiento se desenvuelve bien en los episodios largos de contaminación, pero no es capaz de prever con antelación cuándo van a comenzar, y siempre reacciona con cierto desfase. Vemos por ejemplo que los altos niveles del 21 y 22 de septiembre y del 8 de octubre pasan desapercibidos. También, que en los 6 días en los que se inicia un periodo largo de nivel 2, las previsiones del Ayuntamiento siguen manteniendo el nivel 1. Y, por último, que el nivel 3 que correspondería al 27 de octubre nunca llega a activarse.

Predecir la contaminación es muy difícil porque sus patrones son muy complejos. Pero, ¿hay margen de mejora?

Modelo de predicción de contaminación desarrollado por PiperLab

PiperLab, en cluster con CITET, CEL Y UNO, ha estado trabajando en un modelo de predicción de contaminación para intentar anticiparse a la activación de escenarios. Utilizando exclusivamente datos abiertos, se han desarrollado varias pruebas de concepto a distintos horizontes para determinar la viabilidad de este tipo de modelos. Los resultados son prometedores: se han detectado las variables meteorológicas que más influyen en los niveles de contaminación y se han generado predicciones bastante competitivas que permiten adelantarse varios días a las restricciones.

Hemos comparado los resultados de nuestro modelo con el que actualmente tiene en marcha el Ayuntamiento para predicciones con un día de antelación. Para ello hemos hecho una simulación de cómo hubiese ido la segunda mitad de 2017 entrenando con información de dos años hacia atrás (sin incluir, por supuesto, el periodo con el que vamos a evaluar). Si bien es verdad que nuestro algoritmo es algo más conservador y lanza algunos avisos que terminan siendo falsas alarmas, estos casos no son demasiados y a cambio conseguimos que ninguna de las activaciones reales del protocolo nos pille por sorpresa.

De una forma más analítica, podemos comparar el índice global diario de contaminación por NO2 (línea negra) con los escenarios que marca cada algoritmo: las reglas del protocolo en el centro (valor real), y los dos algoritmos predictivos en las posiciones superior e inferior.

protocolo

Se puede apreciar claramente cómo la predicción del Ayuntamiento pasa por alto algunos episodios de contaminación, y cómo el algoritmo de PiperLab los predice todos, aunque con 6 pequeñas falsas alarmas de un día de duración, y con algunos pronósticos de episodios más largos de lo que finalmente resultan ser. Pero si nos fijamos más detalladamente en estos casos, y atendemos a la línea de tendencia de contaminación (valores que, recordemos, los modelos no conocen hasta un día después), vemos que en bastantes ocasiones el algoritmo de PiperLab genera unos escenarios más coherentes con los altos niveles que las reglas establecidas en el protocolo. Ejemplos de esto son: el periodo más largo de escenario 3 de finales de octubre, el periodo más largo de escenario 2 a mediados de noviembre, o que se llegue a escenario 3 en diciembre después de un pico de contaminación inusualmente alto.

Estos resultados parecen poner de manifiesto las carencias del actual protocolo de contaminación: las reglas tienen una casuística tan complicada que a veces no consiguen capturar correctamente la realidad subyacente. Se dan casos entonces como el de mediados de julio o finales de diciembre, en los que el protocolo marca una leve restricción de nivel 1, mientras que la media de los niveles más altos de contaminación está superando por mucho los 200 μg/m³ de aviso que establece la OMS. Teniendo en cuenta que los estimadores basados en promedios suelen ser mucho más robustos que los que usan reglas aisladas, el protocolo de Madrid probablemente necesite un retoque en este sentido.