Ejercicio 1

  1. La Ciencia de la Informacion geografica no es un conjunto de conocimiento sobre los cuales se asientan los SIG. (F).

  2. Todos los fenomenos tienen incidencia sobre un espacio fisico. (V)

  3. Un SIG se concibe unicamente como un programa de diseno grafico utiliza do para crear imagenes y graficos artısticos, sin relacion con datos espaciales del mundo real.(F)

(1.0) Explique con sus propias palabras que es un Varigrama, que es un Krigging, que es autocorrelacion y su uso en la Geoestad́ıstica.

El Variograma es una gráfica que muestra cómo cambia la variabilidad de una variable espacial (como la cantidad de muertes por condados en carolina del Norte) en función de la distancia entre puntos. Ayuda a entender cómo los valores se relacionan espacialmente. Utilizado para modelar la dependencia espacial y ajustar modelos de kriging.

El Kriging se puede decir que es un método de interpolación que predice valores en ubicaciones no muestreadas utilizando datos espaciales y un modelo de variograma. Es útil para estimar valores en un área y calcular la incertidumbre asociada. Se pueder usar para interpolar datos y hacer predicciones espaciales precisas.(Predecir la cantidad de muertes en condados donde no se encontro informacion)

La Autocorrelación corresponde a la relación entre valores de una variable en diferentes ubicaciones espaciales. En geoestadística, mide cómo los valores similares tienden a agruparse o dispersarse en el espacio. Esto puede ser cuantificado con el Indice de Moran

Uso en Geoestadística: Variograma: Kriging: Usado para interpolar datos y hacer predicciones espaciales precisas. Autocorrelación: Evalúa y confirma patrones espaciales en los datos, ayudando a entender la estructura del campo espacial.

Ejercicio 2

a) Analisis descriptivos los datos.

Síndrome de Muerte Súbita del Lactante en Carolina del Norte

Iniciamos instalandos paquetes y llamando las librerias

library(sf)
library(ggplot2)
library(spData)
library(patchwork)
library(RColorBrewer)
library(scales)
library(stringr)
library(dplyr)
library(GGally)
library(plotly)
library(sp)
#library(spData)
library(spdep)
library(gstat)
#library(ggplot2)
library(raster)
library(spData)
# spData Contiene una variedad de Datos
#data(package = "spData")
# Cargamos los Datos
data("nc.sids")

Procedemos a cargar los datos de SIDS del estado de Carolina del Norte y revisamos caracteristicas de la base de datos

#str(nc.sids)
head(nc.sids)
##             CNTY.ID BIR74 SID74 NWBIR74 BIR79 SID79 NWBIR79 east north      x
## Ashe           1825  1091     1      10  1364     0      19  164   176 -81.67
## Alleghany      1827   487     0      10   542     3      12  183   182 -50.06
## Surry          1828  3188     5     208  3616     6     260  204   174 -16.14
## Currituck      1831   508     1     123   830     2     145  461   182 406.01
## Northampton    1832  1421     9    1066  1606     3    1197  385   176 281.10
## Hertford       1833  1452     7     954  1838     5    1237  411   176 323.77
##                   y       lon      lat L.id M.id
## Ashe        4052.29 -81.48594 36.43940    1    2
## Alleghany   4059.70 -81.14061 36.52443    1    2
## Surry       4043.76 -80.75312 36.40033    1    2
## Currituck   4035.10 -76.04892 36.45655    1    4
## Northampton 4029.75 -77.44057 36.38799    1    4
## Hertford    4028.10 -76.96474 36.38189    1    4
# dim(nc.sids)

nc.sids es un objeto de clase sf (simple features) y data.frame.Contiene 100 observaciones (filas) y 15 variables (columnas).Algunas de las variables incluyen:

  • AREA y PERIMETER: características geométricas de los condados.
  • CNTY_ y CNTY_ID: identificadores de los condados.
  • NAME y FIPS: nombres y códigos FIPS de los condados.
  • NWBIR74 y BIR74: nacimientos en 1974 para no blancos y total.
  • SID74: muertes por SIDS en 1974.
  • geometry: geometría de los condados, almacenada como multipolígonos.

