• No se han encontrado resultados

Delitos en la Ciudad de México

N/A
N/A
Protected

Academic year: 2022

Share "Delitos en la Ciudad de México"

Copied!
15
0
0

Texto completo

(1)

INSTITUTO TECNOLÓGICO AUTÓNOMO DE MÉXICO

FUENTES DE INFORMACIÓN

“Delitos en la Ciudad de México”

Jueves 25 de junio 2020

Bernardo Altamirano García --- Clave: 167881

José Visoso Parás --- Clave: 171531

(2)

Índice

Índice 2

Introducción 3

Problema 3

Contexto de la organización 3

Fuentes de datos 3

Retos para la ingesta y análisis de los datos 3

Temas potenciales a analizar 4

Preguntas a responder 4

Arquitectura 5

Resultados obtenidos 6

Otros Mapas 12

Prueba de concepto 12

Conclusiones 13

Anexo 14

(3)

Introducción

El objetivo de este proyecto es hacer una prueba de concepto para entender la utilidad de nuevas tecnologías de procesamiento de datos en aumentar la seguridad en la CDMX. El proyecto se enfoca en Hadoop, ya que permite el análisis de grandes volúmenes de datos a altas velocidades.

Problema

La seguridad en México y sobretodo en la CDMX, siempre se ha considerada como uno de los factores de riesgo más grandes tanto para los turistas como para los ciudadanos. Las noticias y los periódicos cubren los casos más alarmantes o llamativos, sin embargo, hay una inmensidad de delitos de los cuales el público no se entera. El objetivo de este documento es buscar correlaciones entre la información que hay disponible sobre los delitos cometidos en los últimos años.

Contexto de la organización

La Procuraduría General de Justicia del Estado (PGJ) es una institución mexicana encargada de investigar los delitos ocurridos en México y de perseguir a los probables responsables de los mismos, encargándose del cumplimiento las leyes.

Debido a la población tan grande de México y por su alto nivel de delitos, la PGJ cuenta con una gran cantidad de casos reportados cada año. Con fines de encontrar relaciones entre los lugares donde ocurren delitos y otros datos demográficos de esos lugares, se utilizaron fuentes de datos públicas del gobierno como ingreso económico por

región, densidad de población, uso de suelo y más.

Fuentes de datos

Los datos utilizados en este proyecto fueron obtenidos de fuentes de datos públicas en México, dentro de ellas se encuentran las siguientes:

1. Carpeta de investigación PGJ:

https://datos.cdmx.gob.mx/explore/d ataset/carpetas-de-investigacion-pgj -de-la-ciudad-de-mexico/table/?disju nctive.ao_hechos&disjunctive.delito 2. Carpeta de víctimas PGJ

2019-2020:

https://datos.cdmx.gob.mx/explore/d ataset/victimas-en-carpetas-de-inves tigacion-pgj/table/

3. Uso de suelo:

https://datos.cdmx.gob.mx/explore/d ataset/uo-de-suelo/table/

4. Escuelas públicas:

https://datos.cdmx.gob.mx/explore/d ataset/escuelas-publicas/table/

5. Densidad poblacional cdmx

http://132.248.14.102/layers/CapaBa se:ii_4_1_densidad

Retos para la ingesta y análisis de los datos

La carpeta de investigación de la PGJ contiene 1,005,074 registros de delitos y 342,976 registros de víctimas;

consecuentemente, esta cantidad de datos no es fácil de interpretar con las herramientas tradicionales de análisis y visualización de datos. Este es un problema, sobre todo cuando se busca

(4)

utilizar otros factores y otras bases de datos para encontrar correlaciones entre estas.

Temas potenciales a analizar

Al observar las fuentes de datos obtenidas, se decidió la siguiente lista de temas por analizar para encontrar resultados interesantes sobre los delitos:

● Evolución del crimen en la ciudad:

○ Por zonas (colonias y alcaldías)

