Link Streams Matthieu Latapy complexnetworks.fr
Preliminaries Basics
Link Streams for the Modeling of Interactions over Time
Density Paths Communities Instantaneous
Work in progress... ANR CONTINT – projet CODDDE ANR-13-CORD-0017-01
Bipartite Conclusion
Matthieu Latapy, Tiphaine Viard, Clémence Magnien, Noé Gaumont, ... http://complexnetworks.fr
[email protected] LIP6 – CNRS and UPMC
1/34
Link Streams
Our topic: link streams
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density Paths Communities Instantaneous Bipartite Conclusion
interactions over time a b c d e 0
5
10
15
20
time
l = (t, u, v ) t ∈ [α, ω]: time u, v ∈ V : nodes 2/34
Link Streams
Our topic: link streams
Matthieu Latapy complexnetworks.fr
countless examples email exchanges, network traffic, payments, physical contacts, phone calls, web surfing, ...
Preliminaries Basics Density Paths Communities Instantaneous Bipartite Conclusion
interactions over time a b c d e 0
5
15
10
20
time
l = (t, u, v ) t ∈ [α, ω]: time u, v ∈ V : nodes ֒→ already much studied 2/34
Link Streams
Our topic: link streams
Matthieu Latapy complexnetworks.fr
countless examples email exchanges, network traffic, payments, physical contacts, phone calls, web surfing, ...
Preliminaries Basics Density Paths Communities Instantaneous Bipartite Conclusion
interactions over time a b c d e 0
5
10
15
20
time
l = (b, e, u, v ) b, e ∈ [α, ω]: time u, v ∈ V : nodes ֒→ already much studied 2/34
Link Streams
Current situation (1/3)
Matthieu Latapy complexnetworks.fr
focus on links: {(a, b)}
Preliminaries Basics
relations, structure
Density Paths
34
2
Communities
33
3
23
32
1
22 35
Instantaneous 0
21 24
5
25
6
Bipartite
20
4
Conclusion
9
15
14
8
7
19
26
10
30
27 13
31
11
29
17 16
18
28
12
֒→ graph theory / network science density, degrees, clustering, paths, diameter, distances, etc 3/34
Link Streams Matthieu Latapy
Current situation (2/3)
complexnetworks.fr
Preliminaries Basics Density Paths
focus on time: {(t, f (t))} events, time series
Communities Instantaneous Bipartite Conclusion
֒→ signal processing / discrete event theory frequency, speed, inter-event times, acceleration, self-similarity, periodicity, etc
4/34
Link Streams Matthieu Latapy
Current situation (3/3)
complexnetworks.fr
Preliminaries Basics Density Paths
sequences of graphs split time into slices one graph per slice
Communities Instantaneous Bipartite Conclusion
time-varying graphs (TVG) graph with labelled edges labels = times of presence
֒→ upgrades of graph and signal approaches many problems 5/34
Link Streams
Our proposal
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density Paths
a language for link streams like graph theory for networks
Communities Instantaneous Bipartite Conclusion
to deal directly with link streams describe them: what do them look like? take advantage of their rich structure+time nature ֒→ understand/detect events (attacks, anomalies), meetings, discussions, epidemies, ... 6/34
Link Streams Matthieu Latapy
Wanted features
complexnetworks.fr
Preliminaries Basics Density
generalizes graphs and time series
Paths Communities
simple and intuitive
Instantaneous Bipartite Conclusion
bring fundamental and applied progress (e.g. event detection) extensible (to weighted, directed, ...)
7/34
Link Streams Matthieu Latapy
This presentation
complexnetworks.fr
Preliminaries Basics Density
key notions/intuitions of graphs/networks translated to link streams
Paths Communities Instantaneous
0. Basic notions
Bipartite Conclusion
1. Density and related notions 2. Paths, distances, ... 3. Clusters and communities 4. Instantaneous links 5. Bipartite and other extensions 8/34
Link Streams
Upcoming...
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density Paths Communities Instantaneous Bipartite Conclusion
Basic notions
9/34
Link Streams Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density Paths
What is it? Graphs: G = (V , E), E ⊆ V × V links : (u, v ) u and v are linked together
Communities Instantaneous Bipartite Conclusion
Link streams : L = (T , V , E), E ⊆ T × T × V × V l = (b, e, u, v ) u and v are in interaction from b to e
simple, no overlap, undirected, etc + extensions 10/34
Link Streams Matthieu Latapy
Sub-graphs and sub-streams
complexnetworks.fr
Preliminaries
Graphs G = (V , E) and G′ = (V ′ , E ′ ):
Basics
G′ sub-graph of G iff
Density
V ′ ⊆ V and E ′ ⊆ E
Paths Communities Instantaneous Bipartite Conclusion
Links l = (b, e, u, v ) and l ′ = (b′ , e′ , u ′ , v ′ ): l ′ sub-link of l iff u ′ = u, v ′ = v , [b′ , e′ ] ⊆ [b, e] Link streams L = (T , V , E) and L′ = (T ′ , V ′ , E ′ ): L′ sub-stream of L iff V′ ⊆ V, T′ ⊆ T, and all links of L′ are sub-links of links in L 11/34
Link Streams Matthieu Latapy
Sub-graphs and sub-streams
complexnetworks.fr
Preliminaries
Graphs G = (V , E) and G′ = (V ′ , E ′ ):
Basics
G′ sub-graph of G iff
Density
V ′ ⊆ V and E ′ ⊆ E
Paths Communities Instantaneous Bipartite Conclusion
Links l = (b, e, u, v ) and l ′ = (b′ , e′ , u ′ , v ′ ): l ′ sub-link of l iff u ′ = u, v ′ = v , [b′ , e′ ] ⊆ [b, e] Link streams L = (T , V , E) and L′ = (T ′ , V ′ , E ′ ): L′ sub-stream of L iff V′ ⊆ V, T′ ⊆ T, and all links of L′ are sub-links of links in L 11/34
Link Streams Matthieu Latapy
Sub-graphs and sub-streams
complexnetworks.fr
Preliminaries
Graphs G = (V , E) and G′ = (V ′ , E ′ ):
Basics
G′ sub-graph of G iff
Density
V ′ ⊆ V and E ′ ⊆ E
Paths Communities Instantaneous Bipartite Conclusion
Links l = (b, e, u, v ) and l ′ = (b′ , e′ , u ′ , v ′ ): l ′ sub-link of l iff u ′ = u, v ′ = v , [b′ , e′ ] ⊆ [b, e] Link streams L = (T , V , E) and L′ = (T ′ , V ′ , E ′ ): L′ sub-stream of L iff V′ ⊆ V, T′ ⊆ T, and all links of L′ are sub-links of links in L 11/34
Link Streams Matthieu Latapy
Induced streams and graphs
complexnetworks.fr
Preliminaries Basics Density
Graph induced by a set of nodes or a set of links.
Paths Communities Instantaneous Bipartite
Link stream induced by a set of nodes, a time interval, or a set of (sub-)links. +link stream induced by a pair of nodes and by a node.
Conclusion
Graph induced by a link stream.
֒→ Sequence of graphs over time-windows of duration ∆: G(Lt..t+∆ )
12/34
Link Streams
Upcoming...
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density Paths Communities Instantaneous Bipartite Conclusion
Density and related notions
13/34
Link Streams Matthieu Latapy
Density ?
complexnetworks.fr
Preliminaries Basics Density
Graphs: proba two random nodes are linked 2·m δ(G) = n·(n−1)
Paths Communities Instantaneous Bipartite Conclusion
Link streams: proba two random nodes are linked at a random time instant P 2· ll δ(L) = n · (n − 1) · (ω − α) l: duration of link l
Note: if l = ω − α for all l, then graph density
14/34
Link Streams Matthieu Latapy
Density ?
complexnetworks.fr
Preliminaries Basics Density
Graphs: proba two random nodes are linked 2·m δ(G) = n·(n−1)
Paths Communities Instantaneous Bipartite Conclusion
Link streams: proba two random nodes are linked at a random time instant P 2· ll δ(L) = n · (n − 1) · (ω − α) l: duration of link l
Note: if l = ω − α for all l, then graph density
14/34
Link Streams
Degree
Matthieu Latapy complexnetworks.fr
Preliminaries Basics
Graphs: size of the neighborhood d(v ) = |N(v )|
Density Paths Communities Instantaneous Bipartite
Link streams: what neighborhood? each neighbor weighted by its link duration :
Conclusion
d(v ) =
X l∈L(v )
l ω−α
In graphs and in link streams : δ =
d n−1
15/34
Link Streams
Degree
Matthieu Latapy complexnetworks.fr
Preliminaries Basics
Graphs: size of the neighborhood d(v ) = |N(v )|
Density Paths Communities Instantaneous Bipartite
Link streams: what neighborhood? each neighbor weighted by its link duration :
Conclusion
d(v ) =
X l∈L(v )
l ω−α
In graphs and in link streams : δ =
d n−1
15/34
Link Streams
Degree
Matthieu Latapy complexnetworks.fr
Preliminaries Basics
Graphs: size of the neighborhood d(v ) = |N(v )|
Density Paths Communities Instantaneous Bipartite
Link streams: what neighborhood? each neighbor weighted by its link duration :
Conclusion
d(v ) =
X l∈L(v )
l ω−α
In graphs and in link streams : δ =
d n−1
15/34
Link Streams Matthieu Latapy
(Maximal) cliques in graphs
complexnetworks.fr
Preliminaries Basics Density Paths Communities
Graphs: (maximal) sub-graph of density 1 all nodes are linked together
Instantaneous Bipartite Conclusion
16/34
Link Streams
(Maximal) cliques in link streams
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density
the same: (maximal) sub-stream of density 1
Paths
all nodes interact all the time
Communities Instantaneous Bipartite
a
Conclusion
b c d 0
2
4
6
8
time
17/34
Link Streams Matthieu Latapy
Clustering coefficient in graphs
complexnetworks.fr
Preliminaries Basics Density Paths
intuition: “my friends are friends with each other” low global density high local density low probability
Communities Instantaneous
high probability
Bipartite Conclusion
clustering coefficient: density of neighborhood to what point all neighbors are linked together
18/34
Link Streams
Clustering coefficient in link streams
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density
the same?
Paths Communities
density of neighborhood
Instantaneous Bipartite Conclusion
to what point all neighbors interact all the time
each neighbor weighted by its link duration
19/34
Link Streams
Upcoming...
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density Paths Communities Instantaneous Bipartite Conclusion
Paths, distances, centralities, ...
20/34
Link Streams
Paths
Matthieu Latapy complexnetworks.fr
Preliminaries
Graphs: sequences of links (ui , vi ) such that ui = vi−1
Basics Density Paths Communities Instantaneous Bipartite
Link streams: sequences of triplets (ti , ui , vi ) such that ui = vi−1 and ti ≥ ti−1
Conclusion
Links with duration: sequences of sub-links (ti , ti + γ, ui , vi ) such that ui = vi−1 and ti ≥ ti−1 + γ
21/34
Link Streams
Paths
Matthieu Latapy complexnetworks.fr
Preliminaries
Graphs: sequences of links (ui , vi ) such that ui = vi−1
Basics Density Paths Communities Instantaneous Bipartite
Link streams: sequences of triplets (ti , ui , vi ) such that ui = vi−1 and ti ≥ ti−1
a b c d e 0
Conclusion
5
10
time
Links with duration: sequences of sub-links (ti , ti + γ, ui , vi ) such that ui = vi−1 and ti ≥ ti−1 + γ
21/34
Link Streams
Paths
Matthieu Latapy complexnetworks.fr
Preliminaries
Graphs: sequences of links (ui , vi ) such that ui = vi−1
Basics Density Paths Communities Instantaneous Bipartite
Link streams: sequences of triplets (ti , ui , vi ) such that ui = vi−1 and ti ≥ ti−1
a b c d e 0
Conclusion
Links with duration: sequences of sub-links (ti , ti + γ, ui , vi ) such that ui = vi−1 and ti ≥ ti−1 + γ
5
10
time
8
time
a b c d 0
2
4
6
21/34
Link Streams
Distances in link streams
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density Paths
a b c d e
foremost 0
5
10
15
20
time
Communities Instantaneous Bipartite Conclusion
22/34
Link Streams
Distances in link streams
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density
a b c d e
Paths
foremost 0
5
10
15
20
time
Communities Instantaneous Bipartite Conclusion
a b c d e
fastest 0
5
10
15
20
time
22/34
Link Streams
Distances in link streams
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density
a b c d e
Paths
foremost 0
5
10
15
20
time
Communities Instantaneous Bipartite Conclusion
a b c d e
fastest 0
5
10
15
20
time
a b c d e
shortest 0
5
10
15
20
time
22/34
Link Streams
Centralities
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density Paths
Graphs: closeness, betweeness, ...
Communities Instantaneous Bipartite Conclusion
Link streams: centrality of node v at time t; centrality of v ? of time t? closeness: easy; betweeness: number of fastest paths?
23/34
Link Streams
k -closure
Matthieu Latapy complexnetworks.fr
Preliminaries Basics
k -closure of (t, a, b): time until a and b at distance ≤ k
Density Paths
3−closure
Communities Instantaneous Bipartite Conclusion
2−closure
Notes: k = 1 −→ inter-contact times k = 2 −→ clustering coefficient mix of time and structure 24/34
Link Streams
Going further
Matthieu Latapy complexnetworks.fr
Preliminaries
trees, spreading
Basics Density Paths Communities
(strong) connectedness, connected components, connecting components, ...
Instantaneous Bipartite
reachability is not symmetric
Conclusion
monsters: connected parts
25/34
Link Streams
Going further
Matthieu Latapy complexnetworks.fr
Preliminaries
trees, spreading
Basics Density Paths Communities
(strong) connectedness, connected components, connecting components, ...
Instantaneous Bipartite
reachability is not symmetric
Conclusion
monsters: connected parts a b c d
25/34
Link Streams Matthieu Latapy
Upcoming...
complexnetworks.fr
Preliminaries Basics Density Paths Communities Instantaneous Bipartite Conclusion
Communities
26/34
Link Streams Matthieu Latapy complexnetworks.fr
Communities in graphs dense sub-graphs poorly interconnected
Preliminaries Basics Density Paths Communities Instantaneous Bipartite Conclusion
ex: groups of friends, of computers, of products, ... how to define them? detect them? hierarchies? overlaps? ... 27/34
Link Streams Matthieu Latapy
Communities in dynamic graphs
complexnetworks.fr
Preliminaries
evolution of graph communities
Basics Density Paths
t
t+1
t+2
Communities Instantaneous Bipartite Conclusion
ex: groups of friends evolving over time
28/34
Link Streams
Communities in link streams
Matthieu Latapy complexnetworks.fr
Preliminaries
dense sub-streams poorly interconnected
Basics Density Paths Communities Instantaneous Bipartite Conclusion
i.e. temporally and structurally dense series of interactions a b c d e 0
5
10
15
20
time
ex: discussions, meetings, sessions, ... link streams 6= dynamic graphs 29/34
Link Streams Matthieu Latapy
Going further...
complexnetworks.fr
Preliminaries Basics Density Paths
intra-cluster density inter-cluster density
Communities Instantaneous
quotient link stream
Bipartite Conclusion
quality functions modularity algorithms line stream
30/34
Link Streams Matthieu Latapy
Instantaneous link streams
complexnetworks.fr
Preliminaries Basics Density Paths
discrete time instants? not relevant
Communities Instantaneous Bipartite Conclusion
needs a ∆ ֒→ ∆-analysis of link streams (ex: ∆-density) equivalent to links with duration ∆ + ∆ may vary with time, nodes, and more complex features
31/34
Link Streams
Bipartite link streams
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density Paths
two kinds of nodes links only between nodes of different kinds (client-product, author-paper, actor-movie, ...)
Communities Instantaneous Bipartite
projection of a bipartite graph :
Conclusion
B D A E A
B
C
D
E
C
F
F
Projection of a bipartite link stream... into a link stream.
32/34
Link Streams
Bipartite link streams
Matthieu Latapy complexnetworks.fr
Preliminaries Basics Density Paths
two kinds of nodes links only between nodes of different kinds (client-product, author-paper, actor-movie, ...)
Communities Instantaneous Bipartite
projection of a bipartite graph :
Conclusion
B D A E A
B
C
D
E
C
F
F
Projection of a bipartite link stream... into a link stream.
32/34
Link Streams Matthieu Latapy
A bit of philosophy
complexnetworks.fr
Preliminaries Basics Density
graph/networks = relations (like friendship)
Paths Communities Instantaneous
dynamic graphs/networks = evolution of relations (like new friends)
Bipartite Conclusion
link streams = interactions (like phone calls) interactions = traces/realization of relations? link streams = traces of graphs/networks?
33/34
Link Streams Matthieu Latapy
Conclusion
complexnetworks.fr
Preliminaries Basics
link streams model interactions over time link streams 6= dynamic graphs
Density Paths Communities
a language for link streams simple? intuitive? general? powerful? ...
Instantaneous Bipartite Conclusion
• In progress: actual communities, event and
community detection, relations with TVG • Case studies: mailing-lists (Debian), phone calls
(D4D), network traffic (Mawi, companies), mobility/contacts (crawdad, sociopatterns), financial transactions (bitcoins, on-line shopping), etc • Extensions: strength, direction, etc of interactions →
weighted, bipartite, directed, etc link streams 34/34