SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
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
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
Graphe de flot de liens

1:
2:
3:
4:
5:
6:
...

(A) -[interagit avec]- (B)
(C) -[interagit avec]- (D)
(B) -[interagit avec]- (C)
(C) -[interagit avec]- (A)
(B) -[interagit avec]- (D)
(E) -[interagit avec]- (F)

3 / 45
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
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
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
Une visualisation dynamique de flot
de liens

Andr´ Panisson - The Egyptian Revolution on Twitter, made with Gephi
e

7 / 45
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
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
10 / 45
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
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
Coefficient d’asym´trie
e

n
(n−1)(n−2)

x∈X

x

x−moyenne
´cart type
e

3

density

density

γ=

x

Figure: γ < 0
γ>0
Exemple de distributions asym´triques.
e

13 / 45
Coefficient d’asym´trie
e

density

0.4

0.0

q

−10

q

qq

−4

x

0

4

9

Figure: Exemple de distribution normale avec valeurs extrˆmes (rouge).
e

Sensible aux valeurs extrˆmes (min/max) loin de la moyenne !
e

14 / 45
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
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
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
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
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
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
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
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
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
Changements de r´gime
e

x

q

50

100

50

100

t

q

5
4
3
2
1
0
−1
−2

q

200

not outlier
potential outlier
outlier
q
q q
q
q q
q
q
q
q
unknown
q
q
q

q
q
q
q
q
qq
q
qq qq
q qq qq
q qq
q q
q
q
q
qqq q q qqq
q
q q
q
q
q qq q q q qqq q q
q
q
qq q q
q
q q q qqq
q
q
qq q q qqq
q
q q q qq qq q qq
qq qq q qq
q
q q
q
q
qq q
qq
q
q qq
q
q

0

q

150

q

200

not outlier
q
q q
potential outlier
qq q
qq q
q
qq
qq
q q qqq
q
outlier
q
qq q
q q
q
q q
q q q qqq
q
q
q
q
q
q
unknown
q
qq
q
q

q
q
q
q
q
qq
q
qq qq
q qq qq
q qq
q q
q
q
q
qqq q q qqq
q
q q
q
q
q qq q q q qqq q q
qqqq
q
qq q q
q
q q
q
q qq q qq qq q q qq
q
q qq
q
q
qq q q qq
q q q qq q
q
q
qq q
qq
q
q qq
q
q

0

150

t

5
4
3
2
1
0
−1
−2

50

100

150

t

50

100

t

q

200

q

5
4
3
2
1
0
−1
−2

not outlier
q
q q
potential outlier
q
q
q
outlier
q
q
q q
q q
q q q qqq
q
q
q
q
q
unknown
q
q
q
q

q
q
q
q
q
qq
q
qq qq
q qq qq
q qq
q q
q
q
q
qqq q q qqq
q
q q
q
q
q qq q q q qqq q q
q
q
qq q q
q
q q q qqq
q
q
qq q q qqq
q
q q q qq qq q qq
qq qq q qq
q
q q
q
q
qq q
qq
q
q qq
q
q

0

q

150

5
4
3
2
1
0
−1
−2

200

not outlier
q
q q
q
q
q q
potential outlier q qqqqq q q
qq q q
q
qqq
q
qq
qqq qqq q
qq
outlier
q
qq q
q q
q
q q
q q q qqq
q
q
q
q
q
q
unknown
q
qq q
q
q
q

q
q
q
q
q
qq
q
qq qq
q qq qq
q qq
q q
q
q
q
qqq q q qqq
q
q q
q
q
q qq q q q qqq q q
qqqq
q
qq q q
q
q q
q
q qq q qq qq q q qq
q
q qq
q
q
qq q q qq
q q q qq q
q
q
qq q
qq
q
q qq
q
q

0

x

q
q
q
q
q
qq
q
qq qq
q qq qq
q qq
q q
q
q
q
qqq q q qqq
q
q q
q
q
q qq q q q qqq q
qq
q
qq q q
q
q q
q
q qq q qq qq q q
q
q
q
q
qq q q qq
q q q qq q
q
q
qq q
qq
q
q qq
q

0
5
4
3
2
1
0
−1
−2

not outlier
potential outlier
unknown
q
q

x

q

x

5
4
3
2
1
0
−1
−2

x

x

Video

50

100

t

q

q

150

200

q
q q
q
q
q
q
q q
q
qqq
q q q
q
q q q qq q
q q qqq q q
q
q
q q
qq q qq qqq q q q q
q qq q q q
qq
q
q q q q qqqqq
q q q
q
qq q
q q qqq q q
q
q q
qq q
qq
q q q qqq
q
q
q
q
qq
q
q
q
qq q q q q q
q
q
q q
qq
q
q
q
q
qq
q
q
qq qq
q qq qq
q qq
q
q q
q
q
q
qqq q q qqq
q
q q
q
q
q qq q q q qqq q q
q
q
qq q q
q
q q q qqq
q
q
qq q q qqq
q
q q q qq qq q qq
qq qq q qq
q
q q
q
q
qq q
qq
q
q qq
q
q