El conjunto de datos nc.sids de la librería spData es un objeto espacial que contiene información sobre los condados de Carolina del Norte, incluyendo características geométricas (área, perímetro, geometría) y datos demográficos/epidemiológicos (nacimientos y muertes por SIDS en los años 1974 y 1979). Las variables incluyen identificadores, nombres y códigos de los condados, así como datos relevantes para el análisis de la mortalidad infantil.

Este conjunto de datos es adecuado para realizar análisis espaciales, como la visualización de tasas de SIDS en diferentes condados

summary(nc.sids)
##     CNTY.ID         BIR74           SID74          NWBIR74      
##  Min.   :1825   Min.   :  248   Min.   : 0.00   Min.   :   1.0  
##  1st Qu.:1902   1st Qu.: 1077   1st Qu.: 2.00   1st Qu.: 190.0  
##  Median :1982   Median : 2180   Median : 4.00   Median : 697.5  
##  Mean   :1986   Mean   : 3300   Mean   : 6.67   Mean   :1051.0  
##  3rd Qu.:2067   3rd Qu.: 3936   3rd Qu.: 8.25   3rd Qu.:1168.5  
##  Max.   :2241   Max.   :21588   Max.   :44.00   Max.   :8027.0  
##      BIR79           SID79          NWBIR79             east      
##  Min.   :  319   Min.   : 0.00   Min.   :    3.0   Min.   : 19.0  
##  1st Qu.: 1336   1st Qu.: 2.00   1st Qu.:  250.5   1st Qu.:178.8  
##  Median : 2636   Median : 5.00   Median :  874.5   Median :285.0  
##  Mean   : 4224   Mean   : 8.36   Mean   : 1352.8   Mean   :271.3  
##  3rd Qu.: 4889   3rd Qu.:10.25   3rd Qu.: 1406.8   3rd Qu.:361.2  
##  Max.   :30757   Max.   :57.00   Max.   :11631.0   Max.   :482.0  
##      north             x                 y             lon        
##  Min.   :  6.0   Min.   :-328.04   Min.   :3757   Min.   :-84.08  
##  1st Qu.: 97.0   1st Qu.: -60.55   1st Qu.:3920   1st Qu.:-81.20  
##  Median :125.5   Median : 114.38   Median :3963   Median :-79.26  
##  Mean   :122.1   Mean   :  91.46   Mean   :3953   Mean   :-79.51  
##  3rd Qu.:151.5   3rd Qu.: 240.03   3rd Qu.:4000   3rd Qu.:-77.87  
##  Max.   :182.0   Max.   : 439.65   Max.   :4060   Max.   :-75.67  
##       lat             L.id           M.id     
##  Min.   :33.92   Min.   :1.00   Min.   :1.00  
##  1st Qu.:35.26   1st Qu.:1.00   1st Qu.:2.00  
##  Median :35.68   Median :2.00   Median :3.00  
##  Mean   :35.62   Mean   :2.12   Mean   :2.67  
##  3rd Qu.:36.05   3rd Qu.:3.00   3rd Qu.:3.25  
##  Max.   :36.52   Max.   :4.00   Max.   :4.00
#plot(nc.sids)
  1. BIR74 (Nacimientos totales en 1974): Los nacimientos totales en 1974 varían ampliamente, desde 248 hasta 21588, con una media de 3300 y una mediana de 2180.

  2. SID74 (Muertes por SIDS en 1974): Las muertes por SIDS en 1974 oscilan entre 0 y 44, con una media de 6.67 y una mediana de 4. Esto sugiere que aunque la mayoría de los condados tienen pocas o ninguna muerte por SIDS, algunos tienen un número relativamente alto.

  3. NWBIR74 (Nacimientos de no blancos en 1974): Los nacimientos de no blancos en 1974 también muestran una amplia variación, con un mínimo de 1 y un máximo de 8027, una media de 1051 y una mediana de 697.5.

  4. BIR79 (Nacimientos totales en 1979): Similar a 1974, los nacimientos en 1979 varían considerablemente, desde 319 hasta 30757, con una media de 4224 y una mediana de 2636.

  5. SID79 (Muertes por SIDS en 1979): Las muertes por SIDS en 1979 también varían desde 0 hasta 57, con una media de 8.36 y una mediana de 5, indicando una distribución similar a 1974 pero con un mayor valor máximo.

  6. NWBIR79 (Nacimientos de no blancos en 1979): Los nacimientos de no blancos en 1979 muestran una variación similar a 1974, con un mínimo de 3 y un máximo de 11631, una media de 1352.8 y una mediana de 874.5.

  7. los índices 𝐿 y M de Cressie y Read (1985) son métricas utilizadas en geoestadística para evaluar la calidad del ajuste de modelos de variograma a datos espaciales: Índice : Mide la discrepancia entre el variograma observado y el modelo de variograma ajustado. Un valor bajo indica un buen ajuste del modelo a los datos. Índice M: Proporciona una medida alternativa de la calidad del ajuste entre el modelo de variograma y los datos observados. Un valor bajo sugiere que el modelo representa bien los datos.

