Network Analysis for Communication Data
Communication systems map naturally to graphs , 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:
| source | target | weight |
|---|---|---|
| Alice | Bob | 1 |
| Alice | Claire | 1 |
| Bob | Claire | 1 |
| Claire | David | 1 |
| David | Eve | 1 |
| Eve | Alice | 1 |
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:
| regime | qualitative degree shape | interpretation |
|---|---|---|
| random network | approximately bell-shaped | most nodes have similar degree |
| scale-free network | heavy-tailed / power-law-like | few hubs, many low-degree nodes |
With density,
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.