1st. place - Datatón 2014 - Data Science National Contest, Mexico

Preview:

Citation preview

Datata www.datata.mx

DelitosCiencia de Datos

Semana de MatemáticasITAM 2014

Omar Trejo Navarro Luis M. Román García

Datata www.datata.mx

¿Es racional cometer delitos?

Datata www.datata.mx

Utilidad

Gravedad

Datata www.datata.mx

Utilidad

Gravedad

Beneficio

Datata www.datata.mx

Utilidad

Gravedad

Castigo

Beneficio

Datata www.datata.mx

Utilidad

Gravedad

} El delito no es racionalCastigo

Beneficio

Datata www.datata.mx

Utilidad

Gravedad

Castigo

Beneficio

} El delito no es racional

Datata www.datata.mx

Utilidad

Gravedad

Castigo

Beneficio

} El delito no es racional

Datata www.datata.mx

Utilidad

Gravedad

Castigo

Beneficio

} El delito no es racional

Datata www.datata.mx

Utilidad

Gravedad

Castigo

Beneficio

} El delito no es racional

Datata www.datata.mx

Utilidad

Gravedad

Castigo

Beneficio

} El delito no es racional

Datata www.datata.mx

Utilidad

Gravedad

}Castigo

Beneficio

El delito no es racional

Datata www.datata.mx

Utilidad

Gravedad

}Castigo

Beneficio

El delito no es racional

Datata www.datata.mx

Utilidad

Gravedad

}

Delinquir es racional

Castigo

Beneficio

El delito no es racional

Datata www.datata.mx

CIDAC 2009

Datata www.datata.mx

100

Delitos

CIDAC 2009

Datata www.datata.mx

100 25

Delitos Reportan

CIDAC 2009

Datata www.datata.mx

100 25 4.5

Delitos InvestiganReportan

CIDAC 2009

Datata www.datata.mx

100 25 4.5 1.6

Delitos JuezInvestiganReportan

CIDAC 2009

Datata www.datata.mx

100 25 4.5 1.6 1.2

Delitos JuezInvestiganReportan Sentencia

CIDAC 2009

Datata www.datata.mx

100 25 4.5 1.6 1.2 1

Delitos JuezInvestiganReportan Sentencia Condena

CIDAC 2009

Datata www.datata.mx

¡Se condena a 1%!

Datata www.datata.mx

“En México todos los delitos son rentables”

— Enrique García Tejeda

Datata www.datata.mx

Problemas alrededor de los delitos

Complejidad procesalDiscrecionalidadInformación

CorrupciónLitigiosidadTecnología

— Enrique García Tejeda

Datata www.datata.mx

Problemas alrededor de los delitos

Complejidad procesalDiscrecionalidadInformación

CorrupciónLitigiosidadTecnología

— Enrique García Tejeda

Datata www.datata.mx

Ciencia de Datos

Datata www.datata.mx

Ciencia de DatosMatemáticas

Datata www.datata.mx

Ciencia de DatosMatemáticas Estadística

Datata www.datata.mx

Ciencia de DatosMatemáticas Estadística Computación

Datata www.datata.mx

Datatón

Datata www.datata.mx

Concurso Nacional

Datatón

Datata www.datata.mx

Concurso Nacional

Presidencia de la RepúblicaDatatón

Datata www.datata.mx

Concurso Nacional

Presidencia de la República

Política Pública

Datatón

Datata www.datata.mx

“Predicción de delitos y análisis en tiempo real del municipio de Zapopan con Twitter y Google”

Datata www.datata.mx

Prevención Reacción

Datata www.datata.mx

Prevención Reacción

Datata www.datata.mx

Prevención

Datata www.datata.mx

PrevenciónAsignar probabilidad de ocurrencia

Datata www.datata.mx

PrevenciónAsignar probabilidad de ocurrencia

Determinar variables relevantes

Datata www.datata.mx

Intuición

Datata www.datata.mx

¿Cuántas pelotas hay?

Datata www.datata.mx

= T

¿Cuántas pelotas hay?

Datata www.datata.mx

Recopilemos opiniones

= T

¿Cuántas pelotas hay?

Datata www.datata.mx

Recopilemos opiniones

= T

X1

¿Cuántas pelotas hay?

Datata www.datata.mx

Recopilemos opiniones

= TX2

X1

¿Cuántas pelotas hay?

Datata www.datata.mx

Recopilemos opiniones

= TX2

X3X1

¿Cuántas pelotas hay?

Datata www.datata.mx

Recopilemos opiniones

= TX2

X3X1

Xj

¿Cuántas pelotas hay?

Datata www.datata.mx

