# Ruta del archivo CSV descargado del INE.
# descargado de https://computos2021.ine.mx/base-de-datos
archivo_ine <- "diputaciones.csv"

# Carga del archivo codificado en Latin-1 y limpieza estandarizada de nombres de columnas
datos <- read.csv(archivo_ine, encoding = "latin1") %>%
  clean_names()

# Estructuracion y validacion basica de las variables clave para modelado y visualizacion
datos <- datos %>%
  rename(
    entidad = nombre_estado,
    distrito = nombre_distrito,
    seccion = seccion,
    lista_nominal = lista_nominal_casilla,
    total_votos = total_votos_calculados
  ) %>%
  filter(lista_nominal > 0, total_votos >= 0, total_votos <= lista_nominal) %>%
  mutate(
    participacion = total_votos / lista_nominal,
    entidad = as.factor(entidad),
    distrito = as.factor(distrito),
    seccion = as.factor(seccion)
  )

Analisis exploratorio y visualizacion por entidad

# Calculo del promedio de participacion por entidad para visualizacion agregada
participacion_entidad <- datos %>%
  group_by(entidad) %>%
  summarise(participacion_media = mean(participacion, na.rm = TRUE))

# Grafico de barras ordenado por promedio de participacion
ggplot(participacion_entidad, aes(x = reorder(entidad, participacion_media), y = participacion_media)) +
  geom_col(fill = "steelblue") +
  coord_flip() +
  labs(title = "Participacion promedio por entidad (INE 2021)",
       x = "Entidad", y = "Proporcion de participacion") +
  theme_minimal()

Modelo logistico con efectos fijos por entidad

# Se modela la probabilidad de participacion usando una regresion binomial (logit)
# con efectos fijos por entidad federativa. Esto permite comparar la propension relativa al voto.

suppressWarnings({
  modelo_fijo <- glm(
    cbind(total_votos, lista_nominal - total_votos) ~ entidad,
    data = datos,
    family = binomial(link = "logit")
  )
})
summary(modelo_fijo)
## 
## Call:
## glm(formula = cbind(total_votos, lista_nominal - total_votos) ~ 
##     entidad, family = binomial(link = "logit"), data = datos)
## 
## Coefficients:
##                             Estimate Std. Error  z value Pr(>|z|)    
## (Intercept)                 0.009485   0.001983    4.784 1.72e-06 ***
## entidadBAJA CALIFORNIA     -0.506570   0.002321 -218.230  < 2e-16 ***
## entidadBAJA CALIFORNIA SUR -0.061258   0.003325  -18.421  < 2e-16 ***
## entidadCAMPECHE             0.501025   0.003212  155.993  < 2e-16 ***
## entidadCHIAPAS              0.431598   0.002254  191.500  < 2e-16 ***
## entidadCHIHUAHUA           -0.163456   0.002307  -70.855  < 2e-16 ***
## entidadCIUDAD DE MÉXICO     0.074668   0.002109   35.407  < 2e-16 ***
## entidadCOAHUILA             0.291319   0.002396  121.581  < 2e-16 ***
## entidadCOLIMA               0.104115   0.003338   31.187  < 2e-16 ***
## entidadDURANGO             -0.305122   0.002646 -115.335  < 2e-16 ***
## entidadGUANAJUATO          -0.252201   0.002195 -114.908  < 2e-16 ***
## entidadGUERRERO             0.259148   0.002350  110.286  < 2e-16 ***
## entidadHIDALGO             -0.152424   0.002393  -63.695  < 2e-16 ***
## entidadJALISCO             -0.093077   0.002140  -43.503  < 2e-16 ***
## entidadMÉXICO               0.149923   0.002063   72.664  < 2e-16 ***
## entidadMICHOACÁN           -0.049977   0.002251  -22.198  < 2e-16 ***
## entidadMORELOS              0.095275   0.002572   37.050  < 2e-16 ***
## entidadNAYARIT              0.108003   0.002904   37.187  < 2e-16 ***
## entidadNUEVO LEÓN           0.023929   0.002211   10.825  < 2e-16 ***
## entidadOAXACA               0.229361   0.002299   99.763  < 2e-16 ***
## entidadPUEBLA               0.226851   0.002188  103.677  < 2e-16 ***
## entidadQUERÉTARO            0.051281   0.002497   20.533  < 2e-16 ***
## entidadQUINTANA ROO        -0.243483   0.002645  -92.043  < 2e-16 ***
## entidadSAN LUIS POTOSÍ      0.336079   0.002434  138.081  < 2e-16 ***
## entidadSINALOA             -0.075263   0.002390  -31.497  < 2e-16 ***
## entidadSONORA              -0.286507   0.002407 -119.008  < 2e-16 ***
## entidadTABASCO              0.103653   0.002494   41.556  < 2e-16 ***
## entidadTAMAULIPAS           0.077479   0.002323   33.353  < 2e-16 ***
## entidadTLAXCALA             0.664583   0.002920  227.607  < 2e-16 ***
## entidadVERACRUZ             0.394083   0.002151  183.180  < 2e-16 ***
## entidadYUCATÁN              0.538440   0.002555  210.733  < 2e-16 ***
## entidadZACATECAS            0.262401   0.002701   97.143  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 7065101  on 161875  degrees of freedom
## Residual deviance: 5792403  on 161844  degrees of freedom
## AIC: 6870774
## 
## Number of Fisher Scoring iterations: 4

