Introducción

  • Ángel Santiago Díaz Castillo
  • Angie Michelle Zerón Monge
  • Eli Gabriel Hernánez Medina
  • Patricio Javier Pérez Fajardo

1. Brevemente, describir con sus propias palabras qué es un ESDA y cuál es su principal propósito en el proceso de analítica de datos

Un ESDA (Análisis Exploratorio de Datos Espaciales, por sus siglas en inglés: Exploratory Spatial Data Analysis) es una etapa inicial del análisis donde se exploran datos geográficos para identificar patrones, relaciones, tendencias y posibles anomalías en el espacio. Su principal propósito es ayudar a entender cómo se distribuyen los datos en el espacio antes de aplicar modelos más complejos. Esto incluye detectar concentraciones, dispersión, clústeres y outliers espaciales que podrían influir en la interpretación o decisiones posteriores.

2. Brevemente, describir con sus propias palabras el concepto de autocorrelación espacial así como 1-2 ejemplos relacionados con dicho concepto.

La autocorrelación espacial es un concepto que describe qué tanto se parecen (o se diferencian) los valores de una variable en ubicaciones geográficas cercanas. En otras palabras, mide si “lo que pasa en un lugar” también tiende a pasar en lugares cercanos.

  • Renta promedio por colonia: si las colonias con altos ingresos están rodeadas de otras colonias también con altos ingresos, hay una autocorrelación espacial positiva.

  • Casos de enfermedades: si los brotes de una enfermedad se agrupan en zonas cercanas geográficamente, también estamos ante una autocorrelación espacial positiva, lo cual puede indicar un foco de contagio o una causa común.

3. Con base en los archivos de datos “tourism_state_data.xlsx” “desempeno_historico_hoteles_estados.xlsx” (*) realizar la selección de 4- 6 variables y elaborar ESDA que incluye:

librerias correspondientes

library(foreign)                  # import external files
library(dplyr)                    # data manipulation 
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(spdep)                    # a collection of functions to create spatial weight matrix 
## Loading required package: spData
## To access larger datasets in this package, install the spDataLarge
## package with: `install.packages('spDataLarge',
## repos='https://nowosad.github.io/drat/', type='source')`
## Loading required package: sf
## Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE
library(tigris)                   # allows to work with shapefiles
## To enable caching of data, set `options(tigris_use_cache = TRUE)`
## in your R script or .Rprofile.
library(rgeoda)                   # spatial data analysis based on GeoDa
## Loading required package: digest
## 
## Attaching package: 'rgeoda'
## The following object is masked from 'package:spdep':
## 
##     skater
library(RColorBrewer)             # offers several color palettes 
library(viridis)                  # offers several color palettes
## Loading required package: viridisLite
library(ggplot2)                  # to create plots and graphics from dataset 
library(sf)                       # functions to encode spatial vector data 
library(sp)                       # classes and methods for spatial data 
library(tmap)                     # making maps so spatial data distributions are visualized
## Breaking News: tmap 3.x is retiring. Please test v4, e.g. with
## remotes::install_github('r-tmap/tmap')
library(readxl)                   # read excel files

NOTA IMPORTANTE: LA FUSION DE LAS BASES DE DATOS SE HICIERON DIRECTAMENTE EN EXCEL ES DECIR LA BASE O INFORMACION DE LOS CUARTOS OCUPADOS POR EXTRANJEROS Y LA BASE DE tourism_state_date

Cargamos la base de datos

EDA

BD <- read_excel("/Users/gabrielmedina/Downloads/BD.xlsx")
## New names:
## • `region` -> `region...17`
## • `region` -> `region...18`
head(BD)
## # A tibble: 6 × 19
##   state      year state_id tourism_gdp crime_rate college_education unemployment
##   <chr>     <dbl>    <dbl>       <dbl>      <dbl>             <dbl>        <dbl>
## 1 Aguascal…  2021     1057      14181.       6.75             0.309         0.04
## 2 Baja Cal…  2021     2304      58497.      84.7              0.344         0.01
## 3 Baja Cal…  2021     2327      28776.       8.52             0.359         0.03
## 4 Campeche   2021     1086      12994.       9.22             0.276         0.02
## 5 Chiapas    2021     1182      36687.      10.0              0.190         0.05
## 6 Chihuahua  2021      888      33825.      72.0              0.279         0.04
## # ℹ 12 more variables: employment <dbl>, business_activity <dbl>,
## #   real_wage <dbl>, pop_density <dbl>, good_governance <dbl>,
## #   ratio_public_investment <dbl>, exchange_rate <dbl>, inpc <dbl>,
## #   border_distance <dbl>, region...17 <chr>, region...18 <dbl>,
## #   Cuartos_ocupados_extranjeros <dbl>