○ Por tipo de crimen

(clasificación del crimen y tipo de crimen)

○ Por hora del día (distribución de cada clasificación por hora)

○ Por sexo

○ Por edad de víctima

● Relaciones:

○ Densidad de población

○ Escuelas

○ Areas verdes

○ Bancos

○ Época del año

Preguntas a responder

1. ¿Cuáles son las 5 categorías de delitos más comunes?

2. ¿Cuáles son los 10 delitos con más ocurrencias registrados?

3. ¿Cuáles son las 5 alcaldías con más delitos?, ¿cuáles son los 5 delitos más comunes en las dos alcaldías que tienen más delincuencia?

4. ¿Cuáles son las 5 colonias con más delitos?, ¿cuáles son los 5 delitos más comunes en las dos colonias que tienen más delincuencia?

5. ¿Cómo se distribuyen las víctimas por sexo?

6. ¿Cuáles son los 6 delitos más recurrentes en mujeres?, ¿y en hombres?

7. ¿Cómo están los delitos graves distribuidos geográficamente?

8. ¿Cómo se distribuyen los crímenes por año?

9. ¿Cómo se distribuyen los delitos cometidos por hora del día?

10. ¿Cómo se distribuyen las víctimas del 2019 y 2020, por edad?

11. ¿Cuál es la relación entre homicidio y densidad de población?

12. ¿Cuáles son las 5 concentraciones de 1km con más delitos?, ¿qué delitos son?

(5)

Arquitectura

La arquitectura necesaria para su ingesta, procesamiento, almacenamiento y, de ser necesario, integración con los sistemas empresariales

Para poder analizar más de un millón de datos sobre las víctimas y delitos, fue necesario utilizar la arquitectura de Hadoop MapReduce. Para ello, utilizamos un Mapper correspondiente a cada archivo y dos ​Reducers​, uno para agrupaciones simples y otro para agrupaciones con subagrupaciones. El código utilizado en estos scripts se encuentra en el Anexo, los scripts son los siguientes:

1. Mapper.py

Este es el script en donde se hace un mapeo del archivo delitos.tsv, este Mapper toma las 18 columnas del archivo y las señala con la llave y valor que se requieran para el análisis de los datos.

2. Mapper2.py

Similar al anterior, este el script en donde se hace un mapeo del archivo victimas.tsv, este Mapper toma las 23 columnas del archivo y las señala con la llave y valor que se requieran para el análisis de los datos.

3. Reducer.py

Este script es utilizado una vez que ya se hizo el mapeo. Este Reducer hace una agrupación de las llaves enviadas por el Mapper y cuenta el número de veces que se encuentra esta llave en los datos.

4. Reducer2.py

Nuevamente, este script es utilizado una vez que ya se hizo el mapeo.

Este Reducer hace una agrupación de las llaves enviadas por el Mapper y una sub agrupación con el valor enviado por el Mapper, por lo que resulta por darte un grupo más grande con la cuenta de ocurrencias de cada subgrupo dentro de él.

Afortunadamente, se pudo hacer el procesamiento de estos datos de manera local con una velocidad aceptable. Sin embargo, para probar las herramientas aprendidas en el curso, se utilizó Hadoop para hacer el MapReduce en la alta cantidad de datos obtenidos; como se esperaba, se obtuvo el mismo resultado con ambos métodos, pero la velocidad de procesamiento fue muy similar.

El programa en inicial se llevó a mano para probar el análisis de los datos preliminar.

(6)

Resultados obtenidos

1. ¿Cuáles son las 5 categorías de delitos más comunes?

2. ¿Cuáles son los 10 delitos con más ocurrencias registrados?

3. ¿Cuáles son las 5 alcaldías con más delitos?, ¿cuáles son los 5 delitos más comunes en las dos alcaldías que tienen más delincuencia?

4. ¿Cuáles son las 5 colonias con más delitos?, ¿cuáles son los 5 delitos más comunes en las dos colonias que tienen más delincuencia?

