Minería de datos de la Calidad del Aire

La Minería de datos:

La Minería de datos (o "Data mining", como se le conoce en inglés) es una técnica de análisis y estudio de datos que está surgiendo con fuerza en los últimos años, gracias a la posibilidad de aplicar el potencial de procesamiento de datos de los actuales ordenadores. 

En sí misma, la minería de datos no es más que una técnica para el análisis y procesado de grandes volúmenes de datos con el objeto de extraer información útil y patrones de fácil comprensión, que sería imposible conseguir por los medios y herramientas estadísticas tradicionales.

La minería de datos se aplica ya de forma habitual a campos como la informática (redes neuronales y sistemas expertos), la genética (estudio del ADN), el estudio de mercados (estudios de hábito de compra, internet), o incluso los propios negocios y procesos industriales (análisis de clusters y anomalías), y se está extendiendo prácticamente a cualquier campo que disponga de grandes conjuntos de datos cuyo volumen impida un tratamiento eficiente por otros medios.




Minería de datos aplicada a la Calidad del Aire.

La calidad del aire se mide mediante redes de control, públicas y/o privadas, compuestas por una o varias estaciones de control en las cuales se miden diversos contaminantes y parámetros meteorológicos en continuo. Estos datos se almacenan y envían a un centro de control para su gestión respondiendo a periodos de integración que pueden ir de los 10 minutos al dato horario.

Un red de control muy básica (con 1 estación y datos horarios de 5 contaminantes) genera 43.800 datos al año. Una red de control como la de la Comunidad de Madrid (sin contar con la red del Ayuntamiento de Madrid), con 23 estaciones, 150 parámetros contaminantes y 161 parámetros meteorológicos totales, puede generar al año un total de 2.724.000 datos horarios, algo "muy difícil de manejar" con una simple hoja de cálculo.

En el 99% de las ocasiones, el único procesado al que se someten estos datos de calidad del aire obtenidos por las redes de control es el relativo a la obtención de los principales estadísticos para demostrar el cumplimiento de los requisitos establecidos en la normativa: AOT40, medias diarias, medias horarias, medias octohorarias móviles, etc.

En este sentido, destinar el ingente volumen de recursos técnicos y económicos que supone una red de control, con el único objetivo de comprobar el cumplimiento legal, destinando con posterioridad los datos al más absoluto olvido, podría parecer un derroche innecesario, más aún en los tiempos que corren actualmente.

Imagen de Danilo Rizzuti en freedigitalphotos.net
Se deduce pues que la Calidad del Aire es uno de esos campos en los que los repositorios de datos son de difícil tratamiento por otros medios que no sean la minería de datos, y a su vez uno de los campos donde más rentable, útil e interesante podría resultar aplicar estas técnicas de análisis.

Para llevar a cabo un trabajo de minería de datos existen diversas herramientas en el mercado. Sin embargo, en este post se expone un mínimo resumen de lo que se podría obtener al utilizar una herramienta concreta: el Lenguaje R junto con el paquete Openair

Pero... ¿Por qué R y Openair?:
  • Son herramientas gratuitas, lo cual es un motivo de enorme peso.
  • R es un lenguaje abierto, que mejora día a día, y que cuenta con la aportación de expertos en minería de datos de muy diversos campos en todo el mundo.
  • Dispone de módulos específicos para el tratamiento de datos de la calidad del aire, y entre ellos uno en concreto, denominado Openair, que presenta herramientas de minería sencillas y muy atractivas.
  • La instalación y manejo del sistema es "bastante" sencillo, funciona en casi cualquier ordenador, y bajo múltiples sistemas operativos.
  • El procesado de información es extraordinariamente rápido, aun cuando el volumen de datos sea gigantesco.

Manos a la obra: a picar en la mina.

Lo mejor para comprobar las bondades de la Minería de datos aplicada a la Calidad del Aire es ponerse "manos a la obra" y exponer aquí mismo un caso práctico. Sin embargo, este post no puede ni pretende ser un manual de manejo e instalación del software, o de metodología para la minería de datos, para eso sería recomendable que visite los enlaces que aparecen al final del mismo, o que invite algún que otro día a comer al autor para compartir conocimientos.

Tampoco se pretende hacer un análisis exhaustivo de los datos en estudio o de publicar un completo informe de la estación de control. De lo que se trata es de mostrar algunos de los resultados que podemos llegar a obtener al aplicar técnicas de minería a datos de calidad del aire mediante R y Openair, y de comprobar las conclusiones a las que podríamos llegar con las herramientas que ofrece Openair.

Resultados de hacer "Minería de datos" con R y Openair:

Para el análisis de datos que se lleva a cabo en el siguiente caso práctico se utilizan datos reales de una estación de control de la calidad del aire con un marcado carácter industrial, al objeto de mejorar la visibilidad de los resultados. La estación analizada dispone de un histórico de datos acumulado que va más allá de los 54.000 datos por señal, lo que la hace idónea para el análisis de datos mediante "minería de datos".

