El uso de la Inteligencia Artificial es cada vez más amplio y, en los últimos años, también se ha extendido al ámbito del orden público. Es decir, hoy en día, la policía puede valerse de modelos predictivos basados en Inteligencia Artificial para identificar una potencial actividad criminal y así, evitar o minimizar su impacto.

La predicción de crímenes permite a las fuerzas de seguridad optimizar sus recursos, haciendo un uso inteligente de los mismos. Por ejemplo, establecer posicionamientos y recorridos de patrullas más acordes a la distribución de incidencias y así reducir su número.

En este proyecto, nuestro objetivo es predecir el número de incidencias policiales que ocurren dentro de un municipio catalán con más de 83.000 habitantes y una extensión de 21,48 km2. Para ello, utilizamos algoritmos predictivos entrenados con registros históricos de dichas incidencias.

Además, hemos incorporado factores socio-económicos al estudio con el fin de evaluar cómo afectan al número de incidencias. En total hemos utilizado 6 algoritmos predictivos y propuesto 7 escenarios posibles.

Dataset y limpieza de datos

El dataset que hemos utilizado está compuesto por el registro de las incidencias, factores socio-económicos y meteorológicos. Los datos de incidencias y factores socio-económicos fueron provistos por el cuerpo de la Policía Local y el Ayuntamiento, respectivamente. En tanto a los datos meteorológicos fueron obtenidos de fuentes de datos abiertos.

En la limpieza de datos hemos descartados todos aquellos registros sin datos o con inconsistencias. Además, descartamos los registros correspondientes a operaciones planificadas con anterioridad ya que no son incidencias.

La limpieza y preparación de los datos son una parte sumamente importarte puesto que los modelos predictivos basados en Inteligencia Artificial que utilizamos, darán mejores resultados si realizamos una adecuada limpieza de los datos provistos por la Policía Local.

Análisis Exploratorio de los Datos

Exploración

En el análisis exploratorio hemos estudiado el dataset desde distintas perspectiva para extraer la información más relevante. Por ejemplo, cuál era el origen de incidencias más frecuente o cuántos agentes se requirieron para atender la incidencia. También hemos visto la distribución del número de incidencias por día del año, día de la semana y horario.

Además, siguiendo la jerarquía diseñada por la Policía Local, hemos clasificado las incidencias en 3 niveles. En este proyecto nos hemos centrado únicamente en el nivel más general, que establece 8 categorías:

  1. emergencias
  2. menores
  3. orden público
  4. policía administrativa
  5. policía comunitaria
  6. asistencias
  7. seguridad ciudadana
  8. tránsito

También hemos realizado mapas de calor del municipio que nos permitieron estudiar la distribución espacial de las incidencias y su dinámica a lo largo del tiempo.

Dashboard

Dada la alta complejidad y volumen de los datos, hemos diseñado un dashboard interactivo que nos permitió analizar de forma sencilla y dinámica el gran número de aspectos detallados anteriormente. Esto no sólo agilizó nuestro estudio de los datos, sino que se convirtió en una herramienta de análisis exploratorio.

Una de las grandes ventajas del dashboard es que se puede acceder y hacer uso de él desde cualquier navegador. Esto nos permite realizar la exploración de datos como si estuviéramos navegando por una página web, como podemos ver en la siguiente figura:

captura de pantalla del dashboard

Captura de pantalla del dashboard diseñado para la exploración de datos.

Captura de pantalla del dashboard interactivo diseñado para el análisis exploratorio de los datos. En el panel de la izquierda podemos elegir la categoría de la incidencia que nos interesa estudiar. Una vez elegida la categoría, los resultados se muestran en los paneles central y derecho. El panel central muestra diversos mapas de calor, en cambio el panel de la derecha, las estadísticas de dichas incidencias.

Modelos Predictivos

En esta sección presentaremos los modelos predictivos basados en Inteligencia Artificial que utilizaremos para predecir las incidencias reportadas a la policía local.

Escenarios

El objetivo de los modelos predictivos es encontrar relaciones entre las distintas variables presentes en el problema. Es decir, predecir cómo varía una cantidad, cuando cambian los valores de las otras. En nuestro caso, nos interesa predecir el número de incidencias para una dada fecha, barrio, turno horario, etc.

De los anteriores párrafos, podemos ver que, al incrementar el número de variables usadas para predecir, nuestro modelo será más completo. Si bien es cierto que modelos más completos nos podrán dar mejores predicciones, no siempre se tiene suficientes datos para que el modelo extraiga los patrones que estamos buscando.

Por ese motivo, hemos propuesto predecir el número de incidencias considerando distintos escenarios donde, en cada uno de ellos, se define una combinación de variables. El escenario más sencillo que hemos considerado corresponde a una única variable, la fecha. La lista completa de escenarios estudiados es,

  1. fecha
  2. distrito policial y fecha
  3. categoría de incidencia y fecha
  4. turno horario y fecha
  5. turno horario, categoría de incidencia y fecha
  6. distrito policial, turno horario y fecha
  7. distrito policial, categoría de incidencia y fecha

Algoritmos utilizados