Recopilemos opiniones

= TX2

X3X1

Xn

Xj

¿Cuántas pelotas hay?

Datata www.datata.mx

¿Cómo funciona?

Datata www.datata.mx

¿Cómo funciona?Ajuste de importancia

Datata www.datata.mx

¿Cómo funciona?Ajuste de importancia

Enfoque en los difíciles

Datata www.datata.mx

Algoritmo — AdaBoost Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados

Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados donde

Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados donde Inicializar

Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados donde InicializarPara :

Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados donde InicializarPara :● Entrenar al predictor débil usando la distribución

Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados donde InicializarPara :● Entrenar al predictor débil usando la distribución● Obtener la hipótesis débil

Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados donde InicializarPara :● Entrenar al predictor débil usando la distribución● Obtener la hipótesis débil con error .

Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados donde InicializarPara :● Entrenar al predictor débil usando la distribución● Obtener la hipótesis débil con error .● Escoger

Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados donde InicializarPara :● Entrenar al predictor débil usando la distribución● Obtener la hipótesis débil con error .● Escoger

● Actualizar

Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados donde InicializarPara :● Entrenar al predictor débil usando la distribución● Obtener la hipótesis débil con error .● Escoger

● Actualizar

Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados donde InicializarPara :● Entrenar al predictor débil usando la distribución● Obtener la hipótesis débil con error .● Escoger

● Actualizar

Hipótesis final: .

Freund y Schapire, 1997

Datata www.datata.mx

Algoritmo — AdaBoostDados donde InicializarPara :● Entrenar al predictor débil usando la distribución .● Obtener la hipótesis débil con error .● Escoger

● Actualizar

Hipótesis final: . es un factor de normalización para .

Freund y Schapire, 1997

Datata www.datata.mx

Esquemáticamente

Datata www.datata.mx

Esquemáticamente

Datata www.datata.mx

Esquemáticamente

Datata www.datata.mx

Esquemáticamente

Entrenamos un predictor débil (árbol) con

Datata www.datata.mx

Esquemáticamente

Entrenamos un predictor débil (árbol) con

Datata www.datata.mx

Esquemáticamente

Entrenamos un predictor débil (árbol) con

Datata www.datata.mx

Esquemáticamente

Entrenamos un predictor débil (árbol) con

Datata www.datata.mx

Esquemáticamente

Entrenamos un predictor débil (árbol) con

Datata www.datata.mx

Esquemáticamente

Entrenamos un predictor débil (árbol) con

Datata www.datata.mx

Esquemáticamente

Entrenamos un predictor débil (árbol) con

Datata www.datata.mx

Esquemáticamente

Entrenamos un predictor débil (árbol) con

Error

Datata www.datata.mx

Esquemáticamente

Entrenamos un predictor débil (árbol) con

PesosError

Datata www.datata.mx

Esquemáticamente

Entrenamos un predictor débil (árbol) con

¡Debe ser mejor que clasificar aleatoriamente!

PesosError

Datata www.datata.mx

Esquemáticamente

Datata www.datata.mx

Esquemáticamente

Pesos bajos a las muestras bien clasificadas.

Datata www.datata.mx

Pesos altos a las muestras mal clasificadas.

Esquemáticamente

Pesos bajos a las muestras bien clasificadas.

Datata www.datata.mx

Esquemáticamente

Datata www.datata.mx

Esquemáticamente

Datata www.datata.mx

Pesos grandes

Pesos chicos

Esquemáticamente

Datata www.datata.mx

Pesos grandes

Pesos chicos

Asignamos mayor peso a los mejores clasificadores.

Esquemáticamente

Datata www.datata.mx

Parámetros

Datata www.datata.mx

ParámetrosNúmero de iteraciones

Datata www.datata.mx

ParámetrosNúmero de iteracionesProfundidad del árbol

Datata www.datata.mx

ParámetrosNúmero de iteracionesProfundidad del árbolTasa de aprendizaje

Datata www.datata.mx

ParámetrosNúmero de iteracionesProfundidad del árbolTasa de aprendizajeTamaño de muestra

Datata www.datata.mx

¿Cuál es el error?

Datata www.datata.mx

Suponiendo que cada es mejor que adivinar al azar

Datata www.datata.mx

Suponiendo que cada es mejor que adivinar al azar

Datata www.datata.mx

Suponiendo que cada es mejor que adivinar al azar

Datata www.datata.mx

Suponiendo que cada es mejor que adivinar al azar

, donde es el peso de la predicción .

Datata www.datata.mx

Suponiendo que cada es mejor que adivinar al azar

, donde es el peso de la predicción .

