16/5/2022

Introduccion

Figura 1. Calidad del aire

Antecedentes

El municipio de Hermosillo inicia de manera formal el Programa de Monitoreo de la Calidad del Aire en el año 2004, los aparatos de muestreo son donados al municipio por SEMARNAT y son reinstalados en sitios céntricos pese al crecimiento urbano que ha rebasado en kilómetros las zonas marginales de diez años atrás (Barajas Olvera, 2007).

En Hermosillo sonora, la contaminación del aire es elevada y la población desconoce acerca de este hecho. Existen antecedentes para esta ciudad de medición de PST (Partículas suspendidas totales similares a las PM10) de 1990 a 1995, reportándose que todos esos años se rebasó el máximo permisible anual de 75 μg/m^3 con promedios anuales que fluctuaban de 126 hasta 565 μg/m^3.

Objetivos

Lo que se busca con este caso de estudio es ver y analizar el comportamiento de los datos con respecto a la calidad del aire y la movilidad urbana en estos años de pandemia.

Se quiere determinar si la hipótesis de que el decremento de la movilidad urbana hizo que la calidad del aire mejorará significativamente. Para esto se requiere poder ver si existe una relación determinante entre estas variables, también poder describirlas y realizar predicciones de las mismas.

Y para explicar todo esto se utilizarán las técnicas de análisis de relación, regresión lineal múltiple, análisis de series de tiempo, análisis de correlación, y EDA.

Marco teórico

La contaminación del aire representa un importante riesgo medioambiental para la salud, tanto en los países desarrollados como en los países en desarrollo.

La OMS estima que aproximadamente el 58% de las muertes prematuras relacionadas con la contaminación atmosférica que se produjeron en 2016 se debieron a cardiopatías isquémicas y accidentes cerebrovasculares, mientras que el 18% de las muertes se debieron a enfermedades pulmonares obstructivas crónicas e infecciones respiratorias agudas, y el 6% de las muertes se debieron al cáncer de pulmón.

Marco teórico

Con los diferentes cambios climáticos experimentados a lo largo de los años el tema del medio ambiente ha sido un tema que empezó hacerse más popular entre las bocas de todos los ciudadanos del mundo, además de que gracias a la propagación de esta información a través de los medios y de distintas campañas la población se ha percatado de los daños que ocasionan con distintas acciones de su día a día, creando conciencia de ello y haciendo que cambien sus hábitos.

Los principales gases contaminantes y de los cuales serán de los que informaremos dentro de este análisis son: Material particulado (Pm10), Ozono (O3) y Dioxido de azufre(SO2).

Nuestra fuente de datos para la realización de este análisis provienen de la estación de calidad del aire de la ERNO ubicado en Hermosillo. Enlace a la fuente de datos: http://www.erno.geologia.unam.mx/

Métodos

  • Analisis de correlación
  • Regresión lineal multiple
  • TSA (Time Series Analysis)
  • Vecino Cercano

Análisis de Correlación

                           O3    SO2   PM10 Reactivacion_Comercial
O3                      1.000 -0.220 -0.229                 -0.193
SO2                    -0.220  1.000  0.612                  0.404
PM10                   -0.229  0.612  1.000                  0.281
Reactivacion_Comercial -0.193  0.404  0.281                  1.000
Supermercado_Farmacia  -0.047  0.443  0.280                  0.875
Parques_Centros        -0.182  0.019  0.065                  0.814
Estaciones_Transito    -0.174  0.399  0.270                  0.944
Lugares_Trabajo        -0.119  0.138  0.100                  0.581
Residencia              0.130 -0.371 -0.238                 -0.842
                       Supermercado_Farmacia Parques_Centros
O3                                    -0.047          -0.182
SO2                                    0.443           0.019
PM10                                   0.280           0.065
Reactivacion_Comercial                 0.875           0.814
Supermercado_Farmacia                  1.000           0.655
Parques_Centros                        0.655           1.000
Estaciones_Transito                    0.872           0.770
Lugares_Trabajo                        0.492           0.371
Residencia                            -0.729          -0.617
                       Estaciones_Transito Lugares_Trabajo Residencia
O3                                  -0.174          -0.119      0.130
SO2                                  0.399           0.138     -0.371
PM10                                 0.270           0.100     -0.238
Reactivacion_Comercial               0.944           0.581     -0.842
Supermercado_Farmacia                0.872           0.492     -0.729
Parques_Centros                      0.770           0.371     -0.617
Estaciones_Transito                  1.000           0.474     -0.758
Lugares_Trabajo                      0.474           1.000     -0.853
Residencia                          -0.758          -0.853      1.000

