Source code for teneto.communitymeasures.allegiance

import numpy as np


[docs] def allegiance(community): u""" Computes allience of communities. The allegiance matrix with values representing the probability that nodes i and j were assigned to the same community by time-varying clustering methods.[alleg-1]_ parameters ---------- community : array array of community assignment of size node,time returns ------- P : array module allegiance matrix, with P_ij probability that area i and j are in the same community Reference: ---------- .. [alleg-1]: Bassett, et al. (2013) “Robust detection of dynamic community structure in networks”, Chaos, 23, 1 """ N = community.shape[0] C = community.shape[1] T = P = np.zeros([N, N]) for t in range(len(community[0, :])): for i in range(len(community[:, 0])): for j in range(len(community[:, 0])): if i == j: continue # T_ij indicates the number of times that i and j are assigned to the same community across time if community[i][t] == community[j][t]: T[i, j] += 1 # module allegiance matrix, probability that ij were assigned to the same community P = (1/C)*T # Make diagonal nan np.fill_diagonal(P, np.nan) return P