Networks are becoming evermore prevalent, from social networks to transport networks, and it is becoming increasingly important to develop practical methods to analyse what can be extremely large datasets of this form.
This repo is a collection of notebooks created whilst taking the Oxford graduate course Probability and Statistics for Network Analysis in 2020 (taught by Prof. Gesine Reinert). It covers a few of the topics taught in the course:
- centrality measures
- summary statistics of graphs
- random graph models
- sampling from networks
A network or graph (more commonly used in maths) is a set of vertices/nodes
- vertex weights/labels,
- edge weights/labels,
- directed edges (in this case, the edges
$(u,v)$ and$(v,u)$ are different), - self loops (an edge from a vertex
$v$ to itself), - multiple edges (i.e. more than one distinct edge between the same two vertices), etc.
For example, a transport network might have vertices representing junctions and edges representing the roads between them. If our aim is to use this network to find the shortest route from
A graph is simple if it contains no multiple edges and no self loops.
Graphs are often summarised by their adjacency matrix $A$, which has entries
This can be adapted for weighted graphs by replacing any
Another matrix commonly associated to a graph is the Laplacian $L$, defined as
The content is based on the lecture notes provided by Prof. Reinert in 2020.