Documentos de Académico
Documentos de Profesional
Documentos de Cultura
I NGENIERÍA
FACULTAD DE C IENCIAS
E SCUELA P ROFESIONAL DE C IENCIA DE LA C OMPUTACIÓN
Informe
Autor: XX
Asesor: XX
Junio, 2018
Resumen
III
Índice general
Resumen III
1. Introducción 1
1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Estructura del Seminario . . . . . . . . . . . . . . . . . . . . . . . . 6
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
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
VII
Índice de figuras
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
X
Índice de cuadros
XI
Índice de Código
XII
Índice de Acrónimos
XIII
Agradecmientos
XV
Capítulo 1
Introducción
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.
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.
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.
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
• Extraer patrones de los datos para poder identificar correlaciones entre las
características de los crímenes ocurridos y los lugares donde se cometen.
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.
Marco teórico
En este capítulo se sustentará la teoría que fundamenta este seminario de
tesis con base al problema planteado,
9
10 Capítulo 2. Estado del Arte
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.
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.
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
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.
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.
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].
2.4. Conclusiones
Marco Teórico
21
22 Capítulo 3. Marco Teórico
Clasificación
Regresión
Agrupamiento
3.2. Modelos
Algoritmo
Entropía
X
E(T, X) = P (c)E(c)
c∈X
Información ganada
Ventajas y desventajas
Donde:
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
Algoritmo
p
2
(x − y)2 Distancia euclidiana
D(x, y) = abs(x − y) Distancia Manhattan (3.1)
max(|x − y|)
Distancia de Chebyshev
1 X
P (Y = j | X = x) = I(y (i) = j)
K i∈A
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
Algoritmo
Ventajas
Desventajas
N −1 M −1
1 XX
Llog (Y, P ) = − yij log(py )
N i=1 j=1
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
39
40 Capítulo 4. Análisis de los datos
Limpieza de datos
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.
Preprocesamiento de datos
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.
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
Primero veremos los tipos de datos con los que vamos a trabajar:
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
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
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.
# 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
Esta sección nos permitirá tener una idea de las características de nuestra
data de manera visual.
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
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.
4.8.5. Conclusiones
59
60 Capítulo 5. Análisis predictivo y evaluación de modelos
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 "})
# 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
# 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 = []
# 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)
# 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])
# 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))
6.1. Conclusiones
67
68 Capítulo 6. Conclusiones y Trabajo Futuro
[1] Bailey, T. C. and Gatrell, A. C. (1995). Interactive spatial data analysis, volume
413. Longman Scientific & Technical Essex.
[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.
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.
[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.
[20] Redacción (2016). Así está el perú 2016: 80 % cree que los delitos
aumentaron en el último año.
72 BIBLIOGRAFÍA
[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.".
[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
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:
Descarga de anaconda:
https://www.anaconda.com/download
Instalación de anaconda:
$ bash /̃Downloads/Anaconda3-5.2.0-Linux-x86_64.sh
https://github.com/gersongams/Tesis
74