Download as pdf or txt
Download as pdf or txt
You are on page 1of 116

FACULTAD DE INGENIERÍA

DEPARTAMENTO INGENIERÍA DE MINAS

PRONÓSTICO DE CONTAMINACIÓN POR MATERIAL PARTICULADO EN


LAS CIUDADES DE COPIAPÓ Y TIERRA AMARILLA A TRAVÉS DE REDES
NEURONALES ARTIFICIALES

Trabajo de titulación presentado en

conformidad a los requisitos para obtener


el título de Ingeniero Civil en Minas.

Profesor Guía: Mg. Pedro Pérez Pons

Felipe Astudillo Contreras


Copiapó, Chile 2022
ABSTRACT

The main objective of this undergraduate thesis was the elaboration of a neural
network model, specifically of the Long Short-Term Memory (LSTM) type, with which
PM10 and PM2.5 pollution could be forecast in the cities of Copiapó and Tierra Amarilla,
in Atacama, Chile, an area historically linked to mining, an industry that has been
syndicated of being a major source of air pollution. To achieve this, variables that could
possibly have an impact on the levels of particulate matter were collected, mainly
climatological and those linked to the mining industry, specifically the blasting carried
out in the open pit mine near Tierra Amarilla. These variables were subjected to an
exploratory data analysis and pre-processing, in order to make them suitable for feeding a
LSTM recurrent neural network model. The hyperparameters of the network were
subjected to a bayesian optimization in order to reduce the error in the forecasting and
increase the computational efficiency of the algorithm. Once the training was completed,
the model was able to forecast with good accuracy the 24-hour concentrations of PM10
for both cities, and to a lesser extent the 24-hour concentrations of PM2.5, due to a lower
correlation coefficient between the input variables and the latter pollutant, which
suggested the absence of certain key variables that affect the PM2.5 levels, to which there
was no access, such as emission records from a copper smelter near the cities, and detailed
information on mining activity, such as the magnitudes of the blastings and the amount of
loading and hauling equipment in motion. In addition, to increase the performance of the
model, it was suggested to increase the time window for the input information by
consulting alternative databases. Finally, by accessing higher computational processing
capacity and testing different neural network architectures, the forecasting capabilities of
the model could possibly be improved.

PARTICULATE MATTER - FORECASTING – MACHINE LEARNING – LSTM

ii
RESUMEN

El objetivo principal de esta tesis de pregrado fue la elaboración de un modelo de redes


neuronales, específicamente del tipo Long Short-Term Memory (LSTM), con el que se
pudiera pronosticar la contaminación por MP10 y MP2.5 en las ciudades de Copiapó y
Tierra Amarilla, en Atacama, Chile, una zona históricamente ligada a la minería, industria
que ha sido sindicada como una importante fuente de contaminación atmosférica. Para
lograr esto se procedió a recolectar variables que, posiblemente, repercutieran en los
niveles de material particulado, principalmente las climatológicas y las ligadas a la
industria minera, específicamente las tronaduras realizadas en la mina a cielo abierto
cercana a Tierra Amarilla. Estas variables fueron sometidas a un estudio exploratorio de
datos y a un preprocesamiento, con el fin de que fueran adecuadas para alimentar un
modelo de redes neuronales recurrentes LSTM. Los hiperparámetros de la red fueron
sometido a una optimización bayesiana con el objetivo de disminuir el error en los
pronósticos y aumentar la eficiencia computacional del algoritmo. Una vez terminado el
entrenamiento, el modelo fue capaz de pronosticar con una buena exactitud las
concentraciones de 24 horas de MP10 para ambas ciudades, y en menor medida las
concentraciones de 24 horas de MP2.5, esto a raíz de que se notó un menor coeficiente de
correlación entre las variables de entrada y este último contaminante, lo que sugirió la
ausencia de ciertas variables claves que inciden en los niveles de MP2.5, a las cuales no
se tuvo acceso, como lo fueron los registros de emisiones de la fundición de cobre cercana
a las ciudades, y la información detallada sobre la actividad minera, como las magnitudes
de las tronaduras y la cantidad de equipos de carguío y transporte en movimiento. Además,
para aumentar el desempeño del modelo se sugirió aumentar la ventana de tiempo para la
información de entrada consultando bases de datos alternativas. Finalmente, accediendo a
una mayor capacidad de procesamiento computacional y probando diferentes
arquitecturas de redes neuronales, posiblemente se podría mejorar las capacidades de
pronóstico del modelo.

MATERIAL PARTICULADO – PRONÓSTICO – MACHINE LEARNING – LSTM

iii
TABLA DE CONTENIDOS

CAPITULO 1: MARCO INTRODUCTORIO ........................................................... 1


1.1 Introducción ...................................................................................................... 1
1.2 Objetivos ........................................................................................................... 2
1.2.1 Objetivo general ....................................................................................... 2
1.2.2 Objetivos secundarios ............................................................................... 2
1.3 Motivación del estudio....................................................................................... 2
1.4 Alcances y restricciones..................................................................................... 3
CAPITULO 2: MARCO TEÓRICO ........................................................................... 4
2.1 Material Particulado........................................................................................... 4
2.2 Legislación ambiental en Chile .......................................................................... 5
2.2.1 Normas primarias para MP10 y MP2.5 ..................................................... 5
2.2.2 Índice de calidad de aire referido a partículas (ICAP). .............................. 7
2.2.3 Estaciones de monitoreo de calidad del aire .............................................. 8
2.3 Inteligencia Artificial (IA) ............................................................................... 10
2.3.1 Tipos de algoritmos ................................................................................ 10
2.3.2 Redes Neuronales Artificiales / Artificial Neural Networks (ANN) ........ 13
2.3.2.1 Perceptrón Multicapa / Multilayer Perceptron (MLP) .................... 14
2.3.2.2 Redes Neuronales Convolucional / Convolutional Neural Networks
(CNN) ...................................................................................................... 15
2.3.2.3 Redes Neuronales Recurrentes / Recurrent Neural Networks (RNN)
................................................................................................................. 17
2.3.2.4 Funciones de activación ................................................................ 19
2.3.2.5 Funciones de pérdida..................................................................... 21
2.3.2.6 Optimizadores ............................................................................... 22
2.3.2.7 Regularización y Dropout.............................................................. 23
2.3.2.8 Optimización bayesiana de hiperparámetros .................................. 24
CAPITULO 3: DESARROLLO EXPERIMENTAL ............................................... 26
3.1 Definición del problema a resolver .................................................................. 26

iv
3.2 Variables de entrada del modelo ...................................................................... 26
3.2.1 Obtención de variables de entrada .......................................................... 28
3.2.1.1 Concentraciones de material particulado........................................ 28
3.2.1.2 Variables meteorológicas .............................................................. 29
3.2.1.3 Desplazamiento de la población .................................................... 33
3.2.1.4 Actividad minera ........................................................................... 34
3.2.1.5 Variables temporales ..................................................................... 34
3.2.2 Estudio exploratorio de datos (EDA) ...................................................... 35
3.2.2.1 Variables en el tiempo ................................................................... 37
3.2.2.2 Histogramas .................................................................................. 42
3.2.2.3 Diagramas de caja ......................................................................... 45
3.2.2.4 Correlaciones ................................................................................ 48
3.2.2.5 Conclusiones sobre el EDA ........................................................... 48
3.2.3 Preprocesamiento ................................................................................... 50
3.2.3.1 Interpolación ................................................................................. 50
3.2.3.2 Creación de variables .................................................................... 52
3.2.3.3 Codificación cíclica....................................................................... 54
3.2.3.4 Separación de la base de datos....................................................... 57
3.2.3.5 Data Reshaping ............................................................................. 57
3.3 Arquitectura del modelo .................................................................................. 60
3.3.1 Estructura general ................................................................................... 60
3.3.2 Funciones de activación .......................................................................... 61
3.3.3 Función de pérdida y set de validación ................................................... 62
3.3.4 Optimizador ........................................................................................... 62
3.3.5 Regularización y Dropout ....................................................................... 63
3.3.6 Optimización Bayesiana de hiperparámetros........................................... 63
3.4 Entrenamiento del modelo ............................................................................... 66
CAPITULO 4: ANÁLISIS DE RESULTADOS ....................................................... 74
4.1 Exactitud del modelo de pronósticos ................................................................ 74

v
4.2 Incidencia de las variables de tronadura sobre el material particulado .............. 75
4.3 Incidencia de las variables en general sobre el material particulado.................. 77
CAPITULO 5: CONCLUSIONES Y RECOMENDACIONES ............................... 79
CAPITULO 6: BIBLIOGRAFÍA .............................................................................. 82
CAPITULO 7: ANEXO ............................................................................................. 84

vi
ÍNDICE DE TABLAS

Tabla 2.1: Niveles recomendados por las directrices de la OMS sobre la calidad del aire.
...................................................................................................................................... 5
Tabla 2.2: ICAP y concentración de 24 horas para MP10 y MP2.5 según D.S. ............... 7
Tabla 2.3: Niveles de emergencia ambiental según ICAP y concentración de 24 horas. .. 8
Tabla 2.4: Funciones de pérdida más utilizadas ............................................................ 21
Tabla 3.1: Información Estación Tama ......................................................................... 28
Tabla 3.2: Información Estación Sivica ........................................................................ 29
Tabla 3.3: Información Estación Jotabeche .................................................................. 29
Tabla 3.4: Información Estación UDA ......................................................................... 30
Tabla 3.5: Estaciones de origen de la información ........................................................ 33
Tabla 3.6: Disponibilidad de datos en cada variable de entrada .................................... 35
Tabla 3.7: Estadísticas básicas de las variables de entrada ............................................ 36
Tabla 3.8: Frecuencia de tronaduras ............................................................................. 41
Tabla 3.9: Cantidad de valores extremos en cada variable ............................................ 47
Tabla 3.10: Detalles sobre la información faltante en cada variable .............................. 51
Tabla 3.11: Cantidad de horas para cada episodio ambiental ........................................ 53
Tabla 3.12: Distribución porcentual para cada episodio ambiental ................................ 54
Tabla 3.13: Train-Test split .......................................................................................... 57
Tabla 3.14: Detalles set de entrenamiento y prueba ...................................................... 59
Tabla 3.15: Ejemplo de una muestra t dentro de la base de datos tridimensional ........... 60
Tabla 3.16: Límites de optimización para los hiperparámetros ..................................... 64
Tabla 3.17: Resultados de la optimización bayesiana ................................................... 65
Tabla 3.18: Neuronas activas en cada capa LSTM........................................................ 66
Tabla 3.19: Número de parámetros por capa ................................................................ 69
Tabla 4.1: Metricas de evaluación del modelo .............................................................. 74
Tabla 4.2: Métricas de evaluación del modelo con lapsos igualados ............................. 76
Tabla 4.3: Métricas de evaluación del modelo autorregresivo de M.P. .......................... 77
Tabla 7.1: Detalle de las iteraciones efectuadas por el Optimizador Bayesiano ............. 99

vii
ÍNDICE DE GRÁFICOS

Gráfico 2.1: ICAP por material particulado .................................................................... 7


Gráficos 2.2: Funciones de activación más utilizadas ................................................... 20
Gráfico 2.3: Ejemplo de optimización bayesiana de una función dependiente de x ....... 24
Gráficos 3.1: Relación entre variables Jotabeche-UDA ................................................ 32
Gráficos 3.2: Comportamiento de las variables en el tiempo......................................... 37
Gráficos 3.3: Comportamiento promedio de cada variable a lo largo del día ................. 39
Gráficos 3.4: Frecuencia acumulada de tronaduras ....................................................... 42
Gráficos 3.5: Histogramas variables de contaminación y meteorológicas ..................... 43
Gráficos 3.6: Diagramas de caja variables de contaminación y meteorológicas ............ 45
Gráficos 3.7: Comportamiento de las nuevas variables en el tiempo ............................. 52
Gráficos 3.8: Representación de los ciclos en cada variable de tiempo ......................... 55
Gráficos 3.9: Codificación cíclica variables temporales y variables en grados .............. 56
Gráfico 3.10: Pronóstico MP10_SIVICA_24H (sin tronadura) ..................................... 70
Gráfico 3.11: Pronóstico MP2.5_SIVICA_24H (sin tronadura) .................................... 70
Gráfico 3.12: Pronóstico MP10_TAMA_24H (sin tronadura) ...................................... 71
Gráfico 3.13: Pronóstico MP2.5_TAMA_24H (sin tronadura)...................................... 71
Gráfico 3.14: Pronóstico MP10_SIVICA_24H (con tronadura) .................................... 72
Gráfico 3.15: Pronóstico MP2.5_SIVICA_24H (con tronadura) ................................... 72
Gráfico 3.16: Pronóstico MP10_TAMA_24H (con tronadura) ..................................... 73
Gráfico 3.17: Pronóstico MP2.5_TAMA_24H (con tronadura) .................................... 73
Gráficos 7.1: Dispersión de cada variable en función de MP10_TAMA ....................... 85
Gráficos 7.2: Dispersión de cada variable en función de MP2.5_TAMA ...................... 86
Gráficos 7.3: Dispersión de cada variable en función de MP10_SIVICA...................... 87
Gráficos 7.4: Dispersión de cada variable en función de MP2.5_SIVICA ..................... 88
Gráficos 7.5: Dispersión de cada variable en función de Temperatura_aire .................. 89
Gráficos 7.6: Dispersión de cada variable en función de Temperatura_rocio ................ 90
Gráficos 7.7: Dispersión de cada variable en función de Radiacion_solar ..................... 91
Gráficos 7.8: Dispersión de cada variable en función de Humedad_relativa ................. 92

viii
Gráficos 7.9: Dispersión de cada variable en función de Presión atmosférica ............... 93
Gráficos 7.10: Dispersión de cada variable en función de Precipitacion_liquida ........... 94
Gráficos 7.11: Dispersión de cada variable en función de Velocidad_viento................. 95
Gráficos 7.12: Dispersión de cada variable en función de Direccion_viento ................. 96
Gráficos 7.13: Dispersión de cada variable en función de Velocidad_viento TAMA .... 97
Gráficos 7.14: Dispersión de cada variable en función de Direccion_viento _TAMA ... 98

ix
ÍNDICE DE FIGURAS

Figura 2.1: Relación IA, ML y DL ............................................................................... 10


Figura 2.2: Aprendizaje supervisado ............................................................................ 11
Figura 2.3: Aprendizaje no supervisado ....................................................................... 12
Figura 2.4: Aprendizaje por refuerzo ............................................................................ 13
Figura 2.5: Arquitectura de una MLP Fully Connected................................................. 15
Figura 2.6: Definición matemática de convolución ....................................................... 15
Figura 2.7: Filtro convolucional aplicado a una matriz ................................................. 16
Figura 2.8: Arquitectura de una CNN ........................................................................... 16
Figura 2.9: Comparación entre Feed-forward ANN y RNN .......................................... 17
Figura 2.10: Arquitectura de una RNN ......................................................................... 18
Figura 2.11: Estructura interna de una neurona LSTM ................................................. 18
Figura 2.12: Funcionamiento de una neurona y su función de activación ...................... 20
Figura 2.13: Dropout en capas ocultas .......................................................................... 23
Figura 3.1: Matriz de correlación de Pearson - Estaciones Jotabeche-UDA .................. 31
Figura 3.2: Matriz de correlación de Pearson – Variables meteorológicas y de
contaminación ............................................................................................................. 49
Figura 3.3: Esquema información tridimensional ......................................................... 58
Figura 3.4: Estructura general de la red neuronal del modelo de pronósticos. ............... 61
Figura 3.5: Train, validation, test split .......................................................................... 62
Figura 3.6: Estructura detallada de la red neuronal sin variables de tronadura............... 67
Figura 3.7: Estructura detallada de la red neuronal con variables de tronadura ............. 68
Figura 7.1: Mapa estaciones de monitoreo Copiapó-Tierra Amarilla ............................ 84

x
CAPITULO 1: MARCO INTRODUCTORIO

1.1 Introducción

El día 6 de septiembre de 2021 el gobierno de Chile declaró como zona saturada por
MP10 a las comunas de Copiapó y Tierra Amarilla, esto a razón de los niveles de
contaminación alcanzados en las estaciones de monitoreo de calidad del aire que
componen la red Copiapó/Tierra Amarilla (mediciones realizadas entre el 1 de enero de
2018 y el 31 de diciembre de 2020). Dado el peligro que supone para la salud de las
personas la exposición prolongada a este tipo de contaminante, existe una real necesidad
de contar con mejores herramientas y metodologías para hacer frente a episodios de
aumento de material particulado en el ambiente.

El presente trabajo de titulación tiene por objetivo la formulación de un modelo de


pronósticos capaz de alertar con varias horas de anticipación el posible aumento de
material particulado por sobre los niveles recomendados y con una confiabilidad igual o
superior a lo estipulado en la legislación ambiental vigente. Para lograr esto se decidió
utilizar redes neuronales artificiales, un tipo de inteligencia artificial (IA) que emula el
funcionamiento del cerebro humano por medio de modelos computacionales capaces de
recibir grandes cantidades de información y procesarla en búsqueda de patrones y
relaciones que puedan ser utilizados en la resolución de una problemática en particular.
Este modelo se alimenta, principalmente, por bases de datos gratis y de libre acceso a
cargo del Ministerio del Medio Ambiente o de la Dirección General de Aeronáutica Civil.

1
1.2 Objetivos

1.2.1 Objetivo general

Pronosticar la concentración de 24 horas de MP10 y MP2.5 para las ciudades de


