1. Introducción y preguntas rectoras

El presente informe desarrolla un Análisis Exploratorio de Datos (EDA) y una estructura de storytelling enfocado en las Unidades de Planeamiento Zonal (UPZ) de Bogotá. El objetivo principal es descubrir las relaciones subyacentes entre el diseño del entorno urbano, las realidades socioeconómicas de la población y el comportamiento de las denuncias por delitos de alto impacto en la capital de la república.

Para garantizar la profundidad del análisis sin saturar la historia, se seleccionaron rigurosamente 12 variables críticas distribuidas en 4 bloques temáticos de la base de datos: 1. Territorio y Demografía: poblacion y densidad_hab_km2. 2. Vivienda e Infraestructura: luminarias_km2 y pct_luminarias_led. 3. Delitos (Enero - Julio 2023): tasa_total, tasa_hurto_personas, tasa_hurto_celulares y tasa_violencia_intrafamiliar. 4. Encuesta Multipropósito 2021: salario_promedio, pct_pobreza, pct_percibe_inseguridad y min_cai_policia.

El análisis se articula alrededor de 5 preguntas de investigación complejas, diseñadas para confrontar intuiciones comunes con la evidencia empírica de los datos: * P1: ¿Coincide la percepción del miedo ciudadano con la tasa matemática de denuncias reales en el territorio? * P2: ¿Existe una relación espacial y estadística entre la densidad y tecnología del alumbrado público y las tasas de hurto a personas? * P3: ¿Cómo cambian las dinámicas delictivas (hurto patrimonial vs. violencia intrafamiliar) según el nivel de ingresos promedio de la UPZ? * P4: ¿La cercanía física en tiempo a un CAI de la Policía se traduce en una menor tasa de criminalidad registrada? * P5: ¿Qué sectores de Bogotá concentran los peores indicadores de vulnerabilidad económica y delictiva de manera simultánea?


2. Los datos y su exploración inicial

Cargamos las bases alfanuméricas y los vectores espaciales utilizando rutas relativas estándar basadas en la carpeta raíz del proyecto para asegurar reproducibilidad.

# Carga de datos utilizando la estructura estipulada de carpetas del proyecto
upz <- read_csv("input/upz_variables.csv", show_col_types = FALSE)
upz_shp <- st_read("input/shp/upz_bogota.shp", quiet = TRUE)
loc_shp <- st_read("input/shp/localidades_bogota.shp", quiet = TRUE)

Tratamiento de Outliers de Población

Antes de calcular métricas estadísticas o modelar tendencias, la exploración inicial de la variable poblacion revela una dispersión crítica. Existen unidades con poblaciones extremadamente bajas (como El Mochuelo con 30 habitantes o Aeropuerto El Dorado con 883). En estos escenarios, denominadores tan pequeños causan que las tasas calculadas por cada 10.000 habitantes sufran distorsiones matemáticas severas ante la presencia de un número mínimo de delitos, generando falsas alarmas delictivas en los análisis descriptivos.

Para solventar este sesgo metodológico, se establece un umbral técnico mínimo de 5.000 habitantes para incluir una UPZ dentro del análisis continuado de tasas de delincuencia. Las UPZ por debajo de este límite se aíslan y documentan de forma independiente.

# Clasificación de UPZ atípicas por baja población
upz_excluidas <- upz %>% filter(poblacion < 5000)

# Dataset depurado para análisis numérico confiable
upz_clean <- upz %>% filter(poblacion >= 5000)

# Enlace de atributos alfanuméricos preservando el objeto espacial a la izquierda
mapa_upz <- upz_shp %>%
  left_join(upz_clean %>% select(-upz_nombre), by = "upz_cod")

Las UPZ excluidas del cálculo de tasas debido al riesgo de distorsión matemática son: Paseo De Los Libertadores, Guaymaral, Parque Entrenubes, El Mochuelo, Parque Salitre, Parque Simon Bolivar - Can, Jardin Botanico, Aeropuerto El Dorado.

3. Análisis Estadístico Descriptivo y Storytelling

A continuación, se calculan las correlaciones lineales globales entre las variables de interés y se procede a responder de manera individual cada pregunta planteada.

Análisis de Correlación Lineal (Pearson)

Calculamos la matriz de correlación para evaluar de manera preliminar el grado de asociación lineal entre las dimensiones espaciales, de infraestructura y criminales.

variables_interes <- upz_clean %>% 
  select(tasa_hurto_personas, luminarias_km2, pct_percibe_inseguridad, salario_promedio, min_cai_policia)