Análisis con histogramas

Gráfica 1.Histograma de cada dato

Gráfica 1.Histograma de cada dato

Análisis de Dispersión de los datos

Mediante este grafico se puede observar como estan dispersos los datos, y la correlación que tiene cada variable.

Gráfica 2. Gráfico de dispersión de los datos.

Gráfica 2. Gráfico de dispersión de los datos.

## 
## Call:
## lm(formula = SO2 ~ Supermercado_Farmacia, data = datos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.77447 -0.16040 -0.00167  0.15632  0.98634 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           0.285796   0.015300   18.68   <2e-16 ***
## Supermercado_Farmacia 0.011437   0.001098   10.42   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2544 on 445 degrees of freedom
## Multiple R-squared:  0.1961, Adjusted R-squared:  0.1943 
## F-statistic: 108.5 on 1 and 445 DF,  p-value: < 2.2e-16

Regresion lineal multiple

Call:
lm(formula = SO2 ~ O3 + PM10 + Reactivacion_Comercial + Supermercado_Farmacia + 
    Parques_Centros + Estaciones_Transito + Lugares_Trabajo + 
    Residencia, data = datos)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.51190 -0.09921 -0.00269  0.09870  0.52906 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)            -0.0187954  0.0380324  -0.494 0.621416    
O3                     -0.0057616  0.0009832  -5.860 9.10e-09 ***
PM10                    0.0056324  0.0005408  10.415  < 2e-16 ***
Reactivacion_Comercial  0.0096304  0.0020097   4.792 2.27e-06 ***
Supermercado_Farmacia   0.0060624  0.0015668   3.869 0.000126 ***
Parques_Centros        -0.0169489  0.0010860 -15.607  < 2e-16 ***
Estaciones_Transito    -0.0018481  0.0013556  -1.363 0.173465    
Lugares_Trabajo        -0.0106817  0.0009837 -10.858  < 2e-16 ***
Residencia             -0.0352798  0.0041747  -8.451 4.32e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.1582 on 438 degrees of freedom
Multiple R-squared:  0.6938,    Adjusted R-squared:  0.6882 
F-statistic: 124.1 on 8 and 438 DF,  p-value: < 2.2e-16

Evaluación del modelo

Se realizará una evaluación del modelo anteriormente visto, esto mediante el Akaike(AIC), el cual es una medida de la calidad relativa de un modelo estadístico, para un conjunto dado de dato. Este se basa en la entropía de información y ofrece una estimación de la información perdida cuando se utiliza un modelo determinado.

## Start:  AIC=-1639.29
## SO2 ~ O3 + PM10 + Reactivacion_Comercial + Supermercado_Farmacia + 
##     Parques_Centros + Estaciones_Transito + Lugares_Trabajo + 
##     Residencia
## 
##                          Df Sum of Sq    RSS     AIC
## - Estaciones_Transito     1    0.0465 11.014 -1639.4
## <none>                                10.968 -1639.3
## - Supermercado_Farmacia   1    0.3749 11.343 -1626.3
## - Reactivacion_Comercial  1    0.5750 11.543 -1618.5
## - O3                      1    0.8600 11.828 -1607.5
## - Residencia              1    1.7883 12.756 -1573.8
## - PM10                    1    2.7161 13.684 -1542.4
## - Lugares_Trabajo         1    2.9523 13.920 -1534.7
## - Parques_Centros         1    6.0997 17.067 -1443.6
## 
## Step:  AIC=-1639.4
## SO2 ~ O3 + PM10 + Reactivacion_Comercial + Supermercado_Farmacia + 
##     Parques_Centros + Lugares_Trabajo + Residencia
## 
##                          Df Sum of Sq    RSS     AIC
## <none>                                11.014 -1639.4
## + Estaciones_Transito     1    0.0465 10.968 -1639.3
## - Supermercado_Farmacia   1    0.3298 11.344 -1628.2
## - Reactivacion_Comercial  1    0.6091 11.623 -1617.3
## - O3                      1    0.8366 11.851 -1608.7
## - Residencia              1    1.7647 12.779 -1575.0
## - PM10                    1    2.7569 13.771 -1541.5
## - Lugares_Trabajo         1    2.9217 13.936 -1536.2
## - Parques_Centros         1    6.0965 17.111 -1444.5
## 
## Call:
## lm(formula = SO2 ~ O3 + PM10 + Reactivacion_Comercial + Supermercado_Farmacia + 
##     Parques_Centros + Lugares_Trabajo + Residencia, data = datos)
## 
## Coefficients:
##            (Intercept)                      O3                    PM10  
##              -0.020842               -0.005669                0.005668  
## Reactivacion_Comercial   Supermercado_Farmacia         Parques_Centros  
##               0.008020                0.005439               -0.016944  
##        Lugares_Trabajo              Residencia  
##              -0.010417               -0.035005

