En el contexto de las democracias contemporáneas, las protestas son formas públicas de acción colectiva que articulan y expresan demandas sociales. Este fenómeno es especialmente relevante en Argentina, país en el que la calle y los espacios públicos han sido históricamente escenarios de disputas sociales, reivindicaciones, descontentos y demandas. En este sentido, la frecuencia y naturaleza de estas manifestaciones reflejan no solo el pulso de la sociedad argentina, sino también sus dinámicas de cambio y resistencia.
En el presente análisis propongo indagar cómo se distribuyen y evolucionan las protestas sociales a través del espacio y del tiempo. Con este objetivo, realizaré un detallado procesamiento de datos sobre protestas pacíficas geolocalizadas y normalizadas por población entre 2018-2023. Adicionalmente, y mediante técnicas de análisis espacial, buscaré identificar patrones en la ocurrencia de las protestas, ofreciendo así una visión más clara de las dinámicas de movilización social en el país.
Para alcanzar este objetivo, utilizaré métodos de análisis espacial que incluyen la evaluación de la autocorrelación espacial mediante la I de Moran y el Análisis de Indicadores Locales de Asociación Espacial (LISA, por sus siglas en inglés). Estas herramientas no solo facilitarán la comprensión de las tendencias generales, sino que también permitirán examinar las particularidades regionales y locales de las protestas.
Para este estudio usaremos:
Utilizaremos métodos de análisis espacial, incluyendo la evaluación de la autocorrelación espacial mediante la I de Moran y el método Local Indicators of Spatial Association (LISA), principalmente por dos razones.
La I de Moran es una herramienta estadística que mide la autocorrelación espacial en un conjunto de datos. Esto significa que, en principio, podremos evaluar si las protestas en Argentina están distribuidas de manera aleatoria, agrupadas o dispersas en el espacio.
El Análisis LISA, por su parte, nos permitirá ir más allá del análisis global de la I de Moran y examinar las relaciones espaciales a nivel local. Con LISA, en efecto, identificaremos hotspots y coldspots de protestas. Esto es importante para entender la distribución geográfica de las protestas y determinar si ciertas regiones son particularmente activas o inactivas en términos de actividad de protesta.
En suma, mientras que la I de Moran nos aportará una visión general, LISA nos facilitará un desglose a nivel local, revelando variaciones espaciales particulares que podrían pasar desapercibidas en un análisis global. Al descomponer la autocorrelación espacial en componentes locales, LISA nos ayudará a identificar áreas específicas donde las protestas son significativamente más altas o más bajas que el promedio, así como regiones que se desvían de las tendencias espaciales generales.
library(sf)
library(tidyverse)
library(spdep)
library(tmap)
library(leaflet)
library(ggplot2)
library(reactable)
En primer lugar, cargaremos los datos que necesitamos. En este caso, y como ya mencioné anteriormente, trabajaremos con tres: uno que contiene información sobre protestas, otro que cuenta con información geoespacial de partidos y departamentos de Argentina, y un tercero con datos demográficos del país.
Protestas <- read.csv("Data/Argentina_ACLED.csv")
Departamentos <- read.csv("Data/Departamentos.csv")
Poblacion <- read.csv("Data/Poblacion.csv")
El dataset Protestas
contiene 12.823 datos
geolocalizados de protestas pacíficas en el país registradas entre enero
de 2018 y octubre de 2023. En función de esto, transformaremos a
Protestas
en un objeto geoespacial sf (simple
features), especificando las columnas de longitud y latitud para
crear geometrías de puntos con el sistema de referencia de coordenadas
WGS 84 (CRS 4326).
Protestas_Geo <- Protestas %>%
mutate(long = longitude, lat = latitude) %>%
st_as_sf(coords = c("longitude", "latitude"), crs = 4326)
Haremos lo mismo con Departamentos
, para que ambos
datasets compartan el sistema de referencia de coordenadas WGS 84 (CRS
4326).
Departamentos <- st_as_sf(Departamentos, wkt = "geom", crs = 4326)
Y de la base Poblacion
, que tiene 37 variables,
seleccionaremos solo dos y le cambiaremos los nombres para facilitar el
tratamiento de los datos.
Poblacion <- Poblacion %>%
select(Código.de.departamento., Población.total) %>%
rename(in1 = Código.de.departamento.,
poblacion = Población.total)
Hemos realizado las transformaciones más importantes, pero
necesitamos algunas más. En principio, Departamentos
ofrece
la variable in1 que sirve de identificador de cada observación.
Sin embargo, para procesar los datos de manera más ordenada, crearemos
una nueva variable que se llame ID_Dpto.
Departamentos <- st_make_valid(Departamentos) %>%
mutate(ID_Dpto = row_number())
También vamos crear una nueva variable llamada
geom_departamento en el conjunto de datos
Departamentos
, donde cada fila contendrá la geometría
sf correspondiente de ese departamento. Este paso nos
facilitará la unión de datasets que haremos más adelante.
Departamentos$geom_departamento <- st_geometry(Departamentos)
Seguidamente, realizaremos un join espacial entre
Protestas
y Departamentos
, uniendo las filas
de ambos datasets cuando la geometría de una protesta se encuentre
dentro de la geometría de un partido o departamento.
Protestas_Geo <- st_join(Protestas_Geo, Departamentos, join = st_within)
Y también haremos otro join, de tipo no espacial, entre
Protestas
y Poblacion
en base a la columna
común in1.
Protestas_Geo <- left_join(Protestas_Geo, Poblacion, by = "in1")
Como consecuencia de las uniones entre datasets,
Protestas
tiene ahora 12.823 observaciones y 60 variables,
pero solo necesitamos algunas de ellas para nuestro análisis.
Procederemos entonces a seleccionar columnas específicas, agruparlas por
año y departamento, calcular el número de protestas y las protestas
per cápita para cada grupo, y eliminar filas duplicadas.
Protestas_Geo <- Protestas_Geo %>%
select(in1, year, poblacion, geometry, geom_departamento, ID_Dpto, long, lat, admin1)
Protestas_Geo <- Protestas_Geo %>%
group_by(in1, year) %>%
mutate(numero_protestas = n()) %>%
mutate(Protestas_Capita = numero_protestas / poblacion) %>%
distinct() %>%
ungroup()
Por último, crearemos un nuevo dataset para aislar las protestas del año 2018, nuestro primer año de análisis.
Dataset_2018 <- Protestas_Geo %>%
st_drop_geometry() %>%
select(-geom_departamento) %>%
filter(year == 2018) %>%
full_join(Departamentos, by = "ID_Dpto") %>%
select(ID_Dpto, numero_protestas, Protestas_Capita, geom, long, lat) %>%
mutate(numero_protestas = replace_na(numero_protestas, 0),
Protestas_Capita = replace_na(Protestas_Capita, 0)) %>%
rename(geometry = geom) %>%
distinct()
Nuestro nuevo Dataset_2018
cuenta con 588 observaciones
y 6 variables: el ID de cada departamento; el número de protestas en ese
departamento para el año 2018; el cálculo de protestas per
capita; la columna geometry que contiene las geometrías
espaciales de cada fila; y las coordenadas de latitud y longitud que
emplearemos para una primera visualización de datos.
head(Dataset_2018)
## # A tibble: 6 × 6
## ID_Dpto numero_protestas Protestas_Capita geometry long
## <int> <int> <dbl> <MULTIPOLYGON [°]> <dbl>
## 1 141 51 0.0000929 (((-65.16097 -26.79094, -65.1… -65.2
## 2 528 277 0.000423 (((-57.99681 -34.87523, -57.9… -58.0
## 3 61 230 0 (((-58.4333 -34.60269, -58.43… -58.5
## 4 140 5 0.0000881 (((-58.01652 -34.78027, -58.0… -57.9
## 5 57 4 0.0000123 (((-58.19107 -34.73808, -58.1… -58.2
## 6 398 74 0.0000620 (((-60.65944 -32.83391, -60.6… -60.6
## # ℹ 1 more variable: lat <dbl>
Solo nos resta convertir a Dataset_2018
en un objeto
geoespacial para poder trabajar, más adelante, con las geometrías
espaciales almacenadas en la variable geometry.
Dataset_2018 <- st_as_sf(Dataset_2018, sf_column_name = "geometry")
En el año 2018 se registraron un total de 1898 protestas en la República Argentina, es decir, un promedio de 5.2 protestas por día. Visualizadas en un mapa, se ven así.
leaflet(Dataset_2018) %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addCircles(~long, ~lat,
radius = ~numero_protestas * 500,
color = "#F8766D",
fillOpacity = 0.8)
Para ganar más profundidad en el análisis, podríamos visualizar qué
días y qué meses fueron más activos en términos de protestas. Para ello,
primero convertiremos la variable event_date de
Protestas
a un formato de fecha, y luego crearemos un nuevo
conjunto de datos (Protestas_Diarias_2018
) que resume el
número de protestas por día para el año 2018.
Protestas$event_date <- as.Date(Protestas$event_date, format = "%d %B %Y")
Protestas_Diarias_2018 <- Protestas %>%
filter(year == 2018) %>%
group_by(event_date) %>%
summarise(protest_count = n())
Finalmente, visualizaremos nuestros datos.
ggplot(Protestas_Diarias_2018, aes(x = event_date, y = protest_count)) +
geom_line(color = "#F8766D") +
scale_x_date(date_labels = "%B", date_breaks = "2 months") +
labs(x = "Mes", y = "Cantidad de Protestas",
title = "Protestas pacíficas en Argentina en 2018",
subtitle = "Registro diario de un total anual de n = 1898 observaciones",
caption = "\n Elaboración personal en base a datos de ACLED") +
theme_test() +
theme(legend.position = "bottom",
legend.box = "vertical",
plot.title = element_text(
face = "bold",
colour = "#3C3C3C",
size = 20),
plot.subtitle = element_text(
colour = "#838383",
size = 12),
plot.caption = element_text(
colour = "#838383",
hjust = 0,
margin = margin(r = 20)))
Como se observa en el gráfico, los meses de marzo y abril fueron los que registraron la mayor cantidad de protestas, destacando especialmente el 25 de marzo de 2018, día en el que se contabilizaron 47 movilizaciones.
Pero hasta aquí hemos analizado datos agregados a nivel nacional y, dada la matriz federal de Argentina, sería interesante preguntarnos qué provincias han tenido mayor actividad de protestas en sus territorios.
Para ello crearemos un resumen de las protestas agrupadas por año y provincia (year y admin1), calculando la cantidad total de protestas por año y el porcentaje de protestas por provincia respecto al total anual.
Resumen_Protestas <- Protestas %>%
group_by(year, admin1) %>%
summarize(protestas_pcia = n()) %>%
ungroup() %>%
group_by(year) %>%
mutate(total_protestas = sum(protestas_pcia)) %>%
mutate(porcentaje_pcia = (protestas_pcia / total_protestas) * 100) %>%
mutate(admin1 = ifelse(admin1 == "Ciudad Autonoma de Buenos Aires", "CABA", admin1)) %>%
rename(provincia = admin1)
reactable(Resumen_Protestas)
Del total de protestas, 536 tuvieron lugar en la Provincia de Buenos Aires (28.24%), 300 en Chubut (15.81%) y 230 en la Ciudad Autónoma de Buenos Aires (12.12%).
El porcentaje de protestas para el resto de las provincias se puede visualizar en el plot a continuación.
ggplot(Resumen_Protestas %>% filter(year == 2018),
aes(x = reorder(provincia, porcentaje_pcia),
y = porcentaje_pcia,
fill = as.factor(year))) +
geom_bar(stat = "identity") +
scale_y_continuous(limits = c(0, 30)) +
labs(title = "Protestas pacíficas por provincia en 2018",
subtitle = "Porcentajes sobre un total de n = 1898 observaciones",
caption = "\n Elaboración personal en base a datos de ACLED",
x = NULL,
y = NULL) +
theme_test() +
coord_flip() +
geom_text(aes(label = paste0(round(
porcentaje_pcia, 2), "%")), hjust = -0.2, size = 2.5) +
theme(legend.position = "none",
axis.ticks = element_blank(),
plot.title = element_text(
face = "bold",
colour = "#3C3C3C",
size = 20),
plot.subtitle = element_text(colour = "#838383", size = 12),
plot.margin = margin(10, 10, 30, 10),
plot.caption = element_text(colour = "#838383",
hjust = 0,
margin = margin(r = 20)))
Los datos presentados hasta aquí ofrecen una visión descriptiva general de las protestas en Argentina durante el año 2018. Este análisis proporciona una comprensión básica de la frecuencia y distribución de las protestas, pero no profundiza en las complejidades y matices de sus tendencias geográficas. Para ir más allá de este nivel descriptivo, entonces, es necesario explorar y revelar patrones espaciales que podrían permanecer ocultos con un enfoque general.
El Análisis de Asociación Espacial de Moran, conocido como I de Moran, es una medida de autocorrelación espacial que se utiliza para evaluar si un patrón espacial es regular, aleatorio o agrupado.
Al aplicar el I de Moran a nuestro estudio de las protestas en Argentina, podremos evaluar si existe una autocorrelación espacial en la distribución de estas protestas. En otras palabras, determinaremos si las protestas tienden a ocurrir geográficamente cerca unas de otras de una manera que no es aleatoria, lo que podría indicar patrones específicos de agrupamiento o dispersión en el contexto geográfico argentino.
Para ello, el primer paso es generar los datos vecinos de cada
polígono usando poly2nb()
.
w_18 <- poly2nb(Dataset_2018, row.names = "geometry")
En segundo lugar, convertiremos el objeto de vecindad
w_18
en un objeto de lista de pesos (lwb_18
)
con un estilo binario (“B”), permitiendo áreas sin vecinos (zero.policy
= TRUE) para análisis espaciales.
lwb_18 <- nb2listw(w_18, style = "B", zero.policy = TRUE)
Por último, calcularemos el I de Moran global para la variable
Protestas_Capita de Dataset_2018
con el objetivo
de analizar la autocorrelación espacial de las protestas per
capita por partido y/o departamento.
I_Moran_18 <- moran(Dataset_2018$Protestas_Capita, listw = lwb_18,
n = length(w_18), S0 = Szero(lwb_18),
zero.policy = TRUE)[1]
I_Moran_18
## $I
## [1] 0.3642744
Un I de Moran de 0.3642744 indica una autocorrelación espacial positiva moderada. En términos de análisis geoespacial, esto sugiere que existe una tendencia donde valores similares de protestas per capita tienden a estar geográficamente agrupados más de lo que se esperaría por azar. Sin embargo, es crucial evaluar también si esta autocorrelación espacial positiva moderada es estadísticamente significativa.
moran.test(Dataset_2018$Protestas_Capita, lwb_18, zero.policy = TRUE)
##
## Moran I test under randomisation
##
## data: Dataset_2018$Protestas_Capita
## weights: lwb_18 n reduced by no-neighbour observations
##
##
## Moran I statistic standard deviate = 17.634, p-value < 2.2e-16
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic Expectation Variance
## 0.3630354177 -0.0017094017 0.0004278198
La prueba de significatividad señala que la autocorrelación espacial de las protestas per capita es estadísticamente significativa (p-value < 2.2e-16), lo que indica que la agrupación de valores similares es muy probablemente no aleatoria.
Para complementar nuestro análisis, y entender mejor la naturaleza y la escala de la agrupación espacial en los datos, podemos construir un Correlograma de Moran. El correlograma nos permitirá visualizar cómo la autocorrelación espacial de las protestas per capita varía a lo largo de diferentes distancias o niveles de vecindad (hasta un orden de cinco).
Correlograma_2018 <- sp.correlogram(neighbours = w_18,
var = Dataset_2018$Protestas_Capita,
order = 5,
method = "I",
style = "W",
zero.policy = TRUE)
Correlograma_2018
## Spatial correlogram for Dataset_2018$Protestas_Capita
## method: Moran's I
## estimate expectation variance standard deviate Pr(I) two sided
## 1 (586) 0.30769322 -0.00170940 0.00049174 13.9526 < 2.2e-16
## 2 (585) 0.30955904 -0.00171233 0.00025705 19.4146 < 2.2e-16
## 3 (583) 0.20784429 -0.00171821 0.00016400 16.3638 < 2.2e-16
## 4 (583) 0.08945280 -0.00171821 0.00012593 8.1244 4.495e-16
## 5 (583) 0.08938330 -0.00171821 0.00010268 8.9903 < 2.2e-16
##
## 1 (586) ***
## 2 (585) ***
## 3 (583) ***
## 4 (583) ***
## 5 (583) ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Si graficamos el correlograma, advertimos que la autocorrelación espacial de las protestas per capita es estadísticamente significativa y positiva hasta cinco niveles de vecindad, pero disminuye gradualmente en magnitud con el aumento de la distancia. En otras palabras, la tendencia de agrupación espacial de las protestas decrece a medida que la distancia entre las áreas aumenta.
plot(Correlograma_2018)
Adicionalmente al correlograma, un diagrama de dispersión de Moran puede ayudarnos a comprender nuestros resultados.
Moran_Plot18 <- moran.plot(Dataset_2018$Protestas_Capita,
listw = lwb_18,
zero.policy = TRUE,
labels = as.character(Dataset_2018$ID_Dpto))
En el diagrama de dispersión vemos que existe una relación positiva entre las protestas per capita y su equivalente rezagado espacialmente, tal como lo indica la pendiente ascendente de la línea de ajuste.
La mayoría de los puntos se concentran cerca del origen, lo que sugiere que para muchos partidos o departamentos, tanto las protestas per capita como su rezago espacial son bajos. Sin embargo, hay puntos significativamente por encima de la línea de expectativa —la línea punteada horizontal—, particularmente la observación 422. Esto indica que hay áreas con un número significativamente más alto de protestas per capita también rodeadas por áreas con números altos. Esto es indicativo de autocorrelación espacial positiva y agrupamiento de altas tasas de protestas per capita en ciertas áreas.
El próximo paso de nuestro análisis consiste en calcular el I de Moran local. Así como el I de Moran global ofrece una visión general de la autocorrelación en toda el área estudiada, el I de Moran local permite identificar clústers o áreas específicas donde los valores son significativamente más altos o más bajos que el promedio, y cómo dichos clusters están distribuidos espacialmente.
Local_Moran18 <- localmoran(Dataset_2018$Protestas_Capita, listw = lwb_18, zero.policy = TRUE)
head(Local_Moran18)
## Ii E.Ii Var.Ii Z.Ii Pr(z != E(Ii))
## 1 -0.10414368 -1.710361e-04 0.100050113 -0.3287080 0.7423764
## 2 -1.84637539 -3.589070e-02 20.758091393 -0.3973756 0.6910905
## 3 0.25679649 -4.374727e-04 0.255889074 0.5085134 0.6110933
## 4 0.16090206 -1.283497e-04 0.075080823 0.5876833 0.5567449
## 5 -0.24793347 -4.035698e-04 0.235258500 -0.5103346 0.6098171
## 6 -0.01338854 -3.116937e-06 0.001823375 -0.3134687 0.7539246
En los resultados, cada fila representa un partido o departamento diferente en nuestro conjunto de datos. Y la primera observación, por ejemplo:
Tiene un Ii (I de Moran local) de -0.10414368, valor que indica una autocorrelación espacial negativa (es decir, esta área tiende a estar rodeada por áreas con valores opuestos).
Muestra un valor esperado bajo la hipótesis de aleatoriedad (E.Ii) de -0.0001710361. Este es el valor esperado del índice si no hubiera autocorrelación espacial.
La Var.Ii (Varianza del índice) es de 0.100050113, lo que indica la variabilidad del índice en esta área.
Tiene una Z.Ii (Puntuación Z) de -0.3287080, que sugiere que el índice observado está ligeramente por debajo del valor esperado. El Z.Ii es una medida estadística que indica cuántas desviaciones estándar el valor observado del índice (Ii) se desvía del valor esperado (E.Ii).
Su valor de significancia o p-value (Pr(z != E(Ii))) es alto (0.7423764), cuestión que sugiere que no hay suficiente evidencia para rechazar la hipótesis de aleatoriedad. Es decir que, para esta observación, la autocorrelación observada podría ser producto del azar.
Para continuar con nuestro análisis LISA, usaremos solamente las variables Ii y Pr(z != E(Ii)).
Ahora ya estamos en condiciones de proceder al análisis LISA. Para
ello le sumaremos a Dataset_2018
los resultados del I de
Moran local y categorizaremos nuestros departamentos según el tipo y la
significancia estadística de la autocorrelación espacial local.
La categorización de los departamentos se hará en cinco categorías: baja-baja, alta-baja, baja-alta, alta-alta y no significativa.
Dataset_2018 <- cbind(Dataset_2018,
Moran_Plot18[c("x", "wx")],
Local_Moran18,
attributes(Local_Moran18)$quadr) %>%
rename(p = Pr.z....E.Ii..) %>%
mutate(quad = ifelse(p > 0.05, 5, mean),
quad = factor(quad, levels = 1:5,
labels = c("Low-Low", "High-Low",
"Low-High", "High-High",
"No Signif")))
table(Dataset_2018$quad)
##
## Low-Low High-Low Low-High High-High No Signif
## 0 0 11 30 545
Según los resultados, tenemos:
Y ahora, finalmente, podemos visualizar los hotspots de protestas en la Argentina durante 2018. Para ello, construiremos la paleta de colores para visualizar los datos.
LISA_col <- c("blue","skyblue2", "lightpink", "red", "white")
names(LISA_col) <- levels(Dataset_2018$quad)
Y visualizaremos los resultados, a continuación, en un plot y en un mapa.
Dataset_2018 %>%
st_drop_geometry() %>%
ggplot(aes(x = x, y = wx)) +
geom_hline(linetype = 2, yintercept = mean(Dataset_2018$wx)) +
geom_vline(linetype = 2, xintercept = mean(Dataset_2018$x)) +
geom_point(aes(fill = quad), shape = 21) +
geom_smooth(method = lm, se = F, linetype = 2, color = "tomato4" ) +
labs(x = "Protestas per capita", y = "Lag") +
scale_fill_manual(values = LISA_col, drop = F) +
theme_test()
LISA_18 <- Dataset_2018 %>%
ggplot() +
geom_sf(aes(fill = quad)) +
scale_fill_manual(values = LISA_col, drop = F) +
labs(title = "Mapa LISA de protestas sociales",
subtitle = "Hotspots en Argentina durante 2018",
caption = "\n marialasa.ar") +
theme_test() +
theme(plot.title = element_text(
face = "bold",
colour = "#3C3C3C",
size = 15),
plot.subtitle = element_text(colour = "#838383", size = 10),
plot.margin = margin(10, 10, 30, 10),
plot.caption = element_text(colour = "#838383",
hjust = 0,
margin = margin(r = 20))) +
guides(fill = guide_legend(title = NULL))
LISA_18
Repliqué el análisis utilizando el I de Moran y LISA para cada año dentro de nuestro marco temporal. Por razones de brevedad, no incluyo todo el código desarrollado, pero realicé simplemente una adaptación de los métodos utilizados para procesar datos del año 2018.
A modo informativo, los I de Moran globales para cada año fueron:
Es decir, todos indican autocorrelación global positiva con significancia estadística.
En términos de análisis LISA, se comparten a continuación los mapas con hotposts de protestas.
1. Altos niveles de movilización en áreas con baja densidad poblacional
La concentración de protestas entre 2018-2023, según valores absolutos, gravita en torno a la Provincia de Buenos Aires. Este patrón sugiere que las áreas con alta densidad poblacional tienden a ser epicentros de movilizaciones. Además, la relevancia de la Provincia de Buenos Aires, en términos electorales y productivos, la convierte en un escenario clave para el despliegue de protestas. Esta particularidad trae aparejada la consecuente atención de los medios de comunicación.
Sin embargo, cuando las protestas se normalizan por población y se aplica un análisis de indicadores locales de asociación espacial, se detectan hotspots de movilizaciones en regiones “periféricas”. Esto revela que, aunque en términos absolutos las protestas parecen concentrarse en la Provincia de Buenos Aires, en términos relativos a la población otras áreas experimentan también una alta intensidad de manifestaciones.
El análisis LISA, en este sentido, nos ha ayudado a identificar áreas que difieren del patrón espacial general, resaltando regiones donde la frecuencia de protestas es alta en comparación con su población. Esto sugiere que los factores impulsores de las protestas podrían ser independientes de la densidad demográfica de una zona determinada.
2. Protestas con matriz subestatal
En tanto país federal compuesto por unidades subestatales autónomas, Argentina experimenta protestas y movilizaciones que reflejan agendas específicas de cada región.
Los hotspots detectados en los mapas indican que las marchas
articulan reclamos específicos de esas provincias que no necesariamente
son extrapolables a nivel federal. Este patrón se hace evidente en el
dataset Protestas
cuando se examinan en detalle los
principales actores involucrados y sus motivos de reclamo.
El análisis LISA, en este sentido, ha reflejado la dinámica federal de la Argentina, cuestión importante para comprender mejor la dispersión geográfica y las especificidades regionales de un país diverso y descentralizado.
3. Limitaciones
Dependencia de la definición de vecindad: el análisis LISA que hemos empleado se basa en una definición preestablecida de vecindad o proximidad espacial, la cual puede influir significativamente en los resultados. Si la definición de vecindad no captura adecuadamente la realidad de las interacciones espaciales en el contexto de las protestas, los hotspots identificados podrían no reflejar con precisión la distribución real de las manifestaciones.
Sensibilidad a la escala y la agregación: los resultados de LISA pueden variar según la escala y el nivel de agregación de los datos. Esto significa que la identificación de hotspots de nuestro estudio podría cambiar si los datos se analizan agregados a nivel provincial. Este fenómeno, conocido como el problema de la unidad espacial modificable (MAUP), sugiere que los patrones espaciales identificados pueden ser “manufacturados” por la escala de análisis utilizada.
Limitación en la interpretación de causas subyacentes: aunque LISA es útil para identificar patrones espaciales, no proporciona información directa sobre las causas subyacentes de estos patrones. Por lo tanto, los hotspots detectados necesitan ser interpretados con cautela y en conjunto con un análisis contextual y cualitativo para entender las razones detrás de las concentraciones de protestas.
KAM, Tin & ZHI, Vincent (2018). Is there space for violence?: A data-driven approach to the exploration of spatial-temporal dimensions of conflict. Seattle: Proceedings of the 2nd ACM SIG SPATIAL Workshop on Geospatial Humanities.
PERELMAN, Marcela et al. (2017). El derecho a la protesta social en Argentina. Buenos Aires: Centro de Estudios Legales y Sociales (CELS).
⚠️ Disclaimer: el presente estudio se ha realizado utilizando datos públicos y abiertos. Los resultados y conclusiones aquí presentados son producto del análisis y procesamiento de información accesible al público. Cualquier interpretación, conclusión o decisión basada en este estudio recae bajo la responsabilidad del usuario. Se recomienda verificar la fuente de los datos y considerar posibles limitaciones en la precisión y actualidad de la información utilizada.
💻 Más proyectos de datos en marialasa.ar.