Transcript Análisis de datos espaciales
3ª Reunión Española de Usuarios de STATA 2010
Herramientas adicionales en STATA para el análisis de datos espaciales
Raúl Ramos y Vicente Royuela
AQR-IREA, Universitat de Barcelona
Análisis de datos espaciales
Estructura de la presentación
• STATA como herramienta para el análisis de datos espaciales: procedimientos disponibles • Desarrollos en curso: • Matriz de pesos espaciales • Sobre la introducción de retardos espaciales de las variables explicativas en modelos de regresión • Sobre la visualización de los resultados del análisis exploratorio espacial 2
Análisis de datos espaciales
Herramientas disponibles
3
ssc install spmap ssc install shp2dta ssc install mif2dta
Análisis de datos espaciales
net install sg162.pkg
4 http://www.stata.com/products/stb/journals/stb60.pdf
Análisis de datos espaciales
Columbus – Ohio
• 49 vecindarios del distrito de Columbus en Ohio (Estados Unidos) • Información para 1980 sobre: – Precio de la vivienda – Ingresos familiares – Robos por cada 1000 viviendas http://www.rri.wvu.edu/WebBook/LeSage/spatial/anselin.html
http://www.rri.wvu.edu/WebBook/LeSage/spatial/aford.html
5
Análisis de datos espaciales
Precio de la vivienda Crimen 6 (43.299999,96.400002] (33.5,43.299999] (25.700001,33.5] [17.9,25.700001] (48.585487,68.892044] (34.000835,48.585487] (20.048504,34.000835] [.178269,20.048504] Linear regression Number of obs = 49 F( 2, 46) = 45.47
Prob > F = 0.0000
R-squared = 0.5524
Root MSE = 11.435
Robust CRIME Coef. Std. Err. t P>|t| [95% Conf. Interval] HOVAL -.2739315 .1625712 -1.68 0.099 -.6011702 .0533073
INC -1.597311 .4609711 -3.47 0.001 -2.525197 -.6694242
_cons 68.61896 4.233089 16.21 0.000 60.09819 77.13973
Análisis de datos espaciales
La matriz de pesos espaciales
• En el análisis econométrico “estándar”, se supone que cada una de las observaciones analizadas es independiente del resto (hipótesis de no autocorrelación”).
7 • Autocorrelación espacial y/o retardos espaciales de
las variables explicativas: matriz de pesos espaciales.
• La matriz de pesos espaciales recoge la existencia de relaciones entre los territorios analizados. Existen diferentes especificaciones de dicha matriz.
Análisis de datos espaciales
• Se han propuesto distintas especificaciones: – Contigüidad (matriz de contactos binaria) – Proximidad (matriz basada en distancias entre centroides o entre capitales) – Flujos (matriz basada en movimientos de personas, mercancias, etc. – asimétrica) – … • Es importante analizar la robustez de los resultados a distintas especificaciones de la matriz.
8
Análisis de datos espaciales
9 • Pero, los procedimientos existentes en STATA sólo permiten trabajar con matrices binarias generadas manualmente por el usuario o matrices basadas en distancias (simétricas). • En otros programas como GEODA-PYSAL, MATLAB o R es posible generar y utilizar distintas matrices de manera
muy simple (a partir del propio mapa). Sin embargo,
estos programas no ofrecen la potencialidad de STATA en otros aspectos.
Análisis de datos espaciales
Geoda
10
Análisis de datos espaciales
11 • Hemos desarrollado procedimientos que permiten importar matrices generadas desde estos programas, normalizarlas y utilizarlas con spatreg (aunque sean asimétricas por naturaleza como las obtenidas a partir del procedimiento K nearest neighbours-)
gal2dta gwt2dta sparse2dta normw
Análisis de datos espaciales
Retardos espaciales de las variables explicativas
• La existencia de autocorrelación espacial en un modelo de regresión puede indicar la omisión de variables relevantes como retardos espaciales de alguna de las explicativas.
12 • Sin embargo, los procedimientos existentes en STATA no permiten introducir de manera directa retardos de las variables, por lo que hemos desarrollado un procedimiento que permite hacerlo de manera muy sencilla.
slag
Análisis de datos espaciales
Visualización del análisis exploratorio de datos espaciales
Geoda 13 Stata
spatlsa2
Measures of local spatial autocorrelation Weights matrix ------------------------------------------------------------- Name: W1 Type: Imported (binary) Row-standardized: No ------------------------------------------------------------- Moran's Ii (CRIME) ------------------------------------------------------------ Location | Ii E(Ii) sd(Ii) z p-value* --------------------+---------------------------------------- 1 | 1.474 -0.042 1.381 1.097 0.136
2 | 1.586 -0.063 1.674 0.985 0.162
3 | 0.375 -0.083 1.912 0.240 0.405
Análisis de datos espaciales
Matriz binaria de contactos normalizada
2 1 3 W[49,49] c1 c2 c3 c4 c5 c6 c7 SWMImpo 0 .5 .5 0 0 0 0 SWMImpo .33333333 0 .33333333 .33333333 0 0 0 SWMImpo .25 .25 0 .25 .25 0 0 SWMImpo 0 .25 .25 0 .25 0 0 SWMImpo 0 0 .14285714 .14285714 0 .14285714 0 SWMImpo 0 0 0 0 .5 0 0 SWMImpo 0 0 0 0 0 0 0 SWMImpo 0 0 0 .2 .2 0 .2
SWMImpo 0 0 0 0 .16666667 .16666667 0 SWMImpo 0 0 0 0 0 0 0 SWMImpo 0 0 0 0 .25 0 0 SWMImpo 0 0 0 0 0 0 0 SWMImpo 0 0 0 0 0 0 .33333333
SWMImpo 0 0 0 0 0 0 .16666667
SWMImpo 0 0 0 0 .25 0 0 SWMImpo 0 0 0 0 0 0 0 SWMImpo 0 0 0 0 0 0 0 SWMImpo 0 0 0 0 0 0 0 14
Análisis de datos espaciales
. spatreg CRIME HOVAL INC, weights(W) eigenval(E) model(error) initial: log likelihood = -187.42512
rescale: log likelihood = -187.42512
rescale eq: log likelihood = -187.42512
Iteration 0: log likelihood = -187.42512 Iteration 1: log likelihood = -183.50365 Iteration 2: log likelihood = -183.31857 Iteration 3: log likelihood = -183.31357 Iteration 4: log likelihood = -183.31357 Weights matrix Name: W Type: Row-standardized: SWMImpo Spatial error model Number of obs = 49 Variance ratio = 0.329
Squared corr. = 0.537
Log likelihood = -183.31357 Sigma = 9.75
CRIME Coef. Std. Err. z P>|z| [95% Conf. Interval] CRIME HOVAL -.3031982 .0927166 -3.27 0.001 -.4849194 -.121477
INC -.9610433 .3704535 -2.59 0.009 -1.687119 -.2349678
_cons 60.37518 5.798748 10.41 0.000 49.00985 71.74052
lambda .5484742 .1500262 3.66 0.000 .2544282 .8425201
Wald test of lambda=0: chi2(1) = 13.365 (0.000) Likelihood ratio test of lambda=0: chi2(1) = 8.127 (0.004) Lagrange multiplier test of lambda=0: chi2(1) = 5.815 (0.016) Acceptable range for lambda: -1.531 < lambda < 1.000
15
Análisis de datos espaciales
. spatreg CRIME HOVAL INC WINC WHOVAL, weights(W) eigenval(E) model(error) initial: log likelihood = -184.85114
rescale: log likelihood = -184.85114
rescale eq: log likelihood = -184.85114
Iteration 0: log likelihood = -184.85114 Iteration 1: log likelihood = -183.1555 Iteration 2: log likelihood = -181.76435 Iteration 3: log likelihood = -181.74275 Iteration 4: log likelihood = -181.74271 Iteration 5: log likelihood = -181.74271 Weights matrix Name: W Type: Row-standardized: SWMImpo Spatial error model Number of obs = 49 Variance ratio = 0.524
Squared corr. = 0.597
Log likelihood = -181.74271 Sigma = 9.60
CRIME Coef. Std. Err. z P>|z| [95% Conf. Interval] CRIME HOVAL -.2774837 .0919551 -3.02 0.003 -.4577123 -.0972552
INC -1.057194 .3242875 -3.26 0.001 -1.692786 -.4216026
WINC1 -1.041591 .5847625 -1.78 0.075 -2.187704 .1045227
WHOVAL1 .0961597 .2040779 0.47 0.638 -.3038257 .4961451
_cons 72.69648 9.01754 8.06 0.000 55.02242 90.37053
lambda .4480536 .1644596 2.72 0.006 .1257187 .7703886
Wald test of lambda=0: chi2(1) = 7.422 (0.006) Likelihood ratio test of lambda=0: chi2(1) = 5.943 (0.015) Lagrange multiplier test of lambda=0: chi2(1) = 5.600 (0.018) Acceptable range for lambda: -1.531 < lambda < 1.000
16
Análisis de datos espaciales
Matriz binaria de contactos de primer y segundo orden normalizada
2 4 1 3 5 W[49,49] c1 c2 c3 c4 c5 c6 c7 SWMImpo 0 .25 .25 .25 .25 0 0 SWMImpo .2 0 .2 .2 .2 0 0 SWMImpo .1 .1 0 .1 .1 .1 0 SWMImpo .07692308 .07692308 .07692308 0 .07692308 .07692308 .07692308
SWMImpo .04761905 .04761905 .04761905 .04761905 0 .04761905 .04761905
SWMImpo 0 0 .07692308 .07692308 .07692308 0 0 SWMImpo 0 0 0 .1 .1 0 0 SWMImpo 0 .07692308 .07692308 .07692308 .07692308 .07692308 .07692308
SWMImpo 0 0 .04166667 .04166667 .04166667 .04166667 0 SWMImpo 0 0 0 0 .0625 .0625 0 SWMImpo 0 0 .0625 .0625 .0625 .0625 .0625
SWMImpo 0 0 0 .07692308 .07692308 0 .07692308
SWMImpo 0 0 0 .1 .1 0 .1
SWMImpo 0 0 0 0 .08333333 0 .08333333
SWMImpo 0 0 .05 .05 .05 .05 0 SWMImpo 0 0 .04761905 .04761905 .04761905 .04761905 .04761905
SWMImpo 0 0 0 0 0 0 0 SWMImpo 0 0 0 0 .07142857 0 .07142857
SWMImpo 0 0 0 0 0 0 .09090909
SWMImpo 0 0 0 0 .04761905 .04761905 0 SWMImpo 0 0 0 0 0 0 0 SWMImpo 0 0 0 0 .05263158 .05263158 0 SWMImpo 0 0 0 0 0 0 0 SWMImpo 0 0 0 0 .05555556 0 0 SWMImpo 0 0 0 0 .04166667 .04166667 0 SWMImpo 0 0 0 0 .05263158 .05263158 0 17
Análisis de datos espaciales
. spatreg CRIME HOVAL INC, weights(W) eigenval(E) model(error) initial: log likelihood = -187.42512
rescale: log likelihood = -187.42512
rescale eq: log likelihood = -187.42512
Iteration 0: log likelihood = -187.42512 Iteration 1: log likelihood = -185.59347 Iteration 2: log likelihood = -185.55549 Iteration 3: log likelihood = -185.55462 Iteration 4: log likelihood = -185.55462 Weights matrix Name: W Type: Row-standardized: SWMImpo Spatial error model Number of obs = 49 Variance ratio = 0.385
Squared corr. = 0.548
Log likelihood = -185.55462 Sigma = 10.47
CRIME Coef. Std. Err. z P>|z| [95% Conf. Interval] CRIME HOVAL -.2840458 .0930066 -3.05 0.002 -.4663353 -.1017563
INC -1.177725 .3796858 -3.10 0.002 -1.921896 -.4335548
_cons 61.58694 6.763022 9.11 0.000 48.33166 74.84222
lambda .5759911 .2345679 2.46 0.014 .1162464 1.035736
Wald test of lambda=0: chi2(1) = 6.030 (0.014) Likelihood ratio test of lambda=0: chi2(1) = 3.645 (0.056) Lagrange multiplier test of lambda=0: chi2(1) = 2.977 (0.084) Acceptable range for lambda: -3.301 < lambda < 1.000
18
Análisis de datos espaciales
. spatreg CRIME HOVAL INC WINC WHOVAL, weights(W) eigenval(E) model(error) initial: log likelihood = -184.67541
rescale: log likelihood = -184.67541
rescale eq: log likelihood = -184.67541
Iteration 0: log likelihood = -184.67541 Iteration 1: log likelihood = -183.93603 Iteration 2: log likelihood = -183.84089 Iteration 3: log likelihood = -183.83993 Iteration 4: log likelihood = -183.83993 Weights matrix Name: W Type: Row-standardized: SWMImpo Spatial error model Number of obs = 49 Variance ratio = 0.562
Squared corr. = 0.601
Log likelihood = -183.83993 Sigma = 10.24
CRIME Coef. Std. Err. z P>|z| [95% Conf. Interval] CRIME HOVAL -.3052847 .096751 -3.16 0.002 -.4949132 -.1156562
INC -1.135263 .3397802 -3.34 0.001 -1.80122 -.469306
WINC1 -1.343775 .915043 -1.47 0.142 -3.137226 .4496763
WHOVAL1 .0177241 .4586195 0.04 0.969 -.8811537 .9166019
_cons 81.06832 13.16094 6.16 0.000 55.27335 106.8633
lambda .366046 .2896015 1.26 0.206 -.2015626 .9336545
Wald test of lambda=0: chi2(1) = 1.598 (0.206) Likelihood ratio test of lambda=0: chi2(1) = 1.397 (0.237) Lagrange multiplier test of lambda=0: chi2(1) = 1.484 (0.223) Acceptable range for lambda: -3.301 < lambda < 1.000
19
Análisis de datos espaciales
LISA MAP. CRIME High-High Low-High Low-Low Non Significant LISA SIGNIFICANCE MAP. CRIME 1% 5% 10% Non Significant 20 Columbus Ohio. Source: Geoda Columbus Ohio. Source: Geoda
Análisis de datos espaciales
21 • Los interesados en los procedimientos mencionados pueden contactar con nosotros a través del correo electrónico en las siguientes direcciones: [email protected]
• Existen otros procedimientos de interés en este ámbito: anketest, usswm, chinaspatdwm, spmlreg, … • … y seguimos a la espera de la difusión de spmat, sarml y g2sls de David Drukker http://repec.org/snasug08/drukker_spatial.pdf