Si es el error de clasificación de un predictor:

Datata www.datata.mx

Suponiendo que cada es mejor que adivinar al azar

, donde es el peso de la predicción .

Freund y Schapire, 1997

Si es el error de clasificación de un predictor:

Datata www.datata.mx

En boosting el error de entrenamiento puede hacerse arbitrariamente pequeño.

Datata www.datata.mx

Modelo finalIteraciones: 14

Datata www.datata.mx

Modelo finalIteraciones: 14

Muestra de prueba: 7,501

Datata www.datata.mx

Modelo finalIteraciones: 14

Muestra de prueba: 7,501 Muestra de entrenamiento: 2,499

Datata www.datata.mx

Variables y observaciones

Datata www.datata.mx

Parámetros Valores

Tasa de aprendizaje .1, .01

Profundidad árboles 1, 3, 5, 7

Sensibilidad 100, 150, 200, … , 1000

Error de generalización Bootstrap (25 reps)

Remuestreo

Datata www.datata.mx

Parámetros Valores

Tasa de aprendizaje .1, .01

Profundidad árboles 1, 3, 5, 7

Sensibilidad 100, 150, 200, … , 1000

Error de generalización Bootstrap (25 reps)

Remuestreo

Contracción Profundidad N-árboles Precisión Kappa Precisión DS Kappa DS

.1 1 100 .904 0 .00424 0

.1 1 150 .906 0.037 .00465 .0236

.1 1 200 .906 0.074 .004 .0248

... ... ... ... ... ... ...

.01 7 1000 .966 .803 .00306 .0175

Datata www.datata.mx

Parámetros Valores

Tasa de aprendizaje .1, .01

Profundidad árboles 1, 3, 5, 7

Sensibilidad 100, 150, 200, … , 1000

Error de generalización Bootstrap (25 reps)

Remuestreo

Contracción Profundidad N-árboles Precisión Kappa Precisión DS Kappa DS

.1 1 100 .904 0 .00424 0

.1 1 150 .906 0.037 .00465 .0236

.1 1 200 .906 0.074 .004 .0248

... ... ... ... ... ... ...

.01 7 1000 .966 .803 .00306 .0175

Shrinkage: .01 Depth: 7 N-trees: 700

Datata www.datata.mx

Resultados

Datata www.datata.mx

Datata www.datata.mx

Medida Valor

Precisión 96.96%

Valor-p p < 2e-16

Sensibilidad .9845

Especificidad .8277

Kappa 0.8215

Prevalencia 0.9048

Precisión balanceada 0.9061

Datata www.datata.mx

Prevención

Datata www.datata.mx

Prevención

Lo bueno

Datata www.datata.mx

Prevención

Lo buenoRelaciones implícitas

Datata www.datata.mx

Prevención

Lo buenoRelaciones implícitasPerfiles por zona

Datata www.datata.mx

Prevención

Lo buenoRelaciones implícitasPerfiles por zonaIntuición

Datata www.datata.mx

Prevención

Lo buenoRelaciones implícitasPerfiles por zonaIntuición

Lo malo

Datata www.datata.mx

Prevención

Lo buenoRelaciones implícitasPerfiles por zonaIntuición

Lo maloDesbalance

Datata www.datata.mx

Prevención

Lo buenoRelaciones implícitasPerfiles por zonaIntuición

Lo maloDesbalanceNo. de predictores

Datata www.datata.mx

Prevención

Lo buenoRelaciones implícitasPerfiles por zonaIntuición

Lo maloDesbalanceNo. de predictoresDatos imprecisos

Datata www.datata.mx

Política pública inteligente

Datata www.datata.mx

Reducción de delitos

Datata www.datata.mx

Prevención Reacción

Datata www.datata.mx

Reacción

Datata www.datata.mx

Reacción1. Monitoreo

Datata www.datata.mx

Reacción1. Monitoreo2. Detección

Datata www.datata.mx

Reacción1. Monitoreo2. Detección

3. Información

Datata www.datata.mx

Reacción1. Monitoreo2. Detección

3. Información4. Coordinación

Datata www.datata.mx

Datata www.datata.mx

Datata www.datata.mx

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Datata www.datata.mx

Hospitales

Policía

Monitoreo

Datata www.datata.mx

Hospitales

Policía

Monitoreo

Datata www.datata.mx

Hospitales

Policía

Monitoreo

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez

Monitoreo

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez

Monitoreo

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez

DetecciónMonitoreo

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez

Monitoreo Detección

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez

Monitoreo Detección

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez Patrulla a...

Monitoreo Detección

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez Patrulla a...