(7)

5. ¿Cómo se distribuyen las víctimas por sexo?

6. ¿Cuáles son los 6 delitos más recurrentes en mujeres?, ¿y en hombres?

7. ¿Cómo están los delitos graves distribuidos geográficamente?

Homicidio Doloso

Secuestro

(8)

Violación

Lesiones dolosas por disparo de

arma de fuego

8. Gráfica por tipo de crimen por año

9. Histograma de delitos cometidos por hora del día:

Al observar la distribución por hora del día de los delitos cometidos en la CDMX, se notó que la hora pico es a las 12 del día, lo cual fue en contra de la hipótesis planteada (que habrían más delitos en la noche y madrugada).

Para entender esto mejor, se realizó otra agrupación para ver los delitos por tipo de delito por hora, la gravedad del delito fue ilustrada con amarillo, naranja y rojo, siendo el último el más grave:

(9)
(10)
(11)

10. Histograma de víctimas del 2019 y 2020, por edad

Al analizar la distribución de las víctimas de delito en los últimos dos años, se notó que la gran mayoría se encuentran en el rango de 24 y 50 años, esto puede ser debido a que es el rango de edad con mayor actividad económica, por la que están más expuestos a todo tipo de crímenes. Un dato que llama la atención es que hay 1166 registros de víctimas de 0 años de edad. Al analizar estos datos, fue observado que son debido a un mal registro, ya que, corresponden a todo tipo de delitos que no son relacionados a infantes, rechazando la hipótesis de que fueran mujeres embarazadas o recién nacidos.

11. Comparación homicidio con densidad de población

Al observar el mapa es claro que las concentraciones de homicidios se encuentran en las áreas más densamente pobladas de la ciudad

12. ¿Cuáles son las 5

concentraciones de 1km con más delitos?, ¿qué delitos son?

(19.41,-99.16) ; 6562 (19.43,-99.13) ; 7813 (19.42,-99.16) ; 8850 (19.44,-99.15) ; 9482 (19.42,-99.14) ; 12509 (19.43,-99.14) ; 14041

(12)

Otros Mapas

Homicidio escuelas

Violacion areas verdes

Heat map crímenes

Prueba de concepto

Este proyecto se realizó con una máquina virtual en un servidor único, lo cual limitó la capacidad de procesamiento disponible para este proyecto, sin embargo esto nos permitió comprobar el diseño y la

arquitectura del mismo. Esta prueba permitió demostrar la viabilidad y posible uso del análisis que se puede obtener de los datos. Al contar con mayor eficiencia al incrementar el poder de procesamiento en la arquitectura propuesta se logra un

análisis casi en tiempo real, proporcionando datos útiles al instante.

En este proyecto se logró un análisis preliminar de los datos observado su posible utilidad al usar las nuevas tecnologías. Es evidente que existe una correlación entre varios factores como horario, ubicación y género, entre otros.

Analizar la correlación entre estos factores ayudaría a un mejor manejo y monitoreo del crimen en la CDMX.

(13)

Conclusiones

El primer obstáculo en este proyecto fue encontrar buenas fuentes de datos, una vez logrado eso, fue muy útil el conocimiento sobre Hadoop y MapReduce con el cual se pudo contestar las preguntas planteadas al principio del proyecto. Es importante identificar que correlación no implica causalidad, ya que esto puede ser una falacia al analizar los resultados obtenidos.

Sin embargo, los resultados nos sirven para identificar patrones y poder sugerir algunos puntos clave que la PGJ puede vigilar para tratar de reducir los crímenes en la ciudad de México.