Veamos la dispersion de las variables de Interes

# Crear un dataframe para las variables SID74 y SID79
df <- data.frame(
  Valor = c(nc.sids$SID74, nc.sids$SID79),
  Variable = factor(rep(c("SID74", "SID79"), each = nrow(nc.sids)))
)

# Crear el gráfico de cajas y bigotes
ggplot(df, aes(x = Variable, y = Valor, fill = Variable)) +
  geom_boxplot(outlier.colour = "blue", outlier.shape = 16, color = "black") +
  scale_fill_manual(values = c("SID74" = "red", "SID79" = "yellow")) +
  labs(title = "Distribucion de SID74 y SID79",
       x = "Variable",
       y = "Valor de SIDS") +
  theme_minimal() +
  theme(
    plot.title = element_text(face = "bold", size = 16),
    axis.title = element_text(size = 14),
    axis.text = element_text(size = 12),
    legend.position = "none",
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank()
  )

  • Se puede observar que la línea negra de caja permite comparar las medianas SID74 y SID79. Por esta diferencia indica un aumento en la cantidad de de SIDS de 1974 a 1979.
  • SID79 es la caja mas alta y con más outliers sugiere una mayor variabilidad en la cantidad de muertes a causa del SIDS para los periodos de 1979 a 1984. Lo que indica que para este periodo hubieron 6 condados con altas cantidades de muertes SIDS.

Estudiaremos la variables SID79 ya que es la variable con mayor variabilidad de acuerdo al grafico anterior ya que queremos estudiar el porque de su alta variabilidad para el periodo 1979 a 1984.