El modelo ajustado estima la probabilidad de participaci?n electoral como funci?n del efecto fijo de la entidad federativa. El uso de un enfoque logit binomial permite capturar la propensi?n relativa al voto en cada estado, controlando por el tama?o del padr?n.

Principales hallazgos: Significancia estad?stica global:

Todos los coeficientes estimados son altamente significativos (p < 0.001), lo cual respalda la hip?tesis de que la entidad tiene un efecto diferencial sustantivo sobre la probabilidad de votar.

Interpretaci?n de los coeficientes:

Los coeficientes representan el log-odds de votar respecto a la entidad de referencia (Intercept), que en este caso es AGUASCALIENTES (por orden alfab?tico si no se fij? manualmente otra referencia).

Por ejemplo:

entidadTLAXCALA = 0.6646 implica que las secciones en Tlaxcala tienen una mayor propensi?n relativa al voto que Aguascalientes, con un odds ratio de exp(0.6646) ??? 1.94, es decir, casi el doble de probabilidad ajustada de votar.

En contraste, entidadBAJA CALIFORNIA = -0.5066 indica una menor probabilidad relativa, con un odds ratio de exp(-0.5066) ??? 0.60, lo que equivale a una reducci?n del 40% en la probabilidad ajustada respecto a la referencia.

Desempe?os extremos:

Entidades con mayor propensi?n al voto (positivos):

TLAXCALA, YUCAT?N, CAMPECHE, VERACRUZ presentan los efectos positivos m?s altos, revelando contextos socio-pol?ticos o log?sticos favorables para la movilizaci?n.

Entidades con menor propensi?n (negativos):

BAJA CALIFORNIA, SONORA, DURANGO, GUANAJUATO muestran efectos negativos importantes, que podr?an relacionarse con abstencionismo estructural, desafecci?n o contextos urbanos m?s complejos.

Bondad de ajuste del modelo:

La reducci?n del null deviance (7,065,101) a la residual deviance (5,792,403) indica una mejora sustantiva al incluir los efectos por entidad.

El AIC de 6,870,774 es un indicador ?til para comparar con modelos alternativos (por ejemplo, modelos jer?rquicos con efectos aleatorios o multivariables).

Boxplot y densidad de participacion

# Visualizacion robusta para evaluar dispersion y outliers a nivel entidad
ggplot(datos, aes(x = reorder(entidad, participacion, FUN = median), y = participacion)) +
  geom_boxplot(fill = "lightblue", outlier.shape = NA) +
  coord_flip() +
  labs(title = "Distribucion de participacion por entidad (Boxplot)",
       x = "Entidad", y = "Participacion") +
  theme_minimal()

El an?lisis de distribuci?n mediante boxplots proporciona una visi?n robusta de la mediana, la dispersi?n y los valores extremos de la participaci?n electoral en cada entidad federativa. Esta herramienta es fundamental para identificar asimetr?as, brechas internas y posibles anomal?as.

Heterogeneidad interna entre entidades:

Entidades como Tlaxcala, Chiapas, Campeche y Yucat?n presentan boxplots altos, con medianas por encima del 60% y rangos intercuart?licos m?s compactos, lo que sugiere una participaci?n alta y homog?nea en t?rminos territoriales.

En el otro extremo, entidades como Baja California, Sonora y Quintana Roo exhiben valores centrales por debajo del 40%, y una mayor dispersi?n, reflejando desaf?os estructurales en la movilizaci?n del electorado.

Outliers y colas largas:

Se observan colas derechas en algunas entidades como Veracruz o Zacatecas, lo cual sugiere que aunque la mayor?a de las secciones tienen participaci?n promedio, hay unidades con niveles excepcionalmente altos (posiblemente rurales o con fuerte presencia c?vica).

Colas izquierdas en estados como Durango, Guanajuato y Chihuahua podr?an denotar zonas de desafecci?n electoral o patrones de abstenci?n selectiva.

An?lisis de rango intercuart?lico (IQR):

El ancho del IQR refleja la variabilidad territorial dentro de cada estado. Por ejemplo, Veracruz y San Luis Potos? muestran una dispersi?n mayor a pesar de tener medianas similares, lo que implica una alta desigualdad interna en el comportamiento electoral.

# Seleccion de entidades mas representadas (top 6) para analisis de densidad
top_entidades <- datos %>%
  count(entidad, sort = TRUE) %>%
  top_n(6, n) %>%
  pull(entidad)