not outlier
potential outlier

0

50

100

t

150

200

24 / 45
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
Quelle unit´ de temps ?
e
w
time

Montres, sablier, horloge atomique : du ”
temps spatialis´” (E. Klein).
e
26 / 45
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
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
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
Temps extrins`que vs temps
e
intrins`que
e

30 / 45
Temps intrins`que
e

Haute r´solution
e

Disparition de la dynamique exog`ne.
e

31 / 45
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
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
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
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
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
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
Prototype

Bas´ sur le logiciel Linkurious
e

38 / 45
´
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
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
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
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
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
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
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

Contenu connexe

Plus de Sébastien

Gephi : dynamic features
Gephi : dynamic featuresGephi : dynamic features
Gephi : dynamic featuresSébastien
 
Motivation in FLOSS communities
Motivation in FLOSS communitiesMotivation in FLOSS communities
Motivation in FLOSS communitiesSébastien
 
Outskewer: Using Skewness to Spot Outliers in Samples and Time Series
Outskewer: Using Skewness to Spot Outliers in Samples and Time SeriesOutskewer: Using Skewness to Spot Outliers in Samples and Time Series
Outskewer: Using Skewness to Spot Outliers in Samples and Time SeriesSébastien
 
Réseau thématique Analyse Exploratoire de Données pour les Réseaux Dynamiques
Réseau thématique Analyse Exploratoire de Données pour les Réseaux DynamiquesRéseau thématique Analyse Exploratoire de Données pour les Réseaux Dynamiques
Réseau thématique Analyse Exploratoire de Données pour les Réseaux DynamiquesSébastien
 
Conclusion du cours Exploration du Web
Conclusion du cours Exploration du WebConclusion du cours Exploration du Web
Conclusion du cours Exploration du WebSébastien
 
Introduction à l'exploration du Web
Introduction à l'exploration du WebIntroduction à l'exploration du Web
Introduction à l'exploration du WebSébastien
 
WebCSTI Rencontres OCIM 2009
WebCSTI Rencontres OCIM 2009WebCSTI Rencontres OCIM 2009
WebCSTI Rencontres OCIM 2009Sébastien
 
IC05 2008 - Le Web, objet de science?
IC05 2008 - Le Web, objet de science?IC05 2008 - Le Web, objet de science?
IC05 2008 - Le Web, objet de science?Sébastien
 
Des traces d'usages aux patterns relationnels : la construction technologique...
Des traces d'usages aux patterns relationnels : la construction technologique...Des traces d'usages aux patterns relationnels : la construction technologique...
Des traces d'usages aux patterns relationnels : la construction technologique...Sébastien
 
Tour d'horizon des personnes morales adhérentes à l'APRIL
Tour d'horizon des personnes morales adhérentes à l'APRILTour d'horizon des personnes morales adhérentes à l'APRIL
Tour d'horizon des personnes morales adhérentes à l'APRILSébastien
 

Plus de Sébastien (14)

Gephi : dynamic features
Gephi : dynamic featuresGephi : dynamic features
Gephi : dynamic features
 
Motivation in FLOSS communities
Motivation in FLOSS communitiesMotivation in FLOSS communities
Motivation in FLOSS communities
 
Outskewer: Using Skewness to Spot Outliers in Samples and Time Series
Outskewer: Using Skewness to Spot Outliers in Samples and Time SeriesOutskewer: Using Skewness to Spot Outliers in Samples and Time Series
Outskewer: Using Skewness to Spot Outliers in Samples and Time Series
 
Réseau thématique Analyse Exploratoire de Données pour les Réseaux Dynamiques
Réseau thématique Analyse Exploratoire de Données pour les Réseaux DynamiquesRéseau thématique Analyse Exploratoire de Données pour les Réseaux Dynamiques
Réseau thématique Analyse Exploratoire de Données pour les Réseaux Dynamiques
 
Conclusion du cours Exploration du Web
Conclusion du cours Exploration du WebConclusion du cours Exploration du Web
Conclusion du cours Exploration du Web
 
Introduction à l'exploration du Web
Introduction à l'exploration du WebIntroduction à l'exploration du Web
Introduction à l'exploration du Web
 
WebCSTI Rencontres OCIM 2009
WebCSTI Rencontres OCIM 2009WebCSTI Rencontres OCIM 2009
WebCSTI Rencontres OCIM 2009
 
IC05 cours 4
IC05 cours 4IC05 cours 4
IC05 cours 4
 
IC05 cours 3
IC05 cours 3IC05 cours 3
IC05 cours 3
 
