Sei sulla pagina 1di 90

U NIVERSIDAD N ACIONAL DE

I NGENIERÍA
FACULTAD DE C IENCIAS
E SCUELA P ROFESIONAL DE C IENCIA DE LA C OMPUTACIÓN

Análisis y Predicción de Crimen de la Ciudad de


Filadelfia

Informe

Autor: XX
Asesor: XX

Junio, 2018
Resumen

Actualmente la delincuencia es una de las preocupaciones más urgentes


que enfrenta el Perú. El problema tratado en el presente trabajo consiste en
el análisis, visualización y predicción de zonas de mayor probabilidad de
ocurrencia de crímenes en la ciudad de Filadelfia.

La presente tesis propone la aplicación de algoritmos de aprendizaje


de máquina para la predicción de zonas de alto índice delictivo dada una
ubicación geográfica y un tiempo predeterminado, aprovechando los datos
recolectados por la policía de Filadelfia que se encuentran disponibles en la
plataforma online de competencias de Data Science Kaggle. Mediante esta
trabajo se podrá predecir con cierta precisión dónde y cuándo es más probable
que un crimen ocurra, para ello se definirán las modelos y algoritmos con los
que se validará la propuesta.

El pronóstico servirá para que las personas tomen medidas preventivas a


fin de evitar robos y otros tipos de delitos de gran lesividad y además será de
utilidad para que la Policía Nacional y Serenazgos Municipales puedan realizar
las acciones de inteligencia correspondiente con el fin de evitar que estos actos
criminales ocurran.

III
Índice general

Resumen III

1. Introducción 1
1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Estructura del Seminario . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Estado del Arte 9


2.1. Metodología de Búsqueda . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. Descripción de Trabajos Relacionados . . . . . . . . . . . . . . . . 10
2.2.1. Towards Crime Prediction from Demographics and
Mobile Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.2. The utility of hotspot mapping for predicting spatial
patterns of crime . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3. Criminal incident prediction using a point-pattern-based
density model . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.4. A statistical model of criminal behavior . . . . . . . . . . . 11
2.2.5. Nonlinear Patterns in Urban Crime: Hotspots,
Bifurcations, and Suppression . . . . . . . . . . . . . . . . . 12
2.2.6. Examinin the influence of cell size and bandwidth size
on kernel density estimation crime hotspot maps for
predicting spatial patterns of crime . . . . . . . . . . . . . . 12
2.3. Técnicas de Mapas de Calor . . . . . . . . . . . . . . . . . . . . . . 13
2.3.1. Elipses Espaciales . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.2. Mapeo temático de límites geográficos . . . . . . . . . . . . 15
2.3.3. Mapeo temático de rejilla . . . . . . . . . . . . . . . . . . . 16

V
2.3.4. Estimación de densidad de kernel . . . . . . . . . . . . . . 17
2.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3. Marco Teórico 21
3.1. Aprendizaje Automático . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.1. Aprendizaje Supervisado . . . . . . . . . . . . . . . . . . . 22
3.1.2. Aprendizaje no supervisado . . . . . . . . . . . . . . . . . . 24
3.2. Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.1. Árboles de decisión . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.2. Clasificador bayesiano ingenuo . . . . . . . . . . . . . . . . 28
3.2.3. K-vecinos más cercanos . . . . . . . . . . . . . . . . . . . . 30
3.2.4. Bosques aleatorios . . . . . . . . . . . . . . . . . . . . . . . 33
3.3. Análisis de desempeño . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.1. Precisión del valor . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.2. Pérdida logarítmica . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.3. Matriz de confusión . . . . . . . . . . . . . . . . . . . . . . 36

4. Análisis de los datos 39


4.1. Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2. Descripción del problema . . . . . . . . . . . . . . . . . . . . . . . 40
4.3. Proceso de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4. Estructura de los datos . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5. Descripción de datos . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5.1. Tipo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5.2. Clasificación de crímenes . . . . . . . . . . . . . . . . . . . 45
4.6. Limpieza de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.7. Visualización de datos . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.7.1. Evolución histórica de la tasa de crímenes . . . . . . . . . . 47
4.7.2. Cantidad de crímenes cometidos por tipo . . . . . . . . . . 47
4.7.3. Cantidad de crímenes cometidos por hora . . . . . . . . . 48
4.8. Análisis exploratorio de datos . . . . . . . . . . . . . . . . . . . . . 48
4.8.1. Evolución de la cantidad de crímenes por año . . . . . . . 49

VI
4.8.2. Evolución de la cantidad de crímenes por mes . . . . . . . 51
4.8.3. Evolución de la cantidad de crímenes por hora . . . . . . . 53
4.8.4. Evolución de la cantidad de crímenes por día de la semana 55
4.8.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5. Análisis predictivo y evaluación de modelos 59


5.1. Preprocesamiento de datos . . . . . . . . . . . . . . . . . . . . . . . 59
5.2. Evaluación de algoritmos . . . . . . . . . . . . . . . . . . . . . . . 62
5.3. Comparación de algoritmos . . . . . . . . . . . . . . . . . . . . . . 63

6. Conclusiones y Trabajo Futuro 67


6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.2. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

A. Instalación de las herramientas utilizadas y repositorio del proyecto 74

VII
Índice de figuras

2.1. Técnica de mapeo de puntos. Fuente: Chainey et al. . . . . . . . . 13


2.2. Mapeo mediante elipses espaciales. Fuente: Chainey et al. . . . . 15
2.3. Mapeo temático de límites geográficos Fuente: Chainey et al. . . . 16
2.4. Mapeo temático de rejilla. Fuente: Chainey et al. . . . . . . . . . . 17
2.5. Estimación de densidad de kernel. Fuente: Chainey et al. . . . . . 18

3.1. Modelo de aprendizaje supervisado Fuente:


allprogrammingtutorials.com . . . . . . . . . . . . . . . . . . . . . . . 22
3.2. Clasificación Fuente: Python Machine Learning - Sebastian
Raschka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3. Regresión Fuente: Python Machine Learning - Sebastian Raschka 24
3.4. Agrupamiento de datos. Fuente: Python Machine Learning -
Sebastian Raschka . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5. Árbol de decisión Fuente: Python Data Science Handbook - Jake
VanderPlas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.6. Formula de la entropía. Fuente: saedsayad.com . . . . . . . . . . . . 27
3.7. Regla de bayes. Fuente: saedsayad.com . . . . . . . . . . . . . . . . 29
3.8. Variación de K influye en la forma de cómo se clasifican los
datos[16]. Fuente: Introduction to Machine Learning with python . . 32
3.9. Límites de decisión encontrados por cinco árboles de decisión
aleatorios y el límite de decisión obtenido al promediar sus
probabilidades predichas [16]. Fuente: Introduction to Machine
Learning with python . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.10. Matriz de confusión. Fuente: http://scaryscientist.blogspot.com . . . 37

4.1. Proceso de trabajo Fuente: Elaboración propia . . . . . . . . . . . . . 41


4.2. Tipos de datos. Fuente: Elaboración propia . . . . . . . . . . . . . . 44

VIII
4.3. Tipos de crímenes Fuente: Elaboración propia . . . . . . . . . . . . . 45
4.4. Tratamiento de valores faltantes. Fuente: Elaboración propia . . . . 46
4.5. Variación de la tasa de crímenes con respecto al tiempo. Fuente:
Elaboración propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.6. Cantidad de crímenes cometidos por tipos. Fuente: Elaboración
propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.7. Cantidad de crímenes cometidos por hora. Fuente: Elaboración
propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.8. Evolución histórica de la cantidad de crímenes por año. Fuente:
Elaboración propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.9. Evolución histórica de la cantidad de crímenes por año
separados por tipo. Fuente: Elaboración propia . . . . . . . . . . . . 50
4.10. Evolución histórica de la cantidad de crímenes por mes. Fuente:
Elaboración propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.11. Evolución histórica de la cantidad de crímenes por mes
separados por tipo. Fuente: Elaboración propia . . . . . . . . . . . . 52
4.12. Cantidad de crímenes cometidos por mes. Fuente: Elaboración
propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.13. Evolución histórica de la cantidad de crímenes por mes
normalizado. Fuente: Elaboración propia . . . . . . . . . . . . . . . 53
4.14. Cantidad de crímenes cometidos por hora. Fuente: Elaboración
propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.15. Comparación de la cantidad de crímenes cometidos por hora
normalizado. Fuente: Elaboración propia . . . . . . . . . . . . . . . 54
4.16. Cantidad de crímenes cometidos por hora separados por tipo.
Fuente: Elaboración propia . . . . . . . . . . . . . . . . . . . . . . . . 54
4.17. Cantidad de crímenes cometidos por día de la semana. Fuente:
Elaboración propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.18. Evolución de la cantidad de crímenes por día de la semana.
Fuente: Elaboración propia . . . . . . . . . . . . . . . . . . . . . . . . 55

IX
4.19. Cantidad de crímenes cometidos por día de de la semana
separados por tipo. Fuente: Elaboración propia . . . . . . . . . . . . 56

5.1. Comparación de algoritmos usando solo el tiempo y la posición.


Fuente: Elaboración propia . . . . . . . . . . . . . . . . . . . . . . . . 64
5.2. Comparación de algoritmos usando los distritos policiales.
Fuente: Elaboración propia . . . . . . . . . . . . . . . . . . . . . . . . 65

X
Índice de cuadros

5.1. Tipos de gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

XI
Índice de Código

XII
Índice de Acrónimos

PNUD Programa de las Naciones Unidas para el Desarrollo


ML Aprendizaje de Máquina
KDE Estimación de Densidad de Kernel
STCA Análisis Espacial y Temporal del Crimen
SIG Sistema de Información Geográfica
SL Aprendizaje Supervisado
USL Aprendizaje no Supervisado
MSE Error Cuadrático Medio
SVM Máquina de Soporte Vectorial
k-NN k Vecinos más cercanos
CART Árboles de Clasificación y Regresión
SC Agrupamiento Espacial

XIII
Agradecmientos

A mi familia por el apoyo incondicional que me brindan, y a todos los


profesores que contribuyeron con mi formación académica en la Facultad de
Ciencias de la Universidad Nacional de Ingeniería.

XV
Capítulo 1

Introducción

En los últimos años la delincuencia se ha convertido en uno de los


principales problemas del país debido a muchos factores, entre ellos la falta o
mal uso de las nuevas tecnologías por parte de los órganos encargados de la
seguridad del país como la Policía Nacional del Perú, el Serenazgo Municipal,
e inclusive el Ejercito del Perú. La inseguridad ciudadana al año causa pérdidas
de millones de dólares al Estado Peruano no solo en bienes económicos sino
también en vidas humanas.

Por ello en este estudio se tratará primero de analizar la data obtenida


