Triggering Patterns of Topology Changesin Dynamic Graphs
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet
The 2014 IEEE/ACM International Conference on Advances in Social NetworksAnalysis 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
Context & motivation
Networks structurally change over time:How to describe these dynamics?
a: 2 b: 0 c: 6
deg: 2
u5
u3
u4
u2a: 7 b: 4 c: 5
deg: 1
a: 2 b: 1 c: 6
deg: 2u1
u5
u3
u4
u2a: 7 b: 5 c: 2
deg: 1
a: 5 b: 4 c: 5
deg: 2u1
u5
u3
u4
u2a: 8 b: 5 c: 1
deg: 4
a: 5 b: 5 c: 5
deg: 2
u1
u5
u3
u4
u2a: 9 b: 6 c: 1
deg: 4
a: 6 b: 5 c: 2
deg: 2
u1
u5
u3
u4
u2a: 9 b: 6 c: 0
deg: 4
a: 7 b: 5 c: 1
deg: 4u1
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
IntuitionConsider attributed graphs evolving through timeThe variation of some attribute values (entities attributes) of anode 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
Context & motivation
a: 2 b: 0 c: 6
deg: 2
u5
u3
u4
u2a: 7 b: 4 c: 5
deg: 1
a: 2 b: 1 c: 6
deg: 2u1
u5
u3
u4
u2a: 7 b: 5 c: 2
deg: 1
a: 5 b: 4 c: 5
deg: 2u1
u5
u3
u4
u2a: 8 b: 5 c: 1
deg: 4
a: 5 b: 5 c: 5
deg: 2
u1
u5
u3
u4
u2a: 9 b: 6 c: 1
deg: 4
a: 6 b: 5 c: 2
deg: 2
u1
u5
u3
u4
u2a: 9 b: 6 c: 0
deg: 4
a: 7 b: 5 c: 1
deg: 4u1
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 oftenb+ giving positive opinions about othersc− 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
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
Triggering patterns
Dynamic attributed graphs
Dynamic attributed graph
Let G = {G1, . . . ,Gt} be a sequence of t static attributed graphsGi = (V,Ei,F) with T = {1, . . . , t} the set of timestampsV the set of verticesEi 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-timepair to a real value: ∀f ∈ F, f : V×T→ R.
a: 2 b: 0 c: 6
deg: 2
u5
u3
u4
u2a: 7 b: 4 c: 5
deg: 1
a: 2 b: 1 c: 6
deg: 2u1
u5
u3
u4
u2a: 7 b: 5 c: 2
deg: 1
a: 5 b: 4 c: 5
deg: 2u1
u5
u3
u4
u2a: 8 b: 5 c: 1
deg: 4
a: 5 b: 5 c: 5
deg: 2
u1
u5
u3
u4
u2a: 9 b: 6 c: 1
deg: 4
a: 6 b: 5 c: 2
deg: 2
u1
u5
u3
u4
u2a: 9 b: 6 c: 0
deg: 4
a: 7 b: 5 c: 1
deg: 4u1
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
Triggering patterns
Characterizing vertices behaviors
Vertex descriptive sequenceA discretization function gives a variation symbol to avertex/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 itemsetvars(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
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
Triggering patterns
Assessing the strength of a pattern?
Triggering pattern growth rate
Let P = 〈L,R〉, we denote by ∆R ⊆ ∆ the set of vertex descriptivesequences 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 trendsand differences.In KDD, pages 43–52, 1999.
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 8
Triggering patterns
Assessing the diffusion potential of a pattern?
Coverage of a triggering pattern
Gaggr = (V,Eaggr) an aggregated graph of the dynamic graphThe 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 isolatedvertices (values close to 1) to the ones supported by veryconnected vertices (much higher values than 1).
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 9
Triggering patterns
The problem
The triggering pattern mining problem
Givena 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
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
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 patternsInterpretation & vizualisation
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 12
Method and algorithm
TRIGAT
Algorithm TRIGATRequire: G = {(V,Ei,F)}, minGr, minCov, GaggrEnsure: P the set of closed triggering patterns
∆←{δ (v)|v ∈ V}I← all covering 1-item sequencesFilter ∆ with only covering 1-item sequencesfor all s ∈ I do
C←TRIGAT_enum(s,∆|s,Gaggr,minCov)end forEliminate non-closed sequences from CC← 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
Method and algorithm
TRIGAT
Procedure TRIGAT_ENUMRequire: s = 〈S1, . . . ,S`〉,∆|s,Gaggr, minCovEnsure: C the set of covering sequences of prefix s1: if not closed_based_prunnable(s) then2: insert s in C3: end if4: 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 α do6: 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
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
Experiments
Quantitative experimentsRunning timesDistribution of support, GR, ...Scalability
First qualitative assessmentsSynchronous/asynchronous eventsDense/sparse yet covering
|V| |F| |T| |D | S I degsum densitysum
DBLP 2723 45 9 360 34.4 6.6 14.7 0.005RITA1 220 8 30 30 16.3 5.1 15.7 0.07RITA2 234 8 24 39 4.5 1.8 17 0.07RITA3 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
Experiments
Quantitative results
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 17
Experiments
The DBLP dataset
Detecting asynchronous events
Scientific careers of researchers with different experiencesRank Pattern Support Coverage Growth rate ρ
1 {closeness−1 },{IEEETransKnowlDtEn+},{numCliques+1 }→ {numCliques−1 } 15 578 87.4 38.52 {clustering++
1 ,degree++1 },{Journal++,eigenvector++
2 }→ {eigenvector++3 } 31 546 71.6 17.6
3 {ICDE+,numCliques+1 }→ {numCliques−1 } 22 606 64.1 274 {eigenvector++
1 ,degree++1 },{VLDB++,degree++
2 }→ {degree++3 } 29 580 63.8 20
5 {eigenvector++1 ,clustering++
1 },{Journal++,eigenvector++2 }→ {eigenvector++
3 } 36 619 59.3 17.196 {ACMTransDBSys+},{numCliques+1 }→ {numCliques−1 } 20 547 58.3 27.357 {eigenvector++
1 },{Journal++,betweennes++3 }→ {betweennes++
4 } 20 587 58.4 29.358 {eigenvector++
1 },{VLDB++,degree++2 }→ {degree++
3 } 30 623 56.47 20.79 {SIGMOD−},{numCliques+1 }→ {numCliques−1 } 32 754 53.3 23.5610 {closeness−1 },{SIGMOD−},{numCliques+1 }→ {numCliques−1 } 18 552 52.4 30.6
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 18
Experiments
The R.I.T.A. dataset
Synchronous eventsRITA1: daily in September 2001{#Canceled+}{Degree−,Closeness−,NumCliques−,Pagerank−,Betweennes−}→ Degree+ with sup = 5, cov = 144AIRPORTS THAT ABSORB THE TRAFFIC TWO DAYS AFTER
RITA2: monthly in (sept. 2000 ; Sept. 2002 ){#Canceled+}{#Canceled−},{numCliques−,Betweeness+}→ numCliques+ with sup = 8, cov = 61A "BACK TO NORMAL" AROUND MARCH 2002RITA3: 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
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
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
Conclusion
Conclusion
Triggering patterns in dynamic graphs
Sequences of variation of vertex attribute values that maytrigger topological changesClosed sequential pattern mining
Growth rate: gives the discrimination power of a sequenceto explain a topological changeCoverage: tells us about the diffusion potential
Main challengeWhich aggregated graph to choose when computing thecoverage?Patterns image can have (a)-synchronous sequences2|T| aggregated graphs are possible!!
M. Kaytoue, Y. Pitarch, M. Plantevit, C. Robardet Triggering Patterns in Dynamic Graphs 22