Dada la limitación de tiempo y recursos con la que se cuenta, no se pudo implementar un sistema de aprendizaje de máquina que nutra este proyecto. Sin embargo, en un futuro se podría implementar un modelo que sirva para detectar relaciones estadísticas de dónde se podrían presentar crímenes y a qué hora siguiendo tendencias anteriores; de este modo, se podría anticipar la policía para poder brindar mayor seguridad a los ciudadanos. Además, con más tiempo, más datos y más capacidad de procesamiento, se podría realizar un análisis comparativo y de correlación con otros factores, que no se tomaron en cuenta, para determinar la relevancia estadística de estos y su impacto en los crímenes.

(14)

Anexo

Mapper.py

#!/usr/bin/python3

import sys

for Line in sys.stdin:

Data = Line.strip().split("\t") if len(Data) == 18:

ao_hechos, mes_hechos,

fecha_hechos, delito, categoria_delito, fiscalia, agencia, unidad_inve$

print

("{0}\t{1}".format(fecha_hechos[11:13],delito ))

Maper2.py

#!/usr/bin/python3

import sys

for Line in sys.stdin:

Data = Line.strip().split("\t") if len(Data) == 23:

idCarpeta, Año_inicio, Mes_inicio, FechaInicio, Delito, Categoria, Sexo, Edad, TipoPersona$

print ("{0}\t{1}".format(Edad,Delito))

Reducer.py import sys

#!/usr/bin/python3

Acumulados = 0 delitoAnt = None for line in sys.stdin:

DataIn = line.strip().split("\t") if len(DataIn) != 2:

# Hay algo raro, ignora esta linea continue

esteDelito, esteValor = DataIn

if delitoAnt and delitoAnt != esteDelito:

print (delitoAnt, "\t", Acumulados) delitoAnt = esteDelito;

Acumulados = 0 delitoAnt = esteDelito Acumulados += esteValor if delitoAnt != None:

print (delitoAnt, "\t", Acumulados)

(15)

Reducer2.py

#!/usr/bin/python3 import sys

Acumulados = {}

latAnt = None longAnt = None

for line in sys.stdin:

DataIn = line.strip().split("\t") if len(DataIn) != 2:

# Hay algo raro, ignora esta linea continue

longEste, latEste = DataIn latEste= latEste[0:5]

longEste = longEste[0:6]

if longEste and longEste != latAnt or latEste and latEste != latAnt:

for key in Acumulados:

if Acumulados[key] != 0:

print(key, "\t", Acumulados[key]) latAnt = latEste

longAnt = longEste Acumulados =

dict.fromkeys(Acumulados, 0)

latAnt = latEste longAnt = longEste

tupla = "(" + latEste + "," + longEste + ")"

if tupla in Acumulados:

Acumulados[tupla] += 1 else:

Acumulados[tupla] = 1

if latAnt is None:

for key in Acumulados:

if Acumulados[key] != 0:

print(key, "\t", Acumulados[key])

Referencias

Documento similar

Este trabajo de investigación tuvo como propósito comparar la especificidad y sensibilidad, además de realizar un análisis comparativo de tiempo y costo, de dos pruebas rápidas para

Además de mostrar la selección técnica de cada elemento del tren motriz, así como los factores que se consideran para el análisis del desempeño como: la capacidad de arranque y

Tiempo de estratificación ... Análisis de datos prueba de trazadores .... Correlación de equipo de medición de temperatura HOBO con estación automática ... Correlación de

Bueno, se podría aprovechar el tiempo en datos más relevantes.. Fue muy tedioso, faltó dinamismo en

En este primer capítulo se realizará un breve análisis de los datos públicos disponibles sobre violaciones graves a los derechos humanos cometidas en la Ciudad

A continuación, se presenta los datos tomados antes de realizar la implementación del nuevo accesorio de voladura, para luego realizar el análisis comparativo de

competidores para cada uno de los factores estratégicos incluidos en el análisis. Análisis comparativo de cada uno de los factores estratégicos por cada país. El 11% provino

Análisis de correlación Analizados los datos divulgados dentro de cada categoría de capital intelectual, se realiza un análisis de correlación entre los factores determinantes de