Dynamic Community Detection¶
A simple demo of usage can be found here.
Dynamic community detection is the problem of discovering snapshot_communities in dynamic networks.
There are two types of methods implemented: those that are written in pure python and those who require an external tool.
Those in pure python are part of the tnetwork.DCD module while others are in tnetwork.DCD.external.
Below is a list of implemented methods, with the type of dynamic networks they are designed to manage. Note that this type of network is unrelated with the tnetwork representation: a snapshot representation can be used to encode a snapshot graph, a link stream or an interval graph. The possible types of dynamic networks are:
- snapshot: The graph is well defined at any $t$, changes tend to occur synchronously
- interval gaph: The graph is well defined at any $t$, but graph changes are not synchrone, changes appear edge by edge
- link stream: graphs at any time $t$ are poorly defined, graphs can be studied only by studying a $Delta$ period of aggregation
Method | Type of dynamic network |
---|---|
iterative_match | snapshots |
smoothed_graph | snapshots |
label_smoothing | snapshots |
smoothed_louvain | snapshots |
rollingCPM | snapshots |
MSSCD | link stream |
muchaOriginal | snapshots |
dynamo | interval graph |
Some external algorithms require matlab, and the matlab-python engine, ensuring the connection between both. How to explain it is explained on the matlab website, currenty there: https://fr.mathworks.com/help/matlab/matlab_external/install-the-matlab-engine-for-python.html
Internal algorithms¶
These algorithms are implemented in python.
iterative_match (dynNetSN[, CDalgo, …]) |
Community Detection by iterative detection and matching |
label_smoothing (dynNetSN[, CDalgo, …]) |
Community detection by label smoothing |
smoothed_louvain (dynNetSN[, match_function, …]) |
Community Detection using smoothed louvain |
rollingCPM (dynNetSN[, k, elapsed_time]) |
This method is based on Palla et al[1]. |
smoothed_graph (dynNetSN[, alpha, …]) |
Smoothed graph approach |
MSSCD (dyn_graph[, t_granularity, …]) |
Multi Scale Stable Community Detection |
External algorithms¶
These algorithms call external code provided by authors, and thus might require installing additional softwares (java, matlab).
dynamo (dyn_graph[, elapsed_time, timeout]) |
DynaMo algorithm |
transversal_network_mucha_original (dyn_graph) |
Multiplex community detection, Mucha et al. |
transversal_network_leidenalg (dyn_graph[, …]) |
Multiplex community detection reimplemented in leidenalg |
estrangement_confinement (dyn_graph[, …]) |
Estrangement confinement |