Conception d’un modèle d’analyse multidimensionnelle de données spatialement continues (SOLAP raster)
Analyse de hotspots de criminalité
Jean-Paul Kasprzyk, doctorant
Réunion du comité de thèse: Jean-Paul Donnay, Thérèse Libourel, Marc Simon, Jef Wijsen
Novembre 2013
2
Plan de l’exposé Introduction: business intelligence
Modèle SOLAP raster
Application: analyse de hotspots de criminalité
Performance d’un SOLAP raster
Conclusions
Formation doctorale
3
Plan de l’exposé Introduction: business intelligence
Modèle SOLAP raster
Application: analyse de hotspots de criminalité
Performance d’un SOLAP raster
Conclusions
Formation doctorale
4
Les données: aspect transactionnel
Introduction: business intelligence
5
Les données: aspect décisionnel
Introduction: business intelligence
Le volume des données numériques croit exponentiellement
6
Business Intelligence
Introduction: business intelligence
Architecture d’un système BI (Badard et al, 2009)
7
SOLAP
Les outils SOLAP actuels ne gèrent l’information spatiale qu’à travers le mode vectoriel Pas de gestion de l’information spatialement continue Intérêt d’un SOLAP en mode maillé (raster)
Introduction: business intelligence
8
Plan de l’exposé Introduction: business intelligence
Modèle SOLAP raster
Application: analyse de hotspots de criminalité
Performance d’un SOLAP raster
Conclusions
Formation doctorale
9
Modèle SOLAP raster: généralités
Objet de l’article « Le raster en tant que mesure dans un modèle SOLAP relationnel » Etat de l’art: (Miquel et al, 2002 ; Ahmed & Miquel, 2005 ;
Vaisman & Zimanyi, 2009 ; Gomez et al, 2012)
Principes de base Modèle Relationnel OLAP Schéma en étoile, en flocon de neige ou en constellation Cube de données = collection d’images géoréférencées couvrant
un même territoire Une vue du cube = agrégation d’un ensemble d’images par
opération locale de « map algebra » (Tomlin, 1983) La sélection des images à agréger dépend des dimensions non
spatiales
Modèle SOLAP raster
10
Relation fait raster
Un raster O = r x c pixels de valeur v où et
Une fonction de géoréférenciation :
Propriété:
Une relation fait raster F = collection de mesures raster de même domaine
Modèle SOLAP raster
2( , ) ( , )r c x y
2( , )r c v
( ) ( )i j i j i j i jdom v dom v r r c c ( ) ( )i jdom O dom O
Les dimensions non spatiales sont reliées à la table des faits comme dans un SOLAP classique
11
Fonction d’agrégation α appliquée entre pixels homologues
Agrégation des mesures raster Agrégation de n rasters
Agrégation d’un raster en une valeur unique
Agrégation spatiale d’un raster
Modèle SOLAP raster
1 2 3( , , )v v v v1O2O3O O
O
V
Fonction d’agrégation α appliquée sur l’ensemble des pixels de O
Cas 1: intersection avec un raster binaire (objet spatial)
Cas 2: intersection avec un objet vecteur
Fonction d’agrégation α appliquée à un sous-ensemble de pixels de O
O
V
12
Schéma en étoile ou en flocon de neige
Dimension spatiale liée par jointure spatiale
Dimension non spatiale liée par jointure relationnelle
Modèle SOLAP raster
Fait_raster
D1D2
DnD spatiales (raster ou vecteur)
Schéma en étoile
Jointure d’une dimension non spatiale d’un schéma en flocon de neige
13
Changement d’échelle
Modèle SOLAP raster
Fact_table
Fact_table_SO Fact_table_SE
Fact_table_NO Fact_table_NE
14
Schéma en constellation
Schéma en constellation Même nombre de faits par table Toutes les mesures sont des images de
même taille Une table des faits une fonction de
géoréférenciation Un niveau d’échelle
une résolution (une bandwidth)
Un jeu de dimensions spatiales raster par « coverage »
Taille de l’entrepôt = F+4F+16F+32F+…
Alternative: une seule table des faits avec plusieurs mesures raster
Modèle SOLAP raster
Dimensions non spatiales
Dimensions spatiales vecteur
Dimensions spatiales raster
(F NO NE SO SE)
Tables des faits
15
Représentations Une vue d’un cube raster correspond à l’agrégation des mesures
raster selon les membres de plusieurs dimensions La représentation d’une vue dépend du nombre de dimensions
visibles
Modèle SOLAP raster
« 0 » D 1 D
1D
2D
16
Pourquoi du ROLAP? ROLAP: opérations dans un
SGBD relationnel Traitements plus longs Grande capacité de stockage Supporte le format raster
Modèle SOLAP raster
Agrégation des donnéesSélection des données
Temps de traitement relatifs d’un SOLAP raster
Partie optimisée par un MOLAP négligeable dans un SOLAP raster
MOLAP: opérations dans un système multidimensionnel Traitements moins longs Capacité de stockage limitée Ne supporte pas (encore) le
format raster
17
Plan de l’exposé Introduction: business intelligence
Modèle SOLAP raster
Application: analyse de hotspots de criminalité
Performance d’un SOLAP raster
Conclusions
Formation doctorale
18
But de l’application
Application: analyse de hotspots de criminalité
Crime.csv
LocalisationType de crimeDate
ETL Entrepôt
Serveur M-SOLAPvecteur
Serveur R-SOLAP raster
Analyse de la criminalité spatialement discrète
Analyse de la criminalité spatialement continue (hotspots)
19
Estimation de densité par noyau (KDE) Technique très populaire pour la génération et la visualisation de hotspots Hotspots utilisés, entre autres, en criminalité pour de la prédiction Principe:
Transformation de données ponctuelles en un champ continu (raster) Chaque cellule a comme valeur une fréquence dépendant du nombre de points à
proximité Les hotspots sont isolés par classification de l’image (quantiles)
KDE Classification
Application: analyse de hotspots de criminalité
20
Propriété d’un KDE
Application: analyse de hotspots de criminalité
1 1 2 2 3 3 4 4 5 5 6 6 7 7k p v p v p v p v p v p v p v k
+=
ak bk
Si , ,a bk k k sont de même taille, même résolution, et même « bandwidth »
1 1 2 2 3 3 4 4 5 5 6 6 7 7( ) ( )p v p v p v p v p v p v p v
a bk k
21
Intérêt technique de l’application
Performance d’un SOLAP raster diminue avec: Nombre de dimensions non spatiales Taille des images
Génération de hotspots Nécessite peu de dimensions
Type de crime Temps (espace)
KDE nécessite deux paramètres Bandwidth: indépendant de la taille de l’image
dépendant de l’échelle d’analyse Résolution: influence sur la taille de l’image MAIS peu d’influence
sur le résultat utilisation de « petites images » (entre 200 et 600 ko non compressé) (Chainey, 2013): 150 x 150 ArcGIS: 250 x 250
Application: analyse de hotspots de criminalité
22
Présentation des données
http://www.police.uk/ Territoire d’environ 50km X 50km Année 2012 Fichiers CSV:
Environ 1 200 000 crimes Données par mois et par type de
crimes Latitude / longitude en WGS84
Fichiers KML Environ 7600 polygones des zones de
police par mois
Application: analyse de hotspots de criminalité
Données de criminalité londonienne provenant de la « Metropolitan Police » et de la « City of London Police »
23
Types de crime
Type de crime Occurrences
Anti-social behaviour 348806
Other theft 192893
Violent crime 136324
Vehicule crime 96843
Burglary 94679
Criminal damage and arson 60638
Drugs 48659
Other crime 48464
Shoplifting 37068
Robbery 35528
Public disorder and weapons 30744
Application: analyse de hotspots de criminalité
24
Modèle conceptuel (UML)
Crime_fact
Force_boundary
ID_crimeMonthCrime_type
ID_forceMonth
0-N
1-N
…
Raster_fact
0-N1
ID_factMonthCrime_type
Application: analyse de hotspots de criminalité
Changement
d’échelle
SOLAP classiqueSOLAP Raster
25
Intégration des données Alimentation de la table « crime_fact » (1200000
faits) Alimentation de la table « force_boundary » Suppression des données sans localisation Conversion latitude/longitude en « geometry » Projection dans British National Grid (SRID 27700) Suppression des données en dehors de la zone
d’étude Etablissement du lien relationnel entre
« crime_fact » et « force_boundary » Export de 132 shapefiles de points pour chaque
croisement de dimension « crime_type-month » Génération de 132 images KDE
Resolution: 300m Bandwidth: 1500m
Alimentation de la table « raster_fact » Mise à jour des dimensions de la table
« raster_fact » …
Application: analyse de hotspots de criminalités
26
Vue raster_column
Application: analyse de hotspots de criminalités
27
Comparaison SOLAP raster – SOLAP vecteur
Application: analyse de hotspots de criminalité
Addition des 132 images: environ 35 sec
Sélection des 1200000 entrées: environ 27 sec
KDE sur les données: environ 52 sec
TOTAL: environ 79 sec
Entrepôt raster Entrepôt classique
« Quelle est la répartition spatiale de la criminalité générale pour l’année 2012? »
Requête la plus lourde possible
28
Exemples de requêteApplication: analyse de hotspots de criminalité
« Quels sont les hotspots de criminalité liée à la drogue pour le premier trimestre 2012? »
Stretch « standard deviation »
Fact107 + fact207 + fact307
29
Exemples de requêteApplication: analyse de hotspots de criminalité
« Quels sont les hotspots de criminalité liée à la drogue pour le premier trimestre 2012? »
Ajout de la couche « Pub raster »
30
Exemples de requêteApplication: analyse de hotspots de criminalité
- Slice couche « Pub raster »
« Quels sont les pubs générateurs de criminalité liée à la drogue pour le premier trimestre 2012? »
Zoom in
Pub*(measure)
31
Exemples de requêteApplication: analyse de hotspots de criminalité
« Quels sont les pubs générateurs de criminalité liée à la drogue pour le premier trimestre 2012? »
Soho
Shoreditch
Ajout couche « Pub point »
32
Exemples de requêteApplication: analyse de hotspots de criminalité
« Quels sont les pubs générateurs de criminalité liée à la drogue (poids: 2) et aux armes (poids: 1) pour le premier trimestre 2012? »
Soho
Shoreditch
(2*(fact107+fact107+fact107)+(fact106+fact206+fact306))*pub
33
Exemples de requêteApplication: analyse de hotspots de criminalité
«Quel est le nombre de crimes liés à la drogue et aux armes par force de police de mars 2012? »
-Drill across
-Add dimension force_boundary
34
3 mois plus tard…
Application: analyse de hotspots de criminalité
35
Exemples de requêteApplication: analyse de hotspots de criminalité
« Quels sont les pubs générateurs de criminalité liée à la drogue pour le premier trimestre 2012? »
Soho
Shoreditch
-Retour à la vue précédente
(Fact107 + fact207 + fact307)*pub
36
« Quels sont les pubs générateurs de criminalité liée à la drogue pour le second trimestre 2012? »
Exemples de requêteApplication: analyse de hotspots de criminalité
Soho
Shoreditch
Cranbrook Estate
(Fact407 + fact507 + fact607)*pub
37
Exemples de requêteApplication: analyse de hotspots de criminalité
« Quelle est l’évolution des pubs générateurs de criminalité liée à la drogue entre le premier trimestre et le second trimestre 2012? »
Cranbrook Estate
Soho
Shoreditch
-Evolution avec la vue précédente
-Zoom out
Mesure - mesure(-1)
38
Exemples de requêteApplication: analyse de hotspots de criminalité
« Quelle est l’évolution des hotspots de criminalité liée à la drogue entre le premier trimestre et le second trimestre 2012? »
Suppression de la dimension spatiale pub
(Fact407 + fact507 + fact607)-(Fact107 + fact207 + fact307)
39
Prediction accuracy index (PAI) Indice utilisé en crime mapping pour évaluer la qualité de prédiction de
hotspots
PAI =
PAI permet d’évaluer la qualité du paramètre « bandwidth » d’un KDE A exploiter pour optimiser le paramétrage des KDE au moment de
l’intégration des données Rappel: une « bandwidth » par niveau d’échelle pour garder des
images comparables
Optimisation du paramétrage des KDE
Application: analyse de hotspots de criminalité
(nombre de crimes dans hotspots / nombre de crimes total)(surface de hotspot / surface d’étude)
40
Plan de l’exposé Introduction: business intelligence
Modèle SOLAP raster
Application: analyse de hotspots de criminalité
Performance d’un SOLAP raster
Conclusions
Formation doctorale
41
Contrainte de performance d’un OLAP
OLAP report: groupement de chercheurs sur le OLAP créé en 1994
Définition du OLAP en 5 mots-clés Fast
Requête simple < 1 sec Requête basique < 5 sec Requête complexe < 20 sec
Analysis Shared Multidimensionnality Information
Performance d’un SOLAP raster
42
Performance d’un SOLAP classique
Performance d’un SOLAP raster
Nombre de faits
Nombre de données
43
Performance d’un SOLAP raster
Performance d’un SOLAP raster
Temps d’agrégation
Taille des rasters
44
Performance d’un SOLAP raster
Performance d’un SOLAP raster
Nombre de faits
Nombre de membres
45
Performance d’un SOLAP raster
Performance d’un SOLAP raster
Nombre de dimensions non spatiales
Nombre de faits
46
Garcia Gutierrez & Baumann, 2008: Pré-agrégation des données Impossible de couvrir toutes les possibilités (infinité)
Kang et al, 2013: Etablissement de clusters de rasters Simplification des calculs d’agrégation
exemple: A + B + C + D = 2*A + 2*C
Perte de précision du résultat final
Plusieurs solutions
Performance d’un SOLAP raster
47
Network OLAP (NOLAP) Solutions précédentes:
simplification des calculs
Solution proposée Répartir les calculs sur plusieurs serveurs (cloud) Cube de données cube de serveurs Principe:
Requête divisée en sous-requêtesAgrégation des crime de type « drugs » et « violent crime » pour l’année 2012= Agrégation des crimes de type « drugs » pour l’année 2012 + agrégation des crimes de type « violent crime » pour l’année 2012
Temps d’agrégation divisé par nombre de serveurs
Performance d’un SOLAP raster
48
Exemple d’architecture NOLAP
Client
Serveur maître
Requête principale
Cloud
« Quels sont les hotspots de criminalité pour 2012? »
Gestion dimension « type de crime »
Gestion dimensions spatiales
Gestion dimension « temps »
Anti-social behaviour
Other theft
Violent crime
Vehicule crime
Burglary
Criminal damage
Drugs
Weapons
Shoplifting
Robbery
Sous-requêtes d’agrégation selon dimension « temps » pour chaque type de crime
Agrégation des images renvoyées selon dimension « type de crime »
Image finale
Deux alternatives Un sous-cube par serveur du cloud
table des faits du serveur maître = liste d’adresse vers le cloud
Cube complet copié dans chaque serveur
Chaque serveur renvoie son image d’agrégation
Performance d’un SOLAP raster
49
NOLAP: caractéristiques Nombre de serveurs
croît linéairement avec nombre de membres gérés par le serveur principal (exemple: types de crime) Privilégier cloud pour la dimension temporelle
croît exponentiellement avec nombre de dimensions non spatiales Rester raisonnable
Temps d’agrégation considérablement diminuéMAISil faut rajouter le temps de transfert des requêtes et des images à travers le réseau Dans notre cas: une image < 600 ko, maximum 11 images transférées
Utilisation d’un langage de programmation capable de gérer le « multi tâches »: DotNet, php, …
Performance d’un SOLAP raster
50
Plan de l’exposé Introduction: business intelligence
Modèle SOLAP raster
Application: analyse de hotspots de criminalité
Performance d’un SOLAP raster
Conclusions
Formation doctorale
51
Conclusions
Modèle SOLAP raster théorique Analyse multidimensionnelle de l’information spatialement continue Mesure raster Méthodes d’agrégations spécifiques Modèle en constellation pour le changement d’échelle
Application: analyse de hotspots de criminalité SOLAP raster adapté aux besoins et méthodes de la police (KDE) Application originale adaptée au système (petites images, peu de
dimensions) Association d’un SOLAP raster et d’un SOLAP classique Intégration d’objets spatiaux à la volée A développer:
Interface utilisateur Processus d’intégration des données (choix de la « bandwidth ») Système NOLAP Autres applications possibles: reporting, data mining
52
Plan de l’exposé Introduction: business intelligence
Modèle SOLAP raster
Application: analyse de hotspots de criminalité
Performance d’un SOLAP raster
Conclusions
Formation doctorale