Monitoreo Detección

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez Patrulla a...

Monitoreo Detección

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez Patrulla a...

Listos para...

Monitoreo Detección

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez Patrulla a...

Listos para...

Monitoreo Detección Coordinación

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez Patrulla a...

Listos para...

Monitoreo Detección Coordinación

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez

Instrucciones

Patrulla a...

Listos para...

Monitoreo Detección Coordinación

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez

Instrucciones

Patrulla a...

Listos para...

Monitoreo Detección Coordinación

Información

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez

Instrucciones

Patrulla a...

Listos para...

API REST de Twitter

Monitoreo Detección Coordinación

Información

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez

Instrucciones

Patrulla a...

Listos para...

API REST de Twitter

Monitoreo Detección Coordinación

Información

Datata www.datata.mx

Hospitales

Policía

Homicidio en jiménez y valdez

Instrucciones

Patrulla a...

Listos para...

API REST de Twitter

API Directions

JSON

Monitoreo Detección Coordinación

Información

Datata www.datata.mx

Coordinación en tiempo real

Datata www.datata.mx

Salvar vidas

Datata www.datata.mx

Participación ciudadana

Datata www.datata.mx

Más información

Datata www.datata.mx

Mapas de criminalidad

Datata www.datata.mx

¿Cómo funciona?

Datata www.datata.mx

API de Twitter

Datata www.datata.mx

API de Twittertweets <- searchTwitter(

keyword = keyword, geocode = geozone, since = since.date, n = number.tweets)

Datata www.datata.mx

API de Twitter

twitteR

tweets <- searchTwitter(keyword = keyword, geocode = geozone, since = since.date, n = number.tweets)

Datata www.datata.mx

API de GoogleAPI de Twitter

twitteR

tweets <- searchTwitter(keyword = keyword, geocode = geozone, since = since.date, n = number.tweets)

Datata www.datata.mx

API de GoogleAPI de Twitterurl <- paste(“http://maps.googleapis.com/maps/api/directions/json?”,“origin=”, from.coord, “&destination=”, to.coord, “&language=”, lang.code, sep = “”)

twitteR

tweets <- searchTwitter(keyword = keyword, geocode = geozone, since = since.date, n = number.tweets)

Datata www.datata.mx

API de GoogleAPI de Twittertweets <- searchTwitter(

keyword = keyword, geocode = geozone, since = since.date, n = number.tweets)

twitteR

url <- paste(“http://maps.googleapis.com/maps/api/directions/json?”,“origin=”, from.coord, “&destination=”, to.coord, “&language=”, lang.code, sep = “”)

route <- fromJSON( paste(readLines(url), collapse = “”))

Datata www.datata.mx

Ejemplohttps://maps.googleapis.com/maps/api/directions/json?origin=ITAM,Mexico&destination=UNAM,Mexico&language=es

Datata www.datata.mx

Reacción

Datata www.datata.mx

Reacción

Lo bueno

Datata www.datata.mx

Reacción

Lo buenoInmediato

Datata www.datata.mx

Reacción

Lo buenoInmediatoAutomático

Datata www.datata.mx

Reacción

Lo buenoInmediatoAutomáticoEscalable

Datata www.datata.mx

Reacción

Lo buenoInmediatoAutomáticoEscalable

Lo malo

Datata www.datata.mx

Reacción

Lo buenoInmediatoAutomáticoEscalable

Lo maloNo robusto

Datata www.datata.mx

Reacción

Lo buenoInmediatoAutomáticoEscalable

Lo maloNo robustoNo factor-humano

Datata www.datata.mx

Reacción

Lo buenoInmediatoAutomáticoEscalable

Lo maloNo robustoNo factor-humanoErrores costosos

Datata www.datata.mx

Demostración

Datata www.datata.mx

Código abierto

Datata www.datata.mx

Ciencia abiertaCódigo abierto

Datata www.datata.mx

www.datata.mx

Datatahttps://github.com/datata/dataton

Datata www.datata.mx

Referencias[1] Enrique García Tejeda, Análisis Económico del Derecho Penal,

Clase de licenciatura en la Universidad Panamericana

[2] Gary Becker, Crime and Punishment, An Economic Approach

http://www.nber.org/chapters/c3625.pdf

[3] Yoav Freund and Robert Schapire, A Short Introduction to Boosting

http://cseweb.ucsd.edu/~yfreund/papers/IntroToBoosting.pdf

[4] Twitter, REST API v1.1 Resources,

https://dev.twitter.com/docs/api/1.1

[5] Google, The Google Directions API,

https://developers.google.com/maps/documentation/directions/

Recommended