Link streams represent traces of complex systems’ activities over time, in which links appear when two system entities interact with each other; the aggregation of entities (i.e. nodes) and links is a graph. These traces have become strategic datasets in the last few years for analyzing the activity of large-scale complex systems, involving millions of entities, e.g. mobile phone networks, social networks, or the Internet.
This thesis deals with the exploratory analysis of link streams, in particular the characterization of their dynamics and the identification of anomalies over time (called events). We propose an exploratory framework involving statistical methods and visualization, with no hypothesis about data. The detected events are statistically significant and we propose a method to validate their relevance. We finally illustrate our methodology on the evolution of Github online social network, on which hundred thousands of developers contribute to open source software projects.
Tour d'horizon des personnes morales adhérentes à l'APRIL
PhD Defense: Analyse exploratoire de flots de liens pour la détection d'événements
1. Analyse exploratoire de flots de liens
pour la d´tection d’´v´nements
e
e e
S´bastien Heymann
e
Th`se encadr´e par M. Latapy et C. Magnien pendant 2 ans et par
e
e
B. Le Grand la 3e ann´e.
e
1 / 45
2. Flot de liens
= trace d’interactions ordonn´es chronologiquement entre
e
diff´rentes paires d’entit´s.
e
e
1 : (A) -[interagit avec]- (B)
2 : (C) -[interagit avec]- (D)
3 : (B) -[interagit avec]- (C)
4 : (C) -[interagit avec]- (A)
5 : (B) -[interagit avec]- (D)
6 : (E) -[interagit avec]- (F)
...
2 / 45
4. Repr´sentation du monde
e
Les graphes repr´sentent des mesures de syst`mes complexes
e
e
r´els ou simul´s.
e
e
mesure ? analyse ? visualisation ? mod´lisation ? pr´diction ?
e
e
4 / 45
5. Analyse exploratoire de graphes
1
voir le graphe
ex : diagramme noeuds-liens
3
2
interagir en temps réel
ex: Gephi (2008)
grouper, filtrer, calculer des métriques...
construire un langage
visuel
couleurs, volumes, formes...
Publications : [chap. Gephi Comp.Net 14]
5 / 45
6. Pourquoi visualiser des donn´es ?
e
« The greatest value of a picture
is when it forces us to notice
what we never expected to see. »
John Tukey (1962)
6 / 45
7. Une visualisation dynamique de flot
de liens
Andr´ Panisson - The Egyptian Revolution on Twitter, made with Gephi
e
7 / 45
8. Probl´matique
e
Concepts ` d´finir et formaliser
a e
• Dynamique r´guli`re
e e
´ e
• Ev´nement significatif
Contraintes
• D´marche exploratoire sans connaissance a priori
e
• Passage ` l’´chelle
a e
Objectifs
• Quand scruter des ´v´nements ?
e e
• Qui est impliqu´ dans chaque ´v´nement ?
e
e e
8 / 45
9. Comment d´tecter des
e
´v´nements ?
e e
´ e
• Ev´nement = anomalie temporelle.
• Pas de d´finition claire et universelle.
e
• D´pend des cas et des hypoth`ses de d´part.
e
e
e
• Anomalies : identifier les valeurs qui d´vient remarquablement
e
des autres (Grubbs, 1969).
9 / 45
11. Contributions
1
D´tection automatique d’anomalies.
e
• nouvelle m´thode statistique : Outskewer
e
• validation exp´rimentale
e
2
D´tection automatique d’´v´nements.
e
e e
• notion de fenˆtre temporelle
e
• unit´ de temps : intrins`que vs extrins`que
e
e
e
• largeur de fenˆtre
e
3
Cadre exploratoire et ´tude de cas.
e
• m´thodologie unifi´e : statistiques et visualisation
e
e
• prototype
• application ` Github.com
a
11 / 45
12. D´tection d’anomalies : approaches
e
classiques
Hypoth`se : donn´es ∼
e
e
distribution normale.
Distance valeurs r´elles /
e
valeurs th´oriques.
e
12 / 45
15. Postulat de Outskewer
Notre d´finition
e
Anomalie = valeur extrˆme qui rend la distribution asym´trique.
e
e
Notre m´thode
e
Signature d’asym´trie = ´volution du coefficient d’asym´trie
e
e
e
quand on retire les valeurs extrˆmes une ` une.
e
a
Implication (distribution homog`ne)
e
Si pr´sence d’anomalies : l’asym´trie devrait tendre vers 0.
e
e
Implication (distribution h´t´rog`ne)
ee e
Si le retrait d’un grand nombre de valeurs ne r´duit pas
e
l’asym´trie, alors la distribution est h´t´rog`ne, donc il n’existe pas
e
ee e
d’anomalie selon notre d´finition.
e
15 / 45
16. D´tection automatique d’anomalies
e
Analyse de la signature d’asym´trie avec seuillage adaptatif.
e
Outskewer classe chaque valeur comme :
anomalie
anomalie potentielle
normal
ou ’inconnu’ pour les distributions de valeurs h´t´rog`nes.
ee e
X = {−3, −2, −1, 0, 1, 2, 3, 7}
16 / 45
17. Pertinence pour les graphes r´els ?
e
Loi normale (cas homog`ne)
e
0.4
Loi de puissance (cas h´t´rog`ne)
ee e
density
density
3
0.0
0
−4
x
0
4
0.01% d’anomalies pour n = 100
0
x
5
0.01% d’anomalies pour n = 1000
17 / 45
18. Conclusions sur Outskewer
• M´thode de d´tection automatique d’anomalies.
e
e
• Pas de connaissance a priori sur les donn´es.
e
• Pertinent dans diff´rents cas statistiques.
e
Publication : [ASONAM 12]
18 / 45
19. Contributions
1
D´tection automatique d’anomalies.
e
• nouvelle m´thode statistique : Outskewer
e
• validation exp´rimentale
e
2
D´tection automatique d’´v´nements.
e
e e
• notion de fenˆtre temporelle
e
• unit´ de temps : intrins`que vs extrins`que
e
e
e
• largeur de fenˆtre
e
3
Cadre exploratoire et ´tude de cas.
e
• m´thodologie unifi´e : statistiques et visualisation
e
e
• prototype
• application ` Github.com
a
19 / 45
20. D´tection d’´v´nements
e
e e
1. Mesure
a) fenˆtre temporelle de taille
e
w sur un flot de liens.
b) graphe de chaque fenˆtre `
e a
intervalle i.
c) propri´t´ calcul´e pour
ee
e
chaque graphe : s´rie
e
temporelle.
20 / 45
21. D´tection d’´v´nements
e
e e
2. Classification Outskewer
time
Wo
a) fenˆtre temporelle de taille
e
wo sur la s´rie temporelle.
e
b) chaque valeur est class´e
e
wo fois (chaque fenˆtre vote).
e
c) classe finale : la plus
fr´quente pour chaque valeur
e
(vote ` la majorit´ simple).
a
e
Applicable en temps
r´el !
e
21 / 45
22. Population fran¸aise au 20e si`cle
c
e
Nombre d’habitants par an
population
60M
50M
qqqqqqqqqqqqq
40M
1900
q
qqq
q
qqqq
qqqqqq
1920
qqqqqqqqqqq
qqqqqq
qqq
1940
q
q
qqqq
qq
Year
qqq
qq
qq
qqq
1960
qqq
qqq
qqqq
qqq
qqqq
qqqq
1980
qqqq
qqqqq
qqq
qqq
qqq
qqq
q
2000
∆population
Diff´rence entre les ann´es
e
e
1000000
500000
0
−500000
−1000000
−1500000
status
not ou
potent
outlier
1900
1920
1940
Year
1960
1980
2000
22 / 45
23. Harry Potter sur eDonkey
# outliers / day
Nombre d’anomalies par jour
75
in theatre
unknown event
pirate release
0
50
15 Jul
24 Aug
12 Oct
Date
Donn´es :
e
• recherches sur le r´seau P2P eDonkey.
e
• # requˆtes contenant “half blood prince” par heure, calcul´es
e
e
toutes les 10 minutes.
• durant 28 semaines.
• sur 205 millions de requˆtes.
e
• pour 24,4 millions d’adresses IP.
• http://antipaedo.lip6.fr
23 / 45
25. Donn´es Github.com
e
👤 👤
👤
📸 📸 📸 📸 📸 📸
❞
❞
🎔
Exemples d’interactions
ajouter du code.
rapporter un bug.
❞ commenter un bug.
e
🎔´diter le wiki.
” contribue ` quel projet logiciel”
qui
a
• 336 000 utilisateurs et projets observ´s durant 4 mois.
e
• 2 200 000 interactions enregistr´es s´quentiellement (avec
e
e
timestamps).
• ”
population” compl`te de Github et non un ´chantillon.
e
e
• http://www.githubarchive.org
25 / 45
26. Quelle unit´ de temps ?
e
w
time
Montres, sablier, horloge atomique : du ”
temps spatialis´” (E. Klein).
e
26 / 45
27. Quelle unit´ de temps ?
e
Temps extrins`que (temps usuel)
e
Temps mesur´ avec des unit´s comme la seconde, minute, ...
e
e
27 / 45
28. Temps extrins`que
e
w =1 heure, i = 5 minutes.
• Cycles journaliers et hebdomadaires.
´ e
• Ev´nements difficilement rep´rables sans mod`le.
e
e
28 / 45
29. Quelle unit´ de temps ?
e
Temps extrins`que (temps usuel)
e
Temps mesur´ avec des unit´s comme la seconde, minute, ...
e
e
R´v`le habituellement des ph´nom`nes exog`nes, ex cycles
e e
e
e
e
jour-nuit.
Temps intrins`que (li´ ` la dynamique du graphe)
e
ea
Temps mesur´ avec des unit´s comme la transition de 2 ´tats du
e
e
e
graphe. Ex. 1 apparition d’un lien dans un flot de liens.
Meilleur pour r´v´ler des ph´nom`nes endog`nes ?
e e
e
e
e
29 / 45
32. Taille de fenˆtre ?
e
Haute r´solution
e
w = 1000 liens, i = 100 liens.
Basse r´solution
e
w = 50, 000 liens, i = 1000 liens.
32 / 45
33. Conclusions sur la d´tection
e
automatique d’´v´nements
e e
M´thode
e
• Applicable en temps r´el
e
Unit´ de temps
e
• Notion d’unit´ de temps : invention humaine
e
• Temps intrins`que : li´ ` la dynamique du graphe
e
ea
• Travaux en cours
Taille de fenˆtre
e
• Semble li´e ` la r´solution des ´v´nements
e a
e
e e
• Pas de r´solution optimale ?
e
Publications : [INFORSID 13] [RCIS 13] [WebSci 13] [ASONAM 13]
33 / 45
34. Contributions
1
D´tection automatique d’anomalies.
e
• nouvelle m´thode statistique : Outskewer
e
• validation exp´rimentale
e
2
D´tection automatique d’´v´nements.
e
e e
• notion de fenˆtre temporelle
e
• unit´ de temps : intrins`que vs extrins`que
e
e
e
• largeur de fenˆtre
e
3
Cadre exploratoire et ´tude de cas.
e
• m´thodologie unifi´e : statistiques et visualisation
e
e
• prototype
• application ` Github.com
a
34 / 45
35. M´thodologie unifi´e
e
e
1
2
3
4
5
D´finir une fenˆtre temporelle de taille w liens.
e
e
Extraire le graphe de chaque fenˆtre ` intervalle i.
e a
Calculer une propri´t´ sur chaque graphe.
ee
D´tecter des ´v´nements dans la s´rie temporelle r´sultante.
e
e e
e
e
Analyser ces ´v´nements par la visualisation de graphes.
e e
35 / 45
36. Analyse visuelle des ´v´nements
e e
1
S´lectionner un ´v´nement d´tect´ par Outskewer.
e
e e
e
e
2
Identifier un motif anormal dans le sous-graphe correspondant
de taille wv ≤ w .
Interpr´ter l’´v´nement. V´rifier que le motif est unique au
e
e e
e
moyen d’un diagramme d’activit´.
e
3
• Si motif unique : ´v´nement valid´
e e
e
• Sinon ´v´nement non valid´, chercher un autre motif.
e e
e
36 / 45
37. Diagramme d’activit´
e
• S’applique ` un ensemble de nœuds.
a
• Fr´quence des liens entre cet ensemble et le graphe.
e
• Axe horizontal : temps.
• Couleur : intensit´ de l’activit´ (noir ou nuances de vert).
e
e
Diagramme d’activit´ du projet ”mxcl/homebrew” (github.com).
e
Ce projet re¸oit des contributions tout au long de la p´riode de
c
e
capture des donn´es.
e
37 / 45
39. ´
Etude de cas : Github.com
S´rie temporelle du nombre de noeuds uniques sur le flot de liens
e
de Github, avec w = 10000 liens et wo = 200 liens.
39 / 45
40. Exemple d’´v´nement valid´
e e
e
• Lien tr`s r´current entre l’utilisateur ”mapserver-trac-import”
e e
et le projet ”
mapserver/mapserver” lors de l’´v´nement 423000
e e
(p´riode en vert clair).
e
• Migration d’un d´pˆt logiciel de Trac vers Github grˆce ` un
e o
a a
utilisateur ”
bot”
.
• A investiguer : autre p´riode d’activit´ plus tˆt (vert peu
e
e
o
intense).
40 / 45
41. Exemple d’´v´nement valid´
e e
e
Visualisation des liens de l’utilisateur ”aruiz” lors de l’´v´nement
e e
1420000 avec wv = 1000 et son diagramme d’activit´.
e
41 / 45
42. Exemples d’´v´nements rejet´s
e e
e
Diagramme d’activit´ entre l’utilisateur ”pjcozzi” et le projet
e
”
AnalyticalGraphicsInc/cesium” lors de l’´v´nement 1303000. Le
e e
motif est r´current.
e
Publications : [CHItaly 13] [EGC 14] [chap. Gephi Comp.Net 14]
42 / 45
43. Conclusions g´n´rales
e e
D´tection automatique d’anomalies
e
• M´thode statistique automatique : Outskewer.
e
• Validation sur des donn´es r´elles et simul´es.
e
e
e
D´tection d’´v´nements dans des grands flots de liens
e
e e
• Param`tres de la fenˆtre temporelle et impact sur les
e
e
´v´nements.
e e
• Analyse des ´v´nements par fouille visuelle interactive.
e e
• Validation possible et interpr´tation des ´v´nements.
e
e e
Cadre exploratoire
• Prototype interactif.
´
• Etude de cas sur Github.com
43 / 45
44. Perspectives
• Complexit´ algorithmique et optimisation.
e
• Comparer ` d’autres m´thodes. Hypoth`ses de d´part ?
a
e
e
e
• Approfondir l’´tude du temps intrins`que
e
e
• Unit´ repr´sentative de la dynamique ? ex : triangle observ´
e
e
e
´
• Evaluer par des utilisateurs r´els.
e
• G´n´raliser ` d’autres jeux de donn´es
e e
a
e
ex : t´l´com, d´tection de fraude.
ee
e
EU COST Action 2013-2017
Start-up francilienne
44 / 45
45. Publications
ASONAM 12 Heymann, Latapy and Magnien. Outskewer : Using Skewness to
Spot Outliers in Samples and Time Series.
CHItaly 13 Uboldi et al., Knot : an Interface for the Study of Social Networks in
the Humanities.
INFORSID 13 Heymann and Le Grand. Suivi de la Dynamique Intrins`que des
e
Interactions entre Utilisateur et SI.
RCIS 13 Heymann and Le Grand. Monitoring User-System Interactions
through Graph-Based Intrinsic Dynamics Analysis.
WebSci 13 Heymann and Le Grand. Towards A Redefinition of Time in
Information Networks ?
ASONAM 13 Albano et al., A Matter of Time - Intrinsic or Extrinsic - for
Diffusion in Evolving Complex Networks.
chap. Gephi Comp.Net 14 Heymann and Le Grand. Exploratory Network Analysis :
Visualization and Interaction. ` paraˆ dans Complex Networks and
a
ıtre
their Applications.
Encycl. SNAM 14 Heymann, Gephi. ` paraˆ dans Encyclopedia of Social Networks
a
ıtre
and Mining.
EGC 14 Heymann and Le Grand. Investigation visuelle d’´v´nements dans un
e e
grand flot de liens. ` paraˆ ` EGC 2014.
a
ıtre a
45 / 45