Despues de realizar el proceso de AIC, nos da que el mejor modelo es

  • (formula = SO2 ~ O3 + PM10 + Reactivacion_Comercial + Supermercado_Farmacia + Parques_Centros + Lugares_Trabajo + Residencia, data = datos)

Mejor Modelo

El modelo ajustado nos elimina la variable Estaciones_Transito.

Call:
lm(formula = SO2 ~ O3 + PM10 + Reactivacion_Comercial + Supermercado_Farmacia + 
    Parques_Centros + Lugares_Trabajo + Residencia, data = datos)

Residuals:
    Min      1Q  Median      3Q     Max 
-0.5458 -0.1006 -0.0022  0.0964  0.5374 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)            -0.0208416  0.0380399  -0.548 0.584047    
O3                     -0.0056694  0.0009818  -5.775 1.46e-08 ***
PM10                    0.0056679  0.0005407  10.482  < 2e-16 ***
Reactivacion_Comercial  0.0080203  0.0016277   4.927 1.18e-06 ***
Supermercado_Farmacia   0.0054386  0.0015000   3.626 0.000322 ***
Parques_Centros        -0.0169444  0.0010870 -15.588  < 2e-16 ***
Lugares_Trabajo        -0.0104169  0.0009653 -10.791  < 2e-16 ***
Residencia             -0.0350045  0.0041739  -8.387 6.89e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.1584 on 439 degrees of freedom
Multiple R-squared:  0.6925,    Adjusted R-squared:  0.6876 
F-statistic: 141.2 on 7 and 439 DF,  p-value: < 2.2e-16

Intervalo de Confianza de los coeficientes

En la siguiente tabla podemos observar los intervalos de confianza de los coeficientes:

                              2.5 %       97.5 %
(Intercept)            -0.095604583  0.053921343
O3                     -0.007599002 -0.003739801
PM10                    0.004605203  0.006730588
Reactivacion_Comercial  0.004821182  0.011219376
Supermercado_Farmacia   0.002490524  0.008386774
Parques_Centros        -0.019080816 -0.014808020
Lugares_Trabajo        -0.012314119 -0.008519681
Residencia             -0.043207808 -0.026801239

Se puede observar un intervalo de confianza del 97.5%.

Validación de condiciones para la regresión múltiple lineal.

Grafica 3. Gráfico de residuales

## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

Regresión lineal multiple

El SO2 tiene una distribucion con relacion a las demas variables anormal con un 97.5%, Analizando la parte de Supermercado_Farmacia podemos observar que sus datos se encuentran dispersos, ademas de que no cuenta con una linea regular donde podemos observar picos por ejemplo en -20.

Variabilidad constante de los residuos

Para demostrar la variabilidad de los residuos se grafica una matriz donde se puede observar que tan relacionados estan las variables.

Gráfica 4. Matríz de correlación.

Gráfica 4. Matríz de correlación.

TSA (Time Series Analysis)

Time Series Analysis es una manera especifica de analizar una secuencia de datos recolectados en un intervalo de tiempo.En TSA los analistas registran puntos de datos a intervalos constantes durante un período de tiempo determinado en lugar de simplemente registrar los puntos de datos de forma intermitente o aleatoria.

Analisís de datos y descomposición de la serie de tiempo

Gráfica 5. Descomposición de serie de tiempo.

## Time Series:
## Start = c(2017, 1) 
## End = c(2028, 1) 
## Frequency = 2 
##  [1] 39.20583 33.75667 72.35500 59.46083 74.44708 42.33542 62.24417 30.70417
##  [9] 22.72583 29.09708 37.50750 21.02875 40.74500 50.33583 38.33417 32.31750
## [17] 28.50333 12.30250 26.29667 22.18625 31.20792 33.08542  9.11250

Validación cruzada

La validación cruzada es una técnica para ajustar hiperparámetros y producir medidas sólidas del rendimiento del modelo.

Aquí definiremos un 20% para pruebas y un 80% para entrenamiento.

test_qual <- tail(qual, 3) #20% para pruebas

train_qual <- head(qual, length(qual)-3) #80% para entrenamiento

Ajuste del modelo con Holt-Winters.

Se usará el metodo Holt-Winters para el ajuste del modelo, quees una ampliación perfeccionada del enfoque de la suavización exponencial,

Holt-Winters exponential smoothing with trend and multiplicative seasonal component.