cor(nc.sids)
##             CNTY.ID        BIR74      SID74    NWBIR74        BIR79
## CNTY.ID  1.00000000  0.130450774  0.2289197  0.1276602  0.121737412
## BIR74    0.13045077  1.000000000  0.8572055  0.9025430  0.996998820
## SID74    0.22891974  0.857205475  1.0000000  0.8977063  0.843936380
## NWBIR74  0.12766023  0.902542963  0.8977063  1.0000000  0.895668187
## BIR79    0.12173741  0.996998820  0.8439364  0.8956682  1.000000000
## SID79    0.21056065  0.913567215  0.8330762  0.8465393  0.895292312
## NWBIR79  0.13192139  0.923890131  0.9000538  0.9934904  0.921557994
## east    -0.07108284 -0.005231878  0.1176315  0.1678843 -0.005585095
## north   -0.98559615 -0.168035431 -0.2747043 -0.1748723 -0.156728243
## x       -0.08047143 -0.006440828  0.1151355  0.1662177 -0.006731231
## y       -0.96765559 -0.177465155 -0.3051205 -0.2150185 -0.165743591
## lon     -0.06799285 -0.004992632  0.1184122  0.1684407 -0.005342509
## lat     -0.98557522 -0.167055613 -0.2779922 -0.1796515 -0.155874566
## L.id     0.94537937  0.111893412  0.2218719  0.1153046  0.104986754
## M.id    -0.09768192  0.008299599  0.1469809  0.1827982  0.004956627
##                SID79    NWBIR79         east       north            x
## CNTY.ID  0.210560647  0.1319214 -0.071082842 -0.98559615 -0.080471429
## BIR74    0.913567215  0.9238901 -0.005231878 -0.16803543 -0.006440828
## SID74    0.833076196  0.9000538  0.117631512 -0.27470431  0.115135544
## NWBIR74  0.846539329  0.9934904  0.167884259 -0.17487230  0.166217655
## BIR79    0.895292312  0.9215580 -0.005585095 -0.15672824 -0.006731231
## SID79    1.000000000  0.8586045 -0.002848457 -0.24721302 -0.004976015
## NWBIR79  0.858604549  1.0000000  0.150415344 -0.17493781  0.148742224
## east    -0.002848457  0.1504153  1.000000000  0.07430752  0.999950659
## north   -0.247213025 -0.1749378  0.074307523  1.00000000  0.083701957
## x       -0.004976015  0.1487422  0.999950659  0.08370196  1.000000000
## y       -0.257669725 -0.2113871 -0.101078698  0.98417252 -0.091722203
## lon     -0.002188980  0.1509804  0.999991056  0.07126089  0.999903807
## lat     -0.247137763 -0.1792933  0.047232063  0.99956239  0.056679564
## L.id     0.201257623  0.1198831 -0.167174577 -0.93941999 -0.176201259
## M.id     0.025982993  0.1635107  0.960023449  0.10229846  0.960265014
##                   y          lon         lat       L.id         M.id
## CNTY.ID -0.96765559 -0.067992854 -0.98557522  0.9453794 -0.097681921
## BIR74   -0.17746516 -0.004992632 -0.16705561  0.1118934  0.008299599
## SID74   -0.30512051  0.118412238 -0.27799221  0.2218719  0.146980949
## NWBIR74 -0.21501855  0.168440652 -0.17965145  0.1153046  0.182798209
## BIR79   -0.16574359 -0.005342509 -0.15587457  0.1049868  0.004956627
## SID79   -0.25766973 -0.002188980 -0.24713776  0.2012576  0.025982993
## NWBIR79 -0.21138712  0.150980365 -0.17929332  0.1198831  0.163510732
## east    -0.10107870  0.999991056  0.04723206 -0.1671746  0.960023449
## north    0.98417252  0.071260891  0.99956239 -0.9394200  0.102298464
## x       -0.09172220  0.999903807  0.05667956 -0.1762013  0.960265014
## y        1.00000000 -0.104105049  0.98843803 -0.9063936 -0.065743008
## lon     -0.10410505  1.000000000  0.04414628 -0.1640769  0.959903035
## lat      0.98843803  0.044146280  1.00000000 -0.9373976  0.076422964
## L.id    -0.90639364 -0.164076913 -0.93739763  1.0000000 -0.192268360
## M.id    -0.06574301  0.959903035  0.07642296 -0.1922684  1.000000000
  • BIR74 y SID74 tienen una alta correlación positiva (0.86). Esto sugiere que los condados con un alto número de nacimientos en 1974 también tienden a tener un alto número de muertes por SIDS en 1974.
  • Similarmente, BIR79 y SID79 tienen una alta correlación (0.83), indicando una relación similar en 1979.
  • NWBIR74 y NWBIR79 tienen una alta correlación (0.99). Esto muestra que el número de nacimientos en 1974 y 1979 está muy relacionado.
  • SID74 y SID79 también muestran una correlación alta (0.84), indicando una relación entre el número de muertes por SIDS en 1974 y 1979.

L.id y M.id tienen correlaciones bajas con la mayoría de las otras variables, excepto con las coordenadas espaciales. Esto puede sugerir que estos índices están más relacionados con la configuración espacial que con las medidas específicas de nacimientos y muertes.

# Cambiar 'SID79' a la columna que representa las tasas de SIDS en 1979-1984
library(ggplot2)
library(plotly)