IC05 cours 2
IC05 cours 2IC05 cours 2
IC05 cours 2
 
IC05 cours 1
IC05 cours 1IC05 cours 1
IC05 cours 1
 
IC05 2008 - Le Web, objet de science?
IC05 2008 - Le Web, objet de science?IC05 2008 - Le Web, objet de science?
IC05 2008 - Le Web, objet de science?
 
Des traces d'usages aux patterns relationnels : la construction technologique...
Des traces d'usages aux patterns relationnels : la construction technologique...Des traces d'usages aux patterns relationnels : la construction technologique...
Des traces d'usages aux patterns relationnels : la construction technologique...
 
Tour d'horizon des personnes morales adhérentes à l'APRIL
Tour d'horizon des personnes morales adhérentes à l'APRILTour d'horizon des personnes morales adhérentes à l'APRIL
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
  • 3. Graphe de flot de liens 1: 2: 3: 4: 5: 6: ... (A) -[interagit avec]- (B) (C) -[interagit avec]- (D) (B) -[interagit avec]- (C) (C) -[interagit avec]- (A) (B) -[interagit avec]- (D) (E) -[interagit avec]- (F) 3 / 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
  • 14. Coefficient d’asym´trie e density 0.4 0.0 q −10 q qq −4 x 0 4 9 Figure: Exemple de distribution normale avec valeurs extrˆmes (rouge). e Sensible aux valeurs extrˆmes (min/max) loin de la moyenne ! e 14 / 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
  • 24. Changements de r´gime e x q 50 100 50 100 t q 5 4 3 2 1 0 −1 −2 q 200 not outlier potential outlier outlier q q q q q q q q q q unknown q q q q q q q q qq q qq qq q qq qq q qq q q q q q qqq q q qqq q q q q q q qq q q q qqq q q q q qq q q q q q q qqq q q qq q q qqq q q q q qq qq q qq qq qq q qq q q q q q qq q qq q q qq q q 0 q 150 q 200 not outlier q q q potential outlier qq q qq q q qq qq q q qqq q outlier q qq q q q q q q q q q qqq q q q q q q unknown q qq q q q q q q q qq q qq qq q qq qq q qq q q q q q qqq q q qqq q q q q q q qq q q q qqq q q qqqq q qq q q q q q q q qq q qq qq q q qq q q qq q q qq q q qq q q q qq q q q qq q qq q q qq q q 0 150 t 5 4 3 2 1 0 −1 −2 50 100 150 t 50 100 t q 200 q 5 4 3 2 1 0 −1 −2 not outlier q q q potential outlier q q q outlier q q q q q q q q q qqq q q q q q unknown q q q q q q q q q qq q qq qq q qq qq q qq q q q q q qqq q q qqq q q q q q q qq q q q qqq q q q q qq q q q q q q qqq q q qq q q qqq q q q q qq qq q qq qq qq q qq q q q q q qq q qq q q qq q q 0 q 150 5 4 3 2 1 0 −1 −2 200 not outlier q q q q q q q potential outlier q qqqqq q q qq q q q qqq q qq qqq qqq q qq outlier q qq q q q q q q q q q qqq q q q q q q unknown q qq q q q q q q q q q qq q qq qq q qq qq q qq q q q q q qqq q q qqq q q q q q q qq q q q qqq q q qqqq q qq q q q q q q q qq q qq qq q q qq q q qq q q qq q q qq q q q qq q q q qq q qq q q qq q q 0 x q q q q q qq q qq qq q qq qq q qq q q q q q qqq q q qqq q q q q q q qq q q q qqq q qq q qq q q q q q q q qq q qq qq q q q q q q qq q q qq q q q qq q q q qq q qq q q qq q 0 5 4 3 2 1 0 −1 −2 not outlier potential outlier unknown q q x q x 5 4 3 2 1 0 −1 −2 x x Video 50 100 t q q 150 200 q q q q q q q q q q qqq q q q q q q q qq q q q qqq q q q q q q qq q qq qqq q q q q q qq q q q qq q q q q q qqqqq q q q q qq q q q qqq q q q q q qq q qq q q q qqq q q q q qq q q q qq q q q q q q q q q qq q q q q qq q q qq qq q qq qq q qq q q q q q q qqq q q qqq q q q q q q qq q q q qqq q q q q qq q q q q q q qqq q q qq q q qqq q q q q qq qq q qq qq qq q qq q q q q q qq q qq q q qq q q not outlier potential outlier 0 50 100 t 150 200 24 / 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
  • 30. Temps extrins`que vs temps e intrins`que e 30 / 45
  • 31. Temps intrins`que e Haute r´solution e Disparition de la dynamique exog`ne. e 31 / 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
  • 38. Prototype Bas´ sur le logiciel Linkurious e 38 / 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