Cómo se ha hecho el estudio

Metodología

Pregunta de investigación

¿La siniestralidad peatonal en Madrid se distribuye de forma homogénea entre sus 131 barrios, o es un riesgo socialmente desigual? ¿Qué factores socioeconómicos predicen la exposición relativa del peatón al accidente y la severidad de sus consecuencias?

Conjuntos de datos reutilizados

Todas las fuentes proceden del portal oficial datos.madrid.es, bajo licencia Creative Commons Attribution 4.0 (CC BY 4.0):

  1. Accidentes de tráfico de la ciudad de Madrid (2019-2025) Dataset oficial 300228 del Ayuntamiento de Madrid. Un registro por persona implicada en accidente, tal como queda inscrito por la Policía Municipal. Los ficheros de 2019 en adelante incluyen coordenadas UTM ETRS89 zona 30N, tipo de accidente, tipo de persona (peatón, conductor, pasajero, ciclista), lesividad, rango de edad, sexo, estado meteorológico y positivos de alcohol/droga. Se han procesado los 7 ficheros anuales (CSV y XLSX según disponibilidad oficial):
    Ficha del conjunto en el portal
  2. Panel de indicadores de distritos y barrios de Madrid Dataset oficial 300087, edición 2023. Elaborado por la Subdirección General de Desconcentración, Acción Territorial y Estudios. Más de 100 indicadores por barrio agrupados en 18 categorías: población, economía, empleo, educación, salud, vivienda, seguridad, medio ambiente, vulnerabilidad (IGUALA), calidad de vida, participación ciudadana, entre otros. El fichero CSV en formato largo contiene 116.908 filas con series temporales desde 2008.
    Ficha del conjunto en el portal
  3. Barrios municipales de Madrid (geometrías oficiales) Dataset oficial 300496, versión v3.4.1 del Nomenclátor. Shapefile con los 131 polígonos oficiales en sistema de referencia EPSG:25830 (ETRS89 / UTM zona 30N), el mismo CRS en el que vienen las coordenadas del dataset de accidentes, lo que permite el spatial join sin reproyección.
    Ficha del conjunto en el portal

Nota clave: el portal oficial advierte explícitamente que «actualmente no se dispone de datos por barrio» en el dataset de accidentes. La asignación barrio a barrio es una aportación propia del proyecto mediante el spatial join sobre las geometrías oficiales. Ese cruce es lo que habilita todo el análisis posterior.

Pipeline ETL

1. Ingesta y normalización

Se cargaron 7 CSV/XLSX anuales (2019-2025) con encoding UTF-8-sig. El fichero oficial del año 2020 se descargó en formato XLSX porque la versión CSV del portal contenía un problema de delimitadores. Se aplicó deduplicación sobre la tupla (num_expediente, tipo_persona, cod_lesividad, rango_edad, sexo, coordenadas). Resultado: 312.230 registros únicos, de los cuales 10.891 son peatones, 3.575 heridos graves y 205 fallecidos.

2. Asignación a barrio (spatial join)

Como los datos oficiales no incluyen el barrio, se realizó un spatial join entre las coordenadas UTM de cada accidente y los polígonos oficiales de los 131 barrios (mismo CRS EPSG:25830). Tasa de asignación: 99,95% (169 registros descartados por estar en frontera con municipios vecinos o tener coordenadas erróneas).

3. Cruce con Panel de Indicadores

Se tomó el valor más reciente disponible (2023-2024) para 11 variables clave por barrio: población, superficie, densidad, edad media, % mayores de 65, tamaño del hogar, % migrantes, renta neta media de los hogares (Urban Audit), renta disponible media por persona, tasa de paro registrado e Índice de Vulnerabilidad Territorial Agregado (IGUALA).

Indicadores derivados

Para cada uno de los 131 barrios se calcularon:

Análisis estadístico

Correlaciones

Se calcularon coeficientes de correlación de Pearson entre las variables socioeconómicas y los indicadores de siniestralidad, con test de significancia y n = 131 barrios.

Desigualdad espacial

Se calculó el coeficiente de Gini espacial del % de peatones atropellados por barrio, comparándolo con el de la renta por persona como referencia. Un Gini cercano a 0 indica distribución igualitaria; cercano a 1 indica máxima concentración.

Regresión múltiple OLS

Modelo lineal con 7 predictores estandarizados (renta_persona, renta_hogares, tasa_paro, indice_vuln, densidad, pct_migrantes, pct_mayores_65) sobre cada uno de los indicadores de siniestralidad. Implementado con statsmodels.

Modelo predictivo Random Forest

Ensemble de 500 árboles muy regularizado (profundidad máxima 3, mínimo 8 muestras por hoja) entrenado con scikit-learn y validado con 5-fold cross-validation. Se calcula la importancia de variables por permutación (15 repeticiones) — más robusta que la importancia tradicional de Gini de scikit-learn. Dada la limitada n=131, el modelo lineal OLS resulta más interpretable y no se ve superado por el RF.

Limitaciones

El análisis se basa en accidentes registrados por la Policía Municipal, lo cual excluye caídas y sucesos sin intervención policial. Los indicadores socioeconómicos corresponden al último año disponible (2023-2024) y pueden no reflejar cambios recientes. La relación causal (renta → siniestralidad) no se prueba, solo la asociación. Las correlaciones no implican causalidad: pueden existir variables latentes (diseño viario, calidad de aceras, volumen de tráfico motorizado) que medien ambas.

Reproducibilidad

Todo el pipeline es reproducible. Los 3 scripts de ETL están disponibles en el repositorio del proyecto, junto con los hallazgos en formato JSON y CSV. La API REST permite consultar los mismos datos que alimentan esta web. Licencia del código: MIT.

Este estudio no busca demostrar causalidad, sino hacer visible una geografía social que los datos oficiales ya contenían pero que no estaba articulada en una narrativa accesible.