Call:
HoltWinters(x = train_qual, seasonal = "multiplicative")

Smoothing parameters:
 alpha: 0.868512
 beta : 0.2310532
 gamma: 1

Coefficients:
         [,1]
a  31.8137400
b  -0.4439777
s1  0.9381583
s2  0.6973795

Forecasting

Forecasting es el proceso de hacer predicciones sobre el futuro mediante el análisis estadístico de tendencias observadas en datos históricos. Se usará el modelo dado por Holt-Winters para asi poder hacer la predicción

qual_forecast <- forecast(object = qual_ses, h=4)

Visualizando resultados

Tenemos 3 variables actualmente, los datos que ya teniamos, los de test y los entrenados.

## Warning: Removed 2 row(s) containing missing values (geom_path).
Gráfica 8. Serie de tiempo de comparación entre lo actual, entrenado y el test.

Gráfica 8. Serie de tiempo de comparación entre lo actual, entrenado y el test.

Evaluar la precisión del modelo

Esto se hace para saber que tan preciso fue la predicción dada.

eval_ses <- accuracy(qual_forecast, test_qual)
eval_ses
                    ME     RMSE      MAE       MPE     MAPE      MASE
Training set -5.197672 19.26240 15.21923 -17.37667 43.61137 1.0504454
Test set     -2.062579 13.10816 10.92693 -57.76908 84.77694 0.7541868
                    ACF1 Theil's U
Training set -0.05535754        NA
Test set     -0.36689851 0.9559035

De acuerdo con la prueba de precision el modelo tiene un error medio de: 43.4%

Utilizando el modelo SARIMA o ARIMA

Los modelos SARIMA (Seasonal Autoregressive Integrated Moving Average Model) captan el comportamiento puramente estacional de una serie.

Empezaremos haciendo una prueba al conjunto de datos

    Augmented Dickey-Fuller Test

data:  qual
Dickey-Fuller = -2.8785, Lag order = 2, p-value = 0.2377
alternative hypothesis: stationary

De acuerdo con el valor de P, los datos son estacionarios porque son mayores a 0.05

Analisis de ajuste

Se realiza el analisis de ajuste y se procede a representarse de manera grafíca

Gráfica 6. Análisis de ajuste

Gráfica 6. Análisis de ajuste

Analizando la serie de tiempo por medio de un modelo ARIMA

Series: train_qual 
ARIMA(0,1,0) 

sigma^2 = 312.1:  log likelihood = -81.52
AIC=165.04   AICc=165.28   BIC=165.99

Training set error measures:
                     ME     RMSE      MAE       MPE     MAPE      MASE
Training set -0.8490189 17.21902 14.01056 -13.64256 40.69657 0.9670223
                   ACF1
Training set -0.4942984

Mediante el modelo ARIMA se obtuvo un menor porcentaje de error, el cual fue del 40.2%.

Datos reales vs SARIMA

Se mostrará los resultados de ARIMA representados en una grafica

Gráfica 7. Comparación entre datos reales y el metodo SARIMA

Gráfica 7. Comparación entre datos reales y el metodo SARIMA

Vecino cercano

Inicio del proceso del tema Vecino Cercano aplicado a calidad del aire y movilidad urbana Se busca despreciar aquellas variables que no afectan al procedimiento, se definen tres variables necesarias para aplicar el procedimiento, el SO2, el PM10 y la residencia. ademas de usar la Etiqueta para clasificar si los indices de los gases presentes en la atmosfera fueron antes o durante la pandemia.

Construir el modelo KNN

En este modelo, el modelo de vecinos mas cercanos (KNN) se construye con los mismos datos preparados y las columnas numéricas [,1:3] para posteriormente evaluar el modelo mediante los criterios de una matriz de confusión.

[1] Prepandemia Prepandemia Prepandemia Prepandemia Prepandemia Prepandemia
Levels: Pandemia Prepandemia

Resumen del modelo

El resumen de modelo muestra que en los datos encontramos 93 fechas pertenecientes a la pandemia y 32 a la prepandemia

   Pandemia Prepandemia 
         94          31 

Evaluando el modelo

Se construye un conjunto de datos llamado datos.r.p con valores reales y valores predichos a partir de los datos preparados incorporados en el algoritmo KNN

datos.r.p$reales <- as.factor(datos.r.p$reales)
datos.r.p$prediccion <- as.factor(datos.r.p$prediccion)

Crear matriz de confusion

Confusion Matrix and Statistics

             Reference