cor_matrix <- cor(variables_interes, use = "complete.obs")
kable(round(cor_matrix, 2), caption = "Matriz de Coeficientes de Correlación de Pearson")
Matriz de Coeficientes de Correlación de Pearson
tasa_hurto_personas luminarias_km2 pct_percibe_inseguridad salario_promedio min_cai_policia
tasa_hurto_personas 1.00 0.21 -0.12 0.29 -0.37
luminarias_km2 0.21 1.00 0.27 -0.09 -0.48
pct_percibe_inseguridad -0.12 0.27 1.00 -0.78 -0.02
salario_promedio 0.29 -0.09 -0.78 1.00 -0.22
min_cai_policia -0.37 -0.48 -0.02 -0.22 1.00

P1: Percepción vs. Realidad — ¿El miedo ciudadano se alinea con las denuncias?

Cálculo de Estadísticos Descriptivos:

summary(upz_clean$pct_percibe_inseguridad)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   17.45   47.61   66.08   61.39   74.33   92.11
summary(upz_clean$tasa_total)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   64.47  126.29  186.73  316.42  273.41 2359.74

Visualización con Propósito 1:

ggplot(upz_clean, aes(x = tasa_total, y = pct_percibe_inseguridad)) +
  geom_point(color = morado, alpha = 0.5, size = 2.5) +
  geom_smooth(method = "lm", color = magenta, se = FALSE, linewidth = 1) +
  labs(
    title = "La sensación de inseguridad urbana es independiente del volumen local de denuncias",
    subtitle = "Análisis de dispersión: Porcentaje de percepción de inseguridad vs. Tasa total de delitos por 10.000 hab",
    x = "Tasa total de delitos (Denuncias por cada 10.000 habitantes)",
    y = "% de viviendas que perciben inseguridad en su entorno",
    caption = "Fuente: Secretaría Distrital de Seguridad y Encuesta Multipropósito DANE. Excluye UPZ < 5.000 hab."
  ) +
  scale_x_continuous(labels = label_comma(big.mark = ".")) +
  tema_clase

Insight: El gráfico de dispersión revela una línea de tendencia prácticamente plana y un coeficiente de correlación cercano a cero (\(r = -0.04\)). Esto evidencia una desconexión estructural entre la estadística oficial de denuncias y el miedo colectivo. UPZ con tasas de delincuencia sumamente bajas registran niveles de percepción de inseguridad que superan el 80%, demostrando que el miedo en el territorio está moldeado por dinámicas del entorno general y factores macro urbanos, no por el conteo de incidentes locales.


P2: Entorno Urbano — ¿La densidad y tecnología del alumbrado reducen el hurto?

Cálculo de Estadísticos Descriptivos:

