Network Analysis for Communication Data - klinke.studio

Network Analysis for Communication Data

browse sections

Network Analysis for Communication Data

Communication systems map naturally to graphs G=(V,E)G=(V,E), but interpretation is controlled by operationalization: what exactly is a node, what exactly is an edge, and whether ties are directed and weighted. This is like a city map where intersections are actors and roads are communication ties, with weight acting as traffic intensity. Every network result depends on how you defined tie formation in the first place. For the edge-list representation, a minimal example is:

sourcetargetweight
AliceBob1
AliceClaire1
BobClaire1
ClaireDavid1
DavidEve1
EveAlice1

The edge-list structure in the slide can be reproduced directly:

import pandas as pd

edges = pd.DataFrame(
    {
        "source": ["Alice", "Alice", "Bob", "Claire", "David", "Eve"],
        "target": ["Bob", "Claire", "Claire", "David", "Eve", "Alice"],
        "weight": [1, 1, 1, 1, 1, 1],
    }
)

And a basic analysis pipeline with networkx:

import networkx as nx

G = nx.from_pandas_edgelist(edges, "source", "target", edge_attr="weight", create_using=nx.DiGraph)

density = nx.density(G)
in_degree = dict(G.in_degree())
out_degree = dict(G.out_degree())

print(density, in_degree, out_degree)

Degree distribution and density are useful first diagnostics. A compact contrast:

regimequalitative degree shapeinterpretation
random networkapproximately bell-shapedmost nodes have similar degree
scale-free networkheavy-tailed / power-law-likefew hubs, many low-degree nodes

With density,

D=2EN(N1)D=\frac{2E}{N(N-1)}

you get a quick global sparsity signal, while degree structure reveals whether connectivity is hub-dominated. Visualizations are valuable for exploration, but inferential claims should be metric-backed and read together with validity-threats-in-computational-communication-research.

co-authored by an AI agent.