¿Cómo comparar las mediciones de diferentes redes de monitoreo de la calidad del aire en Medellín?


#1

Trata de reaccionar a esta conversación: https://twitter.com/Kamerpo/status/961245752759586817

Teniendo las redes ThingSpeak (AireEnvigado), SIATA, PurpleAir y un/loquer, pretende comparar los datos de cada red.

Comparación en vivo

Comprara las mediciones de ThingSpeak (AireEnvigado) y un/loquer http://aqa.unloquer.org:8888/sources/1/dashboards/7#
Para integrar más redes de la ciudad, unas preguntas:
¿Hay un API de PurpleAir para traer el campo de pm25 de cada sensor?
SIATA mencionó que estaba preparando un API, ¿hay alguna noticia de este servicio?

Comparación histórica

Si logra poner las mediciones de las diferentes redes en Influxdb puede lograr un comparativo usando la funcion mean para ajustar el promedio de cada hora en cada red y así tener valores comparativos con SIATA que es la red que tiene los tiempos fijos mas largos.

Los datos:

¿Cómo importar a influxdb los datasets del SIATA y PurpleAir?

Ejemplos de las tramas de datos de cada red

SIATA
,codigoSerial,pm25,calidad_pm25,pm10,calidad_pm10,pm1,calidad_pm1,no,calidad_no,no2,calidad_no2,nox,calidad_nox,ozono,calidad_ozono,co,calidad_co,so2,calidad_so2,pst,calidad_pst,dviento_ssr,calidad_dviento_ssr,haire10_ssr,calidad_haire10_ssr,p_ssr,calidad_p_ssr,pliquida_ssr,calidad_pliquida_ssr,rglobal_ssr,calidad_rglobal_ssr,taire10_ssr,calidad_taire10_ssr,vviento_ssr,calidad_vviento_ssr
2018-01-01 00:00:00,38,50.0,1.0,130.0,1.0,-9999.0,1.0,-9999.0,1.0,-9999.0,1.0,-9999.0,1.0,0.786944,1.0,-9999.0,1.0,-9999.0,1.0,-9999.0,1.0,196.86,1.0,84.9672,1.0,619.76,1.0,0.0,1.0,0.0,1.0,16.9212,1.0,0.145556,1.0

¿El campo de fecha/hora es en cuál huso horario?
¿El valor de pm25 es promedio aritmético de la hora?

PurpleAir
created_at,entry_id,PM1.0_CF_ATM_ug/m3,PM2.5_CF_ATM_ug/m3,PM10.0_CF_ATM_ug/m3,UptimeMinutes,RSSI_dbm,Temperature_F,Humidity_%,PM2.5_CF_1_ug/m3,
2018-01-21 00:00:52 UTC,44189,7.85,9.73,10.40,1646.00,-73.00,70.00,96.00,9.73
ThingSpeak (AireEnvigado)
created_at,entry_id,field3
2018-02-10 13:55:05 UTC,576539,22.39
un/loquer
time,mean_pm25,mean_lat,mean_lng
1/26/2018 6:00:00 AM,34.86259541984733,6.176048889312981,-75.57459451908394

Para comparar las mediciones en diferentes escalas, usa la correlación de las series de tiempo, empieza por evaluar los sensores de Envigado y la frontera, enfrenta varios retos:

  • Los dataframes selecionados ( "https://pastebin.com/raw/pPMGpMf6 y https://pastebin.com/raw/geKUWUMr ) son de diferentes tamaños, si no hay ninguna medición en una hora no se registra en el dataframe,
    • Para poder hacer la correlación necesitamos ajustar su tamaño, entonces trata de extraer los índices de las medidiciones que están presentes en el conjunto mayor y que no están presentes en el conjunto de menor tamaño.
      • Extrae los índices del conjunto grande para igualarlo al menor.

Registra ese proceso en este cuaderno: http://son0p.net/correlationTest.html