La econometría espacial, parte fundamental de mi investigación, brinda un enfoque integral para comprender las dinámicas económicas y sociales en un contexto geográfico. En contraste con la econometría clásica, que asume la independencia entre observaciones, la econometría espacial reconoce la interdependencia espacial entre unidades geográficas, añadiendo una dimensión esencial para entender las relaciones económicas.
Mi investigación actual se enfoca en el estado de Jalisco, México, donde analizaré la autocorrelación espacial en los niveles de pobreza en los municipios. Este análisis busca confirmar patrones espaciales en la distribución de la pobreza utilizando herramientas como el test de Moran global y local, así como el índice de Geary, para cuantificar y explorar la magnitud y dirección de la autocorrelación.
El test de Moran global evaluará la presencia de autocorrelación espacial en el conjunto de datos, proporcionando una visión general de la distribución espacial de la pobreza en el estado. El test de Moran local identificará patrones específicos en municipios individuales, resaltando áreas con características particulares de pobreza y revelando posibles áreas de enfoque para políticas específicas.
Para el analisis utilizaremos los siguientes conjuntos de datos:
library(geostan) library(spdep) library(gstat) library(sp) library(tidyverse) library(spatial) library(spatialreg) library(splm) library(sf) library(broom) library(cowplot) library(extrafont) library(dplyr) library(ggplot2)
Iniciare preparando el working enviroment
setwd("D:/Curso Econometria y ML/Modulo Econometria Espacial/Proyecto final")
Jal<- read_sf("Limites Jalisco/LimiteMunicipal_MGJ2012_modificadoDecreto26837.shp")
Transformamos a un objeto espacial
Jal_sfd<-as(Jal,"Spatial")
A continuacion cargamos los datos obtenidos de IIEG
Pobreza <- read.csv("pobrezapormun2023.csv")
Para poder tener un entendimiento de las variables que se usaran vamos a explorar el dataset
colnames(Pobreza)
## [1] "Clave.de.municipio"
## [2] "Municipio"
## [3] "Poblacion.total"
## [4] "Porcentaje.2020"
## [5] "Personas.en.probreza"
## [6] "Personas.en.pobreza.extrema"
## [7] "Vulnerables.carencia.social"
## [8] "Vulnerables.por.ingreso"
## [9] "Rezago.educativo"
## [10] "Carencia.en.servicios.de.salud"
## [11] "Carencia.por.seguridad.social"
## [12] "Carencia.por.calidad.y.espacio.en.la.vivienda"
## [13] "Carencia.por.acceso.a.los.servicios.basico.en.la.vivenda"
## [14] "Carencia.por.acceso.a.la.alimentacion"
Y ahora un resumen de los datos
summary(Pobreza)
## Clave.de.municipio Municipio Poblacion.total Porcentaje.2020
## Min. : 1 Length:125 Length:125 Min. :17.4
## 1st Qu.: 32 Class :character Class :character 1st Qu.:35.1
## Median : 63 Mode :character Mode :character Median :39.9
## Mean : 63 Mean :40.7
## 3rd Qu.: 94 3rd Qu.:45.3
## Max. :125 Max. :80.1
## Personas.en.probreza Personas.en.pobreza.extrema Vulnerables.carencia.social
## Min. : 482 Min. : 36 Min. : 756
## 1st Qu.: 3218 1st Qu.: 356 1st Qu.: 2956
## Median : 6758 Median : 774 Median : 6969
## Mean : 21865 Mean : 2332 Mean : 20903
## 3rd Qu.: 14387 3rd Qu.: 1888 3rd Qu.: 13490
## Max. :387944 Max. :39841 Max. :459843
## Vulnerables.por.ingreso Rezago.educativo Carencia.en.servicios.de.salud
## Min. : 8 Min. : 502 Min. : 242
## 1st Qu.: 161 1st Qu.: 1764 1st Qu.: 1434
## Median : 494 Median : 3952 Median : 5099
## Mean : 6231 Mean : 10306 Mean : 21531
## 3rd Qu.: 2025 3rd Qu.: 8196 3rd Qu.: 12837
## Max. :156389 Max. :160754 Max. :498124
## Carencia.por.seguridad.social Carencia.por.calidad.y.espacio.en.la.vivienda
## Min. : 1493 Min. : 65
## 1st Qu.: 5218 1st Qu.: 504
## Median : 12025 Median : 1165
## Mean : 33498 Mean : 4225
## 3rd Qu.: 21996 3rd Qu.: 2899
## Max. :694929 Max. :84547
## Carencia.por.acceso.a.los.servicios.basico.en.la.vivenda
## Min. : 151
## 1st Qu.: 885
## Median : 2170
## Mean : 3612
## 3rd Qu.: 4180
## Max. :33787
## Carencia.por.acceso.a.la.alimentacion
## Min. : 93
## 1st Qu.: 870
## Median : 2124
## Mean : 9584
## 3rd Qu.: 5737
## Max. :182639
Jal<- Jal %>%
inner_join(Pobreza,by=c("CLAVE"="Clave.de.municipio"))
Jal %>%
ggplot() +
geom_sf(aes(fill =Porcentaje.2020)) +
scale_fill_gradient(low = "lightgreen", high = "darkgreen") +
labs(
title = "Mapa Tematico de Jalisco ",
subtitle = "por entidad federativa 2020, personas en pobreza",
caption = "Elaborado por Diego Gonzalez",
fill = "Personas en Pobreza"
) +
theme(
legend.position = "bottom",
plot.caption = element_text(hjust = 0)
)
Para poder visualizar de una manera mas sencilla dividiremos en quintiles la separacion de datos de pobreza
Quintiles<-quantile(Jal$Porcentaje.2020, c(0,0.2,0.4,0.6,0.8,1))
Jal <- Jal %>%
mutate(Pobreza_Quintil=cut(Porcentaje.2020,
breaks=Quintiles,
dig.lab=5))
De igual manera realizaremos el grafico para visualizar la clasificacion de personas en pobreza por quintiles
*NA es causado por falta de datos en municipio de Atenguillo
W_Jal<- nb2listw(poly2nb(Jal_sfd,
row.names = Jal_sfd$CLAVE,
queen=T),
style="W",
zero.policy=T)
IMG<-moran.test(Jal$Personas.en.probreza,
listw=W_Jal,
zero.policy=T)
IMG
##
## Moran I test under randomisation
##
## data: Jal$Personas.en.probreza
## weights: W_Jal
##
## Moran I statistic standard deviate = 7.988, p-value = 6.858e-16
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic Expectation Variance
## 0.422677571 -0.008064516 0.002907763
IGG <- geary.test(Jal$Personas.en.probreza,
listw=W_Jal,
zero.policy = T)
IGG
##
## Geary C test under randomisation
##
## data: Jal$Personas.en.probreza
## weights: W_Jal
##
## Geary C statistic standard deviate = 2.8584, p-value = 0.002129
## alternative hypothesis: Expectation greater than statistic
## sample estimates:
## Geary C statistic Expectation Variance
## 0.70400424 1.00000000 0.01072321
Centrado en la variable Personas en Pobreza y empleando tanto la prueba de Moran I como el Test de Geary C.
Prueba de Moran I:
El estadístico de Moran I standard deviate fue notablemente alto, registrando 7.988, con un p-value prácticamente nulo (6.858e-16). Estos resultados respaldan fuertemente la presencia de autocorrelación espacial significativa. Rechacé la hipótesis nula de ausencia de autocorrelación espacial, indicando patrones geográficos relevantes en la distribución de la pobreza.
Test de Geary C:
El estadístico standard deviate de Geary C fue de 2.8584, y el p-value fue 0.002129. Este resultado, al ser menor que el nivel de significancia, llevó al rechazo de la hipótesis nula. La autocorrelación espacial es inconsistente con la expectativa bajo un patrón aleatorio, indicando una distribución no aleatoria de la pobreza en la región. Estos hallazgos económicos destacan la existencia de patrones espaciales significativos en la pobreza de Jalisco
variable<-Jal$Porcentaje.2020
variable_std<- ((variable-mean(variable))/sd(variable))
con la variable estandarizada y los labels de la matriz de peso vamos a realizar la prueba de moran
Jal_sf <- st_as_sf(Jal)
# Agrega la variable estandarizada al conjunto de datos espaciales
Jal_sf$variable_std <- variable_std
# Crea el gráfico de Moran
mp <- moran.plot(Jal_sf$variable_std, W_Jal,
labels = as.character(Jal_sf$CLAVE),
pch = 19, quiet = FALSE, plot = FALSE)
## Potentially influential observations of
## lm(formula = wx ~ x) :
##
## dfb.1_ dfb.x dffit cov.r cook.d hat
## 10 -0.02 -0.08 -0.08 1.12_* 0.00 0.09_*
## 12 0.08 -0.18 0.20 1.06_* 0.02 0.05_*
## 31 -0.04 -0.09 -0.10 1.08_* 0.00 0.06_*
## 32 -0.07 -0.19 -0.21 1.08_* 0.02 0.07_*
## 40 -0.11 -0.26 -0.28 1.05 0.04 0.05_*
## 41 0.20 0.04 0.21 0.94_* 0.02 0.01
## 42 0.65 0.67 0.94_* 0.51_* 0.31 0.02
## 76 0.26 -0.15 0.30 0.90_* 0.04 0.01
## 95 -0.01 0.01 -0.01 1.06_* 0.00 0.04
## 115 0.26 0.22 0.34 0.91_* 0.05 0.01
## 61 0.03 0.12 0.12 1.17_* 0.01 0.13_*
# Visualiza el gráfico de Moran
plot(mp)
Codigo con ggplot para generar la grafica de moran
if(require(ggplot2,quietly=T)){
xname<-attr(mp,"xname")
ggplot(mp,aes(x=x,y=wx))+
geom_point(colour="Darkred")+
geom_smooth(formula=y~x,method="lm")+
geom_hline(yintercept=mean(mp$wx),lty=2)+
geom_vline(xintercept=mean(mp$x),lty=2)+
geom_point(data=mp[mp$is_inf,],aes(x=x,y=wx),shape=9)+
geom_text(data=mp[mp$is_inf,],aes(x=x,y=wx,label=labels,vjust=1.5))+
labs(x="Pobreza std",
y=paste0("Rezago espacial: ", "Pobreza std."),
title="Gráfico de Moran",
subtitle="Variable:Poreza por entidad federativa",
caption="Elaboracion por Diego Gonzalez Farias con datos del INEGI Y GOB. DE JAL.",
theme(legen.position="bottom",
plot.background = element_blank(),axis.ticks=element_line(colour=alpha("grey",0.4))))
}
# Estimación de modelos econométricos no espaciales y espaciales–
reg<-log(Personas.en.probreza)~log(Vulnerables.carencia.social)+log(Rezago.educativo)
MCO<-lm(reg,data=Jal)
summary(MCO)
##
## Call:
## lm(formula = reg, data = Jal)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.80868 -0.17403 0.02678 0.19875 0.58056
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.006109 0.176718 -0.035 0.972
## log(Vulnerables.carencia.social) 0.075301 0.080614 0.934 0.352
## log(Rezago.educativo) 0.988799 0.083123 11.896 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2603 on 122 degrees of freedom
## Multiple R-squared: 0.9577, Adjusted R-squared: 0.957
## F-statistic: 1380 on 2 and 122 DF, p-value: < 2.2e-16
moran.test(MCO$residuals,listw=W_Jal,zero.policy = T)
##
## Moran I test under randomisation
##
## data: MCO$residuals
## weights: W_Jal
##
## Moran I statistic standard deviate = 5.2304, p-value = 8.457e-08
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic Expectation Variance
## 0.304991938 -0.008064516 0.003582415
lmLMtext<-lm.LMtests(MCO,
W_Jal,
test=c("LMerr","LMlag",
"RLMerr","RLMlag",
"SARMA"))
lmLMtext
##
## Lagrange multiplier diagnostics for spatial dependence
##
## data:
## model: lm(formula = reg, data = Jal)
## weights: W_Jal
##
## LMerr = 24.997, df = 1, p-value = 5.743e-07
##
##
## Lagrange multiplier diagnostics for spatial dependence
##
## data:
## model: lm(formula = reg, data = Jal)
## weights: W_Jal
##
## LMlag = 0.25097, df = 1, p-value = 0.6164
##
##
## Lagrange multiplier diagnostics for spatial dependence
##
## data:
## model: lm(formula = reg, data = Jal)
## weights: W_Jal
##
## RLMerr = 27.655, df = 1, p-value = 1.45e-07
##
##
## Lagrange multiplier diagnostics for spatial dependence
##
## data:
## model: lm(formula = reg, data = Jal)
## weights: W_Jal
##
## RLMlag = 2.9094, df = 1, p-value = 0.08807
##
##
## Lagrange multiplier diagnostics for spatial dependence
##
## data:
## model: lm(formula = reg, data = Jal)
## weights: W_Jal
##
## SARMA = 27.906, df = 2, p-value = 8.715e-07