# Crear el gráfico base con ggplot2
p <- ggplot(nc.sids, aes(x = lon, y = lat, size = SID79, fill = SID79)) +
  geom_point(shape = 21, color = "black") +
  geom_text(aes(label = rownames(nc.sids)), size = 3, nudge_y = 0.1, color = "black") +
  scale_size_continuous(range = c(3, 10), guide = FALSE) +
  scale_fill_gradient(low = "#F1EEF6", high = "yellow", name = "Tasa de SIDS",
                      breaks = seq(0, 60, by = 10), labels = c("0", "10", "20", "30", "40", "50", "60"),
                      guide = guide_colorbar(barheight = unit(5, "cm"), label.position = "right")) +
  labs(title = "Tasas de SIDS en Carolina del Norte (1979-1984)",
       subtitle = "Tasa de SIDS por condado",
       caption = "Fuente: nc.sids dataset") +
  theme_classic() +
  theme(plot.title = element_text(face = "bold", size = 16),
        plot.subtitle = element_text(size = 14),
        plot.caption = element_text(size = 10, color = "gray50"),
        axis.text = element_blank(),
        axis.title = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        legend.position = "right",
        legend.title = element_text(size = 12),
        legend.text = element_text(size = 10))

# Convertir el gráfico a un formato interactivo con plotly
interactive_plot <- ggplotly(p)
## Warning: The `guide` argument in `scale_*()` cannot be `FALSE`. This was deprecated in
## ggplot2 3.3.4.
## ℹ Please use "none" instead.
## ℹ The deprecated feature was likely used in the base package.
##   Please report the issue to the authors.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# Mostrar el gráfico interactivo
interactive_plot
carolinaShape<-st_read("C:/Users/Javier Escobar/Documents/PERSONAL/UNAL/PREGRADO/Asignaturas/2024_1/Spatial Statistics/Mapas/North_Carolina_State_and_County_Boundary_Polygons.shp",
 quiet = TRUE)

county <- row.names(nc.sids)

datoshp <- nc.sids %>%
 mutate(county = county) %>%
 right_join(carolinaShape, by = c('county' = 'County')) %>%
 dplyr::select(CNTY.ID, SID74, SID79, county, geometry) %>%
 st_as_sf()

pos_simbolos <- st_centroid(datoshp, of_largest_polygon = TRUE)

b) Encuentre patrones y tendencias.

sid79 <- ggplot(data = datoshp) +
  geom_sf(fill="white",col="#666666",linetype="solid") +
  geom_sf(data = pos_simbolos, aes(size = SID79), color = 'yellow') +
  geom_sf_text(data=datoshp,aes(label=ifelse(SID79 > 20,county,"")),col="black",
               fontface="bold",size=3.5,fun.geometry=function(x) 
                 sf::st_centroid(x)) +
  
  labs(title = 'Muerte infantil en Carolina del Norte año 1979-1984',
       size = 'Muertes', x = 'Longitud', y = 'Latitud') +
  
  theme(plot.title = element_text(hjust = 0.5, face = 'bold'), 
        legend.position = 'right', 
        legend.direction = 'vertical', 
        panel.background=element_rect(fill = "#F0FFF0"),
        panel.grid.major=element_line(color="#F0FFF0"),
        panel.grid.minor=element_line(color="#F0FFF0"))
print(sid79)

Los anterior gráfico proporciona una visión visual clara de cómo las cantidad muertes por SIDS se distribuyen en Carolina del Norte para el período 1979-1984, permitiendo una rápida identificación de áreas de interés y facilitando la comparación entre diferentes condados.Podemos notar que para este periodo de tiempo los condado con mayor numero son Cumberland, Mecklenburg. Vemos que se muestra una aparente agrupacion

Variogrma

# Datos nc.sids
variograma_nc <- variogram(nc.sids$SID79 ~ 1, data = nc.sids, locations = ~x+y)
plot(variograma_nc, main="Muerte infantil en Carolina del Norte años 1979-1984", cex=1.5, pch=19)

