Actividad 1 - Métodos

Author

Mariana Franco, Danier Conde, Samuel Bermúdez & Héctor San Juan

INTRODUCCIÓN

La base de datos “Precipitaciones Totales Mensuales” proporcionada por la Corporación Autónoma Regional de Cundinamarca (CAR) recopila información sobre el volumen de precipitaciones mensuales obtenidas en la red de estaciones hidrológicas de la CAR. Este conjunto de datos es crucial para el monitoreo y análisis de patrones climáticos y su impacto en la región de Cundinamarca.

Detalles del Conjunto de Datos

Organización Proveedora: Corporación Autónoma Regional de Cundinamarca (CAR)

Sector: Ambiente y Desarrollo Sostenible

Cobertura Geográfica: Departamental (Bogotá D.C.)

Frecuencia de Actualización: Anual

Periodo de Datos: Desde noviembre de 2016 hasta mayo de 2020

Licencia: Creative Commons Attribution | Share Alike 4.0 International

Idiomas: Español

Estructura de los Datos

El conjunto de datos incluye las siguientes columnas:

  • ESTACIÓN: Nombre de la estación.

  • CÓDIGO: Código CAR de la estación.

  • X=N: Coordenadas planas de la estación, con origen en Bogotá.

  • Y=E: Coordenadas planas de la estación, con origen en Bogotá.

  • MUNICIPIO: Municipio de ubicación de la estación.

  • CUENCA: Cuenca de ubicación de la estación.

  • AÑO: Año correspondiente a la información.

  • ENERO a DICIEMBRE: Medidas de precipitación mensual en mm.

   ESTACIÓN             CÓDIGO             X=N               Y=E         
 Length:6196        Min.   :2119022   Min.   :      0   Min.   :      0  
 Class :character   1st Qu.:2120156   1st Qu.:1018200   1st Qu.: 987380  
 Mode  :character   Median :2120565   Median :1053180   Median :1017125  
                    Mean   :2259878   Mean   :1046284   Mean   :1006884  
                    3rd Qu.:2401038   3rd Qu.:1077060   3rd Qu.:1031590  
                    Max.   :3509510   Max.   :1133250   Max.   :1134650  
                                                                         
  MUNICIPIO            CUENCA               AÑO          ENERO          
 Length:6196        Length:6196        Min.   :1919   Length:6196       
 Class :character   Class :character   1st Qu.:1977   Class :character  
 Mode  :character   Mode  :character   Median :1993   Mode  :character  
                                       Mean   :1991                     
                                       3rd Qu.:2006                     
                                       Max.   :2019                     
                                                                        
   FEBRERO              MARZO            ABRIL             MAYO      
 Length:6196        Min.   :  0.00   Min.   :  0.00   Min.   :  0.0  
 Class :character   1st Qu.: 37.80   1st Qu.: 59.33   1st Qu.: 53.5  
 Mode  :character   Median : 71.40   Median : 98.75   Median : 90.2  
                    Mean   : 83.43   Mean   :115.19   Mean   :100.4  
                    3rd Qu.:113.40   3rd Qu.:154.50   3rd Qu.:134.6  
                    Max.   :670.70   Max.   :828.50   Max.   :823.5  
                    NA's   :2        NA's   :2                       
     JUNIO            JULIO            AGOSTO         SEPTIEMBRE    
 Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00  
 1st Qu.: 29.70   1st Qu.: 22.98   1st Qu.: 22.20   1st Qu.: 28.10  
 Median : 55.50   Median : 44.15   Median : 42.15   Median : 52.00  
 Mean   : 64.87   Mean   : 55.39   Mean   : 51.70   Mean   : 61.80  
 3rd Qu.: 88.00   3rd Qu.: 72.70   3rd Qu.: 69.50   3rd Qu.: 83.72  
 Max.   :791.00   Max.   :550.00   Max.   :500.50   Max.   :498.60  
 NA's   :1                                                          
    OCTUBRE        NOVIEMBRE       DICIEMBRE     
 Min.   :  0.0   Min.   :  0.0   Min.   :  0.00  
 1st Qu.: 58.5   1st Qu.: 52.9   1st Qu.: 18.20  
 Median :102.0   Median : 91.5   Median : 44.10  
 Mean   :113.5   Mean   :105.3   Mean   : 57.12  
 3rd Qu.:153.2   3rd Qu.:140.5   3rd Qu.: 80.60  
 Max.   :675.2   Max.   :767.0   Max.   :532.30  
                                                 
