To describe the dynamics taking place in networks that structurally change over time, we propose an approach to search for attributes whose value changes impact the topology of the graph. In several applications, it appears that the variations of a group of attributes are often followed by some structural changes in the graph that one may assume they generate. We formalize the triggering pattern discovery problem as a method jointly rooted in sequence mining and graph analysis. We apply our approach on three real-world dynamic graphs of different natures - a co-authoring network, an airline network, and a social bookmarking system - assessing the relevancy of the triggering pattern mining approach.
Formation of low mass protostars and their circumstellar disks
Triggering patterns of topology changes in dynamic attributed graphs
1. Triggering Patterns of Topology Changes
in Dynamic Graphs
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet
The 2014 IEEE/ACM International Conference on Advances in Social Networks
Analysis and Mining (ASONAM)
Beijing, China, August 17-20, 2014
LABORATOIRE D’INFORMATIQUE EN IMAGE ET SYSTÈMES D’INFORMATION
UMR 5205 CNRS / INSA de Lyon / Université Claude Bernard Lyon 1
2. Context & motivation
Networks structurally change over time:
How to describe these dynamics?
a: 2
b: 0
c: 6
deg: 2
u5
u3
u4
u2
a: 7
b: 4
c: 5
deg: 1
a: 2
b: 1
c: 6
deg: 2
u1
u5
u3
u4
u2
a: 7
b: 5
c: 2
deg: 1
a: 5
b: 4
c: 5
deg: 2
u1
u5
u3
u4
u2
a: 8
b: 5
c: 1
deg: 4
a: 5
b: 5
c: 5
deg: 2
u1
u5
u3
u4
u2
a: 9
b: 6
c: 1
deg: 4
a: 6
b: 5
c: 2
deg: 2
u1
u5
u3
u4
u2
a: 9
b: 6
c: 0
deg: 4
a: 7
b: 5
c: 1
deg: 4
u1
u5
u3
u4
u2
1
a+ b+ c- deg+
a+ b+ c-
deg+
u1
a: 4
b: 1
c: 5
deg: 1
2 3 4 5 6
Intuition
Consider attributed graphs evolving through time
The variation of some attribute values (entities attributes) of a
node can lead in several cases to a structural change
(topological attributes)
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 2
3. Context & motivation
a: 2
b: 0
c: 6
deg: 2
u5
u3
u4
u2
a: 7
b: 4
c: 5
deg: 1
a: 2
b: 1
c: 6
deg: 2
u1
u5
u3
u4
u2
a: 7
b: 5
c: 2
deg: 1
a: 5
b: 4
c: 5
deg: 2
u1
u5
u3
u4
u2
a: 8
b: 5
c: 1
deg: 4
a: 5
b: 5
c: 5
deg: 2
u1
u5
u3
u4
u2
a: 9
b: 6
c: 1
deg: 4
a: 6
b: 5
c: 2
deg: 2
u1
u5
u3
u4
u2
a: 9
b: 6
c: 0
deg: 4
a: 7
b: 5
c: 1
deg: 4
u1
u5
u3
u4
u2
1
a+ b+ c- deg+
a+ b+ c-
deg+
u1
a: 4
b: 1
c: 5
deg: 1
2 3 4 5 6
A new pattern domain
a+ Updating his status more often
b+ giving positive opinions about others
c− receiving less negative opinions from the others
deg+ is often followed by an increase of user’s popularity
{a+,b+},{c+},{deg+} is a triggering pattern
A problem rooted in pattern mining and graph analysis
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 3
4. Triggering patterns
Outline
1 Triggering patterns
2 Method and algorithm
3 Experiments
4 Conclusion
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 4
5. Triggering patterns
Dynamic attributed graphs
Dynamic attributed graph
Let G = {G1,...,Gt} be a sequence of t static attributed graphs
Gi = (V,Ei,F) with T = {1,...,t} the set of timestamps
V the set of vertices
Ei the set of edges that connect vertices of V at time i ∈ T
(Ei ⊆ V ×V)
F the set of numerical attributes that map each vertex-time
pair to a real value: ∀f ∈ F, f : V ×T → R.
a: 2
b: 0
c: 6
deg: 2
u5
u3
u4
u2
a: 7
b: 4
c: 5
deg: 1
a: 2
b: 1
c: 6
deg: 2
u1
u5
u3
u4
u2
a: 7
b: 5
c: 2
deg: 1
a: 5
b: 4
c: 5
deg: 2
u1
u5
u3
u4
u2
a: 8
b: 5
c: 1
deg: 4
a: 5
b: 5
c: 5
deg: 2
u1
u5
u3
u4
u2
a: 9
b: 6
c: 1
deg: 4
a: 6
b: 5
c: 2
deg: 2
u1
u5
u3
u4
u2
a: 9
b: 6
c: 0
deg: 4
a: 7
b: 5
c: 1
deg: 4
u1
u5
u3
u4
u2
1
a+ b+ c- deg+
a+ b+ c-
deg+
u1
a: 4
b: 1
c: 5
deg: 1
2 3 4 5 6
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 5
6. Triggering patterns
Characterizing vertices behaviors
Vertex descriptive sequence
A discretization function gives a variation symbol to a
vertex/attribute/time triple, e.g.
discr(v,d,i) =
+ if d(v,i)−d(v,i−1) ≥ 2 and i > 1
− if d(v,i)−d(v,i−1) ≤ −2 and i > 1
/0 otherwise
The set of all variations for a vertex v at time i is an itemset
vars(v,i) = {ddiscr(v,d,i),∀d ∈ D}.
A vertex v is described by a sequence
δ(v) = vars(v,1),...,vars(v,t) .
∆ = {δ(v) | v ∈ V} is the set of all sequences.
Example
δ(u1) = {a+,b+},{c−},{deg+}
∆ = {δ(u1),δ(u2),δ(u3),δ(u4),δ(u5)}
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 6
7. Triggering patterns
Pattern domain
Triggering pattern
A triggering pattern is a sequence P = L,R
L is a sequence of sets of descriptor variations:
L = X1,...,Xk with ∀j ≤ k, Xj ⊆ (D×S)
R a single topological variation, R ∈ (M ×S)
Its support is SUPP(P,∆) = {v ∈ V | P δ(v)}
where p q means that p is a super-sequence of q
Example
L = {a+,b+},{c−}
R = {deg+}
SUPP( L,R ,∆) = {u1,u3}
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 7
8. Triggering patterns
Assessing the strength of a pattern?
Triggering pattern growth rate
Let P = L,R , we denote by ∆R ⊆ ∆ the set of vertex descriptive
sequences that contain R. The growth rate of P is given by:
GR(P,∆R
) =
|SUPP(L,∆R)|
|∆R|
×
|∆∆R|
|SUPP(L,∆∆R)|
G. Dong and J. Li.
Efficient mining of emerging patterns: Discovering trends
and differences.
In KDD, pages 43–52, 1999.
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 8
9. Triggering patterns
Assessing the diffusion potential of a pattern?
Coverage of a triggering pattern
Gaggr = (V,Eaggr) an aggregated graph of the dynamic graph
The coverage of a pattern P is defined by:
COV(P,∆,Gaggr) = SUPP(P,∆)∪{v ∈ V | ∃w ∈ SUPP(P,∆)s.t.(w,v) ∈ Eaggr}
It naturally follows that SUPP(P,∆) ⊆ COV(P,∆).
Example
ρ(P,∆) =
COV(P,∆,Gaggr)
SUPP(P,∆)
∈ [1,|V|]
To distinguish the patterns supported by a group of isolated
vertices (values close to 1) to the ones supported by very
connected vertices (much higher values than 1).
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 9
10. Triggering patterns
The problem
The triggering pattern mining problem
Given
a dynamic attributed graph G
a minimum growth rate threshold minGR
a minimum coverage threshold minCov
the problem is to find all triggering patterns P = L,R with
|COV(P,∆)| ≥ minCov
GR(P,∆R) ≥ minGR.
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 10
11. Method and algorithm
Outline
1 Triggering patterns
2 Method and algorithm
3 Experiments
4 Conclusion
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 11
12. Method and algorithm
Methodology
Dynamic attributed graph
↓ Choice of an appropriate discretization procedure
↓ Transformation
Database of vertex descriptive sequences
↓ Mining closed sequential patterns w.r.t. coverage
↓ Build triggering pattern candidates
Triggering pattern candidates
↓ Growth rate computation
Triggering patterns
Interpretation & vizualisation
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 12
13. Method and algorithm
TRIGAT
Algorithm TRIGAT
Require: G = {(V,Ei,F)}, minGr, minCov, Gaggr
Ensure: P the set of closed triggering patterns
∆ ← {δ(v)|v ∈ V}
I ← all covering 1-item sequences
Filter ∆ with only covering 1-item sequences
for all s ∈ I do
C ←TRIGAT_enum(s,∆|s,Gaggr,minCov)
end for
Eliminate non-closed sequences from C
C ← prefix closed patterns s,Xk ∈ C, s.t.Xk ∈ (M ×S)
for all P = s,Xk ∈ C do
Add P to P if GR( s,Xk ,∆Xk
) ≥ minGr
end for
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 13
14. Method and algorithm
TRIGAT
Procedure TRIGAT_ENUM
Require: s = S1,...,S ,∆|s,Gaggr, minCov
Ensure: C the set of covering sequences of prefix s
1: if not closed_based_prunnable(s) then
2: insert s in C
3: end if
4: Scan ∆|s, find every covering item α ∈ (D×S) such that s can be
extended to S1,...,S −1,{S ∪α} or S1,...,S ,α
5: for all valid α do
6: s ← S1,...,S −1,{S ∪α}
7: TRIGAT_enum(s,D|s,Gaggr,minCov)
8: s ← S1,...,S ,α
9: TRIGAT_enum(s,D|s,Gaggr,minCov)
10: end for
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 14
15. Experiments
Outline
1 Triggering patterns
2 Method and algorithm
3 Experiments
4 Conclusion
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 15
16. Experiments
Quantitative experiments
Running times
Distribution of support, GR, ...
Scalability
First qualitative assessments
Synchronous/asynchronous events
Dense/sparse yet covering
|V| |F| |T| |D| S I degsum densitysum
DBLP 2723 45 9 360 34.4 6.6 14.7 0.005
RITA1 220 8 30 30 16.3 5.1 15.7 0.07
RITA2 234 8 24 39 4.5 1.8 17 0.07
RITA3 280 6 8 87 28.3 6.5 15.9 0.05
del.icio.us 1867 121 5 400 31 1.6 11 0.003
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 16
19. Experiments
The R.I.T.A. dataset
Synchronous events
RITA1: daily in September 2001
{#Canceled+}{Degree−,Closeness−,NumCliques−,
Pagerank−,Betweennes−} → Degree+ with sup = 5, cov = 144
AIRPORTS THAT ABSORB THE TRAFFIC TWO DAYS AFTER
RITA2: monthly in (sept. 2000 ; Sept. 2002 )
{#Canceled+}{#Canceled−},{numCliques−,Betweeness+}
→ numCliques+ with sup = 8, cov = 61
A "BACK TO NORMAL" AROUND MARCH 2002
RITA3: Aug./Sept. 2005 (Katrina Hurricane)
THE MOST DISCRIMINANT APPEARS DURING KATRINA
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 19
20. Experiments
The del.ico.us dataset
What are the most triggering attributes?
how-to, tutorial, web design, visualization
“teaching triggering”
video, community
“social triggering”
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 20
21. Conclusion
Outline
1 Triggering patterns
2 Method and algorithm
3 Experiments
4 Conclusion
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 21
22. Conclusion
Conclusion
Triggering patterns in dynamic graphs
Sequences of variation of vertex attribute values that may
trigger topological changes
Closed sequential pattern mining
Growth rate: gives the discrimination power of a sequence
to explain a topological change
Coverage: tells us about the diffusion potential
Main challenge
Which aggregated graph to choose when computing the
coverage?
Patterns image can have (a)-synchronous sequences
2|T| aggregated graphs are possible!!
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 22