de Kaggle, dónde primero se procederá a una limpieza de datos para luego
mediante gráficos estadísticos poder observar relaciones para luego proceder
a su futura predicción mediante algoritmos de clasificación usando como
referencia los lugares donde se cometieron estos crímenes, la fecha en los que
se cometieron para luego pasar a clasificar el tipo de crimen que se cometerá.

1.1. Motivación

El desarrollo de esta tesis responde a las vivencias actuales del autor con
respecto al principal problema que afecta a nuestro país, la delincuencia.

La delincuencia es un flagelo que azota al mundo entero, fija su posición


especialmente en las ciudades, lo que no significa que no esté presente en
pueblos pequeños, además crece significativamente impulsada por la mejor

1
2 Capítulo 1. Introducción

calidad de vida y los ingresos superiores que registran las urbes. Sus múltiples
variantes van desde un simple carterista, narcotraficantes, asaltos y a la más
elevada corrupción en el ámbito político. Su incremento y cada vez más
ferocidad la coloca en el primer nivel de las preocupaciones ciudadanas del
país.

El miedo de la gente, la impotencia de las víctimas y la descoordinación


entre las autoridades con el sistema de justicia, todo sumado provoca en los
ciudadanos una sensación de desamparo frente a esta situación que parece
incontrolable. Los agentes de seguridad se ven superados por esta ola de
criminalidad, que aunque su auge no es reciente el aumento de este se ve
superado cada año.

Cerca de 10 millones de peruanos, la tercera parte de la población


ha sido víctima de los delincuentes. En el Perú y especialmente
en las grandes ciudades nadie puede vivir tranquilo, uno tiene
miedo de salir, porque a la vuelta de la esquina puede aparecer un
delincuente que nos despoje de todas nuestras pertenencias o nos
podemos encontrar en medio de una balacera que podría acabar con
nuestra vida. [20]
.

Estas alarmantes cifras incentivan la necesidad de crear soluciones que


ayuden a proteger a la población y además de servir como una herramienta
de apoyo para los agentes del orden. Por ello se considera que el uso de la
tecnología debe ser primordial, para no solo combatir el crimen, sino también
prevenirlo, por ello este trabajo se realiza haciendo uso de los datos sobre los
incidentes de delitos pasados que provengan de fuentes confiables como la
Policía Nacional.

La tecnología puede funcionar como un poderoso aliado para ayudar


en la lucha contra la delincuencia. La inversión en sistemas de seguridad
Capítulo 1. Introducción 3

como vídeo-vigilancia, biometría, análisis de datos, inteligencia artificial


y otras tecnologías que permitirán la centralización de datos de fuentes
de información en tiempo real. Esto no solo beneficiará al análisis de las
investigaciones sino también ayudará a mejorar el tiempo de respuesta policial
y a tomar medidas preventivas con mayor rapidez y eficacia.

La Inteligencia Artificial en los últimos años se ha convertido en una


herramienta esencial en la toma de decisiones por ello podría resultar un
aliado muy poderoso con el propósito de garantizar la seguridad publica de los
ciudadanos, pero para ello es necesaria una gran cantidad de data para poder
realizar predicciones de manera precisa, sin embargo en el Perú la cantidad de
denuncias es muy baja, según las cifras del PNUD solo el 13 % de las víctimas
presentan denuncias a las comisarías locales, muy por debajo en comparación
con los países vecinos Chile y Brasil [19].

Esta gran cantidad de datos históricos podría ayudar a la mejora de los


tiempos de respuesta de las autoridades y también en la precisión de las
predicciones de crimen mediante el uso de técnicas estadísticas avanzadas
para correlacionar los datos de tal manera que se pueda identificar patrones de
crimen antes de que estos sucedan.

Para el análisis de esta información es necesario el uso de algoritmos de


Aprendizaje de Máquina, una rama de la Inteligencia artificial cuyo principal
objetivo es la resolución de problemas mediante modelos estadísticos, los
cuales se basan en el estudio de los datos históricos, ya sea para predicción,
clasificación o agrupación. En la actualidad estas técnicas son la solución en la
resolución una amplia variedad de problemas de diferentes índoles.

Actualmente en Perú no existe una solución efectiva que permita la


confluencia de los datos obtenidos de agencias del gobierno, policía, redes
sociales o colaboraciones de la población. Por ello se cree que debería existir un
4 Capítulo 1. Introducción

portal público, donde los ciudadanos sean capaces de proveer información a las
autoridades, organismos policiales y de seguridad pública. Los datos cruzados
identificarían patrones que hasta entonces no eran visibles, permitiendo a
las autoridades reaccionar por adelantado y actuar de manera preventiva,
evitando la ocurrencia de delitos y otras amenazas.

Al analizar el contexto de la inseguridad en el país, aún no hay ninguna


fórmula eficaz para la solución de los temas destacados como el creciente
aumento del índice delictivo. En opinión de este autor se considera que lo más
importante es cambiar el enfoque, pasando de una posición de corrección a
una de prevención. Para ello debe haber un plan a largo plazo que debe incluir
inversiones por parte del estado, pero sin duda la priorización de tecnologías
avanzadas es la que puede aportar beneficios a corto plazo, con la mejor
gestión del flujo de datos, la aplicación de inteligencia artificial en la lucha
contra la delincuencia podría ayudar de manera efectiva y determinante.

La razón por la cual se decidió usar datos de otro país se debe a factores
burocráticos y legales, principalmente a la existencia de la Ley de Protección de
Datos Personales, esta ley dificulto el trabajo con datos del país debido a que
estos datos no están anonimizados. Se tuvo conversaciones con el Ministerio
del Interior para contar con el apoyo para realizar este trabajo sin embargo los
esfuerzos fueron en vano.

1.2. Objetivos

El principal objetivo de este trabajo de investigación es realizar un análisis


de la data obtenida para luego proceder a modelar estrategias capaces de
predecir zonas de alto indice delictivo usando algoritmos de Clasificación,
con estas predicciones obtenidas se podrá representar de manera visual los
resultados obtenidos usando mapas y gráficos estadísticos.
Capítulo 1. Introducción 5

Para este motivo es necesario primero hacer un análisis detallado de la


data obtenida para poder realizar las hipótesis necesarias para la solución del
problema planteado. Los objetivos de este trabajo son:

• Diseñar un sistema de información para la predicción y la prevención del


delito mediante el análisis de datos.

• Extraer patrones de los datos para poder identificar correlaciones entre las
características de los crímenes ocurridos y los lugares donde se cometen.

• Comparar lo diferentes modelos de clasificación que sean capaces de


predecir zonas de alto indice delictivo usando los datos previamente
procesados.

• Validación del modelo de clasificación mediante técnicas de evaluación


de clasificadores y además comprobar las predicciones hechas.

• Visualización de los resultados.

• Apoyar a las personas para que adopten medidas de prevención y


reduzcan los niveles de riesgo de delincuencia personal y comunitaria.

Y los objetivos con respecto a las competencias académicas desplegadas en


el trabajo son:

• Desarrollar un grado de conocimientos en el área de Aprendizaje de


Máquina y saber cómo diseñar, implementar y aplicar estas técnicas en
el desarrollo de aplicaciones, servicios o sistemas inteligentes.

• Desarrollar un razonamiento crítico, lógico y matemático para poder crear


y utilizar modelos que reflejen situaciones reales.

• Capacidad para diseñar e implementar experimentos simples, y analizar


e interpretar sus resultados. Capacidad de análisis, síntesis y evaluación.
6 Capítulo 1. Introducción

1.3. Estructura del Seminario

Para brindar al lector una idea global del contenido de este trabajo, a
continuación se hace una breve descripción del propósito de cada capítulo
presente en este seminario de tesis.

Introducción
En esta capítulo se da una breve introducción a esta investigación,
las motivaciones que conllevaron a realizar dicha investigación y los
objetivos a lograr en este trabajo.

Estado del arte


En este capítulo se establece el entorno de los avances más importantes
que se han logrado con respecto al conocimiento acerca de este tema y
además se especifica las razones de este trabajo y su importancia respecto
a los demás.

Marco teórico
En este capítulo se sustentará la teoría que fundamenta este seminario de
tesis con base al problema planteado,

Análisis de los datos


En este capítulo se hará un análisis exploratorio de la data obtenida, se
hará la limpieza de datos necesaria para poder procesar la data luego.
Además se hará una interpretación de los datos obtenidos para poder
resaltar los datos que serán relevantes en esta investigación.

Análisis predictivo y evaluación de modelos


En este capítulo se realizan las predicciones de los datos recolectados y
analizados previamente, para ello primero se hará un procesamiento de
datos previo al modelamiento, luego se procederá a evaluar el modelo
para finalmente comparar los algoritmos descritos previamente.

Conclusiones y trabajo a futuro


En este capítulo final se exponen las conclusiones y los objetivos obtenidos
Capítulo 1. Introducción 7

durante esta investigación y además se propone el trabajo futuro a


realizar.
Capítulo 2

Estado del Arte

En este capítulo se brinda un resumen de los principales trabajos existentes


relacionados a la predicción de crímenes. Se han considerado distintos trabajos
que contemplan técnicas como agrupación, clasificación, entre otras. Esta
sección estará compuesta por los avances respecto a la predicción de lugares
de alta probabilidad de crimen respecto a caracterización de las zonas según su
posición y tipo de crimen y además viendo cómo estos se utilizan en problemas
afines.

2.1. Metodología de Búsqueda

La única demanda para iniciar un estado del arte es el establecimiento de un


tema o problema por investigar, “lo que implica un esfuerzo por reconocer los
límites de lo ya sabido y atreverse a preguntar lo inédito, pero susceptible de
ser pensado e investigado desde el acumulado en el campo del conocimiento,
de ahí la importancia de realizar estados del arte en la investigación” [2].
Para hacer esta investigación las preguntas que direccionaron dicha
motivación fueron ¿De qué manera se pueden predecir los crímenes? y como
sub pregunta ¿Se ha usado Heatmaps-spoting?. Para dar respuestas a estas
preguntas se buscaron papers y libros desde el año 2008 utilizando el motor de
búsqueda Google Scholar. La revisión fue realizada en el mes de marzo del 2018
usando los términos de búsqueda Crime Prediction, Hot Spot Crime prediction,
Crime Analysis. Se excluyeron los trabajos que no estaban relacionados al área

9
10 Capítulo 2. Estado del Arte

de Ciencia de la Computación y trabajos no relacionados con Predicción de


Crímenes.

2.2. Descripción de Trabajos Relacionados

En las investigaciones relacionadas con la predicción de crimen se han


realizado muchas investigaciones entre las cuales resaltan.

2.2.1. Towards Crime Prediction from Demographics and


Mobile Data

En el trabajo de Bogomolov et al. [4], se presenta un enfoque novedoso para


