Skip to content

bigdatapersonnel/net-analysis-smm638

 
 

Repository files navigation

Network Analytics, SMM638 ― README

drawing

Instructor

Module overview

Networks are ubiquitous: job offerings reach us via inter-personal connections; what we see on the screen of our digital device is a function of the relationships we develop in the digital world; market valuations are ― largely ― the byproduct of social influence, which accumulates and spreads over relations. This module provides students with cutting-edge network theories and practical tools to appreciate the organization and functioning of disparate networks. Ultimately, the goal is to develop a distinctive angle on how networks bring value to individuals, organizations, and communities.

Materials & readings

SMM638 sticks with a GitHub-based workflow. The only way to get access to the latest version of lecture notes, code, and data is to use this GitHub repo.

For this module, you aren't required to purchase any book, whereas it is key you carefully consider the following set of mandatory materials:

  • lecture notes (to be uploaded onto Moodle/Github weekly; they include slideshows + videos);
  • weekly lecture notes
  • weekly video-recordings attached to the lecture notes, available via the MS Office app Streams and accessible to Bayes MSc students only
  • selected chapters from the book Networks, Crowds, Markets (you can also access it via our Library website)
  • selected chapters from the book Network Science
  • case studies
  • ad hoc tutorials dealing with foundational aspects of data visualizations and aiming to speed up students' learning
  • selected journal articles, made available on a rolling basis to best fit the interests and needs of the students
  • selected datasets supporting the labs offered during the weekly 'live' sessions and tutorials. Note that further datasets could be uploaded onto the repo in order to create labs/tutorials that best fit the interests and needs of the students

Discretionary readings/materials include and aren't limited to:

Learning objectives

At the end of the module, students should be able to:

  • appreciate the properties of networks;
  • appreciate the properties of communities of nodes belonging to a network;
  • appreciate the properties of individual nodes belonging to a network;
  • visually represent the key features of networks;
  • leverage the most advanced Python modules for network analytics;
  • mobilize key network analytics notions and tools in order to produce elegant, effective, and efficient solutions to practical problems in the field of business strategy, product innovation, and operations.

Assessment

As per the module specification, students will be assessed on the basis of coursework submissions (yes, you understand correctly, for this module there is no final examination). Specifically, there are two pieces of coursework, namely:

  • a group-level 'mid-term project' (MTP)
  • an individual-level 'final course project' (FCP)

Both pieces of coursework will be evaluated against four criteria: i) appropriate use of notions and frameworks discussed in class; ii) effectiveness of the proposed answer or solution; iii) originality/creativity of the proposed answer or solution; iv) organization and clarity of submitted materials. All criteria carry out the equal weight in terms of marking.

Here's the calculation of the Final Mark (FM):

$FM = \frac{MTP + FCP}{2}$

Mid-term project

For the MTP, students will work in groups to solve a complex visualization problem. The details of the MTP will be available on October 19, when the project will be released. Submissions will be assessed on a 0 - 100% scale. The Groups who fail MTP can resubmit a revised version of the project; if the revision is sufficient, students receive a 50% mark. The deadline for the project is November 15. Few groups (e.g., three groups) will be invited to present the outcome of their work to fellow students in week 6. Invited groups could also receive a maximum of three (3) bonus points on the basis of the quality of their presentations.

To clarify your expectations about the MTP, please consider the assignments administered to the previous BA cohorts.

Final course project

With the FCP, students will work individually to help a real-world client to face some data challenges that can best be addressed using a network analytics angle. Details about the client and the challenge will be available on November 16. Final course projects will be evaluated on a rolling basis and should be submitted by December 17.

To clarify your expectations about the FCP, please consider the assignments administered to the previous BA cohorts.

Case studies

Case studies provide students with the opportunity to learn how to integrate the 'business' and the 'network analytics' perspectives in order to deal effectively with real-world problems. In terms of process, groups of students will receive i) a detailed description of a business issue, and ii) relevant data. Then, they will be working for one week to produce their own solution. The views on the case will be discussed in class during an interactive session led by the lecturer. Students could be cold-called during the session and asked to share their solutions.