# Curvas de densidad para comparar distribucion interna de participacion
ggplot(filter(datos, entidad %in% top_entidades),
       aes(x = participacion, fill = entidad)) +
  geom_density(alpha = 0.3) +
  labs(title = "Distribucion de participacion (densidad) por entidad",
       x = "Proporcion de participacion", y = "Densidad") +
  theme_minimal()

Conclusion :
La visualizacion mediante funciones de densidad estimada permite comparar de forma continua la distribucion de la proporcion de participaci?n electoral en seis entidades federativas representativas.

Asimetr?as y curtosis diferenciadas:

Entidades como Guanajuato y M?xico presentan curvas m?s sim?tricas y estrechas, lo que indica una distribuci?n homog?nea de la participaci?n entre secciones, con menor dispersi?n interna.

En contraste, Ciudad de M?xico y Veracruz muestran curvas m?s anchas o bimodales, lo que refleja heterogeneidad intraentidad significativa, posiblemente por diferencias urbanas/rurales o socioecon?micas.

Mediana de participaci?n desplazada:

Jalisco y Puebla presentan un sesgo negativo, con la densidad concentrada en el rango de participaci?n baja o media-baja (30-50%). Esto puede evidenciar problemas estructurales de abstencionismo o menor efectividad en la movilizaci?n electoral.

Solapamiento parcial de distribuciones:

Aunque existe un punto de cruce com?n entre 0.45 y 0.55, las entidades se diferencian significativamente en su densidad relativa, lo cual justifica un enfoque de an?lisis territorial en niveles subnacionales.

Ajuste de una distribución Beta a la variable de participacion

library(fitdistrplus)

# Ajustar distribucion beta a la variable de participacion (escalada a (0,1))
# Para evitar problemas en los extremos 0 y 1, realizamos una transformacion
participacion_beta <- datos$participacion
participacion_beta[participacion_beta == 1] <- 0.999
participacion_beta[participacion_beta == 0] <- 0.001

# Ajuste con metodo de maxima verosimilitud
ajuste_beta <- fitdist(participacion_beta, "beta", method = "mle", start = list(shape1 = 2, shape2 = 2))

# Graficos diagnosticos del ajuste
plot(ajuste_beta)

An?lisis t?cnico del ajuste Beta (gr?ficos diagn?sticos): Empirical and theoretical dens. (Arriba izquierda): El histograma de los datos emp?ricos muestra una ligera asimetr?a derecha, mientras que la curva te?rica beta (en rojo) se ajusta razonablemente bien, aunque subestima los extremos. Esto sugiere que el modelo capta adecuadamente la forma general, pero podr?a ser mejorado si se separan entidades con distribuciones m?s sesgadas.

Q-Q plot (Arriba derecha): Las desviaciones en la parte inferior y superior indican que el modelo beta no representa perfectamente los cuantiles m?s bajos ni los m?s altos de la distribuci?n. Las colas emp?ricas son m?s gruesas, lo que puede ser atribuible a heterogeneidad no modelada entre secciones.

Empirical and theoretical CDFs (Abajo izquierda): Las funciones de distribuci?n emp?rica y te?rica se solapan correctamente en el rango central (0.3-0.7), pero divergen ligeramente en los extremos. Esto refuerza la idea de que el modelo es razonablemente bueno, pero no ?ptimo para valores extremos de participaci?n.

P-P plot (Abajo derecha): Similar al CDF, este gr?fico indica que la distribuci?n te?rica sigue de cerca la acumulaci?n de probabilidades reales, pero subestima la participaci?n baja (< 0.3) y sobreestima la intermedia (??? 0.6). ## Análisis de correlación entre variables relevantes

Conclusión general El análisis técnico de participación electoral con datos del INE 2021 revela que la ubicación geográfica tiene un efecto sustantivo y altamente significativo sobre la propensión al voto, con entidades como Tlaxcala, Yucatán y Campeche destacando por su alta participación ajustada, mientras que Baja California, Sonora y Guanajuato muestran patrones de abstención estructural. Las visualizaciones mediante boxplots y densidades evidencian una marcada heterogeneidad territorial e intraestatal, incluyendo distribuciones bimodales y sesgos asimétricos que sugieren diferencias urbanas-rurales, socioeconómicas y organizacionales. El ajuste de la distribución Beta resultó adecuado en el rango medio de participación, pero mostró limitaciones en los extremos, revelando la necesidad de modelos mixtos o jerárquicos. Además, la correlación negativa entre el tamaño del padrón y la participación indica un potencial efecto escalar, donde las secciones más grandes presentan menor movilización relativa, posiblemente por complejidad logística o dispersión social. Estos hallazgos validan la consistencia interna de los datos y justifican el desarrollo futuro de modelos multinivel o espaciales para captar dependencias estructurales y mejorar la comprensión del comportamiento electoral subnacional.