Introductory Concepts in Network Analysis
Tags: beginners, networks, graphs, analytics
Published: 2023-08-07 13:49:18

Whether or not you are a budding software developer, a historian interested in incorporating statistical analysis into your work, or a film fan who wants to know why that game [Six Degrees of Kevin Bacon](https://www.oracleofbacon.org/) literally never fails in finding a path back to Bacon – If you haven't come across the term _network analysis_, you've come to the right place!  

This article is meant to introduce you to the amazing (yes, amazing) field of analyzing networks – and I don't just mean that famous one that starts with an F.  

Theoretically, it is possible to relate everything everywhere as belonging to a network.  I suppose that’s why social networks like Facebook can be catnip for users who relish “going down the rabbit hole.”  A **network**, after all, is just _a complex, interdependent system_.  Even though this theory of ultimate interconnectivity is wildly unrealistic to implement as a research topic, networks are as much a part of human life as food & shelter.  Thus, it’s natural for us to want to study why networks are so important to our wellbeing.  With that, let's go over some of the concepts related to creating, designing and analyzing a network.

The concrete version of a network, one we can manipulate and study, is a **graph**, which is made up of nodes and edges.  Examining the explicit and implicit connections between places, people and things, is what nodes and edges are all about.   A **node** is an entity: an example being you or me, or anybody you or I know.  An **edge** is the relationship between you (the node) and --let's say, hypothetically, your two siblings, your two closest friends, your basketball coach from 7th grade, and that drugstore clerk who's always looks so happy.  All of these people are also nodes.

The way a network is studied and designed depends on those edges. For example, you have more _experience_ with your two hypothetical siblings you grew up with,  than with the hypothetical drugstore clerk you see every other week. This _experience influences your behavior_ – whether you realize it or not.  This is what the concept of **centrality** measures –  how influential a node is in relation to other nodes and within the network itself.  

The _number of people you know_, or **node degree**, can affect centrality.  The fact that you _share similarities_ in DNA with your two siblings also adds **weight** to the edges that represent your relationships with them. 

Considering that 7th grade coach, there will never be a time when you will be able to travel back in time to become their 7th grade coach – your relationship with them is considered _asymmetrical_, also known as a **directed edge**.  Conversely, **undirected edges** represent _symmetrical_ relationships: an example of this would be if your two closest friends residing as nodes from that hypothetical network mentioned earlier, are also best friends with each other.

Zooming out a little further, let's say you’re visiting Manhattan, & you wanted to find out where, and if, you'll have to trek up and down Manhattan to find all of the most popular theaters on your to-visit list. You'd pull out your phone and look at a map app, right?  Somewhere deep in the recesses of that application is a metric called a **clustering coefficient**, which identifies _how clustered a group of nodes are_.  Milliseconds later, this metric will have conveyed to the proper app components that communicate to you, that you do not, in fact, have to spend most of the day traveling; all you have to do is get to the Theatre District.  The map application itself is a powerful network **visualization** designed to analyze and produce information about the New York public transportation network. 

For those of you still reading to figure out Kevin Bacon's elusive secret, I'm sorry to disappoint you, but he doesn't have one.  There's a scientific observation called the **small world phenomenon**, that reports that although two nodes may not be directly connected, a short chain of edges belonging to other related nodes will ultimately bridge that gap between those two unconnected nodes. 

For those of you who are chess enthusiasts and/or budding developers, at some point you may have crossed paths with a problem called n-queens.  The possible _length of the n_ in that problem can be unsettling, just as **dense** networks can be untenable to analysts.  A **sparse** network is a much more favorable attribute for creating optimized metrics.  Related to the n-queens problem, is a style of computer programming called _constraint programming_.  I won't spoil a potential learning opportunity, suffice it to say creating constraints on too much information makes analyzing it much more tenable.

In summary, there are many moving parts and factors to be considered when examining a network.  Although network science may seem like a daunting field of work, if you relate its concepts to how we live -- how we have always lived throughout history -- you can discover how exciting and interesting network analysis can be.  Hopefully, this article has helped introduce you to a few, important concepts that help developers, historians, chess fanatics, and many others analyze networks.  I also hope this article illustrates just a bit about how much thought goes into designing the networks we use everyday – from transportation, to infectious disease tracking, to the lifespan of on- and offline communities (RIP GeoCities).  

Feel free to give me feedback or just chat with me about this subject, and check out the sources list below for more information.  Thanks for reading!


[Loem, M. (2022, January 7). What is Network Analysis? - Towards Data Science](https://towardsdatascience.com/network-analysis-d734cd7270f8)

[Caldarelli, G., & Catanzaro, M. (2012). Networks: A very short introduction.]( https://ci.nii.ac.jp/ncid/BB10743884)

[Cover Photo by José Martín Ramírez Carrasco](https://unsplash.com/photos/yhNVwsKTSaI?utm_source=unsplash&utm_medium=referral&utm_content=creditShareLinkt)