Para cada escenario consideramos diferentes algoritmos, dependiendo de la estructura de los datos. Los mismos son,

  1. FB Prophet
  2. Modelos lineales generalizados, GML
  3. Modelos lineales aditivos, GAM
  4. Random Forest, RM
  5. Modelos hurdle
  6. Modelos zero-inflated

Para evaluar la predicción de los modelos, utilizamos como métricas el error medio absoluto (MAE) y el criterio de información de Akaike.

En la siguiente figura, podemos ver el número de incidencias por día, donde el primer 80% de los datos fue utilizado para entrenar los modelos y el último 20% fue utilizado para la evaluación de la capacidad predictiva de cada uno de ellos.

Datasets de entrenamiento y prueba incidencias policia - PGConocimiento

Los puntos negros (izquierda línea vertical) representan los datos utilizados para entrenar el modelo, en cambio los grises (derecha línea vertical) representan los datos para validar el modelo.

Resultados

En este artículo nos centraremos únicamente en dos de los escenarios considerados: el escenario más simple, donde hemos considerados sólo la fecha y el escenario donde consideramos la fecha y el distrito policial. Los resultados correspondientes al resto de los escenarios son análogos a los presentados en este artículo.

Escenario: número de incidencias por día

Primero, evaluamos las predicciones generales para un día calendario, sin desglosar por categoría, ni turno, ni distrito policial. En el modelo incluimos los días festivos como predictor adicional, dado que en el análisis exploratorio observamos disminución de casos en días festivos. Construimos también modelo para evaluar el efecto de variables meteorológicas.

En la siguiente tabla comparamos la capacidad predictiva de los modelos.

 Modelos / Métrica  MAE
 Base 8,420
 Festivos 8,448
 Meteo 8,389

 

En la siguiente figura, se presentan los datos originales utilizados como conjunto de prueba contrastados con las predicciones de los modelos.

Resultados modelos predictivos fecha

Predicciones de los modelos predictivos (líneas) contrastados con los datos reales (puntos).

En los tres casos, el error medio en la predicción es menor a 9 incidencias por día.

Dado que los predictores adicionales días festivos y condiciones meteorológicas no brindan una mejor predicción, basándonos en un Principio de Parsimonia (Navaja de Ockham), concluimos que el modelo más apropiado es el Base.

Escenario: Predicción por día y distrito policial

El municipio considerado está dividido en 7 distritos policiales, por ello, consideramos otro escenario donde, además de la fecha, la división por distritos policiales, es una variable predictora.

Construimos varios modelos donde la variable respuesta era número de casos diarios por cada distrito policial. Los algoritmos utilizados para entrenar los modelos fueron:

  • modelo GLM con distribución binomial negativa
  • algoritmo Random Forest

 

Según la métrica MAE, los mejores resultados se obtienen usando algoritmo Random Forest, aunque la diferencia entre los dos modelos es muy pequeña, como podemos ver en la siguiente tabla:

Modelo / Métrica MAE
GLM 2,369
RM 2,319

A nivel de distritos policiales, podemos observar  dispersión en la diferencia entre predicción y valor real. En ciertos distritos el modelo ajusta satisfactoriamente, sin embargo, en otros el error es más grande. Esto puede verse en la siguiente tabla:

Distrito Policial MAE Promedio yhat
D-1 2.2049 4.8813 4.4805
D-2 2.9314 10.7991 10.0635
D-3 3.1848 10.5662 9.6766
D-4 2.6400 8.0137 6.7023
D-5 1.2241 2.0137 1.7970
D-6 1.5594 3.1644 3.0365
D-7 2.4913 8.2922 7.5296

 

La columna promedio se refiere al valor promedio de casos por distrito policial en el dataset de prueba. En tanto la columna yhat representa el promedio por distrito predicho por el modelo Random Forest.

En la siguiente figura, podemos ver la predicción sobre el dataset de prueba de ambos modelos. Las líneas verdes corresponden a el modelo lineal generalizado (glm) y las magenta a random forest (rf). Cómo podemos apreciar, ambos modelos presentan predicciones muy similares en todos los casos.

Resultados de modelos predictivos por distrito policial

En la figura podemos ver las predicciones de los modelos para cada distrito policial.

 

Conclusiones

En este proyecto hemos desarrollados modelos predictivos basados en Inteligencia Artificial para predecir incidencias de la policía local.  En particular, propusimos distintos modelos y hemos considerado varios escenarios. Los modelos fueron entrenados con datos reales provistos por la Policía Local del municipio y por el Ayuntamiento.

Previo al desarrollo de modelos y su correspondiente evaluación, se procedió a realizar la limpieza de datos y la preparación del dataset.

Hemos considerado varios escenarios y algoritmos predictivos. En muchos de estos escenarios, la escasa ocurrencia de incidencias en ciertas localidades o categorías se reflejó en una gran cantidad de ceros en el dataset. Debido a esto, utilizamos modelos específicos para situaciones con estas características y nos centramos en predecir la probabilidad de ocurrencia de una incidencia en lugar del número.

En general podemos concluir que, a pesar de tener pocas ocurrencias en algunos escenarios, los modelos representan adecuadamente los datos. Para obtener predicciones satisfactorias, es imprescindible definir un escenario de interés y considerar qué variables predictoras son relevantes.

Créditos

Trabajo realizado por Zuzana Zajkova.