Copiapó y Tierra Amarilla utilizando un modelo de Redes Neuronales Artificiales (ANN)
que cumpla con los requisitos señalados en la legislación ambiental vigente.

1.2.2 Objetivos secundarios

• Reunir y estudiar una base de datos con variables relevantes para efectuar
pronósticos de concentración de material particulado.

• Preprocesar la base de datos para que sea capaz de alimentar una Red Neuronal
del tipo LSTM.

• Dimensionar la incidencia de ciertas variables claves sobre los niveles de


material particulado.

• Confeccionar un modelo de pronósticos con capacidad de generalizar, y que


sea aplicable para distintos contaminantes de interés.

1.3 Motivación del estudio

El presente trabajo de titulación nace de la necesidad de contar con mejores


herramientas para pronosticar posibles episodios críticos de contaminación por material
particulado, sobre todo en ciudades del norte de Chile como Copiapó y Tierra Amarilla,
recientemente declaradas zonas saturadas por MP10, que además dependen en gran parte
de la minería, actividad que ha sido sindicada como una fuente importante de
contaminación. Todo esto en un contexto nacional de gran preocupación por la
contaminación generada por la industria, con crisis ambientales como las ocurridas en
Quinteros y Puchuncaví, que suponen consecuencias graves en la salud de la población.

2
1.4 Alcances y restricciones

El desempeño del modelo de pronósticos desarrollado en la presente tesis, depende en


gran medida de la calidad de las bases de datos utilizadas para alimentar a la red neuronal,
por lo tanto, cualquier posible error o patrón anómalo existente en ellas, se verá reflejado
en el resultado final del modelo. La cantidad de información también tiene una repercusión
significa en el desempeño del modelo, lo que constituye un inconveniente ya que se
depende exclusivamente de la disponibilidad existente en plataformas online de terceros,
como empresas y servicios públicos.

Además, el modelo de pronósticos sólo es aplicable para la zona geográfica en estudio


y para los contaminantes trabajados (MP10 y MP2.5). En caso de que se quiera realizar el
pronóstico sobre otro contaminante, por ejemplo, dióxido de azufre (SO2), se debe realizar
un nuevo entrenamiento e incluir variables de entrada significativas para los niveles del
contaminante en cuestión.

3
CAPITULO 2: MARCO TEÓRICO

2.1 Material Particulado.

Se define como material particulado al contaminante compuesto por partículas sólidas


o líquidas de un tamaño determinado y que se encuentran en suspensión en la atmósfera 1.
Sus principales componentes son los sulfatos, los nitratos, el amoniaco, el cloruro de
sodio, el hollín, los polvos minerales y el agua. Se clasifica en 2 grupos de acuerdo al
diámetro de sus partículas: material particulado 10 y material particulado 2.5.

El material particulado 10 (MP10) corresponde al material particulado con diámetro


aerodinámico menor o igual a 10 micrones, siendo capaz de ingresar a las vías respiratorias
humanas y alojarse en los pulmones produciendo problemas de salud al corto y largo
plazo. Proviene principalmente del polvo suspendido en la atmosfera, pero también tiene
un componente humano producto de las actividades de la industria, el transporte, la
construcción y el comercio2. Ejemplos de este contaminante son el polvo, las cenizas, el
polen, el moho, entre otros1. Por otra parte, el material particulado 2.5 (MP2.5)
corresponde al material particulado con diámetro aerodinámico menor o igual a 2.5
micrones. El MP2.5 está contenido dentro del MP10, pero a diferencia de este último, es
capaz de ingresar hasta las vías respiratorias profundas. Además de causar problemas
respiratorios, diversos estudios sugieren un aumento en la probabilidad de desarrollo de
enfermedades cardiovasculares a raíz de la capacidad de este contaminante de penetrar en
el torrente sanguíneo3,4. La concentración de MP2.5 en la atmósfera tiene un importante
componente antropogénico dado a que se origina de la combustión que ocurre en
automóviles, fábricas, calefacción por leña, entre otros.

Las directrices de la Organización Mundial de la Salud (OMS) sobre la calidad del


aire5 (actualizadas el año 2021) recomiendan, con el fin de resguardar la salud de las
personas, no superar los niveles de material particulado señalados en la tabla N°2.1. Estos
niveles han sido determinados mediante pruebas y se apoyan en evidencia científica que
demuestra los posibles efectos de los contaminantes sobre la salud. Además, se establecen
cuatro metas intermedias que buscan la reducción gradual de las concentraciones de

4
material particulado, especialmente útil en zonas en donde la contaminación está muy por
encima de los niveles recomendados.

Tabla 2.1: Niveles recomendados por las directrices de la OMS sobre la calidad del
aire.

Meta intermedia
Contaminante Tiempo promedio Nivel recomendado
1 2 3 4
Anual 15 70 50 30 20
MP10 μg/m3
24 horas 45 150 100 75 50
Anual 5 35 25 15 10
MP2.5 μg/m3
24 horas 15 75 50 37.5 25

2.2 Legislación ambiental en Chile

2.2.1 Normas primarias para MP10 y MP2.5

La ley 19,300 sobre Bases Generales del Medioambiente promulgada en el año 1994,
señala en su artículo primero “El derecho a vivir en un ambiente libre de contaminación”.
Para garantizar esto, se establece en el artículo 32 de dicha ley el concepto de normas
primarias de calidad ambiental las cuales deben ser promulgadas mediante decreto
supremo, y tienen por objetivo proteger la salud de las personas definiendo, de acuerdo a
cada sustancia o contaminante, las concentraciones máximas o mínimas permisibles
dentro de un periodo de tiempo determinado. En el caso del material particulado 10
(MP10) sus niveles se encuentran normados por el decreto supremo número 12 del año
2021 (D.S. N°12/2021), mientras que el material particulado 2.5 (MP2.5) por el decreto
supremo número 12 del año 2011 (D.S. N°12/2011).

En dichos decretos se define el concepto de concentración de MP10 como “valor


promedio de material particulado respirable MP10 que se mide en el aire, expresado en
microgramos por metro cúbico normal (µg/m3N).” (D.S. N°12/2021, artículo 2°) y
también el concepto de concentración de MP2.5 como “el valor promedio del material
particulado medido en el aire, expresado en microgramos de material particulado por
metro cúbico (µg/m3).” (D.S. N°12/2011, artículo 2°)

5
El decreto supremo N°12/2021 además introduce, en su artículo 2°, el concepto de
concentración de 24 horas, y lo define como:

Promedio aritmético de los valores de las concentraciones de material particulado


respirable MP10, medidos en un bloque de 24 horas contadas desde las cero horas de
cada día. En caso de pérdida parcial de información horaria, el cálculo de
concentración de 24 horas deberá calcularse con al menos 18 valores, es decir, con 18
valores horarios o 18 horas de medición, sean o no consecutivas correspondiente al
mismo día de medición. (párr. 5)

Sobre la norma primaria de calidad del aire para el MP10, el decreto supremo número
N°12/2021 en su artículo 4° establece que:

Se considerará sobrepasada la norma primaria de calidad ambiental para material


particulado respirable MP10 como concentración anual, cuando el promedio
aritmético de tres años calendarios consecutivos, en cualquier estación monitora
calificada como EMRP, sea mayor o igual a 50 µg/m3N.

También el artículo 5° del mismo decreto supremo, señala que:

Se considerará sobrepasada la norma primaria de calidad ambiental para material


particulado respirable MP10, como concentración de 24 horas, cuando ocurra, en
cualquier estación monitora calificada como EMRP, una de las siguientes condiciones:

a. En un año calendario, el valor correspondiente al percentil 98 de las


concentraciones de 24 horas registradas, sea mayor o igual a 130 µg/m3N

b. Si antes que concluya un año calendario, el número de días con mediciones sobre
el valor de 130 µg/m3N, sea mayor que siete.

En el caso del MP2.5 el decreto supremo N°12/2011 en su artículo 4° considera


sobrepasada la norma primaria de calidad en los siguientes casos:

a) Cuando el percentil 98 de los promedios diarios registrados durante un año, sea


mayor a 50(µg/m3), en cualquier estación monitora calificada como EMRP; o

6
b) Cuando el promedio trianual de las concentraciones anuales sea mayor a
20(µg/m3), en cualquier estación monitora calificada como EMRP. (párr. 2 y 3)

2.2.2 Índice de calidad de aire referido a partículas (ICAP).

La legislación también establece el concepto de índice de calidad de aire referido a


partículas (ICAP), el cual estandariza en una escala común los niveles de concentración
de los distintos contaminantes, específicamente MP10 y MP2.5. Para calcular este
parámetro se utilizan los valores puntuales de ICAP indicados en cada decreto supremo,
y su equivalente en concentración de 24 horas (tabla N°2.2). Estos valores representan los
límites de una función lineal segmentada, tal como se muestra en el gráfico N°2.1 Para
efectos de cálculo, los valores intermedios no señalados en los decretos N°12/2021 y
N°12/2011 deberán ser determinados mediante una interpolación lineal.

Tabla 2.2: ICAP y concentración de 24 horas para MP10 y MP2.5 según D.S.

Concentración de 24 horas
ICAP
MP10 µg/m3N MP2.5 µg/m3
0 0 0
100 150 50
500 330 170

Gráfico 2.1: ICAP por material particulado

7
Por medio del ICAP se puede determinar el nivel de contaminación que da origen a
situaciones de emergencia ambiental, con el objetivo de tomar las medidas pertinentes
para resguardar la salud de las personas durante episodios de alta contaminación por
material particulado.

Tabla 2.3: Niveles de emergencia ambiental según ICAP y concentración de 24


horas.