tibble [6,196 × 19] (S3: tbl_df/tbl/data.frame)
 $ ESTACIÓN  : chr [1:6196] "Pajas Blancas" "Pajas Blancas" "Pajas Blancas" "Pajas Blancas" ...
 $ CÓDIGO    : num [1:6196] 2119022 2119022 2119022 2119022 2119022 ...
 $ X=N       : num [1:6196] 973320 973320 973320 973320 973320 ...
 $ Y=E       : num [1:6196] 944710 944710 944710 944710 944710 ...
 $ MUNICIPIO : chr [1:6196] "Nilo" "Nilo" "Nilo" "Nilo" ...
 $ CUENCA    : chr [1:6196] "R. Paguey" "R. Paguey" "R. Paguey" "R. Paguey" ...
 $ AÑO       : num [1:6196] 1995 1996 1997 1998 1999 ...
 $ ENERO     : chr [1:6196] "0" "295.9" "294.2" "144.3" ...
 $ FEBRERO   : chr [1:6196] "0" "127.2" "76.9" "118" ...
 $ MARZO     : num [1:6196] 0 248 160 209 83 ...
 $ ABRIL     : num [1:6196] 0 149 296 438 339 ...
 $ MAYO      : num [1:6196] 0 0 144 293 108 ...
 $ JUNIO     : num [1:6196] 0 0 134.3 30.6 236.2 ...
 $ JULIO     : num [1:6196] 0 0 20.1 35.2 17.6 37.5 21.6 51.2 37.6 59 ...
 $ AGOSTO    : num [1:6196] 0 0 3.6 30.7 23.7 74.8 38.3 6.8 33.1 16.5 ...
 $ SEPTIEMBRE: num [1:6196] 31.5 0 75.3 103.2 322.9 ...
 $ OCTUBRE   : num [1:6196] 190 0 174 386 338 ...
 $ NOVIEMBRE : num [1:6196] 154 0 182 105 234 ...
 $ DICIEMBRE : num [1:6196] 76.2 115.2 110.1 235.7 199.5 ...
 [1] "ESTACIÓN"   "CÓDIGO"     "X=N"        "Y=E"        "MUNICIPIO" 
 [6] "CUENCA"     "AÑO"        "ENERO"      "FEBRERO"    "MARZO"     
[11] "ABRIL"      "MAYO"       "JUNIO"      "JULIO"      "AGOSTO"    
[16] "SEPTIEMBRE" "OCTUBRE"    "NOVIEMBRE"  "DICIEMBRE" 
 [1] "estacion"   "codigo"     "x_n"        "y_e"        "municipio" 
 [6] "cuenca"     "ano"        "enero"      "febrero"    "marzo"     
[11] "abril"      "mayo"       "junio"      "julio"      "agosto"    
[16] "septiembre" "octubre"    "noviembre"  "diciembre" 
  1. ¿Qué objetivo plantearías para el estudio o el interés del investigador?

Objetivo Planteado: El objetivo principal del estudio podría ser analizar las precipitaciones mensuales en la región de Cundinamarca para identificar patrones temporales, estacionales y espaciales. Esto incluye:

  • Evaluar las tendencias de precipitaciones a lo largo del tiempo.

  • Identificar las estaciones con las mayores y menores precipitaciones.

  • Estudiar la variabilidad espacial de las precipitaciones en diferentes municipios y cuencas.

  1. ¿Qué variables se involucran en el estudio y de qué tipo son? Cuadro de operacionalización de variables