Prediction    Pandemia Prepandemia
  Pandemia          92           0
  Prepandemia        2          31
                                          
               Accuracy : 0.984           
                 95% CI : (0.9434, 0.9981)
    No Information Rate : 0.752           
    P-Value [Acc > NIR] : 2.98e-13        
                                          
                  Kappa : 0.958           
                                          
 Mcnemar's Test P-Value : 0.4795          
                                          
            Sensitivity : 0.9787          
            Specificity : 1.0000          
         Pos Pred Value : 1.0000          
         Neg Pred Value : 0.9394          
             Prevalence : 0.7520          
         Detection Rate : 0.7360          
   Detection Prevalence : 0.7360          
      Balanced Accuracy : 0.9894          
                                          
       'Positive' Class : Pandemia        
                                          
## [1] 98.4

Hacer predicciones

Una vez mencionada la precision, creamos nuevos datos para saber si el modelo es capaz de predecir si dependiendo del aumento o disminucion de los gases, nos encontramos en prepandemia o pandemia.

Datos nuevos
SO2 PM10 Residencia Estado
0.1058 20 -1 ?
-0.1508 30 15 ?
0.0510 15 10 ?

Resultados del modelo

El modelo muestra una precision correcta para todos los casos que se le adjuntaron de ejemplo

modelo <- knn(train = datos.prep[,1:3], test = datos.nuevos[,1:3], k = 4, cl = datos.prep[,4] )

modelo
## [1] Prepandemia Pandemia    Pandemia   
## Levels: Pandemia Prepandemia
Predicción de datos nuevos
SO2 PM10 Residencia Estado prediccion
0.1058 20 -1 ? Prepandemia
-0.1508 30 15 ? Pandemia
0.0510 15 10 ? Pandemia

Conclusión

Al realizar este estudio se pudo apreciar como se llegaban a relacionar algunas cosas que a simple vista no tenian nada que ver, o como cosas que pensaba que tenian relación al final no la tenian, por ejemplo, el como las farmacias influian tanto en los datos y relaciones, y esto se debía a que cerca del lugar de donde se tomaban las muestrar del aire, se encontraba una farmacia, lo cual le hacía ser más influyente que otras variables.

Tambien se concluye que gracias a vecino cernano logramos probar esa hipotesis de que realmente cuando inicio la pandemia, los gases contaminantes se redujeron considerablemente, pudiendo afirmar que realmente el planeta “se limpio climaticamente” durante la pandemia.

Bibliografía

Gobierno de México. Efectos a la salud por la contaminación del aire ambiente. gob.mx. Recuperado 7 de abril de 2022, de https://www.gob.mx/cofepris/acciones-y-programas/3-efectos-a-la-salud-por-la-contaminacion-del-aire-ambiente#

OMS. (2021, 22 septiembre). Calidad del aire ambiente (exterior) y salud. who.int. Recuperado 7 de abril de 2022, de https://www.who.int/es/news-room/fact-sheets/detail/ambient-(outdoor)-air-quality-and-health

UNAM. Instituto de Geología. Recuperado 7 de abril de 2022, de http://www.erno.geologia.unam.mx/

Análisis de correlación. (2017, 25 mayo). Conogasi. Recuperado 16 de mayo de 2022, de https://conogasi.org/articulos/analisis-de-correlacion-2/#:%7E:text=Descripci%C3%B3n-,El%20an%C3%A1 lisis%20de%20correlaci%C3%B3n%20consiste%20en%20un%20 procedimiento%20estad%C3%ADstico%20para, correlaci%C3%B3n%20entre%20las%20dos%20variables%20.

Bibliografía

Análisis exploratorio de datos. (s. f.). Introducción a la estadística | JMP. Recuperado 16 de mayo de 2022, de https://www.jmp.com/es_pe/statistics-knowledge-portal/exploratory-data-analysis. html#:%7E:text=El%20an%C3%A1lisis%20exploratorio%20de%20datos%20es%20un%20 proceso%20de%20investigaci%C3%B3n,se%20puede%20averiguar%20de%20ellos.

Cómo funciona Vecino más cercano promedio—Ayuda | ArcGIS Desktop. (s. f.). ArcMap. Recuperado 16 de mayo de 2022, de https://desktop.arcgis.com/es/arcmap/10.5/tools/spatial-statistics-toolbox/h-how-average-nearest-neighbor-distance-spatial-st.htm

Paladino, M. (s. f.). Series de tiempo en R. Series de tiempo. Recuperado 16 de mayo de 2022, de https://www.institutomora.edu.mx/testU/SitePages/martinpaladino/series_de_ tiempo_con_R.html#:%7E:text=En%20R%20expresamos%20una%20serie,asegurarnos %20que%20se%20mantengan%20alienados.