predecir crímenes en un espacio geográfico a partir de múltiples fuentes de
datos, en especial de celulares y datos demográficos.
La propuesta radica en el uso de datos anónimos de la actividad y
comportamiento humano en sus actividades cotidianas para poder abordar
el problema de predicción del crimen mediante el análisis y el uso de
clasificadores binarios de datos como regresión logística, máquina de soporte
vectorial, redes neuronales, árboles de decisión y bosques aleatorios.

2.2.2. The utility of hotspot mapping for predicting spatial


patterns of crime

En el trabajo de Chainey et al. [7], se hace el uso de mapas de calor para


identificar zonas de alto índice delictivo para así apuntar con mayor precisión
el uso de recursos policiales mediante técnicas de estimación de densidad
de kernel. Para ello hacen uso de data previamente recolectada para generar
mapas interactivos y poner a prueba su precisión para saber donde ocurrirán
los crímenes a continuación.

Los resultados de esta investigación indican que las habilidades de


predicción del mapeo de puntos críticos difieren entre las diferentes técnicas y
Capítulo 2. Estado del Arte 11

difieren según el tipo de delito. La estimación de la densidad de kernel.

Asimismo este trabajo hace una investigación comparativa con otras


técnicas y otros tipos de delitos, incluyendo las comparaciones entre técnicas
avanzadas de análisis espacial y los métodos de mapeo de predicción.

2.2.3. Criminal incident prediction using a point-pattern-based


density model

Este artículo realizado por Liu and Brown [15] presenta un modelo de
predicción multivariado para puntos críticos que relaciona las características
de un área con la ocurrencia predicha de crímenes a través de la estructura de
preferencia de los criminales.

Para ello se utiliza un modelo de densidad de transición basado en patrones


puntuales para la predicción de eventos espaciales y temporales que se basa
en el descubrimiento de preferencias criminales como se observa en las
características elegidas para crímenes pasados.

2.2.4. A statistical model of criminal behavior

En la investigación realizada por Short et al. [25] se presenta un modelo


para estudiar la aparición, la dinámica y las propiedades de estado estacionario
de los puntos críticos. Se centra en un modelo de rejilla bidimensional para el
robo residencial, donde cada grilla se caracteriza por una variable de atractivo
dinámico, y donde cada delincuente se representa como un caminante al azar.
La dinámica de los criminales y del campo de atracción se acoplan entre
sí a través de mecanismos de retroalimentación y polarización específicos.
Dependiendo de las opciones de los parámetros, se observó y describió varios
regímenes de agregación, incluyendo puntos críticos de alta actividad criminal.
Sobre la base del sistema discreto, también se obtuvo un modelo continuo;
donde ambos llegaron a un misma cantidad cuantitativa para grandes tamaños
12 Capítulo 2. Estado del Arte

de sistema. Mediante un análisis de estabilidad lineal, se pudo determinar los


valores de los parámetros que llevarán a la creación de zonas activas estables.

2.2.5. Nonlinear Patterns in Urban Crime: Hotspots,


Bifurcations, and Suppression

En este trabajo Short et al. [24] se presenta un análisis de un modelo no lineal


desarrollado para la formación de patrones de crímenes.
Se presenta un análisis no lineal del modelo desarrollado para la formación
de patrones de delincuencia. Se encontró ecuaciones de amplitud que
gobiernan el desarrollo de los patrones de "punto de acceso"del crimen en su
sistema en los casos unidimensionales (1D) y bidimensionales (2D). Además
se prueba la existencia de puntos críticos subcríticos que surgen a través de
bifurcaciones subcríticas de horquilla o bifurcaciones transcríticas, según la
geometría.
Finalmente,se examinan las diferencias entre estos dos tipos de puntos de
acceso con respecto al intento de supresión del punto de acceso, haciendo
referencia a los diferentes niveles de éxito que tales intentos han tenido en
escenarios del mundo real.

2.2.6. Examinin the influence of cell size and bandwidth size


on kernel density estimation crime hotspot maps for
predicting spatial patterns of crime

En este trabajo de Chainey et al. [7] se hace uso de técnicas como la


estimación de densidad del kernel (KDE).
Para producir estas salidas de KDE, se requiere que el investigador ingrese
valores para dos parámetros principales: el tamaño de la celda y el ancho de
banda. Hasta la fecha, se ha investigado poco sobre la influencia que tienen
estos parámetros en la salida de mapeo de puntos de acceso KDE y no se
Capítulo 2. Estado del Arte 13

ha llevado a cabo ninguna influencia sobre estos ajustes de parámetros en el


objetivo central de crear un mapa de predicción de crímenes.
En esta investigación se realizaron una serie de experimentos utilizando
valores de ancho de banda y ancho de banda diferentes con datos de
delincuencia en robos residenciales y agresiones violentas. Se muestra que el
tamaño de la celda tiene poca influencia en los mapas de puntos críticos de KDE
para predecir los patrones espaciales de crímenes, pero el tamaño del ancho de
banda sí influye.
Además se concluye al discutir cómo los hallazgos de esta investigación
pueden ayudar a informar a la policía y los investigadores a hacer un mejor
uso de KDE para poder realizar acciones de prevención del crimen.

2.3. Técnicas de Mapas de Calor

Las técnicas de mapas de calor, es una de las más usadas para combatir el
crimen, la identificación de puntos críticos es el primer paso que debe tomar
una agencia policial o de reducción de la delincuencia al discernir dónde dar
prioridad a sus recursos.
En esta sección, describimos cuatro de las técnicas de mapeo de puntos
críticos más comunes, y en el gráfico siguiente mostramos la técnica de mapeo
de puntos.

F IGURA 2.1: Técnica de mapeo de puntos. Fuente: Chainey et al.


14 Capítulo 2. Estado del Arte

2.3.1. Elipses Espaciales

Una de las aplicaciones de software de mapas de delincuencia más antiguas


que estuvo ampliamente disponible para los practicantes para el análisis de
crimen fue el Análisis Espacial y Temporal del Crimen (STCA) [3]. STCA
no es un Sistema de Información Geográfica (SIG), sino que actúa como
una ayuda para las personas que ya tienen el software SIG. AETC es una
herramienta espacial para encontrar y examinar áreas de puntos críticos dentro
del área de estudio. En términos concisos, esto significa que AETC primero
encuentra la concentración más densa de puntos en el mapa (clústeres), y luego
se ajusta dicha elipse a ’desviación estándar’. Las elipses indican a través de
su tamaño y alineación la naturaleza de los grupos de crímenes subyacentes [7].

Los beneficios reportados del uso de STCA incluyen que se derivan


puntos de acceso sin depender de límites definidos tales como unidades del
Censo o límites administrativos de la policía; requiere pocos parámetros; y es
compatible con la mayoría de las aplicaciones SIG [13].

Sin embargo, STCA ha atraído críticas por varios motivos. En primer lugar,
es preferible que el usuario sea experimentado en el manejo del software
SIG. Finalmente, la visualización de los resultados producidos por el AETC
contrastan cualquier comparación con eventos que no entran en las elipses
espaciales [Eck et al.].
Capítulo 2. Estado del Arte 15

F IGURA 2.2: Mapeo mediante elipses espaciales. Fuente: Chainey


et al.

2.3.2. Mapeo temático de límites geográficos

Una forma ampliamente utilizada de representar distribuciones espaciales


de eventos delictivos es el mapeo temático de límites geográficos. Las áreas
límite que se usan para este tipo de mapeo temático generalmente se definen
arbitrariamente para uso administrativo o político, por ejemplo, pueden ser
batidas policiales, bloques censales, barrios o distritos. Las infracciones como
puntos en un mapa se pueden agregar a estas áreas de unidades geográficas
que luego se pueden sombrear de acuerdo con el número de crímenes que
caen dentro de ellos. Williamson et al. afirman que los mapas creados de esta
manera son rápidos de producir y requieren poca experiencia técnica para
interpretar. Además, esta técnica permite al usuario determinar rápidamente
qué áreas tienen una alta incidencia de delitos, y permite un mayor diagnóstico
del problema al "poner a cero.en esas áreas. Además, las áreas del censo se
pueden vincular fácilmente con otras fuentes de datos, como la población,
para calcular una tasa de criminalidad, lo que aumenta su versatilidad para el
análisis.

Debido a la variedad de tamaños y formas de la mayoría de las fronteras


geográficas, el sombreado temático puede engañar al usuario de mapas para
identificar la existencia de las mayores concentraciones de delitos [Eck et al.].
Por lo tanto, esta técnica puede no revelar patrones a través y dentro de la
16 Capítulo 2. Estado del Arte

división geográfica de las áreas límite [6]. Además, al igual que con todos
los mapas que dependen de límites geográficos definidos, el problema
del problema de la unidad regional modificable produce complicaciones
adicionales. Aquí es donde los cambios en los límites mismos pueden afectar
directamente los patrones que se muestran en el mapa.

El mapeo temático de áreas fronterizas continúa siendo ampliamente


utilizado, desde la comparación de diferentes volúmenes de robos únicos y
recurrentes en zonas censales de un área de estudio [18] hasta la comparación
del robo de vehículos en relación con el uso de la tierra en Overland Park,
Kansas [11], y para el análisis y la presentación de los patrones delictivos.

F IGURA 2.3: Mapeo temático de límites geográficos Fuente:


Chainey et al.

2.3.3. Mapeo temático de rejilla

Con el fin de combatir los problemas asociados con los diferentes tamaños y
formas de las regiones geográficas, se pueden trazar cuadrículas (o cuadrantes)
uniformes en un SIG como una capa sobre el área de estudio y sombrearse
temáticamente. Por lo tanto, todas las áreas utilizadas para el sombreado
temático tienen dimensiones consistentes y son comparables, lo que ayuda a la
identificación rápida y fácil de los puntos de acceso. Bowers et al.) utilizaron
este método como un componente de una aplicación de base de datos basada
en SIG para configurar las residencias vulnerables donde se implementó un
Capítulo 2. Estado del Arte 17

patrullaje con mayor frecuencia. LeBeau también encontró útil esta técnica
cuando mapea el volumen de llamadas de emergencia y ofensas violentas por
milla cuadrada en Carolina del Norte.

Este enfoque tiene algunas limitaciones; el uso de cuadrículas aún restringe


cómo se pueden mostrar las zonas interactivas. Los detalles espaciales dentro y
a través de cada cuadrante se pierden correspondientemente debido a que los
eventos delictivos tienen que ajustarse a un cuadrante específico, lo que puede
llevar a una interpretación incorrecta por parte del usuario del mapa. Además,
se han hecho muchos comentarios sobre la apariencia .en bloque"de esta técnica
[7] [Eck et al.], que se ve afectada por el tamaño de la celda de cuadrícula.
La solución, al reducir el tamaño de cada celda, puede destruir la resolución
del mapa temático al hacer que parezca ’espeluznante’ y no proporcionar
información útil sobre dónde se agrupan los delitos [18]. Finalmente, el mapeo
temático de la cuadrícula sufre de los mismos problemas MAUP descritos
anteriormente [1].