Al explorar los primeros registros de la base de datos turística y socioeconómica, se observa una marcada desigualdad entre los estados en cuanto al peso del turismo, la educación, y la dinámica económica. Por ejemplo, Baja California Sur presenta un alto PIB turístico per cápita, pero su densidad poblacional es baja, lo que sugiere un modelo económico altamente dependiente del turismo en zonas poco habitadas, probablemente por su orientación hacia el turismo de lujo y naturaleza. En contraste, estados como Chiapas muestran una combinación de alto PIB turístico pero bajos indicadores de educación superior (apenas 19%) y mayores tasas de desempleo, lo que puede estar vinculado a una estructura económica informal y desigual. Además, Baja California destaca con un índice de actividad económica muy alto (+2.47) y una cercanía fronteriza mínima, lo que refuerza la idea de que la integración económica con EE.UU. impulsa significativamente su desempeño, mientras que entidades más alejadas como Campeche o Chiapas muestran actividad económica negativa y menor inversión pública. Esta primera lectura sugiere que el desarrollo turístico no siempre va de la mano con condiciones socioeconómicas favorables, y que la proximidad a la frontera norte sigue siendo un factor clave para la competitividad regional.

IMPORTAMOS SHAPEFILES Mexico’s states (32)

mx_state_map <- st_read("/Users/gabrielmedina/Downloads/mx_spatial_data/mx_maps/mx_states/mexlatlong.shp")
## Reading layer `mexlatlong' from data source 
##   `/Users/gabrielmedina/Downloads/mx_spatial_data/mx_maps/mx_states/mexlatlong.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 32 features and 19 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -118.4042 ymin: 14.55055 xmax: -86.73862 ymax: 32.71846
## Geodetic CRS:  WGS 84
mx_state_map <- read_sf("/Users/gabrielmedina/Downloads/mx_spatial_data/mx_maps/mx_states/mexlatlong.shp")
# Paso 2: Luego haces geo_join
state_geodata <- geo_join(mx_state_map, BD, 'OBJECTID', 'state_id', how = 'inner')
## Warning: We recommend using the dplyr::*_join() family of functions instead.
tm_shape(mx_state_map) +
  tm_polygons(col = "lightgray") +
  tm_compass(position=c("left","bottom")) +
  tm_layout(main.title = "Mexico's States") +
  tm_text("ADMIN_NAME", size = "AREA")

Distribucion en Mexico de ocupacion de cuartos por extranjeros

tm_shape(state_geodata) + 
  tm_polygons(col = "Cuartos_ocupados_extranjeros", palette="Blues", style="quantile", n=8, title="Cuartos ocupados") +
  tm_layout(main.title= 'Cuartos Ocupados extranjeros',  title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)

Al observar la distribución geográfica de los cuartos ocupados por extranjeros en México, salta a la vista un patrón claramente polarizado. Destinos tradicionalmente turísticos como Quintana Roo, Jalisco y Ciudad de México se pintan en los tonos más oscuros, indicando una altísima concentración de visitantes internacionales. Estos estados no solo destacan por su infraestructura hotelera, sino también por su conectividad aérea, promoción turística global y oferta de servicios. En contraste, gran parte del altiplano central y estados del sur como Tlaxcala, Zacatecas o Hidalgo muestran una ocupación mucho menor, incluso en zonas con potencial natural o cultural. Este mapa refuerza la idea de que el turismo extranjero en México está profundamente centralizado en unos cuantos corredores, y que existe un gran potencial aún no aprovechado en regiones menos tradicionales. Además, se observa que varios estados fronterizos como Baja California y Chihuahua también reportan cifras altas, posiblemente impulsadas por el turismo de negocios, compras o salud.

Mexico’s States - 4 variables a analizar