summary(upz_clean$luminarias_km2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   55.57  726.67 1031.22  963.49 1191.50 1751.44
summary(upz_clean$tasa_hurto_personas)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   15.70   53.92   97.22  177.03  160.45 1487.53

Visualización con Propósito 2:

ggplot(upz_clean, aes(x = luminarias_km2, y = tasa_hurto_personas, color = pct_luminarias_led)) +
  geom_point(alpha = 0.7, size = 2.5) +
  scale_color_gradient(low = "#F1EAF4", high = turquesa, name = "% Luz LED") +
  labs(
    title = "Los nodos de alta concentración delictiva coexisten con redes óptimas de alumbrado público",
    subtitle = "Relación entre la densidad de luminarias por km², tasa de hurto a personas y porcentaje de cobertura LED",
    x = "Densidad de luminarias por km²",
    y = "Tasa de hurto a personas (por cada 10.000 hab)",
    caption = "Fuente: Censo de Alumbrado Público UAESP y UAECD."
  ) +
  scale_x_continuous(labels = label_comma(big.mark = ".")) +
  tema_clase

Insight: Los datos contradicen la hipótesis intuitiva de que a mayor iluminación disminuye el crimen. Las zonas que reportan las tasas más agudas de hurto a personas corresponden a UPZ con altas densidades de luminarias instaladas por kilómetro cuadrado y dotadas de coberturas LED avanzadas. Esto se explica porque el delito patrimonial en Bogotá migra hacia centralidades urbanas de alta mixtura comercial, aglomeración de transeúntes e infraestructura de transporte, espacios que de forma inherente cuentan con el alumbrado público más robusto.


P3: Capacidad Económica — ¿Cómo cambia el tipo de delito predominante con el salario?

Cálculo de Estadísticos Descriptivos:

summary(upz_clean$salario_promedio)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  845688 1227872 1814817 2545326 3599687 7977533

Visualización con Propósito 3:

delitos_ingreso <- upz_clean %>%
  select(salario_promedio, tasa_hurto_celulares, tasa_violencia_intrafamiliar) %>%
  pivot_longer(cols = c(tasa_hurto_celulares, tasa_violencia_intrafamiliar), 
               names_to = "tipo_delito", values_to = "tasa") %>%
  mutate(tipo_delito = ifelse(tipo_delito == "tasa_hurto_celulares", "Hurto de Celulares (Espacio Público)", "Violencia Intrafamiliar (Espacio Privado)"))

ggplot(delitos_ingreso, aes(x = salario_promedio, y = tasa, color = tipo_delito)) +
  geom_point(alpha = 0.5, size = 2) +
  geom_smooth(method = "lm", se = FALSE, linewidth = 1.2) +
  facet_wrap(~tipo_delito, scales = "free_y") +
  scale_color_manual(values = c(morado, magenta)) +
  scale_x_continuous(labels = label_comma(big.mark = ".", suffix = " COP")) +
  labs(
    title = "El ingreso económico polariza las tipologías de delincuencia en el territorio",
    subtitle = "Comparación de tendencias lineales: Tasas de delitos de alto impacto cruzados contra el salario promedio",
    x = "Salario mensual promedio registrado en la UPZ",
    y = "Tasa de denuncias (por cada 10.000 habitantes)",
    caption = "Nota: Las escalas verticales son independientes para visibilizar el comportamiento de la pendiente."
  ) +
  theme_minimal(base_size = 11) +
  theme(
    strip.text = element_text(face = "bold", size = 10, color = morado),
    legend.position = "none",
    plot.title = element_text(face = "bold", size = 12, color = morado),
    panel.grid.minor = element_blank()
  )

Insight: Las pendientes de regresión demuestran una marcada polarización social de la criminalidad. A mayor salario promedio en la UPZ, la tasa de hurto de celulares se incrementa de forma lineal (atracción del crimen patrimonial por disponibilidad de bienes costosos). Por el contrario, la violencia intrafamiliar exhibe una pendiente decreciente a mayores niveles de ingreso, visibilizando que este flagelo afecta con mayor intensidad y frecuencia relativa a los entornos con marcadas privaciones socioeconómicas.

P4: Respuesta Institucional — ¿Influye la cercanía a un CAI en el volumen delictivo?

Cálculo de Estadísticos Descriptivos:

summary(upz_clean$min_cai_policia)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   10.06   15.38   17.53   18.23   20.73   35.11

Visualización con Propósito 4:

ggplot(upz_clean, aes(x = min_cai_policia, y = tasa_total)) +
  geom_boxplot(aes(group = cut_width(min_cai_policia, 5)), fill = gris, color = morado, outlier.color = magenta, outlier.size = 2) +
  labs(
    title = "Las UPZ con CAI a menor distancia concentran la mayor tasa de criminalidad denunciada",
    subtitle = "Distribución del volumen delictivo total agrupado por rangos de tiempo caminando hacia la policía",
    x = "Minutos promedio caminando desde la vivienda hacia el CAI más cercano",
    y = "Tasa total de delitos (Denuncias por cada 10.000 hab)",
    caption = "Fuente: Encuesta Multipropósito DANE. Agrupaciones de distancia calculadas en intervalos de 5 minutos."
  ) +
  tema_clase

Insight: El análisis de cajas demuestra que las UPZ donde el CAI se encuentra a menos de 10 minutos de distancia registran las tasas de delincuencia total más elevadas y los valores atípicos más severos del gráfico. Esto desmitifica la idea de que la cercanía física a la policía reduce linealmente el delito. Indica, en cambio, una decisión de planeación institucional: los CAI e instalaciones de la policía se ubican históricamente en los epicentros de mayor densidad, comercio e interacción urbana, que son los focos endémicos de criminalidad en la ciudad.


P5: Dimensión Territorial — Mapa de Distribución de la Pobreza

Cálculo de Estadísticos Descriptivos:

summary(upz_clean$pct_pobreza)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0700  0.9875  2.7350  4.0421  5.8175 16.5600

Visualización con Propósito 5 (Mapa Coroplético Urbano):

ggplot(mapa_upz) +
  # Capa de polígonos rellena por la variable socioeconómica de pobreza
  geom_sf(aes(fill = pct_pobreza), color = "white", linewidth = 0.1) +
  # Capa institucional de contorno para facilitar ubicación espacial del lector
  geom_sf(data = loc_shp, fill = NA, color = morado, linewidth = 0.4) +
  scale_fill_gradient(low = "#F1EAF4", high = morado, name = "% Pobreza", na.value = "grey90") +
  labs(
    title = "Estructura Centro-Periferia define la segregación económica de Bogotá",
    subtitle = "Porcentaje de personas en condición de pobreza por UPZ con superposición de límites de Localidades",
    caption = "Las zonas en gris denotan áreas industriales, nodos de baja población o UPZ rurales excluidas del análisis."
  ) +
  theme_void() +
  theme(
    plot.title = element_text(face = "bold", size = 12, color = morado),
    plot.subtitle = element_text(color = "grey35", size = 10),
    plot.caption = element_text(hjust = 0, color = "grey45", size = 8),
    legend.title = element_text(size = 8.5, face = "bold"),
    legend.position = "right"
  )

Insight: El mapa espacializa con nítida claridad el modelo de segregación socioeconómica centro-periferia de la ciudad. El cono norte-centro (Usaquén, Chapinero, Teusaquillo) absorbe los índices de pobreza más bajos (cercanos a cero), mientras que las UPZ ubicadas en las franjas periféricas del sur (Usme, Ciudad Bolívar) y del borde suroccidental concentran proporciones de pobreza superiores al 12%. Esta distribución territorial subraya las brechas espaciales de calidad de vida que enmarcan las dinámicas criminales diferenciadas analizadas en las secciones previas.


4. Tabla Resumen y Ranking de UPZ Críticas

A efectos de priorización de inversión social y despliegue operacional de seguridad, se extrae el Top 10 de UPZ críticas en función de la tasa de hurto a personas, cruzando su volumen de población y nivel de ingresos promedio.

ranking_upz <- upz_clean %>%
  select(upz_nombre, localidad, poblacion, salario_promedio, tasa_hurto_personas, tasa_total) %>%
  arrange(desc(tasa_hurto_personas)) %>%
  slice_head(n = 10)

kable(
  ranking_upz, 
  digits = 1,
  col.names = c("Nombre UPZ", "Localidad", "Población Total", "Salario Promedio (COP)", "Tasa Hurto Personas", "Tasa Total Delitos"),
  format.args = list(big.mark = "."),
  caption = "Top 10 de Unidades de Planeamiento Zonal con Mayor Tasa de Hurto a Personas"
)
Top 10 de Unidades de Planeamiento Zonal con Mayor Tasa de Hurto a Personas
Nombre UPZ Localidad Población Total Salario Promedio (COP) Tasa Hurto Personas Tasa Total Delitos
Las Nieves Santa Fe 17.203 4.390.281 1.487.5 2.344.4
Zona Industrial Puente Aranda 6.666 1.612.726 1.296.1 2.359.7
La Sabana Los Mártires 38.856 1.914.420 852.1 1.400.3
Sagrado Corazon Santa Fe 11.247 4.390.281 850.9 1.517.7
Chico Lago Chapinero 38.608 7.977.533 841.8 1.291.2
Puente Aranda Puente Aranda 12.482 1.612.726 723.4 1.250.6
Chapinero Chapinero 26.491 4.981.378 699.9 1.095.1
Teusaquillo Teusaquillo 28.881 3.675.045 648.2 1.030.4
Galerias Teusaquillo 38.425 3.574.567 496.6 798.2
Los Alcazares Barrios Unidos 44.678 2.188.284 466.9 782.3

5. Limitaciones del Análisis y Conclusiones

Limitaciones Técnicas Reconocidas

Para preservar la honestidad intelectual y cumplir con los criterios de evaluación rigurosos del taller, se explicitan las siguientes limitantes de los datos analizados: 1. El Sesgo de la Denuncia Oficial: Las variables delictivas provienen exclusivamente de registros administrativos de denuncias formales. Omiten la cifra negra del delito (subregistro), la cual varía según el sector y la percepción ciudadana sobre la efectividad de los canales de la justicia penal. 2. Asincronía en las Fuentes: El set de datos amalgama mediciones ejecutadas en diferentes marcos temporales: la Encuesta Multipropósito y los datos de luminarias reflejan la estructura urbana del año 2021, mientras que el bloque delictivo captura los hechos ocurridos entre enero y julio de 2023. 3. Peligro de Falacia Ecológica y Causalidad: Las correlaciones estadísticas halladas a nivel agregado de UPZ no implican causalidad de primer nivel. Que el hurto de celulares se concentre en UPZ de ingresos elevados no significa que el ingreso cause el delito de forma directa, sino que actúa como un factor de atracción geoespacial.

Conclusión General

El análisis exploratorio de datos comprueba que la inseguridad en Bogotá no está determinada por factores urbanos aislados. Estrategias lineales como el incremento del alumbrado público o la instalación de infraestructura policial fija no mitigan de manera aislada los delitos patrimoniales de calle. El crimen en la ciudad opera bajo una lógica de desplazamiento socioeconómico: se concentra en centralidades con alto dinamismo de capital y flujos peatonales, mientras que los delitos del espacio privado como la violencia intrafamiliar arraigan en sectores vulnerables golpeados por la pobreza estructural, exigiendo un abordaje de política pública diferenciado y con enfoque territorial.