F IGURA 2.4: Mapeo temático de rejilla. Fuente: Chainey et al.

2.3.4. Estimación de densidad de kernel

La estimación de densidad de kernel se considera la técnica de interpolación


más adecuada para visualizar datos delictivos [7] [28]. Este es un método cada
vez más popular debido a su creciente disponibilidad, la precisión percibida
de la identificación del punto de acceso y la apariencia estética del mapa
18 Capítulo 2. Estado del Arte

resultante en comparación con otras técnicas. Los datos de puntos (delitos)


se agregan dentro de un radio de búsqueda especificado por el usuario y
se calcula una superficie continua que representa la densidad o el volumen
de eventos delictivos en el área deseada. Se produce un mapa de superficie
lisa que muestra la variación de la densidad del punto / delito en toda el
área de estudio, sin necesidad de conformarse a formas geométricas como las
elipses. Hay flexibilidad al establecer parámetros como el tamaño de la celda
de cuadrícula y el ancho de banda (radio de búsqueda).

Sin embargo KDE no está exento a fallas. [Eck et al.] destacan que la elección
del rango temático a usar todavía se presenta como un problema ya que las
agencias no cuestionan la validez o la solidez estadística del mapa producido,
sino que se ven atrapadas en su .atractivo visual". Esto afecta en gran medida
cómo se identifican los puntos de acceso y aumenta la variación de los mapas
formados a partir de los mismos datos. También existe la preocupación de
que pequeñas cantidades de datos puedan desinformar al lector de mapas.
Sin embargo, la técnica de KDE está actualmente en ascenso, no solo porque
es la más impactante visualmente sino también porque tiene la capacidad de
identificar puntos de acceso a través de una metodología estadísticamente
robusta [7] [Eck et al.] [28].

F IGURA 2.5: Estimación de densidad de kernel. Fuente: Chainey


et al.
Capítulo 2. Estado del Arte 19

2.4. Conclusiones

De los trabajos mostrados anteriormente se puede ver una clara tendencia


del uso de las posiciones geográficas de las ocurrencias de los crímenes, sin
embargo no se toma en cuenta distintos factores como el tiempo en el que
ocurrió el delito, otro factor importante es la jurisdicción del departamento
policial, esto también influye debido a que hay ciertas zonas que tienen mayor
cantidad de efectivos policiales, así como más cámaras y otros. Un ejemplo
claro de este razonamiento es comparar la jurisdicción policial del distrito de
Miraflores con el distrito de San Juan de Lurigancho.

El enfoque de este trabajo es realizar un análisis comparativo de los


diferentes métodos o algoritmos que nos permitan predecir el tipo de crimen
que se cometerá dependiendo de el tiempo y localización predeterminados.
Para ello se probarán diferentes modelos de clasificación usando Python como
lenguaje y Sklearn como librería principal para el aprendizaje de máquina.

Existen múltiples formas y enfoques de cómo resolver este problema,


hoy en día gracias a los constantes avances de las librerías en el área de la
inteligencia artificial contamos con diferentes métodos para la resolución de
diferentes problemas cotidianos.

Otro punto principal de este trabajo será el uso de algoritmos de


clasificación, por último se usará un algoritmo especial de agrupamiento
llamado DBSCAN, que nos permitirá encontrar patrones relacionados a la
posición espacial de los delitos cometidos.
Capítulo 3

Marco Teórico

Esta este capitulo se dará una descripción general de los fundamentos


teóricos relevantes, que se usarán a lo largo de este seminario de tesis.

3.1. Aprendizaje Automático

El aprendizaje automático es un sub-campo de estudio de la inteligencia


artificial que reconoce patrones usando el análisis de datos. Una computadora
puede aprender y hacer predicciones a partir de los datos a través del
aprendizaje automático sin estar programado explícitamente, uno de los
motivos por el cuál es un área que se ha vuelto muy popular es debido a su
capacidad de resolver problemas que antes eran imposibles o muy difíciles de
implementar con los algoritmos tradicionales.

El aprendizaje automático se puede dividir en tres categorías principales:


Aprendizaje supervisado, Aprendizaje no supervisado y Aprendizaje por
reforzamiento. En este seminario, los métodos de aprendizaje supervisado se
utilizan para predecir categorías de delitos y además se utilizarán métodos
no supervisados para conocer zonas de alta riesgo criminal mediante el
agrupamiento.

21
22 Capítulo 3. Marco Teórico

3.1.1. Aprendizaje Supervisado

El aprendizaje supervisado es un modelo de aprendizaje automático que


puede predecir un resultado a partir de un conjunto de entrada, en este tipo de
aprendizaje las etiquetas de salida están específicamente definidas. El objeto de
entrada contiene varias características y generalmente representada en forma
de vector. En el conjunto de datos de entrenamiento, cada objeto de entrada se
empareja con un objeto de salida específica.

Separar los datos de entrenamiento y prueba ayuda a los modelos de


aprendizaje supervisado para evitar el sobre-ajuste o la sobre-generalización,
además hay ciertos algoritmos que requieren de un pre-procesamiento especial
para poder funcionar de manera óptima. En este tipo de modelos, las etiquetas
de los nuevos datos de entrada son predichas por el algoritmo. Los modelos de
aprendizaje supervisado se pueden implementar en problemas de clasificación
y regresión [17].

F IGURA 3.1: Modelo de aprendizaje supervisado Fuente:


allprogrammingtutorials.com
Capítulo 3. Marco Teórico 23

En este trabajo, el objetivo es predecir la categoría de un incidente criminal


en un tiempo y lugar determinados con el conjunto de datos de la ciudad de
Filadelfia. Como las categorías de delitos son discontinuas, este es un problema
de clasificación supervisada. Hay diferentes tipos de modelos de clasificación
supervisados. A continuación se dará una breve definición de algunos de estos
algoritmos que se usarán en este seminario.

Clasificación

Este tipo de algoritmos se caracterizan por tener como resultado valores


discretos, es decir un número limitado de categoría o clases, este tipo de
algoritmos nos permiten asignar una etiqueta a un dato no etiquetado,
por ejemplo si un tipo de tumor es o no cancerígeno.

F IGURA 3.2: Clasificación Fuente: Python Machine Learning -


Sebastian Raschka

Regresión

Este tipo de algoritmos se distinguen por tener como resultado valores


continuos o numéricos, es decir que la salida comprende un rango de
valores ilimitado, por ejemplo predecir la temperatura en un intervalo de
tiempo predeterminado.
24 Capítulo 3. Marco Teórico

F IGURA 3.3: Regresión Fuente: Python Machine Learning -


Sebastian Raschka

3.1.2. Aprendizaje no supervisado

A diferencia del aprendizaje supervisado, este tipo de modelos actúan y


observan las consecuencias de sus acciones si necesidad de conocer un tipo
previamente observado o definido. La manera de aprender de estos modelos
es muy parecida a la de los humanos mediante el ensayo y error, por ello al
principio del entrenamiento estos métodos suelen funcionar mal, pero a medida
que el entrenamiento avanza el rendimiento de estos aumenta.
Ahora vamos a dar algunos ejemplos de algoritmos usados en el aprendizaje
no supervisado.

Agrupamiento

El agrupamiento o clustering en inglés es una técnica de análisis


exploratorio de datos que nos permite encontrar información relevante
en sub-grupos significativos, sin tener conocimiento previo de los grupos
a los que pertenecen. Cada sub-grupo tienen ciertos grados de similaridad
y ciertas diferencias a objetos de otros sub-grupos [17].

Un ejemplo muy usado por las empresas es el agrupamiento de clientes


basados en sus intereses, usado para desarrollar una estrategias de
mercado para atraer más compradores.
Capítulo 3. Marco Teórico 25

En este seminario usaremos un agrupamiento especial llamado


agrupamiento espacial, en la que agruparemos registros de crímenes
similares basados en su posición espacial y el tipo de delito cometido.

F IGURA 3.4: Agrupamiento de datos. Fuente: Python Machine


Learning - Sebastian Raschka

3.2. Modelos

Luego de haber definido algunos modelos de manera general, ahora se


detallará un poco más acerca de los modelos que se usarán en este seminario.

3.2.1. Árboles de decisión

Un árbol de decisión es un modelo de clasificación que se caracteriza por ser


fácil de representar y es uno de las técnicas de aprendizaje mas comunes. Esta
formado por una serie de reglas en forma de vectores donde cada regla es como
si fuera un nodo del árbol donde además este nodo representa una decisión a
tomar.
Estas modelos también llamadas arboles de decisión y clasificación (CART)
por sus sigas en inglés debido a que pueden ser usadas en una gran variedad
de problemas.
26 Capítulo 3. Marco Teórico

F IGURA 3.5: Árbol de decisión Fuente: Python Data Science


Handbook - Jake VanderPlas

Algoritmo

El algoritmo central para construir árboles de decisión llamado ID3 por


J. R. Quinlan emplea una búsqueda codiciosa de arriba hacia abajo a
través del espacio de posibles ramas sin retroceso. ID3 usa la entropía y la
información ganada para construir un árbol de decisión [21].

Entropía

Un árbol de decisión se construye de arriba hacia abajo desde un


nodo raíz e implica dividir los datos en subconjuntos que contienen
instancias con valores similares (homogéneos). El algoritmo ID3 usa
entropía para calcular la homogeneidad de una muestra. Si la muestra
es completamente homogénea, la entropía es cero y si la muestra está
dividida por igual, tiene entropía de uno [21].
Capítulo 3. Marco Teórico 27

F IGURA 3.6: Formula de la entropía. Fuente: saedsayad.com

Para hallar el calculo de la entropía se realiza el uso de frecuencias:

X
E(T, X) = P (c)E(c)
c∈X

Información ganada

La ganancia de información se basa en la disminución de la entropía


después de que un conjunto de datos se divide en un atributo. La
construcción de un árbol de decisión se trata de encontrar un atributo
que devuelva la mayor ganancia de información (es decir, las ramas más
homogéneas) [21].

El calculo de la información ganada se hace mediante el uso de la entropía


previamente calculada:

G(T, X) = E(T ) − E(T, X)

Ventajas y desventajas

Algunas de las ventajas de los árboles de decisión son:


28 Capítulo 3. Marco Teórico

• Simple de entender e interpretar. Los árboles pueden ser


visualizados.

• Requiere poca preparación de datos. Otras técnicas a menudo


requieren normalización de datos, se deben crear variables ficticias
y se deben eliminar los valores en blanco.

• El costo de usar el árbol (es decir, predecir datos) es logarítmico en la


cantidad de puntos de datos utilizados para entrenar el árbol.

• Capaz de manejar datos numéricos y categóricos. Otras técnicas