Cambiamos la escala de nuestra variable de interes SID79, alplicando log(SID79), pero debemos remover los conteos en cero. ya que sabemos qe logaritmo de cero no esta definido

# Filtra los datos para tener solo valores mayores a cero en SID79
nc.sids.filtered <- subset(nc.sids, SID79 > 0)

# Calcula el variograma usando los datos filtrados
variogramaL <- variogram(log(SID79) ~ 1, data = nc.sids.filtered, locations = ~x+y)

# Imprime el variograma
print(variogramaL)
##     np      dist     gamma dir.hor dir.ver   id
## 1    6  14.50951 0.6303357       0       0 var1
## 2   71  30.23352 0.7282557       0       0 var1
## 3  141  46.74574 0.7159653       0       0 var1
## 4  164  64.28090 0.6848442       0       0 var1
## 5  204  83.00444 0.9559322       0       0 var1
## 6  198 101.12104 0.8267099       0       0 var1
## 7  218 119.26899 0.8554936       0       0 var1
## 8  250 137.64576 0.8043527       0       0 var1
## 9  221 156.39109 0.9305905       0       0 var1
## 10 216 174.17087 0.7967505       0       0 var1
## 11 225 192.29791 0.9419583       0       0 var1
## 12 202 210.59639 0.9337619       0       0 var1
## 13 182 229.09230 0.9702931       0       0 var1
## 14 171 247.16409 0.9173246       0       0 var1
## 15 178 265.56939 0.9407572       0       0 var1

la primera variable (np) proporciona información del número de puntos, es decir, que para la primera fila diremos que hay 6 puntos a una distancia (dist) de 14.50951 metros y la semi-varianza entre estos 57 puntos es 0.1234479 (gamma). El punto de mayor variación se da con 0.7967505 a una distancia de 174.17087 metros.

#plot(variogramaL, main="Muerte infantil en Carolina del Norte año 1974", col="yellow", cex=1.5, pch=19)

# Ajustar un modelo a la semivariogram el modelo es esferico
vfitN <- fit.variogram(variogramaL, model = vgm(1, "Sph", 900, 1))

# semivariogram y el modelo ajustado
plot(variogramaL, vfitN, main="Muerte infantil en Carolina del Norte años 1974- 1984", col="yellow", cex=1.5, pch=19)

Se Observa el comportamiento de cómo cambia la semivarianza a medida que aumenta la distancia entre pares de observaciones. Un aumento en la semivarianza con la distancia indica que hay dependencia espacial. A distancias cortas, los valores similares tienden a estar más correlacionados. El variograma se estabiliza (cuando la distancia es mayor a 150 millas y la semivarianza es aproximadamente 0.9)(llega al sill), la variabilidad entre puntos no cambia con mayores distancias. Esto indica que la dependencia espacial ha llegado a su máximo y que más allá de esta distancia, los puntos se vuelven independientes.

f) Autocorrelación Espacial

# Crear una matriz de vecinos espaciales basada en la cercanía
nb <- knn2nb(knearneigh(coordinates(nc.sids), k = 4))

# Definimos los pesos espaciales
lw <- nb2listw(nb, style = "W")

# índice de Moran para la concentración de zinc
moran_indice <- moran.test(nc.sids$SID79, lw)

moran_indice
## 
##  Moran I test under randomisation
## 
## data:  nc.sids$SID79  
## weights: lw    
## 
## Moran I statistic standard deviate = 11.66, p-value < 2.2e-16
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic       Expectation          Variance 
##        0.71952779       -0.01010101        0.00391548

De acuerdo a (Moran I statistic = 0.71952779), Vemos que el indice es positivo, y se puede considerar que como un indice alto ya que es cercano a 1. De lo que podemos afirmar que existe autocorrelacion positiva, es decir las cantidades de muertes a causa del Síndrome de Muerte Súbita del Lactante en Carolina del Norte para el periodo de 1979-1984, dicha variable esta autocorrelacionada esto indica que los condados donde hubo mayor cantidad de muertes son cercanos y los condados donde hubo menor cantidad de muertes tambien son cercanos.