tm_shape(state_geodata) + 
  tm_polygons(col = "tourism_gdp", palette="green", style="quantile", n=8, title="Travel and tourism's direct contribution to GDP.
") +
  tm_layout(main.title= 'tourism_gdp',  title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)

A diferencia del mapa anterior, donde los flujos de turistas extranjeros se concentraban fuertemente en unos pocos destinos, el mapa de contribución del turismo al PIB revela una realidad más distribuida y matizada. Aunque entidades como Quintana Roo y Baja California Sur mantienen niveles altos (lo cual es esperable por su vocación turística internacional), también emergen estados como Jalisco, Ciudad de México y sorprendentemente algunos del centro-norte con una participación significativa del turismo en su economía. Esta diferencia sugiere que, en muchos casos, el turismo doméstico juega un papel clave en sostener el sector, aunque no se refleje en la ocupación hotelera por extranjeros. También destaca que algunos estados del sur, como Oaxaca o Chiapas, logran tener una aportación turística considerable al PIB a pesar de contar con infraestructura limitada o menor presencia internacional, lo cual puede indicar un turismo más cultural, nacional o comunitario. Este panorama abre la discusión sobre diversos modelos turísticos que coexisten en México: algunos basados en sol y playa para extranjeros, otros en rutas culturales, naturales o gastronómicas que tienen una fuerte base nacional.

tm_shape(state_geodata) + 
  tm_polygons(col = "crime_rate", palette="red", style="quantile", n=8, title="Crime rate per 100,000 state's population. 
") +
  tm_layout(main.title= 'crime_rate',  title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)

Cuando analizamos la distribución espacial de la tasa de criminalidad por estado, notamos que el panorama es bastante variado, pero sí se identifican algunas concentraciones claras de niveles altos. Por ejemplo, en el norte del país hay estados como Baja California, Chihuahua y Sonora que presentan tasas significativamente más elevadas, lo cual es consistente con lo que ya se sabe sobre las rutas del crimen organizado o conflictos fronterizos. Por otro lado, también es interesante ver que en el sur —particularmente en estados como Chiapas y Oaxaca— la criminalidad reportada es mucho más baja. A nivel nacional, llama la atención que algunos destinos turísticos importantes, como Quintana Roo o Jalisco, también tienen cifras preocupantes, lo cual puede representar un reto para el turismo internacional y la percepción de seguridad. En general, este mapa nos sirvió para contrastar cómo conviven el turismo con la inseguridad, y también para identificar zonas donde el turismo parece desarrollarse a pesar de contextos sociales complejos. Nos parece que este contraste puede ser clave al momento de pensar estrategias diferenciadas según región.

tm_shape(state_geodata) + 
  tm_polygons(col = "business_activity", palette="magma", style="quantile", n=8, title="Índice económico ajustado por cercanía a puerto de EE.UU.") +
  tm_layout(main.title= 'business_activity',  title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)

Este mapa nos ayudó a ver con claridad cómo influye la ubicación geográfica —específicamente la cercanía a Estados Unidos— en el nivel de actividad económica de los estados. Los estados pintados en tonos más claros, como Baja California, Nuevo León o Chihuahua, tienen un índice de actividad económica más alto, lo cual tiene mucho sentido considerando su posición estratégica para el comercio exterior. Es decir, están bien conectados con los flujos comerciales hacia el norte, y eso se refleja directamente en su desempeño económico. En contraste, los estados más alejados de la frontera, como muchos del sur y centro del país, aparecen en colores más oscuros, con índices incluso negativos. Esto nos hizo pensar en la gran brecha que existe entre norte y sur no solo en temas de infraestructura o turismo, sino también en términos de oportunidad económica. Lo interesante es que hay algunos casos donde esta lógica se rompe, como ciertas zonas del bajío y sureste que, a pesar de no estar tan cerca de EE.UU., muestran una actividad económica razonable, probablemente gracias a inversión interna o sectores productivos específicos. Este mapa complementa muy bien todo lo que venimos viendo en cuanto a desigualdad regional.

tm_shape(state_geodata) + 
  tm_polygons(col = "pop_density", palette="BuPu", style="quantile", n=8, title="Población por superficie del estado en km2.") +
  tm_layout(main.title= 'pop_density',  title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)

Con el mapa de densidad poblacional se confirma algo que ya intuíamos, pero ahora se ve de forma clara y geográfica: la población en México está altamente concentrada en la región centro del país. Estados como Ciudad de México, Estado de México, Morelos, Puebla y Hidalgo están representados en los tonos más oscuros, lo que refleja una densidad muchísimo mayor al resto del país. Esta mancha púrpura central marca una zona de presión urbana, donde la demanda por servicios públicos, infraestructura y empleo es constante. En cambio, hacia el norte y noroeste (por ejemplo, Durango, Sonora, Chihuahua), vemos tonos más claros, indicando extensos territorios con baja densidad poblacional. Algo similar ocurre en el sur, donde hay estados con gran extensión territorial pero con dispersión de la población. Esto nos hace pensar en los retos que enfrentan las estrategias nacionales: no es lo mismo diseñar políticas públicas para una zona densamente urbanizada que para una región amplia y rural. Además, al cruzar estos datos con los mapas anteriores, notamos que muchos estados con baja densidad también enfrentan limitaciones económicas, lo que podría estar vinculado a la falta de infraestructura o conectividad.

Matriz de autocorrelacion espacial

swm  <- poly2nb(mx_state_map, queen=T)

summary(swm) # The average number of neighbors is 4.31
## Neighbour list object:
## Number of regions: 32 
## Number of nonzero links: 138 
## Percentage nonzero weights: 13.47656 
## Average number of links: 4.3125 
## Link number distribution:
## 
## 1 2 3 4 5 6 7 8 9 
## 1 6 6 6 5 2 3 2 1 
## 1 least connected region:
## 31 with 1 link
## 1 most connected region:
## 8 with 9 links
sswm <- nb2listw(swm, style="W", zero.policy = TRUE)

mx_state_map_a <- as(mx_state_map, "Spatial")
mx_state_map_centroid <- coordinates(mx_state_map_a) 
plot(mx_state_map_a,border="blue",axes=FALSE,las=1, main="Mexico's States Queen SWM")
plot(mx_state_map_a,col="grey",border=grey(0.9),axes=T,add=T) 
plot(sswm,coords=mx_state_map_centroid,pch=19,cex=0.1,col="red",add=T) 

Este mapa muestra cómo se construyó la matriz de vecinos espaciales bajo el criterio Queen, que básicamente considera como “vecinos” a todos los estados que comparten una frontera, ya sea por línea o por punto (es decir, incluso si solo se tocan en una esquina). Las líneas rojas que conectan a los estados representan estas relaciones espaciales. Para nuestro equipo, fue importante visualizar esta estructura porque es la base sobre la cual se calcularon los indicadores de autocorrelación espacial y los clústeres LISA. Algo que notamos es que en la región centro del país hay una mayor densidad de conexiones, lo cual tiene lógica por la cercanía y número de estados en esa zona. Por el contrario, en el norte y el sureste, algunos estados tienen menos vecinos, lo cual puede influir en cómo se comportan sus valores en los análisis espaciales. Esta matriz es como el “esqueleto” del modelo espacial: define cómo fluye la información entre regiones y es clave para interpretar patrones regionales como agrupamientos o disonancias. Visualizarla nos ayudó a confirmar que las relaciones espaciales estaban bien definidas antes de avanzar a modelos más complejos.

library(sf)
library(spdep)

# Paso 1: Crear vecinos espaciales a partir de los polígonos
neighbors <- poly2nb(state_geodata)  # vecinos por frontera

# Paso 2: Crear la lista de pesos espaciales
sswm <- nb2listw(neighbors, style = "W", zero.policy = TRUE)

Correlacion espacial

moran.test(state_geodata$tourism_gdp, sswm)            # Global Moran's I is 0.11 but not statistically significant (p-value > 10%). 
## 
##  Moran I test under randomisation
## 
## data:  state_geodata$tourism_gdp  
## weights: sswm    
## 
## Moran I statistic standard deviate = 3.4739, p-value = 0.0002565
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic       Expectation          Variance 
##        0.16615907       -0.01587302        0.00274572
moran.test(state_geodata$crime_rate, sswm)                  # Global Moran's I is 0.02 but not statistically significant (p-value > 10%). 
## 
##  Moran I test under randomisation
## 
## data:  state_geodata$crime_rate  
## weights: sswm    
## 
## Moran I statistic standard deviate = 2.9658, p-value = 0.001509
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic       Expectation          Variance 
##       0.151040630      -0.015873016       0.003167316
moran.test(state_geodata$business_activity, sswm)       # Global Moran's I is 0.50 and statistically significant (p-value < 1%). 
## 
##  Moran I test under randomisation
## 
## data:  state_geodata$business_activity  
## weights: sswm    
## 
## Moran I statistic standard deviate = -0.53436, p-value = 0.7035
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic       Expectation          Variance 
##      -0.046306895      -0.015873016       0.003243781
moran.test(state_geodata$pop_density, sswm)       # Global Moran's I is 0.50 and statistically significant (p-value < 1%). 
## 
##  Moran I test under randomisation
## 
## data:  state_geodata$pop_density  
## weights: sswm    
## 
## Moran I statistic standard deviate = 6.8956, p-value = 2.682e-12
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic       Expectation          Variance 
##       0.278105543      -0.015873016       0.001817568
table <- data.frame(Variable = c("tourism_gdp", "crime_rate", "business_activity", "pop_density"), GM = c(0.16, 0.15, -0.04, 0.27), Significance = c("***","***","NS", "***"))
table
##            Variable    GM Significance
## 1       tourism_gdp  0.16          ***
## 2        crime_rate  0.15          ***
## 3 business_activity -0.04           NS
## 4       pop_density  0.27          ***

Después de aplicar el índice de autocorrelación espacial global (Moran’s I) para nuestras variables clave, identificamos que tres de ellas muestran evidencia clara de dependencia espacial. La densidad poblacional destaca con el valor más alto (0.27), seguido del PIB turístico (0.16) y la tasa de criminalidad (0.15). Esto significa que, en estos casos, los valores similares tienden a agruparse geográficamente: estados con alta densidad poblacional están rodeados de otros con características similares, lo mismo ocurre con el turismo y la criminalidad. En cambio, la variable de actividad económica ajustada por cercanía a EE.UU. no mostró autocorrelación significativa (valor negativo y NS), lo cual tiene sentido si pensamos que la actividad económica puede depender más de factores puntuales como infraestructura, inversiones o políticas locales, más que de la influencia directa de los estados vecinos. Esta etapa fue importante porque nos permitió saber cuáles variables sí se agrupan espacialmente y por tanto justifican análisis de clústeres o modelos espaciales más adelante. También nos dio más herramientas para pensar en desigualdades territoriales que no son al azar, sino que tienen una lógica espacial clara.

Identificacion de cluster

# Calcular los lags espaciales sin sobrescribir los valores originales
state_geodata$sp_lag_tourism_gdp <- lag.listw(sswm, state_geodata$tourism_gdp, zero.policy=TRUE) 
state_geodata$sp_lag_crime_rate  <- lag.listw(sswm, state_geodata$crime_rate, zero.policy=TRUE) 
state_geodata$sp_lag_pop_density <- lag.listw(sswm, state_geodata$pop_density, zero.policy=TRUE) 

# Mapa de turismo (valor original)
tourism_gdp <- tm_shape(state_geodata) + 
  tm_polygons(col = "tourism_gdp", palette = "Blues", style = "quantile", n = 8, title = "Tourism GDP") +
  tm_layout(main.title = 'Tourism GDP', title.position = c('right', 'top'),
            legend.position = c("left", "bottom"), title.size = 1)

# Mapa de turismo (lag)
tourism_gdp_lag <- tm_shape(state_geodata) + 
  tm_polygons(col = "sp_lag_tourism_gdp", palette = "Blues", style = "quantile", n = 8, title = "Lag Tourism GDP") +
  tm_layout(main.title = 'Clusters of Tourism GDP', title.position = c('right', 'top'),
            legend.position = c("left", "bottom"), title.size = 1)

# Mapa de crimen (valor original)
crime <- tm_shape(state_geodata) + 
  tm_polygons(col = "crime_rate", palette = "OrRd", style = "quantile", n = 8, title = "Crime Rate") +
  tm_layout(main.title = 'Crime Rate', title.position = c('right', 'top'),
            legend.position = c("left", "bottom"), title.size = 1)

# Mapa de crimen (lag)
crime_lag <- tm_shape(state_geodata) + 
  tm_polygons(col = "sp_lag_crime_rate", palette = "OrRd", style = "quantile", n = 8, title = "Lag Crime Rate") +
  tm_layout(main.title = 'Clusters of Crime Rate', title.position = c('right', 'top'),
            legend.position = c("left", "bottom"), title.size = 1)

# Mapa de densidad de población (valor original)
pop_density <- tm_shape(state_geodata) + 
  tm_polygons(col = "pop_density", palette = "YlGnBu", style = "quantile", n = 8, title = "Population Density") +
  tm_layout(main.title = 'Population Density', title.position = c('right', 'top'),
            legend.position = c("left", "bottom"), title.size = 1)

# Mapa de densidad de población (lag)
pop_density_lag <- tm_shape(state_geodata) + 
  tm_polygons(col = "sp_lag_pop_density", palette = "YlGnBu", style = "quantile", n = 8, title = "Lag Pop Density") +
  tm_layout(main.title = 'Clusters of Population Density', title.position = c('right', 'top'),
            legend.position = c("left", "bottom"), title.size = 1)

# Arreglo de todos los mapas en una cuadrícula de 3 columnas
tmap_arrange(tourism_gdp, tourism_gdp_lag,
             crime, crime_lag,
             pop_density, pop_density_lag,
             ncol = 3)
## Legend labels were too wide. The labels have been resized to 0.40, 0.37, 0.37, 0.37, 0.37, 0.37, 0.35, 0.32. Increase legend.width (argument of tm_layout) to make the legend wider and therefore the labels larger.
## Legend labels were too wide. The labels have been resized to 0.37, 0.37, 0.37, 0.37, 0.37, 0.37, 0.37, 0.35. Increase legend.width (argument of tm_layout) to make the legend wider and therefore the labels larger.
## Legend labels were too wide. The labels have been resized to 0.65, 0.65, 0.58, 0.52, 0.52, 0.52, 0.52, 0.47. Increase legend.width (argument of tm_layout) to make the legend wider and therefore the labels larger.
## Legend labels were too wide. The labels have been resized to 0.43, 0.43, 0.43, 0.43, 0.43, 0.43, 0.43, 0.43. Increase legend.width (argument of tm_layout) to make the legend wider and therefore the labels larger.
## Some legend labels were too wide. These labels have been resized to 0.65, 0.58, 0.58, 0.50. Increase legend.width (argument of tm_layout) to make the legend wider and therefore the labels larger.
## Some legend labels were too wide. These labels have been resized to 0.65, 0.58, 0.58, 0.50. Increase legend.width (argument of tm_layout) to make the legend wider and therefore the labels larger.

Esta cuadrícula de mapas nos permitió comparar visualmente el valor original de cada variable con su lag espacial, es decir, el promedio de los valores en los estados vecinos. Esto fue clave para identificar clústeres espaciales.

En el caso del PIB turístico, observamos que los valores más altos no están completamente aislados: por ejemplo, estados como Quintana Roo y Baja California Sur no solo destacan por sí mismos, sino que están rodeados por otros con niveles también elevados. Esto se refleja en el lag, donde se intensifica la tonalidad en algunas regiones costeras. Este patrón sugiere la existencia de clústeres turísticos regionales, donde el desarrollo de un estado puede influir en el crecimiento de sus vecinos.

Con respecto a la tasa de criminalidad, los mapas muestran una concentración más marcada en el norte del país. El lag espacial acentúa este fenómeno, revelando zonas donde la inseguridad se convierte en un patrón regional, especialmente en áreas cercanas a la frontera. Esto refuerza la idea de que la criminalidad no es un fenómeno aislado por estado, sino que se extiende en forma de clústeres negativos que podrían requerir atención conjunta entre estados colindantes.

En cuanto a la densidad poblacional, ya sabíamos que el centro del país era la zona más cargada demográficamente, pero el mapa de lag lo confirma desde un punto de vista regional: los estados vecinos de los más densos también tienden a tener valores altos, formando un núcleo central bien definido. Esta concentración metropolitana tiene muchas implicaciones, no solo en términos de infraestructura, sino también para la planificación de turismo, inversión y servicios públicos.

En general, esta comparación entre variables originales y sus lags nos permitió detectar clústeres espaciales claros, validar los resultados del Moran’s I y plantear hipótesis más sólidas para estrategias territoriales. Como equipo, coincidimos en que este tipo de visualización tiene muchísimo valor para explicar fenómenos regionales de forma simple pero potente.

CLUSTER TURISTAS GDP

library(sf)
library(spdep)
library(tmap)
library(ggplot2)
library(spatialreg)  # si es necesario
## Loading required package: Matrix
## 
## Attaching package: 'spatialreg'
## The following objects are masked from 'package:spdep':
## 
##     get.ClusterOption, get.coresOption, get.mcOption,
##     get.VerboseOption, get.ZeroPolicyOption, set.ClusterOption,
##     set.coresOption, set.mcOption, set.VerboseOption,
##     set.ZeroPolicyOption
# Crear la matriz de pesos espaciales tipo "queen"
sswm_a <- queen_weights(state_geodata)

# Calcular el LISA (Local Moran's I) para tourism_gdp
lisa_tourism <- local_moran(sswm_a, state_geodata["tourism_gdp"])

# Extraer los indicadores de cluster y asignarlos al objeto geoespacial
state_geodata$cluster_tourism <- as.factor(lisa_tourism$GetClusterIndicators())
levels(state_geodata$cluster_tourism) <- lisa_tourism$GetLabels()

# Graficar el resultado
ggplot(data = state_geodata) +
  geom_sf(aes(fill = cluster_tourism)) +
  ggtitle(label = "Tourism GDP", subtitle = "LISA Cluster Map - Mexico's States") +
  scale_fill_brewer(palette = "Set1") +
  theme_minimal()

Al aplicar el análisis LISA (Local Indicators of Spatial Association) al PIB turístico, identificamos clústeres espaciales específicos que nos permiten ver más allá de los simples valores por estado.

En el mapa, la mayoría del país aparece en color rojo, lo cual indica que no hay una significancia estadística clara en la asociación espacial de los valores del PIB turístico en esas zonas. Sin embargo, destacan tres casos interesantes que sí fueron detectados como clústeres significativos.

Primero, el único estado clasificado como High-High es Quintana Roo (color azul), lo cual tiene mucho sentido: es una región con altos niveles de PIB turístico y rodeada por estados que también tienen valores relativamente altos, confirmando que existe un núcleo turístico fuerte en la región del sureste.

Por otro lado, se identifica una zona Low-Low (color verde) en el norte del país, donde varios estados muestran niveles bajos de PIB turístico y están rodeados por otros con características similares. Este patrón refleja una desconexión estructural del turismo en la región norte, posiblemente por factores de geografía, enfoque económico o falta de infraestructura turística.

Finalmente, hay un caso de Low-High (color morado), donde un estado con bajo PIB turístico se encuentra rodeado por otros con alto PIB turístico. Este punto nos llamó mucho la atención como equipo, ya que puede representar una oportunidad estratégica de intervención: ¿por qué no está captando turismo ese estado si sus vecinos sí lo hacen? Ahí puede haber barreras específicas que valdría la pena estudiar más a fondo, o bien, un potencial desaprovechado.

Este análisis reafirma que el turismo no solo se debe ver como una variable aislada por estado, sino como un fenómeno regional, donde lo que sucede en una entidad puede influir o verse influido por lo que ocurre en sus vecinas. Como equipo, esto nos ayudó mucho a pensar territorialmente y no solo en términos administrativos.

CLUSTER TURISTAS EXTRANJEROS CUARTOS

library(sf)
library(spdep)
library(ggplot2)

# 1. Crear la matriz de pesos espaciales tipo queen
sswm_a <- queen_weights(state_geodata)

# 2. Calcular LISA para 'Cuartos_ocupados_extranjeros'
lisa_rooms <- local_moran(sswm_a, state_geodata["Cuartos_ocupados_extranjeros"])

# 3. Crear variable categórica con resultados del cluster
state_geodata$cluster_rooms <- as.factor(lisa_rooms$GetClusterIndicators())
levels(state_geodata$cluster_rooms) <- lisa_rooms$GetLabels()

# 4. Visualización con ggplot2
ggplot(data = state_geodata) +
  geom_sf(aes(fill = cluster_rooms)) +
  ggtitle(label = "Cuartos ocupados por extranjeros", subtitle = "LISA Cluster Map - México") +
  scale_fill_brewer(palette = "Set1") +
  theme_minimal()

La mayoría del país aparece en color rojo, lo que indica que no hay una asociación espacial significativa para esta variable en la mayoría de los estados. Esto ya es en sí un hallazgo: la ocupación de cuartos por extranjeros no sigue un patrón espacial fuerte en todo México, posiblemente por diferencias en conectividad aérea, enfoque del turismo o capacidad hotelera.

Sin embargo, hay dos regiones que llaman la atención:

  • La península de Yucatán, especialmente Quintana Roo, aparece en morado (Low-High), lo que quiere decir que es un estado con baja ocupación relativa en comparación con sus vecinos que tienen altos niveles de ocupación por extranjeros. Este resultado fue algo inesperado, porque esperábamos que Quintana Roo apareciera como High-High por ser un referente turístico. Esto puede deberse a la forma en que se capturan los datos o al hecho de que otros estados vecinos también han desarrollado fuertemente su infraestructura hotelera para captar turismo extranjero.

  • En contraste, algunos estados del sur como Oaxaca, Chiapas y Tabasco aparecen como Low-Low, es decir, presentan baja ocupación por extranjeros y están rodeados por otros estados también con bajos niveles. Esto sí confirma una realidad regional: el sur de México, aunque con gran riqueza cultural, aún no logra consolidarse como destino fuerte para el turismo internacional en términos de infraestructura y conectividad.

Estos resultados nos hicieron reflexionar en equipo sobre cómo el turismo internacional no necesariamente sigue las mismas reglas o patrones del turismo nacional. Además, el hecho de que varias regiones clave no tengan asociaciones espaciales significativas refuerza la idea de que las estrategias turísticas deben pensarse de forma muy localizada, considerando no solo el atractivo del destino sino también su entorno inmediato.

Hallazgos

  • El PIB turístico está más distribuido, con los mayores valores en Quintana Roo, Baja California Sur, Jalisco y la Ciudad de México, reflejando la importancia de estos destinos en la economía del turismo. Sin embargo, se observa que algunas regiones con alto PIB turístico no necesariamente tienen la mayor ocupación de cuartos por extranjeros, lo que sugiere la influencia de otros factores como el turismo nacional, la estructura hotelera y el tipo de visitantes.

  • Se observa una clara tendencia de mayor actividad económica (índices positivos) en los estados del norte de México, particularmente aquellos con acceso directo a la frontera con EE.UU. Esto sugiere que la cercanía a los puertos y la integración económica con EE.UU. tienen un impacto positivo en la economía local. Existe una marcada disparidad entre el norte y el sur de México. Los estados del sur tienden a mostrar índices económicos más bajos (índices negativos), lo que indica posibles desigualdades en el desarrollo económico y la falta de integración con la economía estadounidense.

  • La variable de densidad poblacional muestra un patrón muy concentrado en el centro del país, destacando estados como la Ciudad de México, Estado de México, Puebla, y Morelos. Esto refuerza la idea de que el centro de México sigue siendo el núcleo demográfico y urbano más importante, lo que puede influir en la demanda de servicios turísticos, infraestructura y seguridad.

  • El análisis de Moran’s I confirmó la presencia de autocorrelación espacial positiva significativa en tres variables clave: PIB turístico, tasa de criminalidad y densidad poblacional. Esto significa que los valores similares tienden a agruparse en el espacio geográfico, validando la existencia de regiones homogéneas con respecto a estos indicadores.

  • El turismo internacional (cuartos ocupados por extranjeros) presenta clústeres significativos tipo Low-Low en estados del sur-sureste como Oaxaca, Chiapas y Veracruz, lo que sugiere una baja presencia de turismo extranjero en zonas con alto potencial cultural y natural. Esto representa una oportunidad desaprovechada para atraer inversión turística si se mejora la infraestructura y conectividad.

  • En contraste, la península de Yucatán presentó un clúster tipo Low-High en cuartos ocupados por extranjeros, lo cual indica que algunos estados con baja ocupación están rodeados por otros con ocupación mucho mayor. Este tipo de patrón puede ayudar a detectar zonas donde existen rezagos en la cadena de valor turística.

  • La tasa de criminalidad, aunque alta en algunos estados del norte y centro, no presentó una distribución espacial tan marcada como otras variables. Sin embargo, la existencia de clústeres tipo High-High en zonas como Zacatecas y Guanajuato sugiere posibles regiones críticas donde los altos índices de criminalidad son compartidos entre estados vecinos.

  • Los mapas de clústeres LISA para el PIB turístico y cuartos ocupados mostraron que muchos estados no presentan significancia estadística. Esto puede deberse a una dispersión en la oferta turística, o bien a la falta de interacción espacial con estados vecinos. El hallazgo refuerza la importancia de analizar tanto los valores individuales como su contexto espacial, especialmente para diseñar estrategias de desarrollo regional.

Referencias

Instituto Nacional de Estadística y Geografía. (2023). Cuenta satélite del turismo de México. INEGI. https://www.inegi.org.mx/programas/cstm/

Secretaría de Turismo de México. (2023). Análisis y estadísticas del sector turístico. https://www.datatur.sectur.gob.mx

Banco Mundial. (2022). Datos sobre turismo internacional y desarrollo regional. https://datos.bancomundial.org/tema/turismo

GeoDa Center for Geospatial Analysis and Computation. (s.f.). GeoDa Software y documentación técnica. https://geodacenter.github.io

R Spatial. (s.f.). Spatial Data Analysis with R. https://rspatial.org