suelen estar especializadas en analizar conjuntos de datos que tienen
solo un tipo de variable [22].

Las desventajas de los árboles de decisión incluyen:

• Los alumnos del árbol de decisiones pueden crear árboles demasiado


complejos que no generalicen bien los datos. Esto se llama
sobreajuste. Para evitar este problema, es necesario contar con
mecanismos como la poda, establecer el número mínimo de muestras
requeridas en un nodo hoja o establecer la profundidad máxima del
árbol.

• Los árboles de decisión pueden ser inestables porque pequeñas


variaciones en los datos pueden dar como resultado la generación
de un árbol completamente diferente [22].

3.2.2. Clasificador bayesiano ingenuo

El clasificador bayesiano ingenuo se basa en el teorema de Bayes con los


supuestos de independencia entre los predictores. Un modelo Naive Bayesian
es fácil de construir, sin una estimación complicada de parámetros iterativos
que lo hace particularmente útil para conjuntos de datos muy grandes. A pesar
de su simplicidad, el clasificador Bayesiano Naive es ampliamente utilizado
porque a menudo supera a los métodos de clasificación más sofisticados [9].
Capítulo 3. Marco Teórico 29

F IGURA 3.7: Regla de bayes. Fuente: saedsayad.com

Algoritmo El teorema de Bayes proporciona una forma de calcular la


probabilidad posterior, P (c|x), de P (c), P (x) y P (x|c). El clasificador
Naive Bayes supone que el efecto del valor de un predictor (x) en una
clase dada (c) es independiente de los valores de otros predictores. Esta
suposición se llama independencia condicional de clase.

Donde:

• P (c | x) es la probabilidad de que se obtenga la clase c dado un


predictor x (atributo) (Posterior Probability).

• P (x | c) es la probabilidad de que x dado que la salida c es correcta


(Likelihood).

• P (c) es la probabilidad de que la hipótesis c pertenezca a una clase


(Prior Probability).

• P (x) es la probabilidad de la data (Predictor Prior Probability)

Además P (x = xi | c) se puede calcular agregando xi en la ecuación de


una distribución normal con parámetros µc y σc2 :

2
1 (x −µ )
− i c
P (x = xi | c) = p e 2σc2
2πσc2

Donde:
30 Capítulo 3. Marco Teórico

n
X
• µc es la normal de x asociado a la clase c ( n1 xi ).
i=1
n
X
2
• σ es la varianza de x asociado a la clase c 1
( n−1 (xi − µ)2 ).
i=1

Los diferentes clasificadores de Bayes ingenuos difieren principalmente por


las suposiciones que hacen con respecto a la distribución de P (xi | c).
A pesar de sus suposiciones aparentemente simplificadas, los clasificadores
ingenuos de Bayes han funcionado bastante bien en muchas situaciones del
mundo real, la famosa clasificación de documentos y el filtrado de spam.
Requieren una pequeña cantidad de datos de entrenamiento para estimar los
parámetros necesarios.
Los clasificadores de Naive Bayes pueden ser extremadamente rápidos
en comparación con métodos más sofisticados. El desacoplamiento de las
distribuciones de características condicionales de clase significa que cada
distribución se puede estimar independientemente como una distribución
unidimensional. Esto, a su vez, ayuda a aliviar los problemas derivados de la
maldición de la dimensionalidad.
Por otro lado, aunque el algoritmo de bayes ingenuo es conocido como un
clasificador decente, se sabe que es un mal estimador, por lo que las salidas de
probabilidad resultantes no deben tomarse demasiado en serio.

3.2.3. K-vecinos más cercanos

El algoritmo de K-vecinos más cercanos o KNN es un clasificador robusto y


versátil. Es usado ampliamente por su simplicidad, a pesar de ello es capaz de
superar a clasificadores más potentes y complejos en tareas como pronósticos,
compresión de datos, etc.
Este técnica pertenece la familia de algoritmos de aprendizaje supervisado,
es decir que tenemos un conjunto de datos previamente etiquetados y tratamos
de encontrar relaciones entre una característica y una etiqueta o clase. Para ello
se va a notar a x como una característica o atributo e y para denotar el objetivo
o etiqueta que estamos tratando de predecir [8].
Capítulo 3. Marco Teórico 31

El clasificador KNN es también un algoritmo de aprendizaje no paramétrico


y basado en instancia debido a que:

No paramétrico significa que no hace suposiciones explícitas sobre la


forma funcional del modelo, evitando los peligros de la distribución
subyacente de los datos, esto evita que nuestro algoritmo haría
predicciones extremadamente pobres.

Basado en instancias significa que nuestro algoritmo no aprende


explícitamente un modelo. En su lugar, elige memorizar las instancias
de capacitación que se utilizan posteriormente como conocimiento para
la fase de predicción. Esto significa que solo cuando se realiza una
consulta a nuestra base de datos (es decir, cuando le pedimos que prediga
una etiqueta dada una entrada), el algoritmo usará las instancias de
entrenamiento para predecir una respuesta.

Algoritmo

Este algoritmo se reduce esencialmente a formar un voto mayoritario


entre las K instancias más similares a una observación dada "no vista".
La similitud se define según una métrica de distancia entre dos puntos de
datos. Para ello hace uso de distintos tipos de distancia como:


p
2
(x − y)2 Distancia euclidiana






D(x, y) = abs(x − y) Distancia Manhattan (3.1)




max(|x − y|)

Distancia de Chebyshev

Más formalmente, dado un entero positivo K, una observación invisible


x una similitud métrica d, el clasificador KNN realiza los dos pasos
siguientes:

• Se ejecuta a través de todo el conjunto de datos que computa


la distancia d entre x y cada observación de entrenamiento.
Llamaremos los puntos K en los datos de entrenamiento que estén
más cerca de x del conjunto A.
32 Capítulo 3. Marco Teórico

• Luego se estima la probabilidad condicional para cada clase, es decir,


la fracción de puntos en A con esa etiqueta de clase dada.

1 X
P (Y = j | X = x) = I(y (i) = j)
K i∈A

Donde I(x) es la función del indicador que evalúa a 1 cuando el


argumento x es verdadero y 0 en caso contrario.

La elección de la variable K tiene un efecto bastante peculiar sobre el


algoritmo ya que para que el resultado sea óptimo dependerá de cómo este
estructurada la data ya que este es un hiperparámetro que se debe ajustar
conforme vamos analizando la precisión y el error. Cuando K es pequeño,
estamos restringiendo la región de una predicción dada y forzando a nuestro
clasificador a ser "más ciego. a la distribución general. Un valor pequeño para
K proporciona el ajuste más flexible, que tendrá un sesgo bajo pero una gran
variación. Gráficamente, nuestro límite de decisión será más irregular [16].

F IGURA 3.8: Variación de K influye en la forma de cómo se


clasifican los datos[16]. Fuente: Introduction to Machine Learning
with python

Por otro lado, mientras más alto sea el valor de K más resistente se vuelve a
los valores atípicos. Los valores más grandes de K tendrán límites de decisión
más suaves, lo que significa una menor varianza pero un mayor sesgo.
Capítulo 3. Marco Teórico 33

3.2.4. Bosques aleatorios

El algoritmo de Bosques aleatorios o RF (Random Forest en inglés),


pertenecen al grupo de técnicas llamados algoritmos de combinación, en
resumen estos algoritmos realizan la combinación de modelos de predicción
con el fin de mejorar la robustez del estimador, estos algoritmos son muy
potentes debido a su alta precisión.
Los métodos más comunes de combinación de predicción son los bagging,
boosting y voting. En este caso random forest pertenece a los métodos bagging
que combina una cantidad grande de árboles de decisión independientes
probados sobre conjuntos de datos aleatorios con igual distribución[26].

Algoritmo

Cada árbol es construido usando el siguiente algoritmo:

1. Sea N el número de casos de prueba, M es el número de variables en


el clasificador.

2. Sea m el número de variables de entrada a ser usado para determinar


la decisión en un nodo dado; m debe ser mucho menor que M

3. Elegir un conjunto de entrenamiento para este árbol y usar el resto


de los casos de prueba para estimar el error.

4. Para cada nodo del árbol, elegir aleatoriamente m variables en las


cuales basar la decisión. Calcular la mejor partición del conjunto de
entrenamiento a partir de las m variables.

Para la predicción un nuevo caso es empujado hacia abajo por el árbol.


Luego se le asigna la etiqueta del nodo terminal donde termina. Este
proceso es iterado por todos los árboles en el ensamblado, y la etiqueta
que obtenga la mayor cantidad de incidencias es reportada como la
predicción [27].
34 Capítulo 3. Marco Teórico

F IGURA 3.9: Límites de decisión encontrados por cinco árboles de


decisión aleatorios y el límite de decisión obtenido al promediar
sus probabilidades predichas [16]. Fuente: Introduction to Machine
Learning with python

Ventajas

• Es uno de los algoritmos de aprendizaje más certeros que hay


disponible.

• Para un conjunto de datos lo suficientemente grande produce un


clasificador muy certero.

• Puede manejar cientos de variables de entrada sin excluir 1ninguna.

Desventajas

• Uno de los grandes problemas en el aprendizaje automático es el


sobreajuste. Esto se debe a que si hay suficientes árboles en el bosque,
el clasificador no sobreagregará el modelo [27].

• La principal limitación de Random Forest es que una gran cantidad


de árboles puede hacer que el algoritmo sea lento e ineficaz para las
predicciones en tiempo real. En general, estos algoritmos son rápidos
de entrenar, pero bastante lentos para crear predicciones una vez que
Capítulo 3. Marco Teórico 35

están entrenados. Una predicción más precisa requiere más árboles,


lo que resulta en un modelo más lento [27].

3.3. Análisis de desempeño

Otro punto importante de este seminario es saber cual es el resultado más


apropiado y cual posee menos error, la evaluación de las tareas de clasificación
normalmente se realiza dividiendo el conjunto de datos en un conjunto de datos
de entrenamiento y un conjunto de datos de prueba.
El algoritmo de aprendizaje automático a usar se entrenará con la data de
entrenamiento, mientras que el conjunto de datos de prueba se usará para
calcular los indicadores de rendimiento con el fin de evaluar la calidad del
algoritmo usado.
Un problema común para los algoritmos de aprendizaje automático se debe
a la falta de datos, o la calidad en la que estos son trabajados. Por lo tanto,
el sobre-ajuste puede ser un problema grave al evaluar estos programas. Para
abordar este problema, un enfoque común es utilizar una validación cruzada.
La validación cruzada describe el proceso de dividir el conjunto de datos
completo en X partes y usar cada una de ellas secuencialmente como el
conjunto de datos de prueba mientras combina los otros con los datos de
entrenamiento. Después, los indicadores de rendimiento se promedian sobre
todos los procesos de validación.
No existe un indicador perfecto para cada tema relacionado con la
evaluación de algoritmos de aprendizaje automático, ya que todos tienen sus
defectos y ventajas. Los factores más importantes para evaluar el rendimiento
de un programa de aprendizaje automático son los siguientes:

3.3.1. Precisión del valor

También llamado valor de predicción positivo, se define como la cantidad


relativa de correctamente como instancias clasificadas como verdaderas entre
todas las instancias clasificadas como verdaderas.
36 Capítulo 3. Marco Teórico

Número de muestras clasificadas correctamente como clase C


P recision(C) =
Número total de muestras clasificadas como clase C

3.3.2. Pérdida logarítmica

La pérdida logarítmica se utiliza para medir el rendimiento de los


clasificadores mediante la penalización de clasificaciones erróneas. Por lo tanto,
un menor valor de pérdida logarítmica significa que el clasificador es más
preciso. El valor de pérdida de registro de un clasificador perfecto es 0. El
clasificador asigna una probabilidad de predecir cada clase en lugar de elegir
la clase más probable [23]. Con estas probabilidades, la pérdida logarítmica se
mide con la siguiente ecuación:

N −1 M −1
1 XX
Llog (Y, P ) = − yij log(py )
N i=1 j=1

Y es una matriz N xM donde M es el número de clases y N es el número


de muestras de prueba. La matriz Y contiene etiquetas verdaderas. P es otra
matriz N xM que contiene probabilidades para cada clase en dimensión M . yij
y py son verdadera etiqueta y la probabilidad de j-ésima clase en la i-ésima
muestra.

3.3.3. Matriz de confusión

Uno de los mejores enfoques para ilustrar el rendimiento de los programas


de aprendizaje automático es la matriz de confusión, también llamada tabla de
contingencia, que distingue entre las predicciones de verdadero positivo, falso
positivo, verdadero negativo y falso negativo:
Capítulo 3. Marco Teórico 37

F IGURA 3.10: Matriz de confusión. Fuente:


http://scaryscientist.blogspot.com

Definamos ahora los términos más básicos [12]:

verdaderos positivos (TP): es la cantidad de positivos que fueron


clasificados correctamente como positivos por el modelo.

verdaderos negativos (TN): es la cantidad de negativos que fueron


clasificados correctamente como negativos por el modelo.

falsos positivos (FP): es la cantidad de negativos que fueron clasificados


incorrectamente como positivos.

falsos negativos (FN): es la cantidad de positivos que fueron clasificados


incorrectamente como negativos.
Capítulo 4

Análisis de los datos

Esta este capitulo se dará una descripción de las herramientas que se usarán
para analizar los datos para luego empezar con la descripción del problema y
finalmente dar un análisis descriptivo de los datos.

4.1. Herramientas

Para modelar los algoritmos de este seminario se ha usado el lenguaje


python. Hoy en día este lenguaje es muy usado en la computación científica
y en el modelado de aplicaciones gracias a sus poderosas librerías de código
abierto con una gran cantidad de contribuidores.
Vamos a describir algunas librerías que se usarán más adelante:

NumPy, es la librería natural para python numérico. La característica


más potente de NumPy es la matriz n-dimensional. Esta librería
contiene funciones básicas de álgebra lineal, transformadas de Fourier,
capacidades avanzadas de números aleatorios y herramientas para la
integración con otros lenguajes de bajo nivel como Fortran, C y C ++.

Pandas es una librería para operaciones y manipulaciones de datos


estructurados. Pandas ha sido añadido recientemente a Python y han sido
fundamental para impulsar el uso de Python en la ciencia de datos.

Matplotlib es una librería de Python para crear una gran variedad


de gráficos, a partir de histogramas, lineas, etc, usando si es necesario
comandos de látex para agregar matemáticas a los gráficos.

39
40 Capítulo 4. Análisis de los datos

Seaborn es una librería para la visualización de datos estadísticos.


Seaborn es una biblioteca para hacer atractivos e informativos los gráficos
estadísticos en Python. Se basa en matplotlib. Seaborn pretende hacer de
la visualización una parte central de la exploración y la comprensión de
los datos.

Scikit-learn, librería ampliamente usada para aplicaciones de aprendizaje


de máquina, construida sobre NumPy, SciPy y Matplotlib, esta biblioteca
contiene una gran cantidad de herramientas eficientes para el aprendizaje
automático y el modelado estadístico incluyendo clasificación, regresión,
agrupación y reducción de la dimensionalidad.

4.2. Descripción del problema

El problema a tratar es la predicción de crimen en la ciudad de Filadelfia,


basándose en posición geográfica del crimen y el tiempo en el que ocurrió el
delito.
Hoy en día existe un gran interés en el uso de la tecnología para la seguridad
en las ciudades donde cada vez se vuelven más pobladas conforme pasan los
años. Para ello este seminario esta basado en el uso de la data alojada en Kaggle,
una plataforma de competición de Data Science.
Capítulo 4. Análisis de los datos 41

4.3. Proceso de trabajo

Para el trabajo de este seminario se ha empleado la siguiente métodología


de trabajo:

F IGURA 4.1: Proceso de trabajo Fuente: Elaboración propia

Limpieza de datos

En esta etapa se procederá a detectar los registros que posean datos


faltantes como posición espacial o tiempo de ocurrencia para luego
eliminarlos debido a que estos no nos otorgarán la información necesaria
para su análisis.

Visualización de datos

Esta etapa nos permitirá tener una idea del comportamiento de nuestros
datos, para ello haremos uso de gráficas intuitivas que nos permitan
obtener una buena información sobre nuestros datos.

Análisis exploratorio de datos

Luego de la limpieza de datos se procede a hacer un tratamiento


estadístico a nuestro conjunto de datos, haciendo uso de de la librería
Pandas de Python.
42 Capítulo 4. Análisis de los datos

Preprocesamiento de datos

Esta es una parte fundamental de todo proceso de trabajo relacionado con


la Ciencia de Datos, debido a que en esta etapa se prepara la data para
poder ser manipulada, para ello se procede a transformar la data original
de manera que sea más fácil de trabajar.

Modelamiento de datos

Esta etapa se procede a modelar los algoritmos que harán las predicciones
en base a la muestra de datos, para ello se procederá a evaluar múltiples
algoritmos para su posterior comparación.

Evaluación del modelo predictivo

En esta etapa se hará la comparación y la validación cruzada de datos


para obtener la precisión de cada uno de los algoritmos usados.

4.4. Estructura de los datos

Este experimento hace uso del conjunto de datos de crímenes cometido sen
la ciudad de Filadelfia durante los años 2006-2016 previsto por el portal de
datos de la región de Filadelfia en la página opendataphilly.org.
El conjunto de datos es una hoja de datos en formato CSV (Comma
Separated Values) que contiene 2237605 filas. Los atributos se darán a
continuación:
Capítulo 4. Análisis de los datos 43

Dc_Dist Código distrital


Psa Áreas de servicio policial
Dispatch_Date_Time Marca de tiempo en el que se cometió el crimen
Dispatch_Date Fecha en la que se cometió el crimen
Dispatch_Time Hora exacta en la que se cometió el crimen
Hour Hora en la que se cometió el crimen
Dc_key Código de la denuncia
Location_Block Calle en la que se cometió el crimen
UCR_General Uniform Crime Reporting (Informe uniforme de crímenes)
Text_General_Code Tipo de crimen cometido
Police_Districts Distrito policial
Month Mes en el que se cometió el delito
Lon Longitud de la posición en la que se cometió el crimen
Lat Latitud de la posición en la que se cometió el crimen

4.5. Descripción de datos

En esta sección iniciaremos con la descripción de nuestros datos para darnos


una idea inicial de como está estructurada internamente nuestra data.
44 Capítulo 4. Análisis de los datos

4.5.1. Tipo de datos

Primero veremos los tipos de datos con los que vamos a trabajar:

F IGURA 4.2: Tipos de datos. Fuente: Elaboración propia

Observamos que que nuestra contiene 2237605 registros que ocupan 240MB
de memoria aproximadamente, está es una cantidad bastante ligera comparada
a otros tipos de conjuntos de datos.
Capítulo 4. Análisis de los datos 45

4.5.2. Clasificación de crímenes

En la data existen 32 tipos de crímenes registrados por la policía de


Filadelfia, en la siguiente figura mostramos la frecuencia de los 15 crímenes
más cometidos.

F IGURA 4.3: Tipos de crímenes Fuente: Elaboración propia

Observamos que los crímenes más comunes son los asaltos y robos y hay
otros que son menos comunes como los homicidios.
46 Capítulo 4. Análisis de los datos

4.6. Limpieza de datos

En esta sección procederemos a hacer una limpieza de datos para así poder
trabajar de manera más eficiente con nuestros datos.
Observamos que hay columnas con las que no vamos a trabajar, como por
ejemplo las columnas Location_Block y UCR_General, además como vamos
a usar el tipo de crimen y su localización para nuestro trabajo eliminaremos
aquellos registros que no posean estos atributos, el siguiente figura vemos la
cantidad de datos faltantes por columna.

F IGURA 4.4: Tratamiento de valores faltantes. Fuente: Elaboración


propia

Para limpiar nuestra data usaremos:

# E l i m i n a m o s l a s c o l u m n a s que no u s a r e m o s
data.drop ([’Location_Block ’, ’UCR_General ’], inplace =True , axis =1)

# Eliminamos l o s v a l o r e s f a l t a n t e s
data. dropna ( subset =[’Lon ’], how=’all ’, inplace = True)
data. dropna ( subset =[’Lat ’], how=’all ’, inplace = True)
data. dropna ( subset =[’Text_General_Code ’], how=’all ’, inplace = True)
Capítulo 4. Análisis de los datos 47

4.7. Visualización de datos

Esta sección nos permitirá tener una idea de las características de nuestra
data de manera visual.

4.7.1. Evolución histórica de la tasa de crímenes

En la siguiente figura observamos que conforme pasan los años el crimen


ha ido disminuyendo.

F IGURA 4.5: Variación de la tasa de crímenes con respecto al


tiempo. Fuente: Elaboración propia

4.7.2. Cantidad de crímenes cometidos por tipo

En la siguiente figura observamos que los crímenes con mayor frecuencia


como lo habíamos mencionado en la sección anterior, en este caso tomamos los
20 mayores crímenes cometidos.
48 Capítulo 4. Análisis de los datos

F IGURA 4.6: Cantidad de crímenes cometidos por tipos. Fuente:


Elaboración propia

4.7.3. Cantidad de crímenes cometidos por hora

En la siguiente figura observamos que a partir de las 4 de la tarde hay un


aumento sustancial de la cantidad de crímenes cometidos.

F IGURA 4.7: Cantidad de crímenes cometidos por hora. Fuente:


Elaboración propia

4.8. Análisis exploratorio de datos