Concentración de 24 horas
Nivel ICAP
MP10 µg/m3N MP2.5 µg/m3
Bueno [0-100) [0-130) [0-50)
Regular [100-200) [130-180) [50-80)
Alerta [200-300) [180-230) [80-110)
Preemergencia [300-500) [230-330) [110-170)
Emergencia [500+ [330+ [170+

2.2.3 Estaciones de monitoreo de calidad del aire

Para efectos de fiscalización y reporte a la autoridad sanitaria correspondiente, la


concentración de material particulado debe ser registrada en estaciones de monitoreo de
calidad del aire, reguladas por el decreto supremo número 61 del año 2008 (D.S. Nº
61/2008) en donde se señalan las condiciones de instalación y funcionamiento de estas,
aplicable para estaciones pertenecientes a organismos públicos o a personas naturales o
jurídicas privadas. Además, se definen, entre otros, los siguientes conceptos:

Promedio horario: Corresponde al que se calcula con los valores medidos entre el
minuto uno y el minuto 60 de la hora. El promedio horario, para el caso de monitores
continuos de gases, debe calcularse sobre el promedio de las mediciones realizadas
durante cinco minutos consecutivos, es decir, el promedio horario se obtendrá de
promediar aritméticamente 12 valores promedio. En el caso de los medidores
continuos de material particulado, el valor promedio horario se calculará sobre el
promedio de las mediciones realizadas durante 15 minutos consecutivos, es decir, el
promedio horario se obtendrá de promediar aritméticamente 4 valores promedio.

8
Promedio diario: Aquel que se calcula con la información medida entre la hora 0 y
la hora 23. El promedio diario deberá calcularse con al menos 18 valores de promedio.
En la medición de material particulado con equipos basados en el método gravimétrico
de alto y bajo volumen, el promedio diario se calculará sobre la base de 18 horas
continuas de medición. Ello sin perjuicio de lo dispuesto en las normas primarias de
calidad del aire respectivas. En todo caso, el valor promedio horario puede ser
calculado sobre la base de un número mayor de promedios a petición de la autoridad
sanitaria. Ello sin perjuicio de lo dispuesto en las normas de calidad del aire
respectivas. (párr. 15 y 16)

Para verificar el cumplimiento de las normas primarias de calidad, la estación debe ser
calificada como de representatividad poblacional (EMRP), debiendo cumplir una serie de
requisitos establecidos por el Ministerio de Medioambiente en la Resolución Exenta 744
del año 2017 (N° 744/2017), entre los que se encuentran:

• Debe estar emplazada a una distancia de menos de 2 km a una zona edificada


habitada.
• Se debe evitar el emplazamiento en zonas de topografía compleja.
• La estación debe tener cielo despejado sobre ella y estar expuesta a la atmosfera.
• No deben existir obstrucciones a la circulación del viento.
• Debe estar emplazada en zonas donde la población pasa gran parte del tiempo,
cercana a zonas con edificación habitacional o habitacional y comercial.

9
2.3 Inteligencia Artificial (IA)

El campo de la Inteligencia Artificial (IA), en pocas palabras, busca otorgar a las


máquinas la capacidad de pensar en forma similar a como lo harían los seres humanos,
esto a través de modelos computacionales que buscan resolver un problema en particular.
Si bien el concepto de IA se acuñó en la década de los 50’s6, no fue hasta comienzos del
siglo XXI cuando su popularidad aumentó y comenzó a ser aplicada de forma masiva en
los diversos sectores productivos, esto gracias al aumento en la capacidad de
procesamiento computacional y a la disponibilidad de gran cantidad de información para
alimentar a los modelos.

Dentro del campo de la Inteligencia Artificial se encuentra además el Machine


Learning o Aprendizaje Automático, que tiene por objetivo, tal y como lo indica su
nombre, otorgar a los ordenadores la capacidad de aprender de manera automática e
independiente, sin ser expresamente programados para ello. Dependiendo del nivel de
complejidad de los algoritmos también pueden ser clasificados como Deep Learning o
Aprendizaje Profundo, los cuales poseen un grado de abstracción aún mayor.

Figura 2.1: Relación IA, ML y DL

Inteligencia Artificial
Machine Learning
Deep Learning

2.3.1 Tipos de algoritmos

Según el tipo de aprendizaje, los algoritmos de Machine Learning y Deep Learning, a


nivel general se pueden clasificar en 3 grandes grupos:

• Aprendizaje supervisado / Supervised learning

• Aprendizaje no supervisado / Unsupervised learning

• Aprendizaje por refuerzo / Reinforcement learning


10
Los algoritmos de aprendizaje supervisado son aquellos que reciben como parte de los
datos de entrada el valor o etiqueta objetivo del problema, por lo que el modelo tiene
acceso al resultado al cual desea llegar y lo utiliza durante el aprendizaje, de tal forma que
al final del entrenamiento tenga la capacidad de generalizar el comportamiento del
problema, para posteriormente aplicar lo aprendido en bases de datos desconocidas con el
fin de obtener una etiqueta o valor. Corresponde al tipo de aprendizaje más utilizado en el
campo. Según el objetivo que busquen, los algoritmos supervisados se dividen en
regresión y clasificación. Los algoritmos de regresión tienen por objetivo obtener un valor
numérico continuo a partir de los datos de entrada y los de clasificación, obtener una
etiqueta o clase discreta. En la figura 2.2 se observa un ejemplo esquemático de un
algoritmo supervisado de clasificación, el cual es entrenado con fotografías etiquetadas de
animales, para luego ser capaz de identificar, en fotografías diferentes a las originales, las
características principales de cada animal y en base a eso asignarles una de las etiquetas.

Figura 2.2: Aprendizaje supervisado

Por su parte, los algoritmos de aprendizaje no supervisado, a diferencia de los


algoritmos supervisados, no reciben datos de entrada con el valor o etiqueta objetivo del
problema lo que genera que el modelo deba detectar de manera independiente patrones o
relaciones en la información de entrada que le permitan llegar a un resultado coherente.
Se dividen en algoritmos de agrupamiento y de reducción de dimensionalidad. Los de
agrupamiento o clustering, tienen por objetivo dividir la información en “n” cantidad de
11
grupos a partir de características y patrones similares. Esta “n” cantidad de grupos puede
ser especificada explícitamente o dejada a decisión del algoritmo. Por otro lado, los
algoritmos de reducción de dimensionalidad buscan disminuir la cantidad de variables de
entrada en un modelo, a través del análisis de relaciones y dependencias entre ellas, y
comúnmente se utilizan como etapa de preprocesamiento para otros algoritmos de
Inteligencia Artificial. En la figura 2.3 se observa un ejemplo esquemático de un algoritmo
no supervisado de agrupamiento, que recibe como datos de entrada un conjunto de
fotografías de animales sin etiquetar, y las divide en grupos con características similares.

Figura 2.3: Aprendizaje no supervisado

Finalmente, en el aprendizaje por refuerzo el algoritmo o agente, en base a ensayo y


error, intenta resolver una tarea o problemática y a través de un sistema de castigos y
recompensas recibe feedback por parte del ambiente, pero sin otorgar la respuesta al
problema, de tal forma que el agente busca maximizar la recompensa ejecutando acciones
secuenciales e iterativas. En la figura 2.4 se observa una iteración de un algoritmo de
aprendizaje por refuerzo que busca identificar animales en fotografías.

12
Figura 2.4: Aprendizaje por refuerzo

2.3.2 Redes Neuronales Artificiales / Artificial Neural Networks (ANN)

Una de las familias de algoritmos de Machine Learning y Deep Learning más


utilizadas en la actualidad son las Redes Neuronales Artificiales o Artificial Neural
Networks (ANN) presentes en áreas como el procesamiento de lenguaje, reconocimiento
de imágenes, redes sociales, publicidad, pronóstico bursátil, pronósticos atmosféricos,
conducción autónoma, reconocimiento facial y de voz, entre muchas otras. El objetivo de
este tipo de algoritmos es imitar el funcionamiento del cerebro humano a través de un
conjunto de neuronas interconectadas entre sí, dispuestas en forma de capas que procesan
la información recibida y la entregan a las neuronas siguientes, de tal forma que cada una
realiza un aporte al resultado final del problema.

La unidad básica de una red neuronal es la neurona o perceptrón en donde se realiza


una suma ponderada de los inputs recibidos de otras capas, asignándoles un peso a cada
uno, más un sesgo y luego el resultado de esta operación es entregado a las capas que
corresponda para volver a realizar el mismo procedimiento. Existen 3 tipos de capas
clasificadas según su ubicación dentro de la red neuronal; la capa de entrada que recibe
los datos iniciales o features del problema a resolver, las capas ocultas que reciben inputs
de las capas previas y entregan el input a las capas posteriores, y la capa de salida que
entrega el resultado final o target del problema.

13
Una red neuronal posee tantas neuronas en la capa de entrada como features tenga el
problema a resolver (x1, x2, x3, …, xn), y tantas neuronas en la capa de salida como targets
tenga el problema (y1, y2, y3, …, yn), pero la cantidad de neuronas en las capas ocultas y
el número de capas, no dependen directamente de las variables de entrada y salida del
problema, siendo determinadas por algún método de optimización o simplemente
definidas por el usuario por prueba y error.

Dependiendo de la estructura general, las redes neuronales se pueden clasificar en 3


grupos principales:

• Perceptrón Multicapa / Multilayer Percepetron (MLP)

• Redes Neuronales Convolucionales / Convolutional Neural Network (CNN)

• Redes Neuronales Recurrentes / Recurrent Neural Networks (RNN)

2.3.2.1 Perceptrón Multicapa / Multilayer Perceptron (MLP)

Se le conoce como Perceptrón Multicapa o Multilayer Perceptron (MLP) a las redes


neuronales compuestas por múltiples capas en donde la información se mueve desde la
capa de entrada hacia la capa de salida y por lo general, cada neurona está conectada con
la totalidad de las neuronas de la capa siguiente (Fully Connected Neural Network). Se
utilizan principalmente en problemas no linealmente separables de clasificación,
reconocimiento y pronóstico7. Las redes de este tipo que poseen sólo una capa oculta se
conocen como Vanilla Neural Network y son unas de las más simples que existen. En la
figura 2.5 se observa una red MLP Fully Connected con 2 capas ocultas, 3 variables de
entrada y 3 de salida.

14
Figura 2.5: Arquitectura de una MLP Fully Connected

2.3.2.2 Redes Neuronales Convolucional / Convolutional Neural


Networks (CNN)

Una Red Neuronal Convolucional o Convolucional Neural Network (CNN) es aquella


que posee por lo menos una capa convolucional en su estructura, y a su vez, una capa
convolucional se define como la que realiza una convolución en sus neuronas. Esta
convolución o filtro convolucional corresponde a una operación matemática entre dos
funciones que produce una tercera función. Más específicamente una convolución se
representa como la integral del producto de dos funciones, con una de ellas invertida y
desplazada8, tal y como se indica en la figura 2.6

Figura 2.6: Definición matemática de convolución



(𝑓 ∗ 𝑔)(𝑡) = ∫ 𝑓(𝜏) 𝑔(𝑡 − 𝜏) 𝑑𝜏
−∞

Desde un punto de vista gráfico un filtro convolucional o kernel es una matriz de


dimensiones determinadas que va realizando una operación matemática sobre otra matriz,
generalmente de dimensiones mayores, y como resultado se obtiene una tercera matriz
que extrae alguna característica en específico de la primera matriz. En la figura 2.7 se
observa una matriz de 6x6 con números aleatorios del 0 al 9 a la cual se le aplica un filtro
convolucional de 3x3, lo que da como resultado una tercera matriz de dimensiones 4x4.

15
Figura 2.7: Filtro convolucional aplicado a una matriz

Por medio de este tipo de filtros, las Redes Convolucionales poseen la capacidad de
detectar patrones, figuras y en general cualquier característica o información distribuida
en el espacio. Este tipo de redes se utilizan frecuentemente en el campo de la visión
artificial o visión computacional que busca otorgar a las máquinas la capacidad de ver y
comprender imágenes y el ambiente que las rodea, más específicamente están presentes
en sistemas de reconocimiento facial, vehículos autónomos, análisis de documentos,
detección de enfermedades, entre muchos otros.

La figura 2.8 representa una CNN con 2 capas convolucionales en su estructura. Por
lo general a medida que se profundiza en las capas convolucionales, se detectan
características más específicas y complejas dentro de la información.

Figura 2.8: Arquitectura de una CNN

16
2.3.2.3 Redes Neuronales Recurrentes / Recurrent Neural Networks
(RNN)

Las Redes Neuronales Recurrentes o Recurrent Neural Networks (RNN) se


caracterizan por tener la capacidad de recibir como inputs secuencias de datos, un tipo de
información compuesta de múltiples elementos que poseen correlación y dependencia
entre ellos como por ejemplo textos, audios, valor de acciones en la bolsa, el tiempo
atmosférico, etc. En el caso de las redes neuronales del tipo Perceptrón Multicapa y
Convolucionales, la información se mueve desde la capa de entrada hacia la capa de salida
(feed-forward), y para generar un output solo toma en cuenta el input actual, sin considerar
la incidencia de elementos anteriores. Por el contrario, las RNN tienen la capacidad de
recordar elementos anteriores a través de los denominados Hidden States que actúan como
memoria para la red neuronal, haciendo posible que las neuronas tengan acceso a la
información de iteraciones anteriores, mejorando así el aprendizaje.

Figura 2.9: Comparación entre Feed-forward ANN y RNN

El principal uso de las RNN está en el procesamiento de lenguaje en donde se incluyen


tareas como traducción de idiomas, categorización de textos, reconocimiento de voz,
generación de texto, resumen de textos, entre muchos otros, pero también encuentran
utilidad en el análisis de series de tiempos (sucesión de datos medidos en el tiempo y
ordenados cronológicamente).

17
La figura 2.10 representa una RNN con 2 capas recurrentes en su estructura que se
encargan de incluir en el aprendizaje la información de elementos o pasos de tiempo
anteriores.

Figura 2.10: Arquitectura de una RNN

Además, dentro de las RNN existe un tipo especial de redes llamadas Long Short-
Term Memory (LSTM), postuladas en el año 1997 por Hochreiter & Schmidhuber 9, que
tienen la particularidad de poder recordar dependencias a largo plazo, y pueden elegir
selectivamente que información recordar. También desde el punto de vista computacional
son mucho más eficientes que las redes RNN.

Figura 2.11: Estructura interna de una neurona LSTM

18
En la figura 2.11 se observa la estructura interna de una neurona del tipo LSTM. La
característica principal de estas neuronas es que poseen 4 puertas o gates que se encargan
de una función específica. La forget gate (f en la figura) determina que inputs actuales y
outputs anteriores serán eliminados del state de la neurona. Para lograr esto utiliza una
función sigmoidal que va desde 0 a 1, en donde 0 significa que olvide completamente
dichos parámetros y 1 que los recuerde completamente. La siguiente puerta, llamada input
gate (i en la figura) que, en combinación a la conexión recurrente (r en la figura), define
que valores serán almacenados en el state de la neurona, utilizando la función sigmoidal.
Finalmente, la output gate (r en la figura) determina que parte del state de la neurona saldrá
de ella (también con una función sigmoidal)

2.3.2.4 Funciones de activación

Dentro de cada neurona, para obtener un output o salida se realiza una suma ponderada,
lo que significa asignarle un peso a cada input recibido de neuronas anteriores o de las
features del modelo, más un bias (error) al final. El principal problema de este
procedimiento es que la combinación lineal de múltiples funciones lineales (en este caso
sumas ponderadas) arroja como resultado otra función lineal, lo que vuelve innecesaria la
existencia de múltiples capas y neuronas ya que toda la red neuronal se podría resumir en
una sola neurona con la suma ponderada resultante de colapsar toda la red en un único
punto. Para resolver este problema existen las llamadas funciones de activación que tienen
por objetivo eliminar la linealidad a los outputs de cada neurona, mejorando la capacidad
de la red neuronal para modelar problemas con comportamientos complejos fuera de lo
lineal y además de limitar el rango numérico del output de cada neurona, evitando la
aparición de valores demasiado alto lo que conllevaría un uso excesivo de recursos
computaciones, ralentizando el entrenamiento del modelo.

19
Figura 2.12: Funcionamiento de una neurona y su función de activación

Por lo general, en las capas ocultas se utiliza la misma función de activación para todas
las neuronas, siendo la más utilizada la función Rectified Linear Unit (ReLU) que se
encarga de llevar a 0 los valores negativos y mantener iguales los positivos. Para la capa
de salida, dependiendo del problema se selecciona la función de activación que entregue
un resultado adecuado. En el gráfico 2.2 se muestran las funciones de activación más
utilizadas en redes neuronales.

Gráficos 2.2: Funciones de activación más utilizadas

20
2.3.2.5 Funciones de pérdida

Por lo general, antes de comenzar a elaborar un modelo de redes neuronales, los datos
disponibles son divididos en 3 grupos: entrenamiento, validación y prueba. Los datos de
entrenamiento, tal y como indica su nombre, son los que se utilizan para entrenar el
modelo, aprendiendo las relaciones entre inputs y outputs presentes en el problema con el
fin de llegar a un resultado adecuado. Para garantizar esto último, el modelo se apoya de
los datos de validación que son incluidos durante el entrenamiento para comprobar que el
modelo sea capaz de realizar pronósticos generalizados y no memorice los datos de
entrenamiento. En cada iteración del entrenamiento el modelo realiza un pronóstico sobre
los datos de validación y compara esta N cantidad de pronósticos (ŷi) con los valores reales
(yi), apoyándose en una función de pérdida o función de coste que cuantifica el error
obtenido, siendo el objetivo final del entrenamiento encontrar el mínimo de dicha función
a través de algoritmos de optimización. La función pérdida a utilizar depende del tipo de
modelo y sus características. En la tabla 2.4 se pueden observar las funciones de pérdida
más utilizadas en modelos de redes neuronales10.

Tabla 2.4: Funciones de pérdida más utilizadas

Problema Función de pérdida Fórmula


𝑁
Clasificación Binary Cross-Entropy 1
− ∑(𝑦𝑖 ⋅ log (ŷ𝑖 ) + (1 − 𝑦𝑖 ) ⋅ 𝑙𝑜𝑔 (1 − ŷ𝑖 ))
𝑁
𝑖=1
𝑁
Multiclass Cross- 1
− ∑(𝑦𝑖 ⋅ log (ŷ𝑖 ))
Entropy 𝑁
𝑖=1
𝑁
Hinge 1
∑ 𝑚𝑎𝑥(0,1 − 𝑦𝑖 ⋅ ŷ𝑖 )
𝑁
𝑖=1
𝑁
Regresión Mean Square Error 1
∑( ŷ𝑖 − 𝑦𝑖 )2
𝑁
𝑖=1
𝑁
Mean Absolute Error 1
∑|ŷ𝑖 − 𝑦𝑖 |
𝑁
𝑖=1
𝑁
Log-Cosh 1
∑ 𝑙𝑜𝑔(𝑐𝑜𝑠ℎ( ŷ𝑖 − 𝑦𝑖 ))
𝑁
𝑖=1

21
2.3.2.6 Optimizadores

Con el objetivo de minimizar la función de coste, y por ende minimizar el error en el


pronóstico realizado, la red va realizando ajustes en los parámetros obtenidos en cada
iteración (pesos y sesgos). Para lograr esto se utilizan algoritmos del tipo descenso del
gradiente o sus variaciones. Entre los más utilizados en redes neuronales se encuentran:
Stochastic Gradient Descent (SGD), Adaptive Moment Estimation (ADAM) y Root Mean
Square Propagation (RMSProp).

Stochastic Gradient Descent (SGD) funciona ubicándose en un punto aleatorio de la


función de pérdida, para luego calcular el gradiente por medio de derivadas parciales
multivariables, y avanzar en sentido contrario este, hasta encontrar el mínimo de la
función. La velocidad en la que el algoritmo “desciende por el gradiente” depende del
learning rate, que se define como el porcentaje del gradiente al que se actualizan los
parámetros del modelo. El término estocástico proviene de la selección aleatoria de una
cantidad determinada de datos de entrenamiento en cada iteración, para evitar un uso
excesivo de recursos computacionales permitiendo que el algoritmo converja más rápido.

Root Mean Square Propagation (RMSProp) es un algoritmo de optimización que a


nivel general funciona de la misma forma que SGD, pero se diferencia en que utiliza un
learning rate variable para actualizar los parámetros en cada iteración. Esto lo logra
dividiendo el learning rate por un promedio exponencialmente decreciente de los últimos
gradientes al cuadrado.

Adaptive Moment Estimation (ADAM) también utiliza un learning rate variable, y


almacena un promedio exponencial decreciente de gradientes al cuadrado, pero además
introduce el concepto de momentum (aunque también existen algoritmos del tipo
RMSProp con momentum) lo que permite que el algoritmo converja al mínimo de manera
más rápida.

22
2.3.2.7 Regularización y Dropout

Unos de los principales problemas que pueden presentar las redes neuronales es el
overfitting o sobreajuste, que se produce cuando una red “memoriza” los datos de
entrenamiento, de tal manera que solo puede realizar pronósticos acertadas sobre ellos,
limitando considerablemente su capacidad de generalizar y realizar pronósticos en bases
de datos desconocidas. Para solucionar este problema existen distintas técnicas, entre las
que se encuentran la regularización y el dropout.

La regularización consiste en penalizar a las variables irrelevantes para el modelo, lo


que puede introducir sesgo en el modelo, pero aumenta la capacidad de generalización de
este. Los regularizadores pueden ser:

• Lasso (L1): penaliza las variables de entrada que tienen poca incidencia en el
pronóstico final volviéndolas 0 por medio de un factor λ.

• Ridge (L2): también penaliza variables de entrada, pero no las lleva a 0, por lo
que al final del modelo todas las variables estarán presentes como variables de
pronósticos. También se apoya en un factor λ.

Por otra parte, el dropout consiste en apagar de manera aleatoria una cantidad
predefinida de neuronas, de modo que ciertas conexiones entre capas desaparecen,
eliminando posibles memorizaciones de patrones generadas entre neuronas adyacentes.
En la figura 2.13 se observa una red con un dropout de ratio 0.25, lo que quiere decir que
en cada iteración se apaga aleatoriamente el 25% de las neuronas. Cabe recalcar que el
ratio de dropout no necesariamente debe ser el mismo para todas las capas.

Figura 2.13: Dropout en capas ocultas

23
2.3.2.8 Optimización bayesiana de hiperparámetros

La optimización bayesiana es un método de optimización global de funciones


desconocidas (sin una expresión definida) no diferenciables que se apoya en la inferencia
bayesiana. El objetivo de la optimización es predecir la función desconocida y
maximizarla. El optimizador realiza la inferencia en base a ciertos valores iniciales, y
comienza a evaluar puntos que maximicen dicha función, tomando también en
consideración los intervalos de confianza en la función inferida.

Para el caso de las redes neuronales, la optimización bayesiana se utiliza para calcular
los hiperparámetros del modelo, es decir, la cantidad de neuronas, la cantidad de capas,
las funciones de activación, el learning rate, el ratio de dropout, el factor lambda de
regularización, entre otros. La función objetivo es la función de pérdida, que depende de
los parámetros del modelo, y a su vez estos dependen de los hiperparámetros ya
mencionados, por lo tanto, el optimizador entrena el modelo una cantidad predefinida de
veces y entrega como resultados la mejor combinación de hiperparámetros encontrados.

Gráfico 2.3: Ejemplo de optimización bayesiana de una función dependiente de x

24
En el gráfico 2.3 se observa un ejemplo de optimización bayesiana realizada a una
función dependiente de un único hiperparámetro x. En este caso la optimización comienza
por 2 valores aleatorios (el primer y penúltimo punto rojo) a partir de los cuales comienza
a realizar 10 inferencias intentando alcanzar el máximo de dicha función. En las zonas en
donde no existen iteraciones o puntos inferidos, la función asigna un área que representa
el intervalo de confianza de 95% de que la función se mueva por ese rango.

25
CAPITULO 3: DESARROLLO EXPERIMENTAL

3.1 Definición del problema a resolver

A raíz de la declaración de zona saturada en Copiapó y Tierra Amarilla en el año 2021,


se decidió elaborar un modelo de redes neuronales que fuese capaz de realizar un
pronóstico de contaminación de acuerdo los requisitos estipulados en la legislación
ambiental vigente. Además, el problema se limitó a la cantidad de información de libre
acceso disponible en la red.

En base a lo anterior, el modelo debió cumplir los siguientes requisitos:

• Pronosticar la concentración de 24 horas de MP10 y MP2.5

• El pronóstico debió realizarse para, mínimo, las 24 horas siguientes.

• Aplicable para las ciudades de Copiapó y Tierra Amarilla

• Tener una confiabilidad igual o superior al 65% según normativa.

3.2 Variables de entrada del modelo

En un modelo de redes neuronales, una de las etapas más importantes es la selección


de variables de entrada y el preprocesamiento de estas. Se calcula que entre el 50 y el 80%
del tiempo utilizado en un proyecto de ciencia de datos se destina a esta tarea11. La
correcta selección y preprocesamiento de variables de entradas es crucial en el éxito de un
modelo de redes neuronales, dado que constituyen la base de todo el aprendizaje posterior,
y cualquier error o imprecisión podría verse reflejado en los pronósticos realizadas.

Para el caso particular del pronóstico de contaminación por material particulado, se


decidió utilizar como información de entrada un conjunto de variables meteorológicas,
esto a razón de que se ha demostrado en diversas publicaciones el gran impacto que tienen
sobre los niveles de MP10 y MP2.512. Específicamente las variables utilizadas fueron:

• Velocidad del viento

• Dirección del viento

26
• Temperatura del aire

• Temperatura de rocío

• Radiación solar

• Humedad relativa

• Presión atmosférica

• Precipitación líquida

También se decidió incluir información relacionada al movimiento de la ciudadanía


porque, como se explicó en el capítulo 3, existe un importante componente antropogénico
en los niveles de contaminación por material particulado. Esta información se vio reflejada
a través de las cuarentenas ocurridas en Chile en el contexto de la pandemia por COVID-
19 y la consiguiente declaración de estado de excepción constitucional por catástrofe entre
marzo de 2020 y septiembre de 2021.

Por otra parte, la actividad minera, en caso de no tomar los resguardos necesarios,
puede constituir una importante fuente de contaminación por material particulado. Debido
a la existencia de múltiples empresas mineras en los alrededores de Tierra Amarilla, y por
sobre todo la presencia de una explotación a cielo abierto, se decidió incluir como datos
de entrada para el modelo la información referente a tronaduras en efectuadas por Minera
Candelaria.

Finalmente, el cuarto grupo de variables de entrada correspondió a las relacionadas al


tiempo, específicamente la hora, el día de la semana y el mes, ya que se consideró que a
través de estas se podría incluir, de manera implícita, variables significativas que incidan
en los niveles de material particulado pero que no se incluyeron directamente en el modelo
ya sea por desconocimiento o por falta de acceso a la información.

Es necesario aclarar que las concentraciones de MP10 y MP2.5 también constituyeron


variables de entrada al problema y fueron además el target final que se deseaba
pronosticar.

27
3.2.1 Obtención de variables de entrada

Las variables de entrada del modelo, fueron extraídas desde bases de datos de libre
acceso a cargo servicios públicos como la Superintendencia del Medio Ambiente (SMA),
la Dirección General de Aeronáutica Civil (DGAC) y el Servicio de Salud de Atacama.
La ventana de tiempo del modelo dependió exclusivamente de la disponibilidad de
información en estas bases de datos.

3.2.1.1 Concentraciones de material particulado

Para obtener las concentraciones de MP10 y MP2.5 en la ciudad de Tierra Amarilla,


se consultó el Sistema Nacional de Información de Fiscalización Ambiental (SNIFA), a
cargo de la SMA, que se encarga de fiscalizar y realizar un seguimiento ambiental a las
llamadas Unidades Fiscalizables, en este caso la Compañía Contractual Minera
Candelaria. La SMA solicita a dicha empresa que reporte de manera mensual, entre otra
información, las mediciones del monitoreo continuo de MP10 y MP2.5 tomadas por la
Estación de Monitoreo de Tierra Amarilla (EMRP), también llamada Tama. En la tabla
3.1 se presenta la información referente a la estación.

La información reportada por Candelaria incluía mediciones continuas en


concentración horaria de MP10 y MP2.5, además de la velocidad y dirección del viento
medidas en el mismo intervalo de tiempo. Se recopiló desde diciembre de 2017 a
diciembre de 2022 en función del cruce de información realizado con las bases de datos
disponibles que se presentarán a continuación.

Tabla 3.1: Información Estación Tama

Nombre Estación de Monitoreo Tierra Amarilla - Tama


Ubicación Av. Miguel Lemeur S/N, Tierra Amarilla
Coordenadas 374,908 E; 6,960,231 N
Contaminantes medidos MP10, MP2.5, caracterización química As y
SiO2, MPS
Variables meteorológicas Velocidad del viento y dirección del viento
medidas

28
Para las concentraciones de MP10 y MP2.5 en la ciudad de Copiapó, se consultó el
Sistema de Información Nacional de Calidad de Aire (SINCA) a cargo del Ministerio del
Medio Ambiente, en donde se recopilan y publican en tiempo real los registros de
concentraciones ambientales de contaminantes normados en Chile. La estación consultada
fue Sivica. En la tabla 3.2 se presenta la información referente a dicha estación.

En la información rescatada se incluyó el monitoreo continuo de MP2.5 y MP10,


reportado en concentraciones horarias, desde diciembre de 2017 a diciembre de 2022. A
diferencia de la estación Tama, no se encontraron disponibles mediciones de variables
meteorológicas como la dirección y velocidad del viento.

Tabla 3.2: Información Estación Sivica

Nombre Estación Copiapó Sivica


Ubicación Edwards 598, Copiapó
Coordenadas 369,133 E; 6,971,887 N
Contaminantes medidos MP10, MP2.5, SO2

3.2.1.2 Variables meteorológicas

Para tener acceso a las variables meteorológicas se hizo uso de los Servicios
Climáticos a cargo de la Dirección Meteorológica de Chile (dependiente de la DGAC), en
donde se encuentra información histórica de los registros provenientes de la red de
estaciones nacional. En las estaciones, las principales variables meteorológicas están
medidas en intervalos regulares de 1 hora.

Al no existir en la zona urbana de Tierra Amarilla una estación meteorológica con


información pública, se utilizó, de manera preliminar, la estación Jotabeche al ser la más
cercana la ciudad (sin considerar las ubicadas en Copiapó). En la tabla 3.3 se presenta la
información referente a dicha estación.

Tabla 3.3: Información Estación Jotabeche

Nombre Tierra Amarilla, Jotabeche


Ubicación Predio agrícola FDF, Tierra Amarilla

29
Coordenadas 377,889 E; 6,947,726 N
Variables meteorológicas Agua caída, evapotranspiración, humedad relativa
medidas del aire, presión atmosférica, radiación solar global
instantánea, temperatura de rocío, temperatura del
aire seco, dirección y rapidez del viento

En el caso de Copiapó, la información meteorológica se obtuvo desde la estación


Universidad de Atacama disponible en la plataforma de Servicios Climáticos. En la tabla
3.4 se detallan las características principales de la estación.

Tabla 3.4: Información Estación UDA

Nombre Copiapó Universidad de Atacama


Ubicación UDA, Copiapó
Coordenadas 367,582 E; 6,972,825 N
Variables meteorológicas Agua caída, evapotranspiración, humedad
medidas relativa del aire, presión atmosférica,
radiación solar global instantánea,
temperatura de rocío, temperatura del aire
seco, dirección y rapidez del viento

Con respecto a la cantidad de información disponible, estación UDA poseía registros


desde diciembre de 2016 a la fecha, pero en el caso de estación Jotabeche sólo existía
información desde agosto de 2020, lo que representaba un problema ya que disminuía
considerablemente la ventana de tiempo a analizar para el modelo, perjudicando los
pronósticos realizados. Para solucionar esto, se comparó los registros de ambas estaciones
en 7 variables meteorológicas de interés, dejando fuera el agua caída por poseer una gran
cantidad de valores en 0. En la figura 3.1 se presenta la matriz de correlación de Pearson
calculada entre ambas estaciones. Se utilizó correlación de Pearson ya que las variables a
comparar poseían una relación lineal, como se puede observar en los gráficos 3.1. Los
valores de interés fueron las correlaciones entre las variables equivalente de cada estación,

30
es decir, temperatura absoluta de UDA con temperatura absoluta de Jotabeche, humedad
relativa de UDA con humedad relativa de Jotabeche, etc.

Figura 3.1: Matriz de correlación de Pearson - Estaciones Jotabeche-UDA

Ts: Temperatura del aire seco (°C).

Td: Temperatura de rocío (°C).

RadGInst: Radiación solar global instantánea (W/m2).

HR: Humedad Relativa (%).

QFE: Presión atmosférica (hPa).

dd: Dirección del viento (°).

ff: Velocidad del viento (kt).

31
Gráficos 3.1: Relación entre variables Jotabeche-UDA

A raíz de los altos valores de correlación entre las variables equivalentes, se decidió
utilizar los datos meteorológicos de la estación UDA, ubicada en Copiapó, como valores
de entrada para el pronóstico de contaminación en Tierra Amarilla, y así aumentar la
ventana de tiempo de análisis del modelo. Esta decisión también se vio apoyada por la
cercanía geográfica entre la estación UDA y la estación Tama, que mide la contaminación
en Tierra Amarilla (aproximadamente 14.5 Km).

En el caso de las variables relacionadas al viento (dirección y velocidad) se mostró


una baja correlación entre Copiapó y Tierra Amarilla, pero la estación Tama poseía sus

32
propias mediciones en dichas variables, por lo que se utilizaron estas últimas como
entradas para los pronósticos en Tierra Amarilla.

En la tabla 3.5 se presenta un resumen sobre la fuente de información para cada


variable de interés.

Tabla 3.5: Estaciones de origen de la información

Origen de la información
Variable de entrada
Tierra Amarilla Copiapó
MP10 y MP2.5 Estación Tama Estación Sivica
Ts, Td, RadGInst, HR, QFE, RRR6 Estación UDA Estación UDA
Dirección y velocidad viento Estación Tama Estación UDA

3.2.1.3 Desplazamiento de la población

Los datos sobre las cuarentenas en Tierra Amarilla y Copiapó fueron rescatados desde
las redes sociales del Servicio de Salud Atacama (perfil de Instagram), en donde se
publicaba de manera regular los avisos de cambio de fase del Plan Paso a Paso para las
comunas de la región de Atacama, entre las cuales se encontraban Tierra Amarilla y
Copiapó.

Se tabuló la información en intervalos de una hora de forma continua entre diciembre


de 2017 a diciembre de 2021 con la siguiente metodología:

• Si, entre marzo de 2020 y septiembre de 2021, la comuna se encontraba en fase


1, la información se registraba con el valor numérico “1”, lo que indicaba
cuarentena para la población.

• Si, en el mismo intervalo de tiempo antes señalado, la comuna se encontraba


en fase 2, y además el día era sábado, domingo o feriado, también se registraba
como “1” o cuarentena.

• Para cualquier otro caso, la información se registraba como “0” lo que indicaba
la ausencia de cuarentena para la población.

33
3.2.1.4 Actividad minera

Para obtener la información referente a la minería, se consultó el sitio web de Minera


Candelaria, en el apartado “Archivo histórico de avisos de tronaduras”, en donde se
publican los registros diarios de tronaduras efectuadas en Mina Rajo Candelaria, Mina
Subterránea Candelaria, Mina Subterránea Santos y Mina Subterránea Alcaparrosa.

La información se tabuló de forma independiente para cada mina, en intervalos de 1


hora entre marzo de 2019 y diciembre de 2021, asignando el valor de “1” a las horas del
día en las que se está llevando a cabo una tronadura, y con el valor de “0” a las horas en
donde no hay tronaduras. Ya que se contaba con aproximadamente 1 año menos de
información en comparación a las otras variables de entrada se decidió realizar 2 modelos
separados, en uno se incluyó la actividad minera y en el otro se dejó fuera con el objetivo
de aumentar la ventana de tiempo a analizar. En etapas posteriores de la presente tesis se
tratará más a fondo esta problemática.

3.2.1.5 Variables temporales

La inclusión de variables temporales en la información de entrada se realizó


simplemente transformando a valor numérico la componente de interés dentro de la
ventana de tiempo del modelo.

• Las horas se registraron como valores entre 0 y 23, indicando cada uno la hora
en cuestión.

• Los días de la semana se registraron como valores entre 0 y 6, siendo 0 el día


lunes y 6 el día domingo.

• Los meses se registraron como valores entre 1 y 12, siendo 1 el mes de enero
y 12 el mes de diciembre

Se decidió dejar fuera como variable de entrada a los años porque se consideró que la
ventana de tiempo era muy pequeña como para que se vieran reflejadas tendencias o
patrones anuales.

34
3.2.2 Estudio exploratorio de datos (EDA)

Para entender la información recolectada y detectar patrones y anomalías, se sometió


la base de datos a un EDA, haciendo uso principalmente de estadística descriptiva y
representaciones gráficas.

El primer paso fue analizar la disponibilidad de los datos para poder dimensionar la
cantidad de información con que se contaba para alimentar al modelo.

Tabla 3.6: Disponibilidad de datos en cada variable de entrada

Cantidad de datos
Variable de entrada Periodo
Disponibles Faltantes
MP10_TAMA 34,719 1,065 2.976%
MP2.5_TAMA 34,845 939 2.624%
MP10_SIVICA 35,557 227 0.634%
MP2.5_SIVICA 35,090 694 1.939%
Temperatura_aire 33,652 2,132 5.958%
Temperatura_rocio 33,652 2,132 5.958%
Radiacion_solar Desde 33,621 2,163 6.045%
Humedad_relativa 01/12/2017 00:00 33,651 2,133 5.961%
Presion_atmosferica hasta 33,651 2,133 5.961%
Precipitacion_liquida 30/12/2021 23:00 33,652 2,132 5.958%
Velocidad_viento 33,652 2,132 5.958%
Direccion_viento 33,652 2,132 5.958%
Velocidad_viento_TAMA 35,771 13 0.036%
Direccion_viento_TAMA 35,688 96 0.268%
Cuarentena_Copiapo 35,784 0 0.000%
Cuarentena_Tierra_Amarilla 35,784 0 0.000%
Tronadura_Rajo Desde 24,360 0 0.000%
Tronadura_Subterranea 22/03/2019 00:00 24,360 0 0.000%
Tronadura_Santos hasta 24,360 0 0.000%
Tronadura_Alcaparrosa 30/12/2021 23:00 24,360 0 0.000%
35
A partir de lo registrado en la tabla 3.6 se pudo observar que las variables de entrada
poseían bajos niveles de información faltante, lo que permitió, en etapas posteriores,
realizar una interpolación para rellenar los espacios vacíos, sin que fuera necesario recurrir
a bases de datos adicionales.

Adicionalmente se calculó las estadísticas básicas para cada variable.

Tabla 3.7: Estadísticas básicas de las variables de entrada

Variable de entrada Unidad Promedio Desv. Estándar Mín Máx


MP10_TAMA μg/m3N 63.832 44.564 0 895
MP2.5_TAMA μg/m3 17.042 17.039 0 649
MP10_SIVICA μg/m3N 38.699 31.066 0 903
MP2.5_SIVICA μg/m3 12.520 9.971 0 433
Temperatura_aire °C 16.135 5.213 2.1 33.7
Temperatura_rocio °C 9.014 3.825 -26.7 15.8
Radiacion_solar watt/m2 271.949 391.731 0 1,358
Humedad_relativa % 66.343 19.288 1.5 100
Presion_atmosferica hPa 972.530 2.429 963.4 1,003.6
Precipitacion_liquida mm 0.001 0.031 0 1.583
Velocidad_viento kt 4.644 2.292 0 14
Direccion_viento ° 284.907 92.056 0 360
Velocidad_viento_TAMA m/s 2.332 1.276 0 5.8
Direccion_viento_TAMA ° 87.749 106.063 0 360

A partir de lo observado en la tabla 3.7 se concluyó la existencia de variables con


regularidad en sus magnitudes a lo largo del tiempo, como por ejemplo la temperatura del
aire, la temperatura de rocío y la presión atmosférica, que presentaban desviaciones
estándar pequeñas y valores máximos y mínimos cercanos al promedio. Para el caso
particular de las variables de concentraciones de material particulado, de acuerdo al
promedio y la desviación estándar se observaron valores regulares en el tiempo, pero
también se sugirió la existencia de valores extremos o outliers en los valores máximos.

36
3.2.2.1 Variables en el tiempo

El primer análisis surgió a partir de las gráficas de distribución en el tiempo de cada


variable meteorológica y de contaminación.

Gráficos 3.2: Comportamiento de las variables en el tiempo

37
38
En los gráficos 3.2 se observó el comportamiento de cada una de las variables a lo
largo de los años en estudio. Los casos más notables fueron las variables de concentración
de material particulado que presentaron picos de contaminación en momentos puntuales.
Por el lado de las variables meteorológicas, se observó un comportamiento cíclico o
estacional propio del paso del año entre estaciones cálida y frías, y en el gráfico de
precipitaciones se hizo notar la poca agua caída en la zona de estudio. Con respecto al
viento, dada la naturaleza de la unidad de medida de dirección (°), no se pudo apreciar
correctamente el comportamiento de este en la ventana de tiempo seleccionada, mientras
que la velocidad no presentó ningún comportamiento regular observable. En los gráficos
también se notó la ausencia de segmentos con información, producto de la pérdida de
mediciones en las estaciones de monitoreo.

También, se procedió a graficar el comportamiento promedio de cada variable en una


ventana de tiempo de 1 día en intervalos de 1 hora.

Gráficos 3.3: Comportamiento promedio de cada variable a lo largo del día

39
40
Según lo observado en los gráficos 3.3 el comportamiento promedio a lo largo del día
en las variables de concentración de material particulado fue similar entre las ciudades de
Copiapó y Tierra Amarilla, con aumentos de MP10 durante las horas de la mañana y la
tarde, y aumentos de MP2.5 en la jornada de la mañana. Lo mismo ocurrió con la
velocidad del viento, que presentó un comportamiento similar entre ambas ciudades,
incluso en la magnitud de la variable (realizando la conversión correspondiente entre
nudos y metros por segundo). El resto de las variables meteorológicas presentaron un
comportamiento bastante esperable para ese tipo de datos.

También se realizó una observación sobre la frecuencia de tronaduras en la distintas


minas de Candelaria en el periodo de estudio (entre marzo de 2019 y diciembre de 2021).

Tabla 3.8: Frecuencia de tronaduras

Frecuencia promedio
Mina Total
Tronaduras por día Días entre tronaduras
Rajo Candelaria 682 0.672 1.488
Subterránea Candelaria 146 0.144 6.952
Santos 137 0.135 7.409
Alcaparrosa 129 0.127 7.868

41
Gráficos 3.4: Frecuencia acumulada de tronaduras

En base a la información presentada en la tabla 3.8 y en los gráficos 3.4, se pudo


observar que la mayor parte de las tronaduras fueron efectuadas en Rajo Candelaria y que
además estas se llevaron a cabo entre las 13:00 y 15:00 hrs, y en menor medida entre las
17:00 y 18:00 horas. En el caso de las minas subterraneas, las tronaduras fueron efectuadas
con mucha mejor frecuencia y en horas de la tarde, entre las 19:00 y 20:00 horas.

3.2.2.2 Histogramas

Se elaboró para cada variable meteorológica y de contaminación un histograma con el


fin de poder observar sus posibles distribuciones de probabilidad y la disposición de la
información en cada rango. El eje vertical representa la frecuencia de cada intervalo de
clase o bins, los cuales fueron determinados haciendo uso de la regla de Sturges, y el eje
horizontal representa la magnitud de cada intervalo en la unidad de medida respectiva.
42
Gráficos 3.5: Histogramas variables de contaminación y meteorológicas

43
A partir de los gráficos 3.5 se pudo observar, a priori, que algunas variables como la
temperatura del aire, la temperatura de rocío, la presión atmosférica y la velocidad del
viento poseían un comportamiento normal o gaussiano esperable (es importante aclarar
que las variables de entrada para un modelo de redes neuronales no necesitan ser de
ninguna distribución de probabilidad en particular). Además, se logró identificar un
importante desbalance de clases en las variables referentes al material particulado, lo que
sugirió la presencia de valores extremos o outliers. Mismo fenómeno ocurrió en variables
atmosféricas como la radiación solar (explicable por las horas de la noche), la

44
precipitación líquida (dado el clima árido de la zona) y la dirección del viento (por una
dirección preferente).

3.2.2.3 Diagramas de caja

Para complementar lo observado en los histogramas, y detectar la magnitud y la


distribución de datos atípicos, se elaboraron diagramas de caja para cada variable.

Gráficos 3.6: Diagramas de caja variables de contaminación y meteorológicas

45
46
De acuerdo a los diagramas de caja de las variables de concentración de material
particulado, se observó que, pese a que existe una cantidad menor de valores extremos o
outliers en comparación al total de información, estos presentaron magnitudes
extremadamente altas llegando a ser hasta 10 veces más grandes que la mediana, lo que
se explicó por episodios de alta contaminación por material particulado en momentos
puntuales. Por otro lado, las variables meteorológicas no presentaron outliers con
magnitudes significativamente mayores, excepto en el caso de la presión atmosférica, lo
que sugirió un posible error al momento de realizar la medición en la estación de
monitoreo. En la tabla 3.9 se tabuló la cantidad de outliers en cada variable estudiada
utilizando la misma metodología empleada en los diagramas de cajas, en donde un outlier
se definió como el valor que se encuentra a 1.5 veces el IQR (rango intercuartil) por debajo
del cuartil 1, o 1.5 veces el IQR por encima del cuartil 3

Tabla 3.9: Cantidad de valores extremos en cada variable

Variable de entrada Número de outliers Porcentaje

MP10_TAMA 1,174 3.281%


MP2.5_TAMA 1,821 5.089%
MP10_SIVICA 1,590 4.443%
MP2.5_SIVICA 1,836 5.131%
Temperatura_aire 18 0.050%
Temperatura_rocio 1,143 3.194%
Radiacion_solar 0 0.000%
Humedad_relativa 3 0.008%
Presion_atmosferica 378 1.056%
Precipitacion_liquida 84 0.235%
Velocidad_viento 112 0.313%
Direccion_viento 6,745 18.849%
Velocidad_viento_TAMA 0 0.000%
Direccion_viento_TAMA 0 0.000%

47
3.2.2.4 Correlaciones

Se utilizó el coeficiente de correlación de Pearson para dimensionar la dependencia


lineal entre cada una de las variables climatológicas y de contaminación. Para realizar este
cálculo se desechó los valores extremos en cada variable para así evitar que la magnitud
del coeficiente se viese afectada por estos.

La matriz de correlación de Pearson, observable en la figura 3.2, mostró una moderada


correlación positiva entre las variables de concentración de material particulado de cada
ciudad, siendo las más altas las existentes entre el MP10 de Copiapó (MP10_S) y el MP10
de Tierra Amarilla (MP10_T) y entre el MP10 y MP2.5 de Copiapó (MP2.5_S). A nivel
general, se observaron los valores más altos de correlación positiva entre variables
esperables, específicamente entre la radiación solar (RadGInst) y la temperatura del aire
(Ts), entre la velocidad del viento en ambas ciudades (ff y ff_T) y la temperatura del aire,
y entre la temperatura de rocío (Td) y la temperatura del aire. Finalmente, el coeficiente
de valor absoluto más grande correspondió a la correlación negativa existente entre la
humedad relativa (HR) y la temperatura del aire, lo que significó que, a mayor
temperatura, menor fue la humedad relativa y viceversa.

En el anexo se presentan gráficos de correlación o scatterplots entre todas las variables


anteriormente mencionadas, lo que muestra de manera visual la relación existente entre
ellas y el nivel de linealidad que poseen.

3.2.2.5 Conclusiones sobre el EDA

A través de las múltiples herramientas estadísticas y gráficas que fueron utilizadas para
analizar la información de entrada para el modelo de redes neuronales, se concluyó que
las variables siguen un comportamiento totalmente esperable para este tipo de información
lo que sugirió que la medición y posterior publicación de datos se hizo sin cometer errores
significativos y que también la información, por lo menos a nivel general, no fue
manipulada. Además, se demostró la relación y dependencia que poseen las variables de
contaminación con respecto a las variables meteorológicas lo que hizo posible el
pronóstico de MP10 y MP2.5 en función de la información que se tenía disponible.

48
Figura 3.2: Matriz de correlación de Pearson – Variables meteorológicas y de contaminación

49
3.2.3 Preprocesamiento

Antes de alimentar a la red neuronal con las variables de entrada, la base de datos debió
someterse a una etapa de preprocesamiento con el fin de que esta fuera apta para el modelo
en cuestión y mejorara su desempeño y efectividad.

3.2.3.1 Interpolación

La gran mayoría de arquitecturas de redes neuronales existentes son incapaces de


manejar segmentos de información faltantes en la base de datos, por lo que fue necesario
efectuar una interpolación en cada una de las variables de entrada. De acuerdo al estudio
exploratorio de los datos ya realizado, la información faltante, para variables
meteorológicas y de contaminación, varió entre el 0.036% y el 6.045% y en promedio fue
del 4.017%, en otras palabras, se obtuvo una base de datos al ≈96% completa, lo que en
el campo de la ciencia de datos es un valor muy alto y bueno. De todas formas, la
interpolación fue necesaria y al ser variables principalmente meteorológicas se decidió
utilizar promedios horarios y semanales, ya que estas variables siguen un comportamiento
cíclico a lo largo del día y del año que es matemáticamente extraíble (lo cual se observó
en los gráficos 3.2 y 3.3 en el título 3.2.2.1 del EDA).

La metodología de interpolación consistió en primero identificar la cantidad de


“bloques NA”, es decir, segmentos de información faltante continuada dentro de cada
variable. Luego se calculó la mayor extensión de bloque NA, la cual correspondió a 606
horas, lo que se traduce en más de 25 días ininterrumpidos de información faltante.
También se calculó en horas la extensión máxima y promedio de cada bloque (lo anterior
se encuentra detallado para cada variable en la tabla 3.10). Finalmente, todo bloque de
información faltante con una extensión menor o igual a 4 horas fue interpolado de manera
lineal ya que se observó que las variables presentaban un comportamiento lineal hasta esa
ventana de tiempo. El resto de bloques con extensión mayor o igual a 5 horas fue
interpolado utilizando el valor promedio semanal correspondiente para la variable en
cuestión, con el apoyo del comportamiento promedio horario.

50
Tabla 3.10: Detalles sobre la información faltante en cada variable

Extensión de bloque
Número de bloques NA
(en horas)
Variable de entrada
Con extensión
Total Máxima Promedio
<=4 horas
MP10_TAMA 139 110 387 7.662
MP2.5_TAMA 166 146 387 5.657
MP10_SIVICA 58 43 21 3.914
MP2.5_SIVICA 198 167 26 3.379
Temperatura_aire 72 50 606 29.611
Temperatura_rocio 72 50 606 29.611
Radiacion_solar 66 48 606 32.773
Humedad_relativa 73 51 606 29.219
Presion_atmosferica 73 51 606 29.219
Precipitacion_liquida 72 50 606 29.611
Velocidad_viento 72 50 606 29.611
Direccion_viento 72 50 606 29.611
Velocidad_viento_TAMA 2 1 10 6.5
Direccion_viento_TAMA 67 65 10 1.433

Para el caso particular de la precipitación líquida, el método de interpolación consistió


simplemente en imputar el valor 0 a todo bloque de información faltante. Esto a raíz de lo
explicado en el EDA en donde se observó que la precipitación líquida era prácticamente
0 en la zona geográfica en estudio.

Gracias a la interpolación realizada fue posible contar con un 100% de disponibilidad


de información para todas las variables de entrada en las 35,784 horas presentes en la
ventana de tiempo estudiada. Esto significó, que en etapas posteriores el modelo de redes
neuronales pudo ser entrenado con un solo bloque de información ininterrumpido, algo
especialmente importante en series de tiempo que presentan una dependencia entre sus
muestras.

51
3.2.3.2 Creación de variables

Para este proyecto se necesitó añadir variables calculadas a partir de las


concentraciones de material particulado, ya que las estaciones de monitoreo de calidad de
aire midieron concentraciones horarias, pero el pronóstico requirió contar con
concentraciones de 24 horas. La creación de variables consistió en simplemente calcular
la media móvil de las últimas 24 muestras de la forma en que se indica a continuación:

𝑡
1
𝑥𝑡𝑘 = ∑ 𝑥𝑖
𝑘
𝑖=𝑡−𝑘+1

En donde:

𝑥𝑡𝑘 : Concentración horaria promedio de material particulado de las últimas k horas en


el momento t.

𝑥𝑖 : Concentración horaria de material particulado en el momento i.

k: Ventana de tiempo para la media móvil, 24 horas para este caso.

Se aplicó esta media móvil a todas las variables de concentración de material


particulado, es decir, MP10_TAMA, MP2.5_TAMA, MP10_SIVICA y MP2.5_SIVICA,
y por consiguiente se obtuvo la concentración de 24 horas para cada una de ellas

Gráficos 3.7: Comportamiento de las nuevas variables en el tiempo

52
De acuerdo a lo observado en los gráficos 3.7, se disminuyó considerablemente el
rango de cada una de las variables, es decir se produjo un suavizamiento en las
concentraciones horarias de material particulado al ser transformadas en concentración de
24 horas, todo esto en comparación al comportamiento presente en los Gráficos 3.2:
Comportamiento de las variables en el tiempo del EDA. De igual forma, siguieron
existiendo picos de contaminación, sobre todo en las concentraciones de MP2.5.

Realizado el cálculo de las concentraciones de 24 horas, se pudo dimensionar la


distribución de los episodios de emergencia ambiental por MP10 y MP2.5 para cada
ciudad,

Tabla 3.11: Cantidad de horas para cada episodio ambiental

Tierra Amarilla (Tama) Copiapó (Sivica)


Episodio ambiental
MP10 MP2.5 MP10 MP2.5
Bueno 35,021 35,152 35,642 35,738
Regular 681 262 101 13
Alerta 46 214 19 11
Preemergencia 14 111 0 0
Emergencia 0 23 0 0

53
Tabla 3.12: Distribución porcentual para cada episodio ambiental

Tierra Amarilla (Tama) Copiapó (Sivica)


Episodio ambiental
MP10 MP2.5 MP10 MP2.5
Bueno 97.928% 98.294% 99.664% 99.933%
Regular 1.904% 0.733% 0.282% 0.036%
Alerta 0.129% 0.598% 0.053% 0.031%
Preemergencia 0.039% 0.310% 0% 0%
Emergencia 0% 0.064% 0% 0%

En la tabla 3.11 y tabla 3.12 se observó la cantidad de horas y el porcentaje de tiempo,


en el rango de fechas estudiado (dic/2017 – dic/2021), en donde se produjeron los distintos
episodios ambientales. Se notó la inexistencia de emergencia ambiental por MP10 para
ambas ciudades, y por MP2.5 en Copiapó. Para el caso de MP2.5 en Tierra Amarilla,
existieron 23 horas de emergencia ambiental, las cuales ocurrieron entre las 19 horas del
24 de mayo de 2019 y las 17 horas del 25 de mayo de 2019 (observable en el gráfico 3.7
de MP2.5_TAMA_24H)

3.2.3.3 Codificación cíclica

Ciertas variables de entrada, dada la forma en que fueron tabuladas o la unidad de


medida utilizada, necesitaron un tratamiento especial para que el modelo de redes
neuronales pudiera interpretarlas de manera correcta.

Las variables relacionadas al tiempo, es decir, la hora del día, el día de la semana y el
mes, representaban ciclos que se iban repitiendo a lo largo de los 4 años de estudio, siendo
sumamente importante que la diferencia entre los valores numéricos que representaban a
cada variable fuera siempre constante. Esto no se cumplía entre el último valor de cada
ciclo y el primero del ciclo siguiente lo que representaba un problema ya que el modelo
de redes neuronales interpretaría que entre la hora 23 y la hora 0 había una diferencia de
23 horas, entre el día 6 (domingo) y el día 0 (lunes) había una diferencia de 6 días y entre
el mes 12 (diciembre) y el mes 1 (enero) había una diferencia de 11 meses. En los gráficos
3.8 se pudo observar claramente este problema, a modo de saltos bruscos entre cada ciclo.
54
Gráficos 3.8: Representación de los ciclos en cada variable de tiempo

Una posible solución a este problema fue aplicar a cada variable una función periódica,
como la función seno, de tal forma que el ciclo cumpla con la condición de mantener la
misma diferencia entre valores adyacentes. El inconveniente con esta posible solución fue
que, en algunos casos, valores que representaban horas, días o meses distintos pasaban a
tener el mismo resultado numérico, lo que también produciría errores en el modelo. La
solución final consistió en representar cada variable como 2 funciones periódicas distintas
(seno y coseno), de tal forma que se transformaron en variables bidimensionales. Esta
misma solución fue aplicada a las variables de entrada que utilizaban los grados como
unidades de medida (Direccion_viento y Direccion_viento_TAMA), ya que entre la
medición 360° y la medición 1° se producía el mismo problema. En los gráficos 3.9 se
pudo observar la nueva distribución de las variables ya señaladas.
55
Gráficos 3.9: Codificación cíclica variables temporales y variables en grados

56
3.2.3.4 Separación de la base de datos

Como se explicó en el capítulo 3, la base de datos requirió ser dividida, por el


momento, en 2 partes: el set de entrenamiento (train) y el set de prueba (test).

Para el modelo sin variables de tronadura, como set de entrenamiento se decidió


utilizar la información desde el 01-12-2017 a las 22:00:00 (comienzo de la base de datos)
hasta el año 31-12-2020 a las 23:00:00. Mientras que el set de prueba abarcó desde el 01-
01-2021 a las 00:00:00 hasta el 30-12-2021 a las 23:00:00 (fin de la base de datos).

Para el caso del modelo con variables de tronadura, la cantidad de información


disponible disminuyó, por lo tanto, se cambió la ventana de tiempo para el set de
entrenamiento, desde el 22-03-2019 a las 00:00:00 hasta el 30-04-2021 a las 23:00:00, y
para el set de prueba desde 01-05-2021 a las 00:00:00. hasta el 30-12-2021 a las 23:00:00.

Tabla 3.13: Train-Test split

Modelo Set Cantidad de datos Parte del total


Train 27,026 filas 75.572%
Sin tronaduras
Test 8,736 filas 24.428%
Train 18,504 filas 75.961%
Con tronaduras
Test 5,856 filas 24.039 %

También fue necesario separar las variables en independientes o de pronóstico (x) y


dependientes o a pronosticar (y). Se utilizaron todas las variables de entrada al problema
como variables de pronóstico (x) (considerando el modelo sin tronaduras y con
tronaduras), incluyendo las de concentración de material particulado, y las variables a
pronosticar (y) fueron las concentraciones de 24 horas de material particulado.

3.2.3.5 Data Reshaping

El tipo de red neuronal seleccionada para el modelo fue una Long short-term memory
(LSTM), que se clasifica como recurrente, esto significó que la información de entrada
debió poseer una estructura en particular para que fuese válida para la red.

57
Originalmente la base de datos obtenida y ya procesada poseía una estructura
bidimensional, compuesta por filas y columnas, o también llamadas muestras (samples) y
características (features) respectivamente, pero para una red LSTM se necesitaba que la
información fuese tridimensional, por lo que se requirió añadir la dimensión pasos de
tiempo (timesteps), de manera que la estructura de la base de datos pasara a ser del tipo
[samples, timesteps, features]. Este tipo de estructura fue adoptada tanto en el set de
entrenamiento como el set de prueba para ambos casos, con y sin tronadura.

Figura 3.3: Esquema información tridimensional

Features

{([𝑥1 , 𝑥2 , 𝑥3 , ⋯ , 𝑥𝑛 ](𝑡)−𝑘+1 ,

Timesteps ⋮

[𝑥1 , 𝑥2 , 𝑥3 , ⋯ , 𝑥𝑛 ](𝑡) ),

⋮ Samples

([𝑥1 , 𝑥2 , 𝑥3 , ⋯ , 𝑥𝑛 ](𝑡+1)−𝑘+1 ,

[𝑥1 , 𝑥2 , 𝑥3 , ⋯ , 𝑥𝑛 ](𝑡+1) )}

Donde:

𝑥: variable de pronóstico, pudiendo ser también una variable a pronosticar (y).

n: cantidad de features o características totales.

k: timesteps o ventana de tiempo seleccionada.

t: momento de tiempo en estudio.

Para el modelo se consideró una ventana de tiempo de 24 horas como datos de


pronóstico, y un lapso a pronosticar de 24 horas, esto quiere decir que, dado un instante
de tiempo en particular, se buscó pronosticar las concentraciones de 24 horas de material

58
particulado para las próximas 24 horas utilizando datos de las 24 últimas horas. (Es
necesario aclarar que las últimas 3 referencias a 24 horas corresponden a 3 conceptos
totalmente diferentes, por lo tanto, la redundancia gramatical es inevitable).

Finalmente, se aplicó la transformación de bidimensionalidad a tridimensionalidad a


los sets de entrenamiento y prueba, de manera que, para el modelo sin tronaduras, la base
de datos final resultó como se indica en la tabla 3.14. Para el caso del modelo con
tronaduras, la división de información resultó de la misma forma que lo presentado en la
tabla 3.14, pero con un tamaño diferente para la primera dimensión (timesteps) de cada
set (18,457 para el train y 5,809 para el test). La pérdida de 47 horas de información se
explicó porque al comienzo de cada set se perdieron 23 horas de información que no eran
suficientes para formar una media móvil de las últimas 24 horas. Mismo caso para el final
de cada set en donde se necesitaban 24 horas futuras para pronosticar.

Tabla 3.14: Detalles set de entrenamiento y prueba

Set Ventana de tiempo Variables Dimensiones


Últimas 24 horas Todas (26979, 24, 29)
x Todas excepto
Siguientes 24 horas (26979, 24, 21)
train concentraciones de M.P.
Concentración de 24 horas
y Siguientes 24 horas (26979, 24,1)
de M.P. requerida.
Últimas 24 horas Todas (8689, 24, 29)
x Todas excepto
Siguientes 24 horas (8689, 24, 21)
test concentraciones de M.P.
Concentración de 24 horas
y Siguientes 24 horas (8689, 24,1)
de M.P. requerida.

En la tabla 3.15 se ejemplificó una muestra t cualquiera dentro de la base de datos. Se


observó que las variables de concentración de material particulado actuaron como variable
de pronóstico y también como variable a pronosticar dependiendo de la ventana de tiempo
en la que se encontraran. En el caso de las variables meteorológicas y el resto de variables
relevantes, siempre actuaron como de pronóstico para el material particulado.
59
Tabla 3.15: Ejemplo de una muestra t dentro de la base de datos tridimensional

Variable enésima
Tiempo Variable 1 Variable 2 … (concentración 24 horas
M.P. requerida)
t-23

24 horas
Últimas

Variables de pronóstico Variable de pronóstico


t-1 (x) (x)
t
t+1
Siguientes
24 horas

Variables de pronóstico Variable a pronosticar



(x) (y)
t+24

3.3 Arquitectura del modelo

Como ya se explicó con anterioridad, debido a la naturaleza del problema a resolver


se decidió utilizar una red neuronal recurrente del tipo LSTM, las cuales son capaces de
procesar secuencias de datos o en este caso, series de tiempo.

3.3.1 Estructura general

La información de entrada que se poseía, luego del procesamiento, era asimétrica, es


decir, en las últimas 24 horas había más variables de pronóstico que en las siguientes 24
horas, por lo que la red neuronal tomaría las variables inexistentes en la segunda ventana
de tiempo como valores faltantes o NA. Para evitar esto fue necesario dividir la red
neuronal en 2 subredes, de tal forma que una se encargue de procesar las variables de
pronóstico de las últimas 24 horas, y la otra se encargué de las variables de pronóstico de
las siguientes 24 horas. Cada una de estas subredes se compuso de capas de entrada
independientes y sus respectivas capas LSTM. Luego ambas subredes confluyeron en un
único punto para volver a forma una sola red neuronal con una única capa de salida.

Según lo presentado en la figura 3.4, la red neuronal partió como 2 subredes


independientes, cada una con su capa de entrada (en verde) compuesta por tantas neuronas

60
como variables de entrada se tuvieran. También cada subred contó con 2 capas
consecutivas del tipo LSTM (en púrpura), que procesaron las series de tiempo y que
poseían una cantidad, en este punto, aún no determinada de neuronas, para luego finalizar
con una capa densa (en azul) que confluyó en una capa de concatenación (en rosa claro)
que se encargó de entregar el aprendizaje de cada subred a una única capa de salida (en
rojo), la cual contó con una neurona por cada hora en la ventana de tiempo a pronosticar,
ya definida con anterioridad como 24 horas.

Figura 3.4: Estructura general de la red neuronal del modelo de pronósticos.

3.3.2 Funciones de activación

Para esta red en particular, sólo se utilizaron funciones de activación luego de cada
capa LSTM, ya que fueron estas las que generaron la mayor parte del aprendizaje, y por
lo tanto las que produjeron la mayor cantidad de parámetros a optimizar. La función de
activación seleccionada fue la tangente hiperbólica (tanh), que de acuerdo a sus
características ya estudiadas en el capítulo 3, evita que se produzcan errores en la
optimización de parámetros como el Vanishing Gradient o Exploding Gradient13. En el
caso de la capa de salida, en donde normalmente también se utilizan funciones de
activación, no se necesitó ninguna debido a que las salidas de la red eran valores números
continuos que representaban la concentración de 24 horas de material particulado en una
hora en concreto, y, por lo tanto, no requirieron ninguna discretización ni limitación de
rangos.
61
3.3.3 Función de pérdida y set de validación

Dado que el modelo correspondió a una regresión a valores arbitrarios, se decidió


utilizar como función de pérdida el Error Cuadrático Medio o Mean Squared Error (MSE),
que calculó el promedio de la diferencia al cuadrado entre el valor pronosticado y el valor
real (o la magnitud del error).

𝑁
1
𝑀𝑆𝐸 = ∑( ŷ𝑖 − 𝑦𝑖 )2
𝑁
𝑖=1

Para que la función de pérdida pudiera realizar la comparación entre valores y así
calcular el MSE, se requirió extraer, desde el set de entramiento, una porción de los datos
para que funcionaran como set de validación. La extensión del set de validación
correspondió al último 33% del total del set de entrenamiento. La distribución final de la
información, incluyendo el set de prueba, resultó aproximadamente como lo observado en
la figura 3.5.

Figura 3.5: Train, validation, test split

Set de entrenamiento Set de validación Set de prueba


50% 25% 25%

Al momento de realizar el entrenamiento, se calculó tanto para el set de entrenamiento


como para el set de validación el error cuadrático medio o MSE. La función objetivo a
minimizar fue el MSE del set de validación. Con respecto al set de prueba, este no ingresó
al entrenamiento en ningún momento y fue utilizado en la última etapa como prueba de la
exactitud del modelo de pronósticos.

3.3.4 Optimizador

Como optimizador se seleccionó Adaptive Moment Estimation (ADAM), ya que se


desempeña muy bien en redes del tipo LSTM14. Además, dada su elevada eficiencia
computacional al trabajar con redes que posean un alto número de parámetros
optimizables15 resultó ser una excelente opción para el presente proyecto el cual contaba

62
con recursos computacionales limitados. El learning rate del optimizador fue determinado
mediante optimización bayesiana en etapas posteriores.

3.3.5 Regularización y Dropout

Con el objetivo de reducir un posible overfitting en la red, se utilizaron regularizadores


y capas dropout. Cada capa LSTM contó con un regularizador del tipo L2 que, además de
reducir el overfitting, buscaba disminuir la incidencia de ciertos inputs en el resultado
final del modelo, pero no volverlos 0. Además, se utilizó una capa dropout a continuación
de cada capa LSTM. Tanto los factores λ de regularización como los ratios de dropout
fueron definidos posteriormente.

3.3.6 Optimización Bayesiana de hiperparámetros

Para determinar los hiperparámetros de la arquitectura de red neuronal antes expuesta,


es decir, el número de neuronas en las capas ocultas, el learning rate, los factores de
regularización y los ratios de dropout, se decidió hacer uso de optimización bayesiana.
Hiperparámetros como el train-validation-test split ratio, el tipo de optimizador, la función
de activación y la función de pérdida también podían ser determinadas mediante
optimización bayesiana, pero como se explicó con anterioridad, fueron definidos de
manera teórica de acuerdo a las características del modelo y la red LSTM, por lo tanto,
haberlos sometido a una optimización era innecesario ya que las mejores opciones ya han
sido definidas en otros trabajos o publicaciones. En el caso del número de capas en la red
neuronal, si bien era posible determinarlas por medio de optimización bayesiana, el tiempo
de procesamiento del algoritmo optimizador (que se contó en horas) aumentaba de manera
exponencial con cada capa agregada dado que en cada una debían agregarse nuevos
hiperparametros optimizables (número de neuronas, factores de regularización y ratios de
dropout), lo que volvía la optimización inviable.

La optimización de hiperparámetros se llevó a cabo utilizando como función objetivo


la función de pérdida de la red neuronal, que en este caso correspondió al MSE. Pero como
el algoritmo optimizador maximizaba funciones, y el objetivo de la red neuronal era
minimizar la función de coste, se necesitó invertirla, de tal forma que el mínimo pasara a

63
ser el máximo. Para lograr esto simplemente se antepuso un signo negativo a la función
de la forma que se muestra a continuación:
𝑁
1
−𝑀𝑆𝐸 = − ∑( ŷ𝑖 − 𝑦𝑖 )2
𝑁
𝑖=1

Pero no sólo se consideró el valor obtenido de MSE en la última epoch o época


(iteraciones) de la red neuronal, si no que se consideró el promedio de las ultimas 20
epochs, de un total de 80, de modo que la optimización no se viera afectada por variaciones
puntuales en la función de pérdida.

Además, se debía seleccionar una red neuronal en particular para optimizar, debido a
que se contaba con 8 posibles redes neuronales que pronosticaban distintas
concentraciones de material particulado: MP10_SIVICA_24H, MP2.5_SIVICA_24H,
MP10_TAMA_24H y MP2.5_TAMA_24H, considerando escenarios con y sin tronadura.
Finalmente se decidió seleccionar la red neuronal que pronosticaba el MP10 en Copiapó
sin tronaduras (MP10_SIVICA_24H) ya que a nivel general los resultados serían similares
porque las 8 redes contaban con la misma arquitectura.

La optimización de hiperparámetros relacionados a las capas de la red (número de


neuronas, factor λ y ratio dropout) sólo fue realizada para las capas LSTM, por lo tanto,
contando el learning rate, se tenían 13 hiperparámetros distintos a optimizar. También fue
necesario seleccionar los límites dentro de los cuales el optimizador inferiría valores para
cada hiperparámetro. Esto se hizo en base a los valores que normalmente se utilizan y
además tomando en consideración el tamaño de la red neuronal trabajada. En la tabla 3.16
se definieron dichos límites.

Tabla 3.16: Límites de optimización para los hiperparámetros

Hiperparámetro Límites
Número de neuronas por capa [51 - 512]
Factor λ de regularización [0.0001 - 0.1]
Ratio de dropout [0.1 - 0.8]
Learning rate [0.000001 - 0.01]

64
Para comenzar la optimización, se eligió partir con un total de 10 puntos, cada uno
compuesto por 13 valores distintos, seleccionados de forma aleatoria de acuerdo a los
límites estipulados. Luego, en base a los 10 puntos iniciales, el optimizador realizó 20
optimizaciones bayesianas en donde obtuvo nuevos valores de hiperparámetros, siendo su
objetivo final encontrar el valor máximo de la función.

Terminadas las 30 iteraciones, el algoritmo de optimización arrojó como resultado los


siguientes hiperparámetros:

Tabla 3.17: Resultados de la optimización bayesiana

Target -79.73
Neuronas1 305
Neuronas2 439
Neuronas3 108
Neuronas4 179
Regularizador1 0.002928
Regularizador2 0.0247
Regularizador3 0.08602
Regularizador4 0.05393
Dropout1 0.7461
Dropout2 0.5981
Dropout3 0.187
Dropout4 0.1139
Learning rate 0.000263

Se llegó a un valor de 79.73 de MSE, lo que se tradujo en un error de 8.929 en el


pronóstico de concentración de 24 horas de MP10. También se observó que a las capas
LSTM que recibían información de las últimas 24 horas (referidas como 1 y 2) se les
asignó un mayor número de neuronas en comparación a las capas LSTM que procesaban
las variables de entrada de las siguientes 24 horas (3 y 4), pero los valores se equilibraban
por medio de los dropouts, de modo que las capas de ambas subredes poseyeron una
cantidad similar de neuronas activas.
65
Tabla 3.18: Neuronas activas en cada capa LSTM

Neuronas activas
Subred Capa
N° neuronas * (1-dropout)
1 77
Últimas 24 horas
2 176
3 87
Siguientes 24 horas
4 158

El detalle completo de todas las iteraciones realizadas por el optimizador se encuentra


en el anexo.

3.4 Entrenamiento del modelo

Ya determinada, al detalle, la arquitectura a utilizar, se procedió a entrenar el modelo


alimentándolo con la base de datos trabajada. Gráficamente, la arquitectura de la red
neuronal resultó como lo observado en la figura 3.6 (representación para el escenario sin
variables de tronadura) y la figura 3.7 (representación para el escenario con variables de
tronadura). Cada cuadro correspondió a una capa de la red, y las flechas; el flujo de
información entre las capas. Para cada capa en particular, el valor de la última dimensión
en cada output representó el número total de neuronas en la capa, mientras que el valor de
la última dimensión de cada input; el número de entradas que recibía cada neurona. Se
notó que a partir de la última capa LSTM de cada subred, la información que se movía
entre capas dejó de ser tridimensional y pasó a ser bidimensional, esto a raíz de que sólo
las capas recurrentes requerían que la información tuviera 3 dimensiones, por lo tanto,
pasadas éstas, se hizo innecesaria una dimensión extra, por lo que la red automáticamente
las redujo a 2. También se notó que la primera dimensión en cada una de las capas de
entrada, que debía representar el número muestras, figuró como “None”. Esto significó
que la red neuronal fue capaz de inferir a partir de la base de datos que recibía esta
dimensión faltante, lo que permitió que el modelo pudiera entrenar y realizar pronosticos
sobre bases de datos que no tuvieran la misma longitud que la base de datos inicial
utilizada para el diseño de la red. Las 2 arquitecturas se diferenciaron en la cantidad de
neuronas presentes en las capas de entrada.
66
Figura 3.6: Estructura detallada de la red neuronal sin variables de tronadura

Layer1_1 Input: [(None, 24, 29)] Layer1_2 Input: [(None, 24, 21)]
InputLayer Output: [(None, 24, 29)] InputLayer Output: [(None, 24, 21)]

Layer2_1 Input: (None, 24, 29) Layer2_2 Input: (None, 24, 21)
LSTM Output: (None, 24, 305) LSTM Output: (None, 24, 108)

Layer3_1 Input: (None, 24, 305) Layer3_2 Input: (None, 24, 108)
Dropout Output: (None, 24, 305) Dropout Output: (None, 24, 108)

Layer4_1 Input: (None, 24, 305) Layer4_2 Input: (None, 24, 108)
LSTM Output: (None, 439) LSTM Output: (None, 179)

Layer5_1 Input: (None, 439) Layer5_2 Input: (None, 179)


Dropout Output: (None, 439) Dropout Output: (None, 179)

Layer6_1 Input: (None, 439) Layer6_2 Input: (None, 179)


Dense Output: (None, 50) Dense Output: (None, 50)

Layer7 Input: [(None, 50), (None, 50)]


Concatenate Output: (None, 100)

Layer8 Input: (None, 100)


OutputLayer Output: (None, 24)

67
Figura 3.7: Estructura detallada de la red neuronal con variables de tronadura

Layer1_1 Input: [(None, 24, 33)] Layer1_2 Input: [(None, 24, 25)]
InputLayer Output: [(None, 24, 33)] InputLayer Output: [(None, 24, 25)]

Layer2_1 Input: (None, 24, 33) Layer2_2 Input: (None, 24, 25)
LSTM Output: (None, 24, 305) LSTM Output: (None, 24, 108)

Layer3_1 Input: (None, 24, 305) Layer3_2 Input: (None, 24, 108)
Dropout Output: (None, 24, 305) Dropout Output: (None, 24, 108)

Layer4_1 Input: (None, 24, 305) Layer4_2 Input: (None, 24, 108)
LSTM Output: (None, 439) LSTM Output: (None, 179)

Layer5_1 Input: (None, 439) Layer5_2 Input: (None, 179)


Dropout Output: (None, 439) Dropout Output: (None, 179)

Layer6_1 Input: (None, 439) Layer6_2 Input: (None, 179)


Dense Output: (None, 50) Dense Output: (None, 50)

Layer7 Input: [(None, 50), (None, 50)]


Concatenate Output: (None, 100)

Layer8 Input: (None, 100)


OutputLayer Output: (None, 24)

68
También, en este punto, ya se tenía acceso a la cantidad de parámetros que tendría la
red neuronal, detallados en la tabla 3.19. Son estos parámetros los que se actualizaban en
cada iteración a través del optimizador ADAM. Las capas que presentaban 0 parámetros
tenían un objetivo distinto al aprendizaje, como recibir las variables de entrada, actuar de
dropout y juntar las subredes neuronales en una sola red.

Tabla 3.19: Número de parámetros por capa

Capa Tipo Parámetros Parámetros


(sin tronadura) (con tronadura)
Layer1_1 InputLayer 0 0
Layer1_2 InputLayer 0 0
Layer2_1 LSTM 408,700 413,580
Layer2_2 LSTM 56,160 57,888
Layer3_1 Dropout 0
Layer3_2 Dropout 0
Layer4_1 LSTM 1,308,220 1,308,220
Layer4_2 LSTM 206,208 206,208
Layer5_1 Dropout 0
Layer5_2 Dropout 0
Layer6_1 Dense 22,000 22,000
Layer6_2 Dense 9,000 9,000
Layer7 Concatenate 0 0
Layer8 OutputLayer 2,424 2,424
Total de parámetros 2,012,712 2,019,320

Es necesario aclarar, que los más de 2 millones de parámetros no se actualizaban al


mismo tiempo, ya que al existir capas dropout después de cada capa LSTM, se producía
un apagado de neuronas y, por consiguiente, un apagado de parámetros, lo que aumentaba
la eficiencia computacional del modelo.

Se realizaron un total de 8 entrenamientos para la red neuronal, uno por cada


concentración de 24 horas de material particulado en cada ciudad (MP10_SIVICA_24H,

69
MP2.5_SIVICA_24H, MP10_TAMA_24H y MP2.5_TAMA_24H), y además, se tomó
en cuenta el escenario sin variables de tronadura y con variables de tronadura.

Gráfico 3.10: Pronóstico MP10_SIVICA_24H (sin tronadura)

Valor final de la función de pérdida en validación: 84.913

Gráfico 3.11: Pronóstico MP2.5_SIVICA_24H (sin tronadura)

Valor final de la función de pérdida en validación: 8.197

70
Gráfico 3.12: Pronóstico MP10_TAMA_24H (sin tronadura)

Valor final de la función de pérdida en validación: 92.365

Gráfico 3.13: Pronóstico MP2.5_TAMA_24H (sin tronadura)

Valor final de la función de pérdida en validación: 19.441

71
Gráfico 3.14: Pronóstico MP10_SIVICA_24H (con tronadura)

Valor final de la función de pérdida en validación: 62.444

Gráfico 3.15: Pronóstico MP2.5_SIVICA_24H (con tronadura)

Valor final de la función de pérdida en validación: 6.030

72
Gráfico 3.16: Pronóstico MP10_TAMA_24H (con tronadura)

Valor final de la función de pérdida en validación: 73.500

Gráfico 3.17: Pronóstico MP2.5_TAMA_24H (con tronadura)

Valor final de la función de pérdida en validación: 22.380

73
CAPITULO 4: ANÁLISIS DE RESULTADOS

4.1 Exactitud del modelo de pronósticos

Para finalizar se realizó la evaluación de exactitud del modelo, efectuando pronósticos


sobre el set de prueba o test, que en ningún momento del entrenamiento ingresó a la red
neuronal por lo que constituyó una información completamente desconocida para el
modelo. En ambos casos de estudio, considerando y sin considerar las tronaduras, el
tamaño del set de entrenamiento fue de aproximadamente 24% en comparación al total de
información. Se ingresó al modelo las variables de pronóstico (x) del set de prueba, lo que
generó un pronóstico (ŷ) de cada uno de los contaminantes requeridos, el cual luego fue
comparado con el valor real (y), a través de las métricas que se listan a continuación:

• R2: Coefficient of Determination

• RMSE: Root Mean Squared Error

• MSE: Mean Squared Error

• MAPE: Mean Absolute Percent Error

• MAE: Mean Absolute Error

• MBE: Mean Bias Error

Tabla 4.1: Metricas de evaluación del modelo

Escenario Contaminante R2 RMSE MSE MAPE MAE MBE


Sin MP10_SIVICA 0.711 10.164 106.968 0.235 7.538 2.595
tronaduras MP2.5_SIVICA 0.550 4.309 18.985 0.174 2.196 -1.023
(dic/17- MP10_TAMA 0.767 11.572 142.375 8.62E+14 8.904 -0.845
dic/21) MP2.5_TAMA 0.330 4.262 18.228 0.368 3.394 0.911
Con MP10_SIVICA 0.710 11.823 144.656 0.213 8.014 -3.233
tronaduras MP2.5_SIVICA 0.544 4.837 24.011 0.185 2.404 -0.591
(mar/19- MP10_TAMA 0.819 11.509 144.197 8.83E+14 8.611 -1.452
dic/21) MP2.5_TAMA 0.306 4.676 22.028 0.461 3.884 2.438

74
La primera métrica a analizar fue el coeficiente R2, que en este caso se interpretó como
el porcentaje de la variable a pronosticar que logró ser explicada por las variables de
entrada del modelo de redes neuronales. Para las concentraciones de MP10 se obtuvo un
valor relativamente alto, lo que probablemente se debió a que las variables meteorológicas
tenían una gran influencia sobre el material particulado más grueso. Para las variables de
concentración de MP2.5, se observó una disminución en el R2, lo que sugirió que las
principales fuentes de aumento para este contaminante no estaban presentes en las bases
de datos recogidas. Además, al estar incluida la concentración de MP2.5 dentro del MP10,
se pudo explicar una disminución en el R2 de este último por la presencia del material más
fino en su magnitud.

El resto de las métricas se pudieron encasillar en la categoría de exactitud en la


medición realizada, siendo las más significativas MAE y MAPE. El MAE representó, de
manera explícita, la magnitud de la diferencia promedio entre el valor pronosticado y el
valor real, o en palabras simples, que tan bueno fue el pronóstico. En base a la
comparación realizada entre los escenarios con y sin tronaduras, se observó que las
magnitudes de MAE en los contaminantes equivalentes se mantuvieron en rangos
relativamente similares, aun cuando los sets de entrenamiento y validación no fueron los
mismos, lo que sugirió una buena capacidad de generalización por parte del modelo. Por
otra parte, el MAPE cuantificó que tan lejos del valor real estuvieron los pronósticos en
términos porcentuales. Nuevamente se volvió a observar una clara correlación entre los
valores obtenidos para las variables equivalentes. También se notó valores
extremadamente altos de MAPE para los contaminantes de MP10_TAMA. La razón de
esto fue la forma en que se calculó la métrica, que requirió dividir por el valor real, y al
existir mediciones de MP10 muy cercanas a 0 en el set de prueba se produjo un aumento
exagerado en el valor, ocasionando que no se haya podido interpretar la métrica de manera
adecuada.

4.2 Incidencia de las variables de tronadura sobre el material particulado

Es necesario recordar que las mediciones de concentración de 24 horas de MP10 y


MP2.5 se efectuaron para las ciudades de Copiapó (Estación Sivica) y Tierra Amarilla
(Estación Tama), en escenarios sin y con variables de tronaduras involucradas, lo que
75
modificó la ventana de tiempo de la base de datos desde diciembre de 2017 - diciembre
de 2021 para el caso de los modelos sin tronaduras, a marzo de 2019 - diciembre de 2021
para los modelos con tronaduras, por lo que no se pudo dimensionar adecuadamente el
impacto de la actividad minera en la contaminación, dadas las diferencias en las ventanas
de tiempo evaluadas.

Para solucionar esto se elaboró un tercer grupo de modelos de pronósticos, en donde


se tomó la ventana de tiempo del modelo con tronaduras (marzo/2019- diciembre/2021),
y se volvió a realizar un entrenamiento, pero esta vez sin considerar las variables de
tronadura, de modo que se contó con 2 modelos temporalmente comparables, a través de
los cuales se pudo dimensionar el impacto de la actividad minera en la contaminación.

Tabla 4.2: Métricas de evaluación del modelo con lapsos igualados

Escenario Contaminante R2 RMSE MSE MAPE MAE MBE


Sin MP10_SIVICA 0.735 11.124 132.126 0.194 7.353 -0.577
tronaduras MP2.5_SIVICA 0.555 4.765 23.442 0.173 2.309 -0.816
(mar/19- MP10_TAMA 0.821 11.413 141.967 9.52E+14 8.728 0.476
dic/21) MP2.5_TAMA 0.198 5.022 25.451 0.495 4.000 2.815
Con MP10_SIVICA 0.710 11.823 144.656 0.213 8.014 -3.233
tronaduras MP2.5_SIVICA 0.544 4.837 24.011 0.185 2.404 -0.591
(mar/19- MP10_TAMA 0.819 11.509 144.197 8.83E+14 8.611 -1.452
dic/21) MP2.5_TAMA 0.306 4.676 22.028 0.461 3.884 2.438

En este caso, la métrica de interés principal fue el R2, porque como se explicó con
anterioridad, reflejó el nivel de incidencia de las variables de entrada del problema sobre
la variable a pronosticar. Se observó una variación prácticamente nula en el R2 para los
escenarios sin y con tronaduras, lo que podría significar que dichas variables tuvieron una
incidencia insignificante en el pronóstico de material particulado, incluso en la ciudad de
Tierra Amarilla en donde se esperaría una repercusión mayor dada la cercanía geográfica
de la mina a cielo abierto de Candelaria con la ciudad. Sobre las métricas de precisión en
el pronóstico, también se observó una variación despreciable, lo que reforzó la idea de que

76
las variables de tronadura, de la forma en que fueron incluidas, no tuvieron una mayor
incidencia sobre los resultados del modelo de pronósticos.

4.3 Incidencia de las variables en general sobre el material particulado

Un tópico importante a analizar, fue el real aporte de las variables no relacionadas a la


contaminación sobre el pronóstico de concentración de 24 horas de material particulado
dado que esta variable resultó de la media móvil de las últimas 24 concentraciones
horarias, la que a su vez constituyó una variable de entrada al modelo, y, por lo tanto,
posiblemente un aporte mayúsculo en el pronóstico, sobre todo en las primeras horas de
la ventana de tiempo.

La forma de dimensionar esto, fue efectuando nuevos entrenamientos de modelos de


redes neuronales, pero en esta ocasión las únicas variables de entrada fueron las
concentraciones horarias y de 24 horas de material particulado. Por lo tanto, el modelo
resultante pudo catalogarse, en cierta medida, como un modelo autorregresivo en donde
la variable de interés a pronosticar, dependió únicamente de sus observaciones pasadas.
Esto se llevó a cabo sobre la ventana de tiempo completa del modelo, es decir, desde
diciembre de 2017 hasta diciembre de 2021.

Tabla 4.3: Métricas de evaluación del modelo autorregresivo de M.P.

Escenario Contaminante R2 RMSE MSE MAPE MAE MBE


Todas las MP10_SIVICA 0.711 10.164 106.968 0.235 7.538 2.595
variables MP2.5_SIVICA 0.550 4.309 18.985 0.174 2.196 -1.023
(dic/17- MP10_TAMA 0.767 11.572 142.375 8.62E+14 8.904 -0.845
dic/21) MP2.5_TAMA 0.330 4.262 18.228 0.368 3.394 0.911
Solo variables MP10_SIVICA 0.518 12.742 178.582 0.323 9.928 6.563
de M.P. MP2.5_SIVICA 0.412 4.857 24.795 0.310 3.106 1.409
(dic/17- MP10_TAMA 0.477 17.439 319.266 1.04E+15 13.761 9.757
dic/21) MP2.5_TAMA 0.599 3.192 10.919 0.210 2.284 -0.412

77
Al quitar todas las variables de entrada, excepto las de concentración de material
particulado, se observó una clara disminución en el R2 para el pronóstico de MP10, en
comparación al escenario original del modelo, lo que confirmó la incidencia de las
variables de pronóstico seleccionadas para este contaminante en particular. Para el caso
del MP2.5, la disminución del R2 se observó en Sivica, pero en Tama hubo un aumento,
lo que refuerza el postulado de que las variables seleccionadas, sobre todos las
atmosféricas, no poseen una mayor incidencia sobre el MP2.5 (en la ventana de tiempo
seleccionada y en la zona geográfica en estudio). Con respecto a las métricas de exactitud,
el comportamiento fue similar a lo acontecido con el R2, aumentando el error para las
concentraciones de MP10 y de MP2.5_SIVICA, y disminuyendo para MP2.5_TAMA.

78
CAPITULO 5: CONCLUSIONES Y RECOMENDACIONES

El modelo de redes neuronales, basado en una arquitectura del tipo LSTM, fue capaz
de realizar pronósticos de MP10, para las ciudades de Copiapó y Tierra Amarilla, con un
margen de error aceptable, algo de suma importancia ya que fue este contaminante el que
produjo la declaración de zona saturada para las ciudades ya mencionadas. Con respecto
al MP2.5, si bien el margen de error para la ciudad de Copiapó también fue bueno, en
Tierra Amarilla se observó una magnitud mayor, lo que es explicó porque las variables
seleccionadas para alimentar al modelo (que eran las que se encontraban disponibles para
el uso público) no fueron suficientes para explicar el fenómeno modelado, algo que se vio
claramente reflejado en el coeficiente de correlación.

Se concluyó también, que posiblemente las variables que mas incidieron sobre los
niveles de MP10 fueron las variables climatológicas, algo coincidente con lo estudiado en
el marco teórico del presente trabajo, aunque no significa que estas variables sean las
únicas, ya que posiblemente existen fuentes emisoras de MP10 que no fueron recogidas
en la base de datos de este proyecto. Para el MP2.5, se presume que las variables
antropogénicas relacionadas a la actividad industrial fueron las que más afectaron los
niveles de este contaminante (variables a las que no se tuvo acceso).

En el caso de la incidencia de las tronaduras sobre los niveles de material particulado,


si bien los modelos de pronósticos demostraron que dichas variables tenían poco impacto
en el pronóstico realizado, esto no significa que la actividad minera no sea una fuente de
contaminación por material particulado. Simplemente significa que la forma en que se
incluyó a la información, no fue lo suficientemente robusta como para generar aprendizaje
en la red neuronal.

Sobre los niveles de contaminación observados en ambas ciudades, si bien existe una
superación en la norma primaria anual para MP10, no se observaron episodios de
emergencia y ni preemergencia por MP10 y MP2.5 para la ciudad de Copiapó, siendo los
episodios más críticos las alertas que representaron, del total de mediciones estudiadas, el
0.05% para MP10 y el 0.03% para el MP2.5. En donde si se observaron episodios críticos
por contaminación fue en Tierra Amarilla, específicamente por MP2.5, lo que generó
momentos de emergencia ambiental en la ciudad, y una cantidad mayor de preemergencias
79
y alertas ambientales. Para el MP10, Tierra Amarilla no registró momentos de emergencia
ambiental, pero la cantidad de preemergencias y alertas fueron muchas más que en la
ciudad de Copiapó. Debido a lo anterior, si se hubiese deseado calcular la confiabilidad
del modelo de pronósticos en base a los episodios ambientales (tal y como se indicaba en
el ya derogado Decreto Supremo N°59 del año 1998), se habría llegado a más del 99% de
exactitud, por lo tanto, esta opción fue desechada.

En base a lo observado durante la realización de este trabajo, y con el fin de mejorar


el desempeño del modelo y sus pronósticos, se recomienda lo siguiente:

• Aumentar la ventana de tiempo para la información de entrada que alimenta el


entrenamiento del modelo, lo que se puede lograr consultando bases de datos
alternativas a las cuales no se tuvo acceso. También, con el pasar del tiempo,
se puede añadir la nueva información que es puesta en línea por las distintas
empresas y servicios públicos que manejan las bases de datos consultadas
durante la elaboración de este proyecto.

• Incluir nuevas variables de entrada que puedan servir para pronosticar la


concentración de material particulado, como por ejemplo, registros de
emisiones de la Fundición Hernán Videla Lira, y detalles de la actividad minera
en la zona, sobre todo del Rajo Candelaria, en donde se indique la cantidad de
material movido con cada tronadura y el lugar de la mina en donde se realizó
(sobre todo el nivel), como también información relativa al movimiento de los
camiones de extracción. Todo esto también permitiría el pronóstico de otros
contaminantes diferentes al material particulado, como por ejemplo el dióxido
de azufre (SO2).

• Realizar pronósticos sobre concentraciones horarias de material particulado,


guiándose por estándares distintos a la legislación ambiental chilena, en donde,
para evaluar un modelo de pronosticos, sólo se consideran los episodios
mayúsculos de contaminación, en forma de concentraciones promedios en 24
horas.

80
• Utilizar mayor capacidad de procesamiento computacional, con el fin de poder
realizar entrenamientos con bases de datos mucho más extensas, permitiendo
además llevar a cabo técnicas como la validación cruzada lo que aumentarían
la precisión del modelo y la cantidad de información disponible para el
entrenamiento. También permitiría llevar a cabo una optimización bayesiana
incluyendo una cantidad mayor de hiperparámetros, y aumentando la cantidad
de iteraciones con inferencia bayesiana.

• Utilizar arquitecturas de redes neuronales distintas a las LSTM, o una


combinación de ellas, como por ejemplo, emplear adicionalmente a la red
recurrente, una red del tipo convolucional y de ese modo incluir el impacto de
la ubicación espacial de las estaciones en el pronóstico.

81
CAPITULO 6: BIBLIOGRAFÍA

1- (S/f). Gob.cl. Recuperado el 9 de mayo de 2022, de https://airechile.mma.gob.cl/faq

2- ©PRTR-España. (s/f). Partículas PM10. Ministerio de Agricultura, alimentación y


medio ambiente. Recuperado el 9 de mayo de 2022, de https://prtr-es.es/particulas-
pm10,15673,11,2007.html

3- Castro, P., Vera, J., Cifuentes, L., Wellenius, G., Verdejo, H., Sepúlveda, L.,
Vukasovic, J. L., & Llevaneras, S. (2010). Polución por material particulado fino (PM
2,5) incrementa las hospitalizaciones por insuficiencia cardiaca. Revista Chilena de
Cardiología, 29(3), 306–314. https://doi.org/10.4067/s0718-85602010000300004

4- Román A, O., Prieto C, M. J., Mancilla F, P., Astudillo O, P., Dussaubat A, A. M.,
Miguel W, C., & Lara M, J. (2009). Daño cardiovascular por material particulado del
aire. Puesta al día 2008. Revista Médica de Chile, 137(9), 1217–1224.
https://doi.org/10.4067/s0034-98872009000900013

5- Organización Mundial de la Salud (2021). Directrices mundiales de la OMS sobre la


calidad del aire: partículas en suspensión (PM2.5 y PM10), ozono, dióxido de nitrógeno,
dióxido de azufre y monóxido de carbono.
https://apps.who.int/iris/bitstream/handle/10665/346062/9789240035461-spa.pdf

6- Torres, B. G. (2016, septiembre 4). El verdadero padre de la inteligencia artificial.


OpenMind. https://www.bbvaopenmind.com/tecnologia/inteligencia-artificial/el-
verdadero-padre-de-la-inteligencia-artificial/

7- S. Abirami, P. C. (2020). Advances in Computers

8- Wikipedia contributors. (2022, mayo 14). Convolution. Wikipedia, The Free


Encyclopedia.
https://en.wikipedia.org/w/index.php?title=Convolution&oldid=1087802892

9- Hochreiter & Schmidhuber (1997). Long Short-Term Memory.


https://www.researchgate.net/publication/13853244_Long_Short-term_Memory

82
10- Gupta, S. (2020, junio 26). Most common Loss functions in Machine Learning.
Towards Data Science. https://towardsdatascience.com/most-common-loss-functions-in-
machine-learning-c7212a99dae0

11- Lohr, S. (2014, agosto 18). For big-data scientists, ‘janitor work’ is key hurdle to
insights. The New York times. https://www.nytimes.com/2014/08/18/technology/for-
big-data-scientists-hurdle-to-insights-is-janitor-work.html

12- John L. Pearce, Jason Beringer, Neville Nicholls, Rob J. Hyndman, Nigel J.Tapper.
(2010). Quantifying the influence of local meteorology on air quality using generalized
additive models.

13- Pascanu, R., Mikolov, T., & Bengio, Y. (2012). On the difficulty of training
Recurrent Neural Networks. https://arxiv.org/pdf/1211.5063.pdf

14- Adam. (s/f). Keras.Io. Recuperado el 7 de julio de 2022, de


https://keras.io/api/optimizers/adam/

15- Kingma, D. P., & Ba, J. (2014). Adam: A method for stochastic optimization.
https://arxiv.org/pdf/1412.6980.pdf

83
CAPITULO 7: ANEXO

Figura 7.1: Mapa estaciones de monitoreo Copiapó-Tierra Amarilla

UDA

Sivica
a

Tama

84
Gráficos 7.1: Dispersión de cada variable en función de MP10_TAMA

85
Gráficos 7.2: Dispersión de cada variable en función de MP2.5_TAMA

86
Gráficos 7.3: Dispersión de cada variable en función de MP10_SIVICA

87
Gráficos 7.4: Dispersión de cada variable en función de MP2.5_SIVICA

88
Gráficos 7.5: Dispersión de cada variable en función de Temperatura_aire

89
Gráficos 7.6: Dispersión de cada variable en función de Temperatura_rocio

90
Gráficos 7.7: Dispersión de cada variable en función de Radiacion_solar

91
Gráficos 7.8: Dispersión de cada variable en función de Humedad_relativa

92
Gráficos 7.9: Dispersión de cada variable en función de Presión atmosférica

93
Gráficos 7.10: Dispersión de cada variable en función de Precipitacion_liquida

94
Gráficos 7.11: Dispersión de cada variable en función de Velocidad_viento

95
Gráficos 7.12: Dispersión de cada variable en función de Direccion_viento

96
Gráficos 7.13: Dispersión de cada variable en función de Velocidad_viento TAMA

97
Gráficos 7.14: Dispersión de cada variable en función de Direccion_viento _TAMA

98
Tabla 7.1: Detalle de las iteraciones efectuadas por el Optimizador Bayesiano

Número de neuronas Regularizador1 Dropout


Iter Target Lr
1 2 3 4 1 2 3 4 1 2 3 4
1 -327.4 299 244 366 145 0.0093 0.0187 0.0346 0.0397 0.3919 0.6042 0.1001 0.3116 0.0015
2 -398.9 195 370 455 463 0.0141 0.0199 0.0801 0.0968 0.7147 0.1192 0.5693 0.3921 0.0056
3 -328.5 196 367 435 59 0.0422 0.0958 0.0534 0.0692 0.1595 0.1273 0.2189 0.7147 0.0010
4 -319.3 183 111 60 364 0.0104 0.0448 0.0909 0.0294 0.6251 0.7922 0.6237 0.2963 0.0079
5 -294.7 242 371 242 74 0.0148 0.0590 0.0700 0.0103 0.2481 0.2859 0.4441 0.1374 0.0057
6 -390.1 234 127 478 211 0.0904 0.0138 0.0140 0.0808 0.4751 0.5647 0.4604 0.7612 0.0059
7 -338 495 356 337 104 0.0350 0.0271 0.0896 0.0429 0.6256 0.6082 0.7183 0.5366 0.0075
8 -347.9 201 294 459 215 0.0904 0.0574 0.0004 0.0618 0.7646 0.4149 0.5049 0.3857 0.0024
9 -379.7 372 81 399 398 0.0997 0.0173 0.0138 0.0933 0.7360 0.5364 0.1111 0.7506 0.0069
10 -79.73 305 439 108 179 0.0029 0.0247 0.0860 0.0539 0.7461 0.5981 0.1870 0.1139 0.0003
11 -1015.00 276 512 51 86 0.0001 0.0346 0.1000 0.0628 0.8000 0.7683 0.1000 0.1000 0.0000
12 -377.3 249 117 126 228 0.0540 0.0713 0.0975 0.0407 0.4300 0.2928 0.5905 0.6451 0.0085
13 -331.3 364 489 396 279 0.0943 0.0433 0.0180 0.0178 0.5366 0.6547 0.3419 0.1638 0.0054
14 -326.1 476 206 476 456 0.0955 0.0040 0.0684 0.0535 0.3741 0.1801 0.6148 0.2393 0.0006
15 -336.1 335 96 180 353 0.0177 0.0537 0.0974 0.0429 0.6305 0.7122 0.4015 0.6393 0.0029
16 -328.9 478 75 174 326 0.0354 0.0203 0.0543 0.0089 0.2760 0.2088 0.7891 0.2281 0.0036

99
17 -379.8 302 506 405 397 0.0072 0.0929 0.0616 0.0179 0.2679 0.7861 0.5639 0.4015 0.0060
18 -319.8 343 98 224 335 0.0079 0.0195 0.0529 0.0179 0.3130 0.2021 0.6673 0.2900 0.0079
19 -142.3 223 473 153 194 0.0255 0.0186 0.0650 0.0758 0.2732 0.5384 0.4984 0.7656 0.0006
20 -122.3 223 87 65 145 0.0374 0.0406 0.0892 0.0472 0.7794 0.5117 0.3502 0.7003 0.0008
21 -340.8 157 266 104 327 0.0096 0.0716 0.0210 0.0905 0.6385 0.2634 0.7847 0.6158 0.0025
22 -355 60 226 181 217 0.0171 0.0427 0.0911 0.0224 0.3990 0.3480 0.6678 0.7812 0.0070
23 -327.5 267 187 216 462 0.0610 0.0050 0.0439 0.0798 0.7801 0.3624 0.6906 0.3220 0.0010
24 -379.4 476 290 198 144 0.0146 0.0049 0.0253 0.0177 0.4637 0.7646 0.4057 0.3369 0.0094
25 -339.2 111 101 243 273 0.0153 0.0864 0.0141 0.0911 0.7430 0.7378 0.4927 0.7118 0.0049
26 -310.4 277 382 436 120 0.0446 0.0091 0.0940 0.0832 0.4174 0.7954 0.1248 0.3363 0.0054
27 -362.1 462 193 421 223 0.0273 0.0960 0.0066 0.0707 0.4173 0.4073 0.3523 0.2203 0.0066
28 -375.3 366 276 318 490 0.0132 0.0665 0.0540 0.0570 0.1341 0.1690 0.5378 0.5800 0.0086
29 -331.7 350 331 205 447 0.0060 0.0898 0.0365 0.0954 0.5708 0.1311 0.4528 0.2699 0.0039
30 -305.4 390 426 134 113 0.0573 0.0759 0.0200 0.0307 0.4692 0.6152 0.6265 0.2941 0.0062

100
Código principal del proyecto, escrito en lenguaje Python.

#Importar librerías necesarias para el proyecto


import pandas as pd
import numpy as np
import tensorflow as tf
from tensorflow import keras
from keras import regularizers
from keras.models import Model, Input, Dense, LSTM, Dropout
from keras.layers.merge import concatenate
from keras.optimizers import adam_experimental
from sklearn.metrics import accuracy_score, make_scorer, mean_absolute_percentage_error, mean_absolute_error,
mean_squared_error, r2_score
from google.colab import drive

#Acceder a Google drive e importar la base de datos


drive.mount('/content/drive')
final_dataset=pd.read_excel("/content/drive/MyDrive/final_dataset.xlsx",header=0)
final_dataset["Datetime GMT-4"]=pd.to_datetime(final_dataset['Datetime GMT-4'], format='%Y-%m-%d %H:%M:%S')
final_dataset.set_index("Datetime GMT-4",inplace=True)

#Declarar la función para cambiar la estructura de la base de datos de entrada


def create_dataset(x1,x2, y, time_steps, predicted_window):
x1s, x2s, ys = [], [], []
for i in range(len(x1) - time_steps- predicted_window+1):
x1s.append(x1.iloc[i:(i + time_steps)].values)
x2s.append(x2.iloc[(i + time_steps):(i+time_steps+predicted_window)].values)
ys.append(y.iloc[(i + time_steps):(i+time_steps+predicted_window)].values)
return np.array(x1s),np.array(x2s), np.array(ys)

101
#Declarar la función para separar la base de datos en train y test
def split_data(df,time_steps,predicted_window,features1,features2,target):
train, test = df.iloc[0:27026], df.iloc[27026:len(df)]
x1_train, x2_train, y_train = create_dataset(train[features1], train[features2], train[target], time_steps,
__predicted_window)
x1_test, x2_test, y_test = create_dataset(test[features1], test[features2], test[target], time_steps,
__predicted_window)
return (x1_train, x2_train, x1_test, x2_test, y_train, y_test)

#Declarar la función que contiene la arquitectura de la red neuronal LSTM


def LSTM_network(activation='tanh', optimizer=keras.optimizers.Adam(learning_rate=0.0002630836577903151),
loss='mse'):
#Primera parte de la red
input1 = Input(shape=(x1_train.shape[1], x1_train.shape[2]))
lstm1_1 = LSTM(units=int(512*0.5975397808171893), return_sequences= True,
__activation=activation,kernel_regularizer=regularizers.l2(0.0029278181532773812))(input1)
dropout1_1 = Dropout(rate=0.7461171748825384)(lstm1_1)
lstm1_2 = LSTM(units=int(512*0.8578278031236451), return_sequences= False,
__activation=activation,kernel_regularizer=regularizers.l2(0.024696485653544285))(dropout1_1)
dropout1_2 = Dropout(rate=0.5980673310399303)(lstm1_2)
dense1= Dense(50)(dropout1_2)
#Segunda parte de la red
input2 =Input(shape=(x2_train.shape[1], x2_train.shape[2]))
lstm2_1 = LSTM(units=int(512*0.21175598360792003), return_sequences= True,
__activation=activation,kernel_regularizer=regularizers.l2(0.08601679207342051))(input2)
dropout2_1 = Dropout(rate=0.1869896733805153)(lstm2_1)
lstm2_2 = LSTM(units=int(512*0.35126531111002557), return_sequences= False,
__activation=activation,kernel_regularizer=regularizers.l2(0.053929223327731125))(dropout2_1)
dropout2_2 = Dropout(rate=0.11391609368785692)(lstm2_2)

102
dense2 = Dense(50)(dropout2_2)
#Unir ambas partes de la red
merge = concatenate([dense1, dense2])
output=Dense(units=predicted_window)(merge)
#Definir las capas input y ouput, y compilar el modelo
model = Model(inputs=[input1, input2], outputs=output)
model.compile(loss=loss, optimizer=optimizer)
return (model)

#Definir la función que entrena y guarda el modelo en base a la arquitectura antes declarada
def training(x1_train, x2_train, y_train, x1_test, x2_test, y_test):
model = LSTM_network()
history=model.fit([x1_train, x2_train], y_train, batch_size=256, epochs=150,
__verbose=1,validation_split=0.33, shuffle=False)
predictions = model.predict([x1_test,x2_test])
model.save('/content/drive/MyDrive/model.h5')
return (predictions, history, model)

#Definir la función que evalúa los pronósticos de la red neuronal en base a ciertas métricas
def performance_evaluation(original, predictions):
MAPE = mean_absolute_percentage_error(original, predictions)
r2 = r2_score(original, predictions)
MSE = mean_squared_error(original, predictions)
RMSE = mean_squared_error(original, predictions, squared=False)
MAE = mean_absolute_error(original, predictions)
MBE = np.mean(predictions - original)
eval_list = [r2, RMSE, MSE, MAPE, MAE, MBE]
columns = ['Coefficient of Determination (R2)', 'Root Mean Square Error (RMSE)', 'Mean Squared Error (MSE)',
'Mean Absolute Percent Error (MAPE)', 'Mean Absolute Error (MAE)', 'Mean Bias Error (MBE)']

103
dataframe = pd.DataFrame([eval_list], columns=columns)
return (dataframe)

#Declarar las variables de entrada para la primera ventana de tiempo


features_ALL=[
'MP10_SIVICA',
'MP2.5_SIVICA',
'MP10_TAMA',
'MP2.5_TAMA',
'Velocidad_viento_TAMA',
'MP10_SIVICA_24H',
'MP2.5_SIVICA_24H',
'MP10_TAMA_24H',
'MP2.5_TAMA_24H',
'Temperatura_aire',
'Temperatura_rocio',
'Radiacion_solar',
'Humedad_relativa',
'Presion_atmosferica',
'Velocidad_viento',
'Precipitacion_liquida',
'Hora_sin', 'Hora_cos',
'Dia_semana_sin', 'Dia_semana_cos',
'Mes_sin', 'Mes_cos',
'Direccion_viento_sin', 'Direccion_viento_cos',
'Direccion_viento_TAMA_sin', 'Direccion_viento_TAMA_cos',
'Feriado/fin_de_semana',
'Cuarentena_Copiapo',
'Cuarentena_Tierra_Amarilla']

104
#Declarar las variables de entrada para la segunda ventana de tiempo
features_ALL2=[
'Velocidad_viento_TAMA',
'Temperatura_aire',
'Temperatura_rocio',
'Radiacion_solar',
'Humedad_relativa',
'Presion_atmosferica',
'Velocidad_viento',
'Precipitacion_liquida',
'Hora_sin', 'Hora_cos',
'Dia_semana_sin', 'Dia_semana_cos',
'Mes_sin', 'Mes_cos',
'Direccion_viento_sin', 'Direccion_viento_cos',
'Direccion_viento_TAMA_sin', 'Direccion_viento_TAMA_cos',
'Feriado/fin_de_semana',
'Cuarentena_Copiapo',
'Cuarentena_Tierra_Amarilla']

#Declarar los parámetros del modelo, en este caso el pronóstico fue para MP10_SIVICA_24H
time_steps = 24
predicted_window = 24
features1 = features_ALL
features2 = features_ALL2
target = 'MP10_SIVICA_24H'

#Dividir la base de datos en ‘x’ e ‘y’ en ‘train’ y ‘test’ con la función correspondiente
x1_train, x2_train, x1_test, x2_test, y_train, y_test = split_data(df=final_dataset, time_steps=time_steps,
predicted_window=predicted_window, features1=features1, features2=features2, target=target)

105
#Iniciar el entrenamiento de la red neuronal con la función correspondiente
predictions, history, model = training(x1_train=x1_train, x2_train=x2_train, y_train=y_train, x1_test=x1_test,
x2_test=x2_test, y_test=y_test)

#Evaluar la calidad de los pronósticos con la función correspondiente y guardar los resultados
performance_evaluation(original=y_test, predictions=predictions)
pd.DataFrame(predictions).to_excel("/content/drive/MyDrive/ypredict.xlsx",index=True)
pd.DataFrame(y_test).to_excel("/content/drive/MyDrive/ytest.xlsx",index=True)

106

You might also like