Variable Definición Conceptual Definición Operacional Tipo de Variable Escala de Medición
ESTACIÓN Nombre de la estación meteorológica. Nombre de la estación meteorológica registrada en texto. Cualitativa Nominal
CÓDIGO Código CAR asignado a la estación. Identificador alfanumérico único para la estación. Cualitativa Nominal
X=N Coordenadas planas en el eje X, con origen en Bogotá. Valor numérico de las coordenadas en X. Cuantitativa Intervalo
Y=E Coordenadas planas en el eje Y, con origen en Bogotá. Valor numérico de las coordenadas en Y. Cuantitativa Intervalo
MUNICIPIO Municipio donde se encuentra la estación. Nombre del municipio registrado en texto. Cualitativa Nominal
CUENCA Cuenca hidrográfica a la que pertenece la estación. Nombre de la cuenca hidrográfica registrada en texto. Cualitativa Nominal
AÑO Año de registro de la información. Año calendario de registro. Cuantitativa Intervalo
ENERO Precipitación en el mes de enero, medida en mm. Precipitación medida en mm en enero. Cuantitativa Razón
FEBRERO Precipitación en el mes de febrero, medida en mm. Precipitación medida en mm en febrero. Cuantitativa Razón
MARZO Precipitación en el mes de marzo, medida en mm. Precipitación medida en mm en marzo. Cuantitativa Razón
ABRIL Precipitación en el mes de abril, medida en mm. Precipitación medida en mm en abril. Cuantitativa Razón
MAYO Precipitación en el mes de mayo, medida en mm. Precipitación medida en mm en mayo. Cuantitativa Razón
JUNIO Precipitación en el mes de junio, medida en mm. Precipitación medida en mm en junio. Cuantitativa Razón
JULIO Precipitación en el mes de julio, medida en mm. Precipitación medida en mm en julio. Cuantitativa Razón
AGOSTO Precipitación en el mes de agosto, medida en mm. Precipitación medida en mm en agosto. Cuantitativa Razón
SEPTIEMBRE Precipitación en el mes de septiembre, medida en mm. Precipitación medida en mm en septiembre. Cuantitativa Razón
OCTUBRE Precipitación en el mes de octubre, medida en mm. Precipitación medida en mm en octubre. Cuantitativa Razón
NOVIEMBRE Precipitación en el mes de noviembre, medida en mm. Precipitación medida en mm en noviembre. Cuantitativa Razón
DICIEMBRE Precipitación en el mes de diciembre, medida en mm. Precipitación medida en mm en diciembre. Cuantitativa Razón
  1. Realice un descriptivo de los datos, incluya gráficos y resúmenes numéricos.

    str(data_limpios)
    tibble [6,196 × 19] (S3: tbl_df/tbl/data.frame)
     $ estacion  : chr [1:6196] "Pajas Blancas" "Pajas Blancas" "Pajas Blancas" "Pajas Blancas" ...
     $ codigo    : chr [1:6196] "2119022" "2119022" "2119022" "2119022" ...
     $ x_n       : chr [1:6196] "973320" "973320" "973320" "973320" ...
     $ y_e       : chr [1:6196] "944710" "944710" "944710" "944710" ...
     $ municipio : chr [1:6196] "Nilo" "Nilo" "Nilo" "Nilo" ...
     $ cuenca    : chr [1:6196] "R. Paguey" "R. Paguey" "R. Paguey" "R. Paguey" ...
     $ ano       : num [1:6196] 1995 1996 1997 1998 1999 ...
     $ enero     : num [1:6196] 0 295.9 294.2 144.3 78.3 ...
     $ febrero   : num [1:6196] 0 127.2 76.9 118 256.6 ...
     $ marzo     : num [1:6196] 0 248 160 209 83 ...
     $ abril     : num [1:6196] 0 149 296 438 339 ...
     $ mayo      : num [1:6196] 0 0 144 293 108 ...
     $ junio     : num [1:6196] 0 0 134.3 30.6 236.2 ...
     $ julio     : num [1:6196] 0 0 20.1 35.2 17.6 37.5 21.6 51.2 37.6 59 ...
     $ agosto    : num [1:6196] 0 0 3.6 30.7 23.7 74.8 38.3 6.8 33.1 16.5 ...
     $ septiembre: num [1:6196] 31.5 0 75.3 103.2 322.9 ...
     $ octubre   : num [1:6196] 190 0 174 386 338 ...
     $ noviembre : num [1:6196] 154 0 182 105 234 ...
     $ diciembre : num [1:6196] 76.2 115.2 110.1 235.7 199.5 ...
    summary(data_limpios)
       estacion            codigo              x_n                y_e           
     Length:6196        Length:6196        Length:6196        Length:6196       
     Class :character   Class :character   Class :character   Class :character  
     Mode  :character   Mode  :character   Mode  :character   Mode  :character  
    
    
    
    
      municipio            cuenca               ano           enero       
     Length:6196        Length:6196        Min.   :1919   Min.   :  0.00  
     Class :character   Class :character   1st Qu.:1977   1st Qu.:  8.60  
     Mode  :character   Mode  :character   Median :1993   Median : 26.00  
                                           Mean   :1991   Mean   : 38.42  
                                           3rd Qu.:2006   3rd Qu.: 53.40  
                                           Max.   :2019   Max.   :454.80  
    
        febrero           marzo            abril             mayo      
     Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   Min.   :  0.0  
     1st Qu.: 19.20   1st Qu.: 37.80   1st Qu.: 59.33   1st Qu.: 53.5  
     Median : 40.50   Median : 71.40   Median : 98.75   Median : 90.2  
     Mean   : 52.27   Mean   : 83.43   Mean   :115.19   Mean   :100.4  
     3rd Qu.: 71.00   3rd Qu.:113.40   3rd Qu.:154.50   3rd Qu.:134.6  
     Max.   :492.30   Max.   :670.70   Max.   :828.50   Max.   :823.5  
                      NA's   :2        NA's   :2                       
         junio            julio            agosto         septiembre    
     Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   Min.   :  0.00  
     1st Qu.: 29.70   1st Qu.: 22.98   1st Qu.: 22.20   1st Qu.: 28.10  
     Median : 55.50   Median : 44.15   Median : 42.15   Median : 52.00  
     Mean   : 64.87   Mean   : 55.39   Mean   : 51.70   Mean   : 61.80  
     3rd Qu.: 88.00   3rd Qu.: 72.70   3rd Qu.: 69.50   3rd Qu.: 83.72  
     Max.   :791.00   Max.   :550.00   Max.   :500.50   Max.   :498.60  
     NA's   :1                                                          
        octubre        noviembre       diciembre     
     Min.   :  0.0   Min.   :  0.0   Min.   :  0.00  
     1st Qu.: 58.5   1st Qu.: 52.9   1st Qu.: 18.20  
     Median :102.0   Median : 91.5   Median : 44.10  
     Mean   :113.5   Mean   :105.3   Mean   : 57.12  
     3rd Qu.:153.2   3rd Qu.:140.5   3rd Qu.: 80.60  
     Max.   :675.2   Max.   :767.0   Max.   :532.30  
    
    rango_anos <- range(as.numeric(data_limpios$ano), na.rm = TRUE)
    # Mostrar el rango de años
    rango_anos
    [1] 1919 2019
    dim(data_limpios)
    [1] 6196   19
    n_distinct(data_limpios$municipio)
    [1] 75
    #tratamiento de los NA
    missmap(data_limpios, main="Mapa de Datos Faltantes")
    Warning: Unknown or uninitialised column: `arguments`.
    Unknown or uninitialised column: `arguments`.
    Warning: Unknown or uninitialised column: `imputations`.

    #se puede observar que no hay datos faltantes asi que seguimos libremente con el analisis.
  2. Inspeccione un histograma y/o un diagrama de caja y bigotes con los datos de tipo numérico. A partir desu inspección, ¿cómo podría definir esta distribución, con asimetría positiva, con asimetría negativa o simétrica? ¿Se ajustan estos datos a una distribución normal?