Esta etapa final nos permitirá hacer un análisis más exhaustivo de los datos
para su posterior modelamiento para poder así tener una idea clara de qué tipos
Capítulo 4. Análisis de los datos 49

de algoritmo debemos usar.


Para ello haremos uso de gráficas más detalladas para poder visualizar la
forma en como se comportan nuestros datos.

4.8.1. Evolución de la cantidad de crímenes por año

En la siguiente figura mostraremos la evolución temporal de la tasa de


crímenes por tipo desde el año 2006 hasta el año 2016.

F IGURA 4.8: Evolución histórica de la cantidad de crímenes por


año. Fuente: Elaboración propia

De esta figura observamos que algunos crímenes siguen manteniendo una


misma frecuencia, y otros como el fraude están en aumento.
Esta figura solo nos da una idea generalizada ya que abarca 10 años de
crímenes en total.
50 Capítulo 4. Análisis de los datos

En la siguiente figura vemos el comportamiento individual de la cantidad


de crímenes por año y además separada por tipos

F IGURA 4.9: Evolución histórica de la cantidad de crímenes por


año separados por tipo. Fuente: Elaboración propia

De la figura anterior vemos como algunos crímenes han ido decreciendo,


siendo los más notorios el aumento del fraude, y la caída de los crímenes
relacionados con los narcóticos.
Otra observación interesante es también la caída de la cantidad de crímenes
relacionas con el robo y asalto, esto se debe a las políticas de reforzamiento de
patrullaje.
Capítulo 4. Análisis de los datos 51

4.8.2. Evolución de la cantidad de crímenes por mes

En la siguiente figura mostraremos la evolución temporal de la tasa de


crímenes por tipo desde el año 2006 hasta el año 2016, pero esta vez por mes.

F IGURA 4.10: Evolución histórica de la cantidad de crímenes por


mes. Fuente: Elaboración propia

Esta figura nos muestra un enfoque distinto de la cantidad de crímenes


cometidos, vemos que esta gráfica nos muestra picos y valles, y esto se debe a
que la cantidad de crímenes varía con respecto al mes.

A diferencia de la figura anterior en la que vimos un decrecimiento


pronunciado esta vez vemos de manera más particular el comportamiento de
la cantidad crímenes.

Más adelante daremos más detalles de como se distribuye la cantidad de


crímenes por mes.
En la siguiente figura vemos el comportamiento individual de la cantidad
de crímenes por mes y además separada por tipos
52 Capítulo 4. Análisis de los datos

F IGURA 4.11: Evolución histórica de la cantidad de crímenes por


mes separados por tipo. Fuente: Elaboración propia

Esta figura es muy difícil de analizar por ello usaremos otro tipo de gráfica
para analizar cantidad de crímenes cometidos por mes.

F IGURA 4.12: Cantidad de crímenes cometidos por mes. Fuente:


Elaboración propia

En esta figura observamos un incremento de la tasa de crímenes desde el


mes de marzo hasta el mes de agosto, y vemos que decrece desde setiembre
hasta febrero.
Trabajar con estos tipos de datos muy disparejos puede ser complejo, por
ello hacemos un trabajo de normalización previo a la visualización.
Como se muestra a continuación, la mayoría de los 10 delitos principales
siguen el mismo patrón estacional que el delito en general, alcanzando su punto
máximo en octubre y abril, y alcanzando puntos bajos en diciembre y febrero.
Capítulo 4. Análisis de los datos 53

F IGURA 4.13: Evolución histórica de la cantidad de crímenes por


mes normalizado. Fuente: Elaboración propia

4.8.3. Evolución de la cantidad de crímenes por hora

Para descubrir patrones de crímenes también debemos analizar a qué


hora se da la mayor incidencia criminal. Por ello usaremos los 10 crímenes
principales, la mayoría de los crímenes siguen el mismo patrón que los patrones
generales de crímenes. 3-6am se tiene el menor número de crímenes. El número
comienza a aumentar en la mañana y alcanza su punto máximo al mediodía,
luego más o menos empieza a incrementar hasta la media noche.

F IGURA 4.14: Cantidad de crímenes cometidos por hora. Fuente:


Elaboración propia
54 Capítulo 4. Análisis de los datos

Como la cantidad de crímenes es muy alta procedemos a normalizarlos para


poder tener una mejor idea del comportamiento de la cantidad de crímenes por
hora.

F IGURA 4.15: Comparación de la cantidad de crímenes cometidos


por hora normalizado. Fuente: Elaboración propia

F IGURA 4.16: Cantidad de crímenes cometidos por hora


separados por tipo. Fuente: Elaboración propia
Capítulo 4. Análisis de los datos 55

4.8.4. Evolución de la cantidad de crímenes por día de la


semana

Para encontrar un patrón semanal hemos agregado todos los crimenes


separados por día de la semana. El miércoles tiene el número más alto y el
domingo tiene el número más bajo, pero la diferencia entre el día martes y
miércoles es pequeña.

F IGURA 4.17: Cantidad de crímenes cometidos por día de la


semana. Fuente: Elaboración propia

Para los 10 crímenes principales, luego de normalizar la mayoría de los


crímenes alcanzan su punto máximo el sábado y disminuyen durante los días
martes y viernes, con la excepción del asalto. Picos de asalto el sábado y el
domingo. El pico de robo y vandalismo el viernes y el sábado disminuyen el
domingo.

F IGURA 4.18: Evolución de la cantidad de crímenes por día de la


semana. Fuente: Elaboración propia
56 Capítulo 4. Análisis de los datos

Ahora observamos el comportamiento individual de la cantidad de


crímenes de manera semanal y vemos que algunos crímenes como el
vandalismo y el asalto aumentan los fines de semana, puede existir una relación
entre estos.
Otra observación es que los crímenes relacionados a los narcóticos
disminuyen los fines de semana así también como los fraudes.

F IGURA 4.19: Cantidad de crímenes cometidos por día de de la


semana separados por tipo. Fuente: Elaboración propia

Luego de hacer un análisis a priori de nuestros datos ya tenemos una


información relativa del comportamiento delictivo, en el siguiente capítulo
veremos la creación de modelos que nos permitan hacer predicciones con estos
datos.
Capítulo 4. Análisis de los datos 57

4.8.5. Conclusiones

De las visualizaciones anteriores se puede tener una idea inicial de la


evolución del comportamiento criminal conforme pasan los años. Sin embargo
existen múltiples factores externos que pueden alterar estos resultados, como
una recesión económica, las guerras, plagas, etc.
Capítulo 5

Análisis predictivo y evaluación de


modelos

En este capítulo se realiza el análisis y evaluación de los modelos de


clasificación y agrupamiento de los datos criminales.

5.1. Preprocesamiento de datos

En esta etapa se realiza un análisis de los atributos que se tomaran en cuenta


a la hora de realizar el entrenamiento de los datos.

Primero vamos a obtener la hora el día y el mes en que se cometió el


crimen por separado.

time = pd. to_datetime (data[’Dispatch_Date_Time ’])


data[’Dispatch_Date_Time ’] = time
data[’dayofweek ’] = data[’Dispatch_Date_Time ’].dt. dayofweek
data[’month ’] = data.index.month
data[’year ’] = data.index.year
data[’day ’] = data.index.day
# Ordenamos l o s c r i m e n e s p o r f e c h a
data. set_index (’Dispatch_Date_Time ’, inplace =True)
data. sort_index ( inplace =True)

59
60 Capítulo 5. Análisis predictivo y evaluación de modelos

Luego se procede a eliminar los atributos que no se utilizarán debido a


que estos sólo ocasionarían que el tiempo de entrenamiento aumente.
Otro factor es que estos no influyen en las predicciones.

data=data. reset_index ()
data.drop ([
’Psa ’,
’Dispatch_Date_Time ’,
’Dispatch_Date ’,
’Dispatch_Time ’,
’Dc_Key ’,
’Location_Block ’,
’UCR_General ’
], inplace =True , axis =1)
data = data. rename ( columns ={" Text_General_Code ":" type_crime "})

Debido a que tenemos muchos tipos de crímenes solo vamos a seleccionar


aquellos que se consideran como crímenes violentos y robos.

# Hacemos una l i s t a d e l o s c r i m e n e s p r i n c i p a l e s
main_crimes = [
’Rape ’,
’Other Assaults ’,
’Aggravated Assault Firearm ’,
’Homicide − Criminal ’,’Robbery Firearm ’,
’Narcotic / Drug Law Violations ’]
# Seleccionamos los crimenes p r i n c i p a l e s
data = data.loc[data[’type_crime ’]. isin( main_crimes )]
Capítulo 5. Análisis predictivo y evaluación de modelos 61

Debido a que algunos algoritmos son muy sensibles se escala las


coordenadas usando una escala logarítmica.

# Escalando la longitud y la l a t i t u d
data[’Lon ’] = data[’Lon ’]. map( lambda x: np.log(−x))
data[’Lat ’] = data[’Lat ’]. map( lambda x: np.log(x))

Debido a que las horas son una variable categórica y tenemos 24, hemos
agrupado las horas en el formato de: mañana, tarde, noche y madrugada
para reducir la cantidad de atributos finales.

# Escalando l a s horas
time_of_day = []

for row in data[’Hour ’]:


if 0 <= row < 6:
time_of_day . append (’dawn ’)
elif 6 <= row < 12:
time_of_day . append (’morning ’)
elif 12 <= row < 18:
time_of_day . append (’afternoon ’)
elif 18 <= row < 24:
time_of_day . append (’night ’)

Luego pasamos a convertir nuestras variables categóricas en dummy


variables para poder así empezar con nuestra división de datos.

# O b t e n i e n d o l a s dummy v a r i a b l e s
df_X1 = pd. get_dummies (data[’dayofweek ’], prefix = ’day ’)
df_X2 = pd. get_dummies (data[’month ’], prefix = ’month ’)
data = data.join(df_X1)
62 Capítulo 5. Análisis predictivo y evaluación de modelos

data = data.join(df_X2)

Ahora se procede a separar los datos para empezar con el entrenamiento.

# S e p a r a c i o n de d a t o s de e n t r e n a m i e n t o y prueba .
array = data. values
X = array [:, 0:−1]
y = array [:, −1]
sizeTest = 0.6

# Para l a r e p r o d u c c i o n de l o s r e s u l t a d o s
seed = 666
sample_weight = np. random . RandomState (666). rand(y.shape [0])

X_train , X_test , y_train , y_test , sw_train , sw_test =


train_test_split (X, y, sample_weight , test_size =
sizeTest , random_state =seed)

5.2. Evaluación de algoritmos

Para este seminario de tesis, se escogieron 4 algoritmos de clasificación de


datos, para esto se define una función que validará cada uno de estos modelos
y nos dará como resultado precisión del algoritmo y el margen de error de la
predicción.

