What this book covers
Chapter 1, What Is a Network?, introduces the theoretical concept of a network and provides several examples of networks in real-world applications, including work with random graphs. We’ll also get started with Python’s igraph and NetworkX packages.
Chapter 2, Wrangling Data into Networks with NetworkX and igraph, builds on Chapter 1 by providing three examples of real-world data that can be formulated as network data and showing how to convert data into network form in Python. We’ll introduce problems involving spatial data, temporal data, and spatiotemporal data and explore how network science can solve these problems by converting the data into network form.
Chapter 3, Demographic Data, explores two real-world projects using demography data from the developing world to understand network structures and capacity for information/infectious disease spread. We’ll consider the demographic characteristics and network properties of a friend group to see how both types of information can influence disease spread.
Chapter 4, Transportation Data, provides a real-world example of a transportation network and introduces tools related to minimum paths and network flow. We’ll consider optimal routing and the shortest paths to destinations, including multistop pathways from one location to another.
Chapter 5, Ecological Data, shows a real-world example of an ecological network and introduces spectral graph theory tools, including spectral clustering and graph Laplacians.
Chapter 6, Stock Market Data, examines a real-world example of stock market data analysis with network tools, including edge-based centrality measures of volatility. We’ll mine data for tipping points, heralding either a period of market growth or market crash.
Chapter 7, Goods Prices/Sales Data, provides two real-world examples of commerce data analysis over both space and time with tools previously covered in time series and spatial data applications. We’ll examine sales and pricing trends across time and space to better understand consumer behavior and the impacts of pricing changes across time and space.
Chapter 8, Dynamic Social Networks, introduces a real-world example of social network datasets evolving over time and analyzes their vulnerability to spreading processes, such as epidemics and misinformation flow. We’ll consider factors influencing ecological social networks’ vulnerability to spread of disease.
Chapter 9, Machine Learning for Networks, presents a comprehensive description on network-based machine learning and deep learning, including examples with supervised, unsupervised, and semi-supervised learning to understand disease risks within social networks.
Chapter 10, Pathway Mining, introduces Bayesian networks and mining for causal pathways using an educational data example, where we’ll see how course sequencing and performance influence student outcomes.
Chapter 11, Mapping Language Families – an Ontological Approach, covers ontologies and maps between ontologies using a linguistic data example from the Nilo-Sudanic language family and its lexicon variations.
Chapter 12, Graph Databases, introduces graph databases with Neo4j, including data from prior chapters and how to query Neo4j with graph tools introduced in prior chapters and Neo4j’s query language. We’ll see how graph databases and network science tools create synergy in data science, as well as efficient data storage solutions.
Chapter 13, Putting It All Together, ties together material from previous chapters into a final project, analyzing spatiotemporal network data and demographic data from Ituri and North Kivu provinces with generalized estimating equations to understand the evolution of the 2019 Ebola epidemic.
Chapter 14, New Frontiers, introduces quantum graph algorithms, graph theory for neural network optimization, hierarchical networks, and hypergraphs.