Teniendo en cuenta la visualizacion de histograma y diagrama de cajas y bigotes para el primer trimestre los datos son asimetricos, con asimetria positiva debido a que hay valores extremos grandes mayores a la media. Al tener asimetría los datos se dice que no se presenta una distribucion normal en los datos.

  1. Seleccione dos o más grupos de interés ¿Existen diferencias estadísticamente significativas entre los valores medios de los grupos involucrados?
# Test de Kruskal-Wallis no parametrico para datos que no son normales y compara mas de dos grupos.

kruskal_test <- kruskal.test(enero ~ estacion, data = data_limpios)
print(kruskal_test)

    Kruskal-Wallis rank sum test

data:  enero by estacion
Kruskal-Wallis chi-squared = 1139.9, df = 173, p-value < 2.2e-16

Dado que el p-valor es mucho menor que 0.05, se rechaza la hipótesis nula de que las medianas de las precipitaciones en enero son iguales para todas las estaciones. Esto sugiere que hay diferencias significativas en las precipitaciones entre las estaciones.

No se realiza comparación directa de los valores medios sino de la mediana debido a que los datos no son normales y la mediana es mas robusta en estos casos. En el caso de querer saber cuales son los grupo especificos que difieren se realizaría prueba post-hoc.

  1. ¿Qué otras comparaciones o inferencias resultarían interesantes en este análisis?

Una comparación adicional que se puede realizar a partir de este conjunto de datos es el análisis de las distribuciones que poseen sus registros. Una hipótesis común para verificar es, si los registros cuentan con una distribución normal. Para eso se aplica la prueba Kolmogorov-Smirnov, que arroja un p-valor indicando la tendencia de la distribución o distribuciones a evaluar. Primero se realizará la prueba indagando si la distribución de los datos en la columna “ENERO” es una distribución normal; para esto se compara la distribución de la muestra tomada con una distribución teórica “pnorm”, que es la distribución normal. Sin embargo, el ks.test() asume que no hay empates en el conjunto de datos a evaluar, por lo cual se procede a eliminar los empates.