Discretionary coursework

Problem sets (PS) will be launched weekly. Individual students may want to deal with these problem sets and present their solutions to the class. A maximum of three students per session will be selected on the basis of the novelty and effectiveness of the proposed solution. One bonus point (+1 FM) will be assigned.

To clarify your expectations about PSs, please consider the assignments administered to the previous BA cohorts.

Schedule of the module

Week Topic
1 Introduction to SMM638
Introduction to networks
- how networks matter
- networks are made up of nodes and ties
- graph and algebraic representations of networks
2 Introduction to networks
- forms of networks
- markets & networks: the Soundcloud example
Network theory
- strong ties and closure
- weak ties and brokerage
Network models and metrics
- centrality
- paths and distances
- connectedeness
Laboratory (NetworkX)
3 Network theory
- small worlds and networks
- core-periphery structures in networks
- community structures in networks
Network models and metrics
- collection of community detection algorithms
Laboratory (NetworkX)
Mid-term project release
4 Network theory
- homophily, selection, and social influence
Network models and metrics
- closure and link formation in online communities
- spatial models of segregation
Laboratory (NetworkX and Mesa)
5 Network theory
- scale-free networks
- preferential attachment
- Barabasi-Albert model
Network models and metrics
- crowds and popularity
- networks, recommenders, and popularity
Laboratory (NetworkX)
6 Mid-term project — students' presentations
Laboratory (Graph-Tool)
- efficient network analysis with Graph-Tool
7 Final course project release
Network theory
- cascading behavior
- diffusion in and through networks
Network models and metrics
- spreading phenomena
Laboratory (NetworkX, Graph-Tool)
8 Case study #1 (on cascading behavior and diffusion)
9 Network theory
- percolation theory
- network robustness
Network models and metrics
- attack tolerance
- cascading failures
Laboratory (NetworkX, Graph-Tool)
10 Case study #2 (on percolation theory/robustness)

Guest speakers

Subject to the Covid-19-related norms and actions, SMM638 might host short talks from two types of guest speakers: ambassadors — former students of the BA program — and practitioners.

Prerequisites

  • The SMM692 ― Python Pre-Course module defines the knowledge students should possess in order to proficiently attend SMM635 ― Data Visualization.
  • Basic knowledge of the Git versioning software as implemented in GitHub (see the official GitHub Guides)

Software Requirements

For this module, you're supposed to run Python 3.7 or higher on your machine. Now, how to get Python to work on your machine? There are several ways to do that. A fast, smooth alternative is to install Anaconda, an open-source distribution of Python that includes: i) 250+ popular data science packages; ii) the conda package, which makes it quick and easy to install, run, and upgrade complex data science and machine learning environments.

Here is the workflow:

  1. Use your preferred browser to open the link pointing to the Anaconda repository;
  2. Select the installer the which suits your machine (32- or 64-bit) and operating system (Win, Mac OS, Linux). Mac users may want to download the graphical installer rather than the command-line installer (students may feel less comfortable with it);
  3. Retrieve the installer (perhaps in your download folder);
  4. Run the installer;
  5. Log-out from your current session (it does not matter if you use Win, Mac OS or Linux);
  6. Log-in into a new session;
  7. Run 'Anaconda Navigator' — namely, a convenient place to launch the IPython shell or other user-interfaces to interact with IPython.

On top of Anaconda ― Python, students should install the modules:

  • NetworkX
  • Mesa
  • Graph-Tool. Note Graph-Tool is a 'complex' library (i.e., it depends on several Pyhon and C++ libraries); you may want to follow the installation instructions reported under the resources section of this repo.

Versioning

  • The current version is 1.1
  • Last change: Tue 5 Oct 2021 09:38:36 BST

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 76.2%
  • HTML 20.3%
  • Python 3.5%