R y Openair disponen de las funciones matemáticas y estadísticas típicas del estudio de datos, e incluso de funciones específicas como la función aqStats que devuelve directamente todos los estadísticos de calidad del aire del conjunto de datos (la mayoría de los referidos al cumplimiento legal).

También disponen de funciones gráficas específicas que otros programas en el mercado pueden ofrecer, como las rosas de vientos, y que R y Openair ejecutan con mucha mayor celeridad, dada la capacidad de computar del lenguaje.

Pero lo mejor de todo viene tras una buena programación de los trabajos de minería de datos, donde R y Openair pueden ofrecer al investigador gráficos y herramientas de análisis como:

La función polarPlot, que permite hacerse una idea de los focos de origen de la contaminación al modelizar sobre una rosa de vientos la velocidad del viento (parámetro que utiliza para dividir los ejes) y la concentración esperada de un contaminante determinado.

Gráfica 1-. muestra como las mayores concentraciones de SO2 se detectan en dirección E-SE y con vientos medios que estarían entre los 7 m/sg y los 11 m/sg. Esto hace prever que exista una fuente de contaminación en esa dirección, aunque separada a cierta distancia de la estación.

Esta misma función polarPlot puede presentar múltiples variantes, igual de útiles que la original, programable en tan sólo un par de minutos, y que pueden generar gráficas como la siguiente:

Gráfica 2-. muestra como se distribuyen las concentraciones de compuestos orgánicos volátiles en función de la dirección del viento y la temperatura, parámetro muy influyente para la generación de emisiones difusas de estos compuestos. La dirección predominante confirma, al igual que en la anterior gráfica, la existencia de actividades industriales emisoras en el cuadrante S-E.

Existen también otras funciones como la polarAnnulus, que representan una modelización de la concentración de los contaminantes en función de la dirección del viento y de un periodo temporal determinado, lo que es extraordinariamente relevante para determinar aspectos como las características de la fuente de contaminación: tráfico, industrial, natural, etc.

Gráfica 3-. Gráfica polar anular del NO2 donde se puede observar cómo el contaminante experimenta una evolución que podría asimilarse al tráfico próximo a la estación, con direcciones predominantes distintas a las del SO2 visto anteriormente, a horas de máxima circulación rodada, y con fines de semana con menores concentraciones.
Además, R y Openair son herramientas extraordinariamente potentes para calcular tendencias, es decir, comprobar de una forma visual y rápida la evolución de un contaminante a lo largo de los años, y establecer así el carácter de su tendencia, ya sea al alza o a la baja, sirviendo de herramienta de apoyo y análisis a los Programas de mejora. 

Las tendencias pueden ser programadas además para que sean regresiones lineales, utilizando la función TheilSen o suavizadas, utilizando un modelo aditivo, mediante la función smoothTrend. Pueden además desestacionalizarse, de forma que se grafique la tendencia de cualquier contaminante (como por ejemplo el ozono), aunque  presente evoluciones cíclicas en función de la estación del año.

Gráfica 4-. Gráficas de tendencias obtenidas para el ozono, donde se puede ver cómo las concentraciones medias de este contaminante presentan una tendencia progresiva a aumentar, con un incremento medio considerable en los dos últimos años.


Podemos también buscar de una forma sencilla y rápida la correlación existente entre dos variables distintas utilizando para ello la función scatterPlot, que además nos permite integrar en la correlación una tercera variable.

Gráfica 5-. Con esta función podemos comprobar cómo el ozono y los óxidos de nitrógeno evolucionan de forma inversamente proporcional y muy condicionados por la radiación solar existente (que es el parámetro que colorea los puntos). Imaginemos el potencial de esta herramienta para intercomparar equipos, técnicas analíticas o parámetros entre estaciones de control.

Para acabar con este pequeño ejemplo, comentar que también existen otras funciones, como trendLevel, que llevan al extremo las posibilidades de condensación de datos mediante muy diversas combinaciones.

Gráfica 6-.muestra la evolución de las concentraciones máximas horarias de SO2 en función de las horas del día, los días de la semana y las estaciones del año, de forma que se puede observar cómo las emisiones se producen con independencia del día de la semana (e incluso en ocasiones con mayor profusión en fin de semana), y con mayor intensidad en los meses de invierno, donde las condiciones meteorológicas suelen ser más desfavorables para permitir una correcta dispersión de los contaminantes primarios.

Estas son sólo alguna de las funciones que se pueden utilizar con R y Openair, entre otras muchas que contempla el propio paquete de Openair o paquetes adicionales de R. Ahora, una pregunta... ¿crees que se puede hacer esto con un programa de cálculo o el software habitual? ¿Y en menos de una hora?. 


Para realizar este post y llevar a cabo el caso práctico se han utilizado:

Comentarios

Entradas populares de este blog

Ser ECO-Fashion esta de MODA.

Nuevas salidas para el Glicerol

Luchando contra molinos de viento.