# Aplicar el test de Kolmogorov-Smirnov en los datos originales de ENERO
norm_enero <- ks.test(data_limpios$enero, "pnorm", mean=mean(data_limpios$enero, na.rm = TRUE), sd=sd(data_limpios$enero, na.rm = TRUE))
Warning in ks.test.default(data_limpios$enero, "pnorm", mean =
mean(data_limpios$enero, : ties should not be present for the one-sample
Kolmogorov-Smirnov test
#Eliminar los empates
data_sin_empates_enero <- data_limpios$enero[!duplicated(data_limpios$enero)]

# Se comparan las medidas centrales de la muestra antes y despues de eliminar los empates
summary(data_limpios$enero)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   0.00    8.60   26.00   38.42   53.40  454.80 
summary(data_sin_empates_enero)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   0.00   32.27   65.45   78.30  108.45  454.80 
#Aplicar el test ks.test nuevamente
ks.test(data_sin_empates_enero, "pnorm", mean=mean(data_sin_empates_enero, na.rm=TRUE), sd=sd(data_sin_empates_enero, na.rm=TRUE))

    Asymptotic one-sample Kolmogorov-Smirnov test

data:  data_sin_empates_enero
D = 0.10347, p-value = 1.939e-12
alternative hypothesis: two-sided

Como el p-valor arrojado por la prueba luego de eliminar los empates es menor a 0.05, se puede rechazar la hipótesis nula, y se afirma que el conjunto de los datos recogidos para el mes de enero no cuenta con una distribución normal. Análogamente se realiza el mismo proceso para los datos recogidos en marzo:

#Aplicar el test de Kolmogorov-Smirnov en los datos originales de MARZO
norm <- ks.test(data_limpios$marzo, "pnorm", mean=mean(data_limpios$marzo, na.rm = TRUE), sd=sd(data_limpios$marzo, na.rm = TRUE))
Warning in ks.test.default(data_limpios$marzo, "pnorm", mean =
mean(data_limpios$marzo, : ties should not be present for the one-sample
Kolmogorov-Smirnov test
# Eliminar los empates
data_sin_empates <- data_limpios$marzo[!duplicated(data_limpios$marzo)]
#Se comparan las medidas centrales de la muestra antes y despues de eliminar los empates
summary(data_limpios$marzo)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   37.80   71.40   83.43  113.40  670.70       2 
summary(data_sin_empates)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   51.95  101.00  115.85  160.15  670.70       1 
# Aplicar el ks.test nuevamente
ks.test(data_sin_empates, "pnorm", mean=mean(data_sin_empates, na.rm=TRUE), sd=sd(data_sin_empates, na.rm=TRUE))

    Asymptotic one-sample Kolmogorov-Smirnov test

data:  data_sin_empates
D = 0.086453, p-value = 1.124e-12
alternative hypothesis: two-sided

Otra comparación útil con el ks.test(), es validar si dos conjuntos de datos provienen de la misma distribución. Para eso se eliminan los empates de las muestras recogidas y se aplica el ks.test() tomando ambas distribuciones:

#se eliminan los empates de las columnas a comparar
data_sin_empates_enero <- data_limpios$enero[!duplicated(data_limpios$enero)]
data_sin_empates_marzo <- data_limpios$marzo[!duplicated(data_limpios$marzo)]
               
#se aplica ks.test comparando ambas distribuciones                              
dist_enero_marzo <- ks.test(data_sin_empates_marzo, data_sin_empates_enero)
Warning in ks.test.default(data_sin_empates_marzo, data_sin_empates_enero):
p-value will be approximate in the presence of ties
print(dist_enero_marzo)

    Asymptotic two-sample Kolmogorov-Smirnov test

data:  data_sin_empates_marzo and data_sin_empates_enero
D = 0.21553, p-value < 2.2e-16
alternative hypothesis: two-sided

Como el p-valor arrojado por la prueba es menor a 0.05, se rechaza la hipótesis nula, y se afirma que los datos no cuentan con la misma distribución. Esto es útil para inferir que no existe un patrón estacional en las precipitaciones de enero y marzo, dado a que sus distribuciones en las muestras recogidas no concuerdan.