La Ciencia de la Informacion geografica no es un conjunto de conocimiento sobre los cuales se asientan los SIG. (F).
Todos los fenomenos tienen incidencia sobre un espacio fisico. (V)
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.
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:
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)
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.
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.
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.
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.
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.
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.
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.
# 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()
)
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
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)
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
# 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.
# 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.