Synthetic Networks Or Generative Models)
Total Page:16
File Type:pdf, Size:1020Kb
Models of networks (synthetic networks or generative models) Prof. Ralucca Gera, Applied Mathematics Dept. Naval Postgraduate School Monterey, California [email protected] Excellence Through Knowledge Learning Outcomes • Identify network models and explain their structures; • Contrast networks and synthetic models; • Understand how to design new network models (based on the existing ones and on the collected data) • Distinguish methodologies used in analyzing networks. The three papers for each of the models Synthetic models are used as reference/null models to compare against and build new complex networks •“On Random Graphs I” by Paul Erdős and Alfed Renyi in Publicationes Mathematicae (1958) Times cited: 3, 517 (as of January 1, 2015) •“Collective dynamics of ‘small-world’ networks” by Duncan Watts and Steve Strogatz in Nature, (1998) Times cited: 24, 535 (as of January 1, 2015) •“Emergence of scaling in random networks” by László Barabási and Réka Albert in Science, (1999) Times cited: 21, 418 (as of January 1, 2015) 3 Why care? • Epidemiology: – A virus propagates much faster in scale-free networks. – Vaccination of random nodes in scale free does not work, but targeted vaccination is very effective • Create synthetic networks to be used as null models: – What effect does the degree distribution alone have on the behavior of the system? (answered by comparing to the configuration model) • Create networks of different sizes – Networks of particular sizes and structures can be quickly and cheaply generated, instead of collecting and cleaning the data that takes time Erdős-Rényi Random Graphs (1959) 5 Random graphs (Erdős-Rényi , 1959) ERmodel : creates at random with fixed parameters • G(n, m): fix n (node count) and m (edge count) • G(n,p): fix n and probability p of the edge existence between vertices (m is not fixed) – The mean value of edges is ⋅ 2 – The average degree is 1 – The distribution of finding a node of degree is binomial: 1 1 • NetworkX has synthetic models and classes 6 Creating G(n,m) – method 1 • To make a random network : – take n nodes, – m unlabeled edges randomly placed between the n vertices • Put the graph in a box, make another one and put it in the box, and another one… • Pull one network at random out of the box and it will have a Normal Degree Distribution (classic degree distribution): almost everyone has the same number of friends on average 7 Creating G(n,m) – method 2 Method two and equivalent to the first: • To make a random network : – take n nodes, – m pairs of nodes at random to form edges, – place the edges between the randomly chosen nodes. • The average degree: , where is often used to denote the degree of vertex i in complex networks (enumerate the vertices, 1, 2, …) 8 Creating G(n,p) • To create a random network : – take n nodes, – A fixed probability for the whole graph – Attach edges at random to the nodes, with the probability p 9 Degree distribution for both for , and , Results about E-R graphs: • Degree distribution: Binomial • Average path is small compared to n: , where is the average degree – Comparable to the of the observed networks • Clustering coefficient is small: (The probability that two neighbors of a node are connected is equal to the probability of any two random nodes being connected) – However observed networks have high clustering.10 Generating Erdős-Rényi ER(n,p) • ER graphs are models of a network in which some specific set of parameters take fixed values, but the construction of the network is random (see below in Gephi) 11 Generating Erdős-Rényi ER(n,m) 12 Generating Erdős-Rényi random networks Reference for python: http://networkx.lanl.gov/reference/generated/networkx.generators.random_graphs.erdos_renyi_graph.html#networkx.generators.random_graphs.erdos_renyi_graph 13 The Random Geometric model 14 Random Geometric Model • Again the connections are created at random, but based on proximity (such as ad hoc networks) • Proximity is relevant: for each node , the edge is created with a probability if , for given fixed distance r. • There is no perfect model for the world around us, not even for specific types of networks 15 An example of a random geometric 16 https://www.youtube.com/watch?v=NUisb1-INIE Creating it in Python https://networkx.github.io/documentation/networkx- 1.10/reference/generated/networkx.generators.geometric.random_geometric_graph.html#networkx.generators.geometric.random_geometric_graph 17 The Malloy Reed Configuration model (1995) 18 The configuration model •A random graph model created based on Degree sequence of choice (can be scale free) • Maybe more than degree sequence is needed to be controlled in order to create realistic models 19 The MR configuration model • A random graph model created based on a degree sequence of choice: 4, 3, 2, 2, 2, 1, 1, 1 Step 1: Step 2: Or this step 2: 20 Mathematical properties •Let and be two nodes. • Expectation of to be an edge : – Pick an edge out of the m edges in G: the probability that the left end node is i is (its degree), and the probability that the right end node is j, is ), and so: p (used 2m since each edge is counted from each of its two ends) • Expectation of a multi edge – Given that ∈ ,then the probability that it will be an edge again is p , and so the probability of both happening is p which simplifies to: 21 Mathematical properties (parallel edges) ∑ Average degree: , and … ∑ the average of their squares: . Then, the expected number of parallel edges is: 22 http://tuvalu.santafe.edu/~aaronc/courses/5352/csci5352_2017_L4.pdf Mathematical properties (loops) 1. Recall that for parallel edges, Thus the expectation of a loop one edge of node has been used 2. And the equation on the previous page simplifies to the expected number of loops being Conclusion: Since the variables in the equation in 2. above are constant with respect to the size of the network, only a small fraction of edges are loops or parallel edges 23 http://tuvalu.santafe.edu/~aaronc/courses/5352/csci5352_2017_L4.pdf Generating it in Python https://networkx.github.io/documentation/networkx-1.10/reference/generated/networkx.generators.degree_seq.configuration_model.html 24 Let’s practice in CoCalc 25 Create ER networks 26 Main References • Newman “The structure and function of complex networks” (2003) • Estrada “The structure of complex Networks” (2012) • Barabasi “Network Science” (online: http://barabasi.com/networksciencebook/) • References to the classes that exist in python: http://networkx.lanl.gov/reference/generators.html 27.