Andrés Vallone
$^{a}$Universidad Católica del Norte
$^{b}$Universidad Autónoma de Madrid
\index{dependencia espacial}
En muchas ocasiones, los fenómenos de estudio no son independientes del espacio geográfico en el cual se producen. Esta circunstancia es precisamente la que se pone de manifiesto en la primera ley de la geografía enunciada por @tobler1970computer: "Todas las cosas están relacionadas entre sí, pero las cosas más próximas en el espacio tienen una relación mayor que las distantes" [@tobler1970computer, 236]. Esta situación produce una violación del supuesto básico de independencia de las variables aleatorias requerido por el método de estimación de mínimos cuadrados ordinarios (MCO).
En este contexto, los estimadores MCO ya no son óptimos y, por tanto, los estadísticos de contraste
Los modelos econométricos espaciales se centran en manejar las situaciones de dependencia espacial.\index{dependencia espacial} Existe dependencia espacial cuando lo que sucede en una localización
El espacio puede jugar un rol importante en la configuración de los procesos a modelizar. Por ello, es necesario encontrar una forma de incorporar el espacio en los procesos de estimación. Para modelizar la interacción de una variable consigo misma es natural pensar en el concepto de autocorrelación. No obstante, a diferencia de la autocorrelación temporal, que es unidireccional (solo el pasado puede afectar el presente), en el caso del espacio la influencia es multidireccional en el entorno o vecindario de la localidad de análisis y, por tanto, es crucial definir el vecindario.
La matriz de vecindad o contigüidad $\mathbf{W}{n \times n}$ muestra la relación entre las $n$ localidades analizadas, y por tanto, la interacción existente entre sí. Es una matriz simétrica y binaria, de forma que $w{ij} = 1$ si las localidades
Las matrices
Dependiendo del fenómeno que se analice, la matriz de contigüidad puede ser construida considerando un vecindario más amplio; por ejemplo, considerando como vecinos de la localidad
\begin{equation}
w^e_{ij}=\frac{w_{ij}}{\sum_{j=1}^n w_{ij}}.
\end{equation}
En palabras simples, cada elemento de cada fila de la matriz
Para el cálculo de las matrices de vecindad se utiliza el paquete spdep
[@R-spdep]. La función poly2nb()
construye la relación de vecindad a partir de los polígonos de un objeto espacial según el criterio y el orden que se indique; la función nb2listw()
transforma la relación de vecindad en una lista de pesos espaciales. Para ejemplificar la construcción de la matriz
library("spdep")
library("CDR")
reina <- poly2nb(guerry, queen = TRUE)
w_reina <- nb2listw(reina, style = "W", zero.policy = TRUE)
w_reina
#> Characteristics of weights list object:
#> Neighbour list object:
#> Number of regions: 85
#> Number of nonzero links: 420
#> Percentage nonzero weights: 5.813149
#> Average number of links: 4.941176
#>
#> Weights style: W
#> Weights constants summary:
#> n nn S0 S1 S2
#> W 85 7225 85 37.2761 347.6683
En la salida anterior S0, S1 y S2 son constantes que se utilizan en los procesos inferenciales de los estadísticos de autocorrelación espacial global, como los tests I de Moran, C de Geary y G de Getis-Ord, entre otros.
Para construir una matriz de contigüidad de la torre de orden 1 se utilizan las mismas funciones, cambiando el parámetro queen
de la función poly2nb()
:
torre <- poly2nb(guerry, queen = FALSE)
w_torre <- nb2listw(torre, style = "W", zero.policy = TRUE)
Cuando se trabaja con datos a escala puntual, o cuando existen situaciones geográficas de no contigüidad como, por ejemplo, una isla, la construcción de la matriz de contigüidad no es tan evidente. En estos casos, resulta más oportuno definir la matriz de vecindad a partir de criterios de distancia. Las matrices de
\begin{align}
\begin{cases}
w_{ij}(k)=0 & i=j, \hspace{0,1cm}\forall k \\
w_{ij}(k)=1 & d_{ij} \leq d_i(k)\\
w_{ij}(k)=0 & d_{ij} > d_i(k)
\end{cases}
\end{align}
donde
A continuación se calcula matriz de contigüidad basada en los 5 vecinos más próximos de las áreas urbanas chilenas con más de 2.000 habitantes. Para ello se utilizan funciones de @R-spdep y @pebesma2018simple y los datos de @valloneSpatiotemporalMethodsAnalysis2020.
library("sf")
# Se extraen las coordenadas de las ciudades
coord <- st_coordinates(cities)
# Calcula la matriz vecindad de 5 vecinos más cercanos
w5knn <- knearneigh(coord, k = 5, longlat = T) |> knn2nb()
El uso de matrices de
\begin{align}
\begin{cases}
w_{ij}=1 & d_{ij} \leq d_{max}\\
w_{ij}=0 & d_{ij} > d_{max}.\\
\end{cases}
\end{align}
El problema de este criterio de vecindad es la posibilidad de generar unidades espaciales aisladas cuando
# Calcula la k=1 matriz W
knn1 <- knearneigh(coord) |> knn2nb()
# Obtiene la distancia crítica
distancia_critica <- max(unlist(nbdists(knn1, coord)))
# genera la matriz de vecindad de distancia con w_ij distinto de cero para d_ij <= d_max
k1 <- dnearneigh(coord, 0, distancia_critica)
w_dist <- nb2listw(k1)
Debe considerarse que la configuración basada en
Para realizar el cálculo de la matriz
knn1 <- knearneigh(coord) |> knn2nb()
distancia_critica <- max(unlist(nbdists(knn1, coord)))
k1 <- dnearneigh(coord, 0, distancia_critica)
# Calcula la distancia entre los vecinos
dist_list <- nbdists(k1, st_coordinates(cities))
# Calcula la distancia inversa
i_dist_list <- lapply(dist_list, function(x) 1 / x)
# Crea la matriz W
w_dist_i <- nb2listw(k1, glist = i_dist_list, style = "W")
Se ha indicado anteriormente que la matriz
\index{autocorrelación espacial}
Una buena herramienta para comprender las medidas de autocorrelación espacial es el diagrama de Moran [@anselinMoranScatterplotESDA1996]. El diagrama de Moran \index{diagrama!de Moran} relaciona una variable con lo que sucede en su entorno mediante su retardo espacial en un gráfico de puntos. La Fig. @ref(fig:plot-moranplot) presenta un diagrama de Moran para la variable clergy del conjunto de datos Guerry
. Esta variable hace referencia a la ratio de sacerdotes católicos sobre la población de cada provincia francesa. La línea horizontal discontinua en la Fig. @ref(fig:plot-moranplot) indica el promedio del retardo espacial, mientras que la línea vertical discontinua indica el promedio de la variable clergy. La división del diagrama de Moran a partir de dichos promedios genera cuatro zonas:
A partir del diagrama de Moran es posible observar la situación de una variable respecto a su entorno. Si las localidades se sitúan mayoritariamente en los cuadrantes inferior izquierdo y superior derecho, las localidades con altos valores (superiores al promedio) de la variable de interés están rodeadas por localidades con altos valores de dicha variable, y las localidades con valores bajos (inferiores al promedio) están rodeadas de localidades con valores bajos, lo cual es una señal de existencia de autocorrelación espacial positiva. Si la concentración tiene lugar en los cuadrantes superior izquierdo e inferior derecho, la autocorrelación espacial es negativa.
library("spdep")
library("CDR")
w_reina_francia <- poly2nb(guerry, queen = TRUE) |>
nb2listw()
## Diagrama de Moran
moran.plot(guerry$clergy, w_reina_francia,
xlab = "Clergy",
ylab = "Retardo espacial de Clergy"
)
En la Fig. @ref(fig:plot-moranplot) se pueden apreciar indicios de la existencia de autocorrelación positiva, es decir, las localidades francesas tienden a estar rodeadas de localidades con una ratio similar de clérigos. El diagrama de Moran es una herramienta gráfica. Para comprobar estadísticamente la existencia de autocorrelación espacial se utiliza el indicador
Sea una variable genérica
\begin{equation}
I = \dfrac{n}{\sum_{i=1}^n\sum_{j=1}^n w_{ij}}\dfrac{\sum_{i=1}^{n}\sum_{j=1}^{n} z_{i}w_{ij}z_{j}}{\sum_{i=1}^{n}z_{i}^{2}}. (\#eq:moranI)
\end{equation}
Su campo de variación es
moran.test((guerry$clergy), w_reina_francia,
randomisation = TRUE,
alternative = "two.sided"
)
#>
#> Moran I test under randomisation
#>
#> data: (guerry$clergy)
#> weights: w_reina_francia
#>
#> Moran I statistic standard deviate = 6.1632, p-value = 7.13e-10
#> alternative hypothesis: two.sided
#> sample estimates:
#> Moran I statistic Expectation Variance
#> 0.421118648 -0.011904762 0.004936422
\index{I@\textit{I}de Moran}
Como puede apreciarse en la salida de R anterior, en el ejemplo de la variable clergy el
\index{modelos!econométricos espaciales}
Los modelos espaciales deben ser identificados antes de proceder a su estimación y contraste. Para ello, es importante disponer de una estrategia de identificación propia que permita al investigador estimar los parámetros poblacionales a partir de la observación de una muestra de datos.
Tradicionalmente, la econometría espacial ha resuelto este problema asumiendo que la especificación de los modelos es algo que se conoce a priori, bien a partir de la teoría económica existente o bien aplicando ciertas estrategias consistentes en la comparación de varios modelos competitivos. Dentro de esta última opción, se pueden destacar dos estrategias de modelización ampliamente utilizadas:
Como puede verse en la Fig. @ref(fig:estrat), la estrategia híbrida comienza con la estimación de un modelo básico sin efectos espaciales:
\begin{equation}
\mathbf{y} = \alpha \boldsymbol{\iota_n} + \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\epsilon},
\end{equation}
siendo
Este modelo se estima por MCO y luego se llevan a cabo dos contrastes del multiplicador de Lagrange (LM) sobre los errores de la regresión para contrastar si son ruido blanco desde el punto de vista espacial. Se trata de dos tests orientados a una única hipótesis alternativa cada uno de ellos: el LMLAG, para la hipótesis de variable dependiente espacialmente retardada, y el LMERR, para la hipótesis de dependencia residual. La hipótesis nula (el modelo básico MCO es válido) se rechaza si alguno de los estadísticos de contraste, que se distribuyen como una Chi cuadrado con 1 grado de libertad (
\begin{equation}
\mathbf{y} = \rho \mathbf{Wy} + \alpha \boldsymbol{\iota_n} + \mathbf{X}\boldsymbol{\beta} + \mathbf{WX}\boldsymbol{\theta} +\boldsymbol{\epsilon},
\end{equation}
siendo
Este modelo general incluye dos tipos de interacción espacial: los efectos endógenos (
La estimación ML de este modelo permite utilizar la ratio de verosimilitud (likelihood ratio en inglés, LR) para contrastar, por separado, las hipótesis nulas
- Si no se rechaza la primera hipótesis, pero sí la segunda, siempre y cuando los valores de los tests LMLAG > LMERR, el SDM debería simplificarse a un modelo del retardo espacial o modelo autorregresivo espacial de orden 1 (SAR):
\begin{equation}
\mathbf{y} = \rho \mathbf{Wy} + \alpha \boldsymbol{\iota_n} + \mathbf{X}\boldsymbol{\beta} +\boldsymbol{\epsilon}. (\#eq:sar)
\end{equation}
Este modelo se estima por ML si los residuos de la estimación por MCO se distribuyen como una normal.
- Si no se rechaza la segunda hipótesis, pero sí la primera, y los valores de los tests LMERR > LMLAG, debería seleccionarse el modelo del error espacial (SEM):
\begin{equation}
\begin{cases}
\mathbf{y} = \alpha \boldsymbol{\iota_n} + \mathbf{X}\boldsymbol{\beta} +\mathbf{u}\\
u=\lambda\mathbf{W}\boldsymbol{\epsilon} + \boldsymbol{\epsilon},
\end{cases}
\end{equation}
siendo
- Si se rechazan ambas hipótesis nulas o no hubiera consenso entre los resultados del test LR y los tests LM, entonces el SDM sería el modelo que mejor describiría los datos.
En segundo lugar, si tras la estimación MCO del modelo básico ninguno de los tests LM fuera estadísticamente significativo, entonces dicho modelo tendría que ser reestimado como un modelo espacial regresivo transversal (SLX):
\begin{equation}
\mathbf{y} = \alpha \boldsymbol{\iota_n} + \mathbf{X}\boldsymbol{\beta} + \mathbf{WX}\boldsymbol{\theta} +\boldsymbol{\epsilon}.
\end{equation}
Este modelo puede estimarse por MCO, ya que si las variables explicativas son exógenas también lo serán sus correspondientes retardos espaciales. Este modelo puede considerar todas las variables exógenas espacialmente retardadas o un subconjunto de ellas. Si la hipótesis de nulidad de los retardos espaciales de todas ellas fuese rechazada, debería elegirse el modelo básico como el que mejor describe los datos, es decir, no existiría evidencia alguna de la necesidad de efectos de autocorrelación espacial para explicar la variable dependiente. Pero si, por el contrario, la hipótesis
Estos modelos pueden estimarse también con metodología bayesiana utilizando el enfoque Markov Chains Monte Carlo (MCMC), tal y como se explica en @lesage2009introduction Cap. 5.
El siguiente conjunto de secuencias de código muestra cómo estimar los modelos que intervienen en la estrategia de modelización de Elhorst. Para ello, se utiliza un conjunto de datos de los 120 municipios grandes de España (capitales de provincia y ciudades con población superior a 50.000 habitantes) que forman parte de las áreas urbanas del país [@mellaUrbanGrowthTerritorial2006]. Con estos datos se formula un modelo de crecimiento económico urbano en España en el que la tasa media de variación del PIB per cápita, en logaritmos, durante el período 1985-2003 (LPGH), se explica en función del PIB per cápita en logaritmos de 1985 (LGH85), la tasa de variación del número de entidades bancarias en el período 1985-2003 (BANK), el porcentaje de personas con educación secundaria y universitaria sobre la población de 16 y más años en el año 2001 (UNI01) y la tasa del número de patentes por habitante en el año 2000 (PAT00).
library("spatialreg")
library("tseries")
# Matriz de pesos espaciales
coord <- st_coordinates(gdpmap)
k6 <- knearneigh(coord, k = 6)
dmins <- knn2nb(k6) |> nb2listw(style = "W")
# Estimación modelo básico por MCO
gdp_ols <- lm(LPGH ~ LGH85 + BANK + UNI01 + PAT00, data = gdpmap)
summary(gdp_ols)
jarque.bera.test(gdp_ols$res) # Test normalidad de residuos
lm.LMtests(gdp_ols, dmins, test = "all") # Grupo de tests LM
# Estimación modelo SDM por ML
gdp_sdm <- lagsarlm(LPGH ~ LGH85 + BANK + UNI01 + PAT00, data = gdpmap, listw = dmins, type = "mixed")
summary(gdp_sdm)
# Estimación modelo SAR por ML
gdp_sar <- lagsarlm(LPGH ~ LGH85 + BANK + UNI01 + PAT00, data = gdpmap, listw = dmins)
summary(gdp_sar)
LR.Sarlm(gdp_sdm, gdp_sar) # Test LR: SDM vs. SAR
# Estimación del modelo SEM por ML
gdp_err <- errorsarlm(LPGH ~ LGH85 + BANK + UNI01 + PAT00, data = gdpmap, listw = dmins, tol.solve = 1e-16)
summary(gdp_err)
LR.Sarlm(gdp_sdm, gdp_err) # Test LR: SDM vs. SEM
# Estimación del modelo SLX por MCO
# Cálculo retardos espaciales
gdpmap$WLGH85 <- lag(dmins, gdpmap$LGH85)
gdpmap$WBANK <- lag(dmins, gdpmap$BANK)
gdpmap$WUNI01 <- lag(dmins, gdpmap$UNI01)
gdpmap$WPAT00 <- lag(dmins, gdpmap$PAT00)
gdp_slx <- lm(LPGH ~ LGH85 + BANK + UNI01 + PAT00 + WLGH85 + WBANK + WUNI01 + WPAT00, data = gdpmap)
summary(gdp_slx) # Modelo SLX completo
gdp_slx2 <- lm(LPGH ~ LGH85 + BANK + UNI01 + PAT00 + WLGH85 + WPAT00, data = gdpmap)
summary(gdp_slx2) # Modelo SLX parsimonioso
LR.Sarlm(gdp_sdm, gdp_slx2) # Test LR: SDM vs. SLX
A continuación se muestra la salida de la estimación del modelo SAR, pudiéndose observar que todos los parámetros estimados, incluido
library("CDR")
library("spatialreg")
library("tseries")
library("spdep")
# Matriz de pesos espaciales
coord <- st_coordinates(gdpmap)
k6 <- knearneigh(coord, k = 6)
dmins <- knn2nb(k6) |> nb2listw(style = "W")
# Estimación modelo SAR por ML
gdpsar <- lagsarlm(LPGH ~ LGH85 + BANK + UNI01 + PAT00,
data = gdpmap,
listw = dmins
)
summary(gdpsar)
#> Call:lagsarlm(formula = LPGH ~ LGH85 + BANK + UNI01 + PAT00, data = gdpmap,
#> listw = dmins)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -0.0184657 -0.0034523 0.0012278 0.0032544 0.0194746
#>
#> Type: lag
#> Coefficients: (asymptotic standard errors)
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept) 2.5745e-01 3.0703e-02 8.3851 < 2.2e-16
#> LGH85 -3.2962e-02 4.4472e-03 -7.4119 1.246e-13
#> BANK 6.6493e-05 1.3086e-05 5.0811 3.753e-07
#> UNI01 4.6884e-04 8.4080e-05 5.5762 2.459e-08
#> PAT00 4.7256e-02 1.8113e-02 2.6090 0.009082
#>
#> Rho: 0.36545, LR test value: 16.353, p-value: 5.2578e-05
#> Asymptotic standard error: 0.078929
#> z-value: 4.6302, p-value: 3.6538e-06
#> Wald statistic: 21.438, p-value: 3.6538e-06
#>
#> Log likelihood: 447.309 for lag model
#> ML residual variance (sigma squared): 3.7602e-05, (sigma: 0.006132)
#> Number of observations: 122
#> Number of parameters estimated: 7
#> AIC: -880.62, (AIC for lm: -866.27)
#> LM test for residual autocorrelation
#> test value: 6.4996, p-value: 0.01079
A continuación se muestra el resultado del test comparando el modelo SDM con el SAR. A la luz de los valores de la LR se rechaza que
# Matriz de pesos espaciales
coord <- st_coordinates(gdpmap)
k6 <- knearneigh(coord, k = 6)
dmins <- knn2nb(k6) |> nb2listw(style = "W")
# Estimación modelo SDM por ML
gdpsdm <- lagsarlm(LPGH ~ LGH85 + BANK + UNI01 + PAT00,
data = gdpmap,
listw = dmins, type = "mixed"
)
# Estimación modelo SAR por ML
gdpsar <- lagsarlm(LPGH ~ LGH85 + BANK + UNI01 + PAT00,
data = gdpmap,
listw = dmins
)
LR.Sarlm(gdpsdm, gdpsar) # Test LR: SDM vs. SAR
#> Likelihood ratio for spatial linear models
#>
#> data:
#> Likelihood ratio = 11.559, df = 4, p-value = 0.02095
#> sample estimates:
#> Log likelihood of gdpsdm Log likelihood of gdpsar
#> 453.0885 447.3090
\index{modelos!de autocorrelación espacial!interpretación}
Solo en los modelos de autocorrelación espacial en los que el efecto endógeno (
\begin{equation}
\frac{\partial Y_i}{\partial X_{i,k}}= \beta_k . (\#eq:dpdyx)
\end{equation}
En los modelos SAR y SDM, la correcta interpretación de los estimadores implica pasar antes de su forma estructural a su forma reducida. Así, por ejemplo, en el modelo SAR la forma reducida de la expresión @ref(eq:sar) sería (bajo ciertas condiciones de invertibilidad):
\begin{equation}
\mathbf{y} = (\mathbf{I}-\rho\mathbf{W})^{-1}(\alpha \boldsymbol{\iota_n}+\mathbf{X}\boldsymbol{\beta}+\boldsymbol{\epsilon}). (\#eq:multiW)
\end{equation}
El término
\begin{equation}
(\mathbf{I}-\rho\mathbf{W})^{-1}=\mathbf{I}+\rho\mathbf{W}+\rho^2\mathbf{W}^2+\dots
\end{equation}
Si se utiliza esta nueva expresión en la ecuación @ref(eq:multiW) se observa más claramente que el valor de
\begin{equation}
E(Y|\mathbf{X})=\mathbf{X}\boldsymbol{\beta}+\rho\mathbf{W}\mathbf{X}\boldsymbol{\beta}+\rho^2\mathbf{W}^2\mathbf{X}\boldsymbol{\beta}+\rho^3\mathbf{W}^3\mathbf{X}\boldsymbol{\beta}+\dots
\end{equation}
@lesage2009introduction presentan el cambio (también llamado efecto o impacto) experimentado por
\begin{equation}
\mathbf{S}_k(\mathbf{W})_{ij}=(\mathbf{I_n}-\rho\mathbf{W})^-1\beta_k .
\end{equation}
donde el elemento de la i-ésima columna y la j-ésima fila de la matriz es
En los modelos SAR y SDM, también se puede distinguir entre efectos directos e indirectos. El efecto directo sería el efecto causado por cambios en el valor de
Por ejemplo, $s_k(\mathbf{W}){11}$ es el efecto directo de un cambio unitario en el valor de la variable $X_k$ en la localización 1 ($\mathbf{x}{k1}$) sobre el valor de la variable
Dado que no es posible contrastar si todos los impactos directos e indirectos contenidos en la matriz $\mathbf{S}k(\mathbf{W}){ij}$ son significativamente distintos de cero o construir intervalos de confianza para ellos, LeSage y Pace proponen llevar a cabo el proceso inferencial sobre el valor medio de los efectos directos y totales, extrayendo el promedio de los efectos indirectos por diferencia: \begin{align} \bar{M}(k){directo}=tr(\mathbf{S}k(\mathbf{W}))/n \ \bar{M}(k){total}=\boldsymbol{\iota'n}\mathbf{S}k(\mathbf{W})\boldsymbol{\iota_n}/n \ \bar{M}(k){indirecto}=\bar{M}(k){total}- \bar{M}(k){directo}, \end{align}
donde
El siguiente conjunto de secuencias sirve para calcular las matrices de efectos directos, indirectos y totales, así como la inferencia para los modelos SAR y SDM, en el caso de la modelización del crecimiento económico urbano en España.
library("coda")
# Cálculo de los efectos para el modelo SAR (LeSage y Pace)
Wsp <- as(as_dgRMatrix_listw(dmins), "CsparseMatrix")
trMat <- trW(Wsp, type = "mult")
set.seed(1234) # Simulaciones para el proceso inferencial
gdpsar_impacts <- impacts(gdpsar, tr = trMat, R = 1000)
summary(gdpsar_impacts, zstats = TRUE, short = TRUE)
HPDinterval(gdpsar_impacts, choice = "direct")
HPDinterval(gdpsar_impacts, choice = "indirect")
HPDinterval(gdpsar_impacts, choice = "total")
plot(gdpsar_impacts, choice = "direct")
plot(gdpsar_impacts, choice = "indirect")
plot(gdpsar_impacts, choice = "total")
plot(gdpsar_impacts, trace = TRUE, density = FALSE, choice = "total")
# Cálculo de la matriz de impactos para la variable LGH85
clear.pr <- rep(NA, dim(gdpmap)[1])
names(clear.pr) <- gdpmap$MUNICIPIO
svec <- rep(0, dim(gdpmap)[1])
eye <- matrix(0, nrow = dim(gdpmap)[1], ncol = dim(gdpmap)[1])
diag(eye) <- 1
for (i in 1:length(clear.pr)) {
cvec <- svec
cvec[i] <- 1
res <- solve(eye - gdpsar[["rho"]] * Wsp) %*% cvec * gdpsar[["coefficients"]][["LGH85"]]
clear.pr[i] <- res[i]
}
mult <- solve(eye - gdpsar[["rho"]] * Wsp)
deriv_LGH85 <- solve(eye - gdpsar[["rho"]] * Wsp) * gdpsar[["coefficients"]][["LGH85"]]
# Cálculo de los efectos para el modelo SDM (LeSage y Pace)
set.seed(1234) # Simulaciones para el proceso inferencial
gdpsdm_impacts <- impacts(gdpsdm, tr = trMat, R = 1000)
summary(gdpsdm_impacts, zstats = TRUE, short = TRUE)
HPDinterval(gdpsdm_impacts, choice = "direct")
HPDinterval(gdpsdm_impacts, choice = "indirect")
HPDinterval(gdpsdm_impacts, choice = "total")
plot(gdpsdm_impacts, choice = "direct")
plot(gdpsdm_impacts, choice = "indirect")
plot(gdpsdm_impacts, choice = "total")
plot(gdpsdm_impacts, trace = TRUE, density = FALSE, choice = "total")
A continuación se presenta la salida del cálculo de los efectos para el modelo SDM [@lesage2009introduction], pudiéndose observar que todos son estadísticamente significativos y, salvo en el caso de la variable LGH85, todos ellos son positivos. El signo negativo del coeficiente de LGH85 demuestra la convergencia en renta en el grupo de grandes ciudades españolas. El impacto total de un crecimiento del 10% del PIB per cápita en una ciudad en el período inicial (1985) supuso una caída de la tasa media de variación del PIB per cápita en el período 1985-2003 del
# Cálculo de los efectos para el modelo SAR (LeSage y Pace)
Wsp <- as(as_dgRMatrix_listw(dmins), "CsparseMatrix")
trMat <- trW(Wsp, type = "mult")
set.seed(1234) # Simulaciones para el proceso inferencial
gdp_sdm_impacts <- impacts(gdpsdm, tr = trMat, R = 1000)
summary(gdp_sdm_impacts, zstats = TRUE, short = TRUE)
#> Impact measures (mixed, trace):
#> Direct Indirect Total
#> LGH85 -3.967704e-02 -1.656718e-02 -5.624422e-02
#> BANK 7.484574e-05 -3.878932e-05 3.605642e-05
#> UNI01 5.459202e-04 3.900067e-04 9.359269e-04
#> PAT00 5.029859e-02 1.621204e-01 2.124189e-01
#> ========================================================
#> Simulation results ( variance matrix):
#> ========================================================
#> Simulated standard errors
#> Direct Indirect Total
#> LGH85 4.835913e-03 1.205378e-02 1.208788e-02
#> BANK 1.289395e-05 4.475846e-05 4.830235e-05
#> UNI01 8.434442e-05 3.397464e-04 3.621312e-04
#> PAT00 2.037202e-02 1.317136e-01 1.441993e-01
#>
#> Simulated z-values:
#> Direct Indirect Total
#> LGH85 -8.246556 -1.3907437 -4.6859617
#> BANK 5.826543 -0.9252065 0.6980269
#> UNI01 6.504595 1.2126777 2.6527099
#> PAT00 2.454730 1.2664303 1.5035704
#>
#> Simulated p-values:
#> Direct Indirect Total
#> LGH85 2.2204e-16 0.16430 2.7865e-06
#> BANK 5.6587e-09 0.35486 0.4851604
#> UNI01 7.7903e-11 0.22525 0.0079848
#> PAT00 0.014099 0.20536 0.1326920
plot(gdp_sdm_impacts, choice = "direct")
plot(gdp_sdm_impacts, choice = "indirect")
plot(gdp_sdm_impacts, choice = "total")
Como puede observarse en las Figs. @ref(fig:plot-imp-dir), @ref(fig:plot-imp-indir) y @ref(fig:plot-imp-total), para cada variable explicativa se estiman tres estimadores, de forma que el efecto total causado por el cambio unitario en el valor de dicha variable sobre el valor de la variable explicada, en una ciudad determinada, es la suma de dos efectos, uno directo, ocasionado por el cambio acaecido en la propia ciudad, y otro indirecto, proveniente del cambio acaecido en el resto de ciudades de España, existiendo tantos efectos como ciudades.
::: {.infobox_resume data-latex=""}
-
En este capítulo se introduce a la componente espacial en la estimación econométrica y, en particular, el efecto de dependencia espacial inherente en alguna de las variables involucradas en el proceso de modelización.
-
Primero, se observa la heterogeneidad espacial de los datos a partir de los mapas temáticos y se presenta el indicador de autocorrelación espacial de Moran.
-
Posteriormente, se construye la matriz de pesos espaciales bajo distintas especificaciones.
-
Por último, se muestra la taxonomía de los modelos econométricos espaciales, presentando la estrategia de especificación híbrida y se procede a la interpretación de los coeficientes estimados. :::
Footnotes
-
Una descripción completa de la base de datos está disponible en https://geodacenter.github.io/data-and-lab/Guerry/. ↩