Noviembre2016

Un mes para trabajar en un Science Saketch parecía mucho tiempo, pero no lo es cuando además se tiene que hacer al mismo tiempo que se dan clases, preparan artículos, generan propuestas de financiamiento… la vida en la academia. Dicho esto a modo de disculpa y advertencia (para no esperar demasiado), les comparto el primer Data Sketch del proyecto que tuvo por tema contaminación.

Por mi formación creo que lo primero que busco siempre es ver algunos datos que existan del tema lo que me llevo a buscar en primera instancia el portal oficial de monitoreo de contaminantes en la CDMX: http://www.aire.cdmx.gob.mx/default.php  la cual para ser sincero es creo bastante buena que contiene información sobre las fuentes de contaminación, los procesos que la producen, tipos de contaminantes, datos fuente y estadísticas entre otras cosas.

 

screenshot_2016-12-03_21-10-30

Esto incluye incluso algunas gráficas y otras formas de visualizar los datos, sin embargo considero que a estas les falta mucho trabajo de visualización, no obstante es bueno tenerlas. Probablemente más útiles sean los Dashboards que presentan la información de un contaminante de varias formas diferentes lo cual claro genera una mejor idea de su comportamiento.

El problema viene como casi siempre pasa cuando uno quiere usar los datos originales para realizar los propios análisis. Algo que se agradece, claro además de cumplir con los principios de transparencia y poner los datos disponibles para descarga, es que al menos los han puesto en varios formatos de descargas entre ellos separados por comas (CSV) que es para mi la mejor manera de preservar datos.

No obstante, si vemos un ejemplo de los archivos proporcionados que da claro que hay que realizar trabajo inicial para poder usarlos ya en análisis específicos.

Pollutants
city: Ciudad de México
cityCode: MEX
country: México
mesurementAgency: SIMAT
URL: http://www.aire.cdmx.gob.mx
timeStamp: 2016/01/01 al 2016/12/31
average_interval: 001h
version:DT001-IAD-20161110-130735
key: M-G8S71-UOQKG-TKH4E-LSG54
date,id_station,id_parameter,value,unit
01/01/2016 01:00,ACO,CO,,15
01/01/2016 01:00,ACO,NO,,1
01/01/2016 01:00,ACO,NO2,,1
01/01/2016 01:00,ACO,NOX,,1
01/01/2016 01:00,ACO,O3,,1
01/01/2016 01:00,ACO,PM10,85,2

En este sentido es que la pagina de Diego Valle https://hoyodesmog.diegovalle.net que además de tener un conjunto de mapas y gráficas muy buenas, tiene la liga a su paquete de R para poder usar de forma directa los datos oficiales del gobierno de la CDMX.

screenshot_2016-12-03_21-30-19

La instalación del paquete de Diego Valle es directa mediante el codigo

if (!require(devtools)) {
    install.packages("devtools")
}
devtools::install_github('diegovalle/aire.zmvm')

Nos proporciona un ejemplo de como generar una gráfica para la serie de tiempo de máximos diarios de ozono que nosotros usamos para construir la nuestra tratando de entender si los diferentes eventos de implementación de programas oficiales para combatir la contaminación han funcionado.  En ese sentido, pues resultaba importante también saber cual ha sido la historia de estos programas y que presentamos en la siguiente  tabla comparativa de politicas relacionadas con la contaminación y la calidad de aire, compilada por Ana Teruel, asistente de investigación en el EQUIDE, IBERO.

 

Usando el paquete de Diego Valle y el siguiente código:

###################
### AIRE ZMCD  ###
##################

# if (!require(devtools)) {
#   install.packages(“devtools”)
# }
# devtools::install_github(‘diegovalle/aire.zmvm’)

library(“aire.zmvm”)
library(“dplyr”)
library(“ggplot2”)
library(“mgcv”)
library(“lubridate”)
library(“stringr”)

data <- get_station_data(criterion = “HORARIOS”, # Can be one of MAXIMOS (daily maximum),
# MINIMOS (daily minimum),
# or HORARIOS (hourly average)
pollutant = “O3”, # Can be one of “SO2”, “CO”, “NOX”, “NO2”, “NO”, “O3”,
# “PM10”, “PM25”, “WSP”, “WDR”, “TMP”, “RH”
year = 1986:2015) # A numeric vector, the earliest year allowed is 1986

# Daily max among all base stations
data_max <- data %>%
group_by(date) %>%
summarise(max = ifelse(all(is.na(value)),
NA,
base::max(value, na.rm = TRUE))) %>%
na.omit()

# Plot the daily highest pm10 level with trendline
ggplot(data_max,
aes(date, max, group = 1)) +
geom_point(color = “black”, size = .5, alpha = .4) +
geom_line(color = “black”, size = 0.2, alpha = 1.0)+
geom_smooth(method = “gam”, formula = y ~ s(x, k = 25)) +
ggtitle(“Niveles historicos de O3”) +
ylab(“concentraciones medias por hora ppb”) +
xlab(“Año”) +
geom_vline(xintercept = as.numeric(as.Date(“1989-07-01″)), color =”blue”) +
geom_vline(xintercept = as.numeric(as.Date(“1999-07-01”)), color = “blue”) +
geom_rect(aes(xmin=1985, xmax=2015, ymin=177, ymax=210), fill=”yellow”, alpha=0.002)+
geom_rect(aes(xmin=1985, xmax=2015, ymin=210, ymax=265), fill=”orange”, alpha=0.002)+
geom_rect(aes(xmin=1985, xmax=2015, ymin=265, ymax=500), fill=”orange”, alpha=0.002)+
#geom_hline(yintercept = as.numeric(177), color = “yellow”)+
#geom_hline(yintercept = as.numeric(210), color = “orange”)+
#geom_hline(yintercept = as.numeric(265), color = “red”)+
annotate(“text”, label = “”,
x = as.Date(“1995-01-20”),
y = 500) +
theme_bw()

generamos una serie de tiempo de ozono donde mostramos los dos eventos más importantes del Hoy No Circula (HNC) así como los limites de concentración que activan las diferentes etapas de contingencia, marcadas en amarillo, naranja y rojo.

 

test

Esperemos que el Panda de Visceral no se ensañe demasiado con esta gráfica 🙂

 

Lo que es muy relevante hacer notar es que la contaminación por ozono (y pasa igual con los demás contaminantes) ha venido disminuyendo de forma constante y que al menos a simple vista no se ve ningún efecto real en las tendencias alrededor de los eventos de HNC.  Cuando vi esta gráfica algo no me cuadraba por que yo como creo que la mayoría, tenemos una percepción de que el trafico y la contaminación han empeorado. Afortunadamente los Changos de Morlan habían publicado (con motivo del día internacional sin auto) una viz sobre nuevos registros de automóviles en el país.

diasinauto

 

Aquí es donde la cosa se puso padre por que cómo pueden ser compatibles estos dos resultados: menor contaminación y mayor número de autos. Es esta paradoja la que tratamos de compartir en el siguiente Sketch hecho en Sozy que se puede ver dándole click en la imagen y luego enter o flecha hacia delante para navegar en el contenido. Si se quiere también se puede descargar el fuente en svg que puede editarse por ejemplo con inkscape o bien navegarse offline con cualquier explorador de internet.

drawing

http://science-sketches.otrasenda.org/wp-content/uploads/2016/12/drawing.svg