# V a l i d a c i o n de l o s modelos
def validacionModelo (model ,num_folds , seed , scoring , X_train , Y_train ):
kf = KFold( n_splits =num_folds , random_state =seed)
cv_results = cross_val_score (
model ,
X_train ,
Capítulo 5. Análisis predictivo y evaluación de modelos 63

Y_train ,
cv=kf ,
scoring = scoring )
resultados . append ( cv_results )
print (" Precision : " + str( cv_results .mean ()∗100) + " %" )
print (" Desviacion estandar : " + str( cv_results .std ()∗100))

Se ha evaluado los mismos algoritmos para 2 tipos datos, una donde


tomamos en cuenta los distritos policiales, y otra en la que no.

5.3. Comparación de algoritmos

En este parte se mostrarán los resultados de la evaluación de los modelos de


clasificación. El enfoque también está en comparar los atributos que se deben
seleccionar.

Algoritmo Precisión Precisión 2 Std Std 2


KNN 54.8960 % 53.2692 % 0.4259 0.2453
Árbol de Decisión 52.0211 % 50.8533 % 0.4896 0.3754
Clasificador Bayesiano 49.9449 % 18.4917 % 0.2696 0.6227
Bosque Aleatorio 54.8369 % 56.7321 % 0.4857 0.3494

C UADRO 5.1: Tipos de gráficos

De manera visual podemos observar la influencia de introducir más


atributos en el entrenamiento de los datos.
64 Capítulo 5. Análisis predictivo y evaluación de modelos

F IGURA 5.1: Comparación de algoritmos usando solo el tiempo y


la posición. Fuente: Elaboración propia

De la figura anterior se puede observar el gran desempeño de los algoritmos


de KNN y random forest, también se observa que clasificador bayesiano no es
tan efectivo en este tipo de problemas.
El margen de error del clasificador KNN es mayor que el del bosque
aleatorio. Sin embargo como se explico anteriormente, el clasificador de bosque
aleatorio tiene a sobre ajustar las predicciones por ello se considera en este caso
que el mejor predictor es el algoritmo de KNN
Capítulo 5. Análisis predictivo y evaluación de modelos 65

F IGURA 5.2: Comparación de algoritmos usando los distritos


policiales. Fuente: Elaboración propia

Se observa que cuando usamos los distritos policiales algunos algoritmos


tienden a mejorar su precisión como el caso del bosque aleatorio, sin embargo
los otros algoritmos disminuyen su precisión sin embargo disminuye su error.
Esto se debe principalmente a la gran muestra de datos que se tiene. En este
caso se ha analizado un tamaño considerable de datos que datan desde el año
2006.
Capítulo 6

Conclusiones y Trabajo Futuro

En este capitulo se exponen las conclusiones de este seminario de tesis y el


trabajo futuro a realizar.

6.1. Conclusiones

Los modelos presentados tenían predicciones similares. Los diferentes tipos


de clasificación para predecir los crímenes arrojaron resultados variables.
Al inicio se trató de usar modelos como la regresión logística y la maquina
de soporte vectorial, sin embargo debido a la gran cantidad de datos y atributos,
la convergencia de estos algoritmos nunca se dió. Esto modelos trabajan bien
cuando se tiene una cantidad menor de atributos y una menor cantidad de
datos.
El clasificador bayesiano no funcionó muy bien para este tipo de problemas
debido a la naturaleza compleja del problema.
Existen varias variables externas como económicas que están altamente
correlacionadas con las estadísticas delictivas. Estas variables podrían usarse
para predecir las tasas de criminalidad futuras. Estas operaciones son difíciles
de cuantificar numéricamente en un estudio y pueden ser responsables de la
reducción en los niveles de criminalidad en la ciudad de Filadelfia.
De acuerdo con este estudio, los modelos usados en este trabajo, el crimen ha
estado disminuyendo con forme pasan los años, la conclusión más obvia para
establecer entre la disparidad entre los modelos estadísticos y los niveles reales

67
68 Capítulo 6. Conclusiones y Trabajo Futuro

de criminalidad es que en Filadelfia se está moviendo en la dirección correcta


para la prevención del delito y la reducción de la cantidad de pandillas.
De este trabajo se tienen las siguientes conclusiones:

• Los algoritmos de clasificación KNN y Random Forest tuvieran un gran


desempeño a la hora de clasificar crímenes.

• La visualización de datos es una gran herramienta para la exploración y


análisis de datos, se pudo observar mediante gráficas el comportamiento
criminal desde distintos atributos.

• La etapa de pre-procesamiento de datos es muy importante a la hora


de realizar tareas predictivas, esto se debe a que sin un buen trabajo de
pre-procesamiento es difícil alcanzar buenos resultados predictivos.

• El uso de más características puede mejorar algunos modelos de


clasificación, sin embargo esto no es un indicador confiable debido a los
posibles sobreajustes.

6.2. Trabajo Futuro

Se puede alcanzar una mayor precisión si se puede tener un mejor trabajo a


la hora de realizar una ingeniería de características.
Las descripciones textuales de los incidentes pueden dar valiosas ideas
sobre la forma en que los criminales operan y revelan patrones de crimen.

Existen otros tipos de algoritmos de clasificación más complejas como las


redes neuronales que podrían tener una mayor precisión y mayor impacto,
sin embargo esto es difícil de realizar debido al gran consumo de recursos
necesarios para el uso de este tipo de algoritmos.
Los temas descubiertos pueden utilizarse para formular consejos de
prevención: consejos generales de seguridad, sugerencias para mitigar
patrones de delincuencia específicos de una ciudad o un pueblo.
Bibliografía

[1] Bailey, T. C. and Gatrell, A. C. (1995). Interactive spatial data analysis, volume
413. Longman Scientific & Technical Essex.

[2] Becerra, A. J. (2004). El estado del arte en la investigación en las ciencias


sociales. La práctica investigativa en ciencias sociales, page 27.

[3] Block, C. R. and Senior, I. (1985). Illinois criminal justice information


authority.

[4] Bogomolov, A., Lepri, B., Staiano, J., Oliver, N., Pianesi, F., and Pentland, A.
(2014). Once upon a crime: towards crime prediction from demographics and
mobile data. In Proceedings of the 16th international conference on multimodal
interaction, pages 427–434. ACM.

[5] Bowers, K., Newton, M., and Nutter, R. (2001). A gis-linked database
for monitoring repeat domestic burglary. Mapping and Analysing Crime
Data-Lessons from Research and Practice, pages 120–137.

[6] Chainey, S. (2013). Examining the influence of cell size and bandwidth
size on kernel density estimation crime hotspot maps for predicting spatial
patterns of crime. Bulletin of the Geographical Society of Liege, 60:7–19.

[7] Chainey, S., Tompson, L., and Uhlig, S. (2008). The utility of hotspot
mapping for predicting spatial patterns of crime. Security Journal,
21(1-2):4–28.

[8] Dr. Saed Sayad (2017a). K-means clustering. http://www.saedsayad.


com/clustering_kmeans.htm. [Online; accessed 2-June-2018].

[9] Dr. Saed Sayad (2017b). Support vector machine. http://www.


saedsayad.com/naive_bayesian.htm. [Online; accessed 2-June-2018].

70
BIBLIOGRAFÍA 71

[Eck et al.] Eck, J., Chainey, S., Cameron, J., Leitner, M., and Wilson, R.
Mapping crime: Understanding hot spots usa: National institute of justice;
2005.

[11] Harries, K. D. et al. (1999). Mapping crime: Principle and practice.


Technical report, US Department of Justice, Office of Justice Programs,
National Institute of Justice, Crime Mapping Research Center.

[12] Harsha Pulletikurti (2017). Everything about data science.


http://scaryscientist.blogspot.com/2016/03/confusion-
matrix.html. [Online; accessed 2-June-2018].

[13] La Vigne, N. G. and Wartell, J. (1998). Crime mapping case studies:


Successes in the field. Police Executive Research Forum.

[14] LeBeau, J. L. (2001). 7 mapping out hazardous space for police work1, 2.
Mapping and analysing crime data: Lessons from research and practice, page 139.

[15] Liu, H. and Brown, D. E. (2003). Criminal incident prediction using


a point-pattern-based density model. International journal of forecasting,
19(4):603–622.

[16] Müller, A. C. and Guido, S. (2016). Introduction to machine learning with


Python: a guide for data scientists. .O’Reilly Media, Inc.".

[17] Raschka, S. (2015). Python Machine Learning. Packt Publishing,


Birmingham, UK.

[18] Ratcliffe, J. H. and McCullagh, M. J. (1999). Hotbeds of crime and the


search for spatial accuracy. Journal of geographical systems, 1(4):385–398.

[19] Redacción (2015). Solo 13 de cada 100 víctimas de robo presentan


denuncia.

[20] Redacción (2016). Así está el perú 2016: 80 % cree que los delitos
aumentaron en el último año.
72 BIBLIOGRAFÍA

[21] Saed Sayad (2017). An introduction to data science. http:


//www.saedsayad.com/data_mining_map.htm. [Online; accessed
2-June-2018].

[22] Scikit Learn Documentation (2017). Decision trees. http://


scikit-learn.org/stable/modules/tree.html. [Online; accessed
2-June-2018].

[23] Shama, N. (2017). A machine learning approach to predict crime using


time and location data.

[24] Short, M. B., Bertozzi, A. L., and Brantingham, P. J. (2010). Nonlinear


patterns in urban crime: Hotspots, bifurcations, and suppression. SIAM
Journal on Applied Dynamical Systems, 9(2):462–483.

[25] Short, M. B., D’ORSOGNA, M. R., Pasour, V. B., Tita, G. E., Brantingham,
P. J., Bertozzi, A. L., and Chayes, L. B. (2008). A statistical model of
criminal behavior. Mathematical Models and Methods in Applied Sciences,
18(supp01):1249–1267.

[26] VanderPlas, J. (2016). Python data science handbook: Essential tools for working
with data. .O’Reilly Media, Inc.".

[27] Wikipedia (2018). Random forest — wikipedia, la enciclopedia libre.


[Internet; descargado 3-julio-2018].

[28] Williamson, D., McLafferty, S., McGuire, P., Ross, T., Mollenkopf, J.,
Goldsmith, V., and Quinn, S. (2001). Tools in the spatial analysis of crime.
Mapping and analysing crime data: Lessons from research and practice, 187.
Apéndice A

Instalación de las herramientas


utilizadas y repositorio del proyecto

Para poder usar el código fuente del trabajo se deben instalar los siguientes
programas, el entorno usado para el trabajo fue una distribución Linux llamada
Debian, muy similiar a Ubuntu.

Instalación de git:

$ sudo apt install git-all

Descarga de anaconda:

https://www.anaconda.com/download

Instalación de anaconda:

$ bash /̃Downloads/Anaconda3-5.2.0-Linux-x86_64.sh

Repositorio del proyecto:

https://github.com/gersongams/Tesis

74

Potrebbero piacerti anche