{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "X7LtDBAM41bV" }, "source": [ "# Centralities: who's the most important?\n", "\n", "
\n", " \n", " \n", " Open this notebook in Google Colab\n", " \n", "
\n", "\n", "\n", "
\n", " \n", " \n", " Download this notebook (File -> Save As)\n", " \n", "
\n", "\n", "For this assignment we will be exploring several centralities to get an intuitive sense of what the various centrality metrics tell us about the nodes in the graph. \n", "\n", "## Degree centrality and Eigenvector centrality\n", "\n", "Before messing with data, let's think about the two foundational centralities: degree centrality and eigenvector centrality.\n", "\n", "Degree centrality is simply defined as the number of edges connected to a node. If you imagine a social network where each node (person) can influence others, then the degree centrality captures the idea of how _directly_ influential a person would be. This may be a good first approximation. If someone is connected to so many people (e.g., those with many followers on a social media platform), then it is likely that the person is influential.\n", "\n", "Still, this assumes that all connections (followers) are more or less equal. But in reality, some followers may be more influential than others. For instance, imagine a guru followed by hugely influential politicians and celebrities. Even if the guru may not be directly connected to many people, the guru's influence can be huge.\n", "\n", "This is where the eigenvector centrality comes in. The idea is an extension of the degree centrality. Instead of defining the centrality of a node as its degree, eigenvector centrality defines the centrality of a node as the sum of eigenvector centrality of the neighbors. In other words, an important node is not just a node with many neighbors, but the one with many _important_ neighbors. We can think about repeating the following process:\n", "\n", "$$ x^{t+1}_i = \\frac{1}{\\lambda} \\sum_{j=1}^{n} A_{ij} x^{t}_j $$\n", "\n", "where $A$ is the adjacency matrix of the graph, $x$ is the eigenvector centrality vector, and $\\lambda$ is a normalization constant. It turns out, as you have learned, mathematically this idea can be translated into finding the _eigenvector_ of the adjacency matrix that corresponds to the largest (and positive) eigenvalue. \n", "\n", "$$ \\mathbf{A} \\mathbf{x} = \\lambda \\mathbf{x} $$\n", "\n", "**Here is a question: consider an undirected $k$-regular graph with only one connected component. That means that everyone can be reached from everyone else and every node's degree is $k$. What would be the eigenvector centrality vector of this graph?**" ] }, { "cell_type": "markdown", "metadata": { "id": "XDhmrT1h-SNq" }, "source": [ "
\n",
    "# YOUR SOLUTION HERE\n",
    "
" ] }, { "cell_type": "markdown", "metadata": { "id": "mrrsca6Q-Oz6" }, "source": [ "## Find the most important dolphin!\n", "\n", "We will be using the [Dolphin social network](http://www-personal.umich.edu/~mejn/netdata/dolphins.zip). (You may need to copy the link address into a new tab/window to trigger the download.) Download the graph and load it as a networkx graph." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 37 }, "executionInfo": { "elapsed": 166, "status": "ok", "timestamp": 1644788782868, "user": { "displayName": "YY Ahn", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgrTZL7cTLeROflLUdJfPKVrCE-B1oLucXDhc1hHA=s64", "userId": "10659256486022322110" }, "user_tz": 300 }, "id": "NL3cxlc_41bX", "outputId": "817713a6-645b-46e9-8089-967ec926a47c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of nodes: 62\n", "Number of edges: 159\n", "Average degree: 2.564516129032258\n" ] } ], "source": [ "import networkx as nx\n", "dolphin_social_network = nx.read_gml('dolphins.gml')\n", "\n", "# number of nodes, edges, and average degree\n", "num_nodes = len(dolphin_social_network.nodes())\n", "num_edges = len(dolphin_social_network.edges())\n", "avg_degree = num_edges / num_nodes\n", "print('Number of nodes:', num_nodes)\n", "print('Number of edges:', num_edges)\n", "print('Average degree:', avg_degree)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 320 }, "executionInfo": { "elapsed": 284, "status": "ok", "timestamp": 1644788783799, "user": { "displayName": "YY Ahn", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgrTZL7cTLeROflLUdJfPKVrCE-B1oLucXDhc1hHA=s64", "userId": "10659256486022322110" }, "user_tz": 300 }, "id": "T0gsreCd5iNM", "outputId": "09338b9a-05df-4550-9c33-a1813b4ac0db" }, "outputs": [ { "data": { "image/png": "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a5uztFCrBFnWVqsEbDrGZykbwkBJREREdi39XJHkp5M1DEYR6eeLZFlbSRgoiYiIyG7d0umhlblwRltSgXKdXtZr2DsGSiIiIrJbl0rKIXdDbRHAxZJyma9i3xgoiYiIyG5V6o2Kuo69YqAkIiIiu+WssUyUsdR17BV/dYiIiMhudfF0gzz13f8j3LkO1Y2BkoiIiOyWm4sGPh6usl7Dx9MVbi4aWa9h7xgoiYiIyK6F+XvL2ocyrLu3LGsrCQMlERER2bWYIB9Z+1DGDvSRZW0lYaAkIiIiu+bXpjlCfL0kP6VUqwSE+HrB17u5pOsqEQMlERER2b3FkYHQSBwoNSoBiyMDJV1TqRgoiYiIyO518nDFWxEBkq65MCIAnWQu+FEKBkoiIiJShOj+PpgZ3l2StWaF+2Ncfz472ViCKIpyTywiIiIispjkE1osSMuF3iiaVKyjVgnQqAQsjAhgmDQRAyUREREpTkFpBeak5uBwfjHUKqHeYFnzeoivFxZHBvI2dxMwUBIREZFi5RWWYXOWFunni6AtqcDdoUdAddPysO7eiB3ow2puMzBQEhERkUMo1+lxsaQclXojnDUqdPF04wQciTBQEhEREZFZWOVNRERERGZhoCQiIiIiszBQEhEREZFZGCiJiIiIyCwMlERERERkFgZKIiIiIjILAyURERERmYWBkoiIiIjMwkBJRERERGZhoCQiIiIiszBQEhEREZFZGCiJiIiIyCwMlERERERkFgZKIiIiIjILAyURERERmYWBkoiIiIjMwkBJRERERGZhoCQiIiIiszBQEhEREZFZGCiJiIiIyCwMlERERERkFgZKIiIiIjILAyURERERmYWBkoiIiIjMwkBJRERERGZhoCQiIiIiszBQEhEREZFZGCiJiIiIyCwMlERERERkFgZKIiIiIjILAyURERERmYWBkoiIiIjMwkBJRERERGZhoCQiIiIiszBQEhEREZFZGCiJiIiIyCwMlERERERklv8HddH9PhTXXnAAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nx.draw(dolphin_social_network)" ] }, { "cell_type": "markdown", "metadata": { "id": "l8Gu-s-M41bX" }, "source": [ "## Centrality in Networkx\n", "Networkx has several functions available for calculating the centralities of the nodes in the graph. There are functions for [eigenvector](https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.centrality.eigenvector_centrality.html?highlight=eigenvector#networkx.algorithms.centrality.eigenvector_centrality), [katz](https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.centrality.katz_centrality.html#networkx.algorithms.centrality.katz_centrality), [closeness](https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.centrality.closeness_centrality.html#networkx.algorithms.centrality.closeness_centrality), [betweenness](https://networkx.org/documentation/stable/reference/algorithms/centrality.html#shortest-path-betweenness), [degree](https://networkx.org/documentation/stable/reference/algorithms/centrality.html#degree), etc. For a full list you can visit the [documentation page](https://networkx.org/documentation/stable/reference/algorithms/centrality.html#module-networkx.algorithms.centrality). \n", "\n", "These functions take a graph as an argument and return a dictionary with nodes as keys and the centrality as values. This is convenient for us because we can set these as attributes for the nodes in the graph using the [`set_node_attributes`](https://networkx.org/documentation/stable/reference/generated/networkx.classes.function.set_node_attributes.html?highlight=set%20node%20attributes#networkx-classes-function-set-node-attributes) function. For example:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 406, "status": "ok", "timestamp": 1644789329802, "user": { "displayName": "YY Ahn", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgrTZL7cTLeROflLUdJfPKVrCE-B1oLucXDhc1hHA=s64", "userId": "10659256486022322110" }, "user_tz": 300 }, "id": "5mz08Rbd41bX", "outputId": "194aa7fa-a366-4578-da5c-75b737f34f4f" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.04481164703666933\n" ] } ], "source": [ "import networkx as nx\n", "\n", "my_graph = nx.erdos_renyi_graph(500, 0.3)\n", "\n", "# Get the eigenvector centralities for all the nodes\n", "centralities = nx.eigenvector_centrality(my_graph)\n", "\n", "# Set the attributes of the nodes to include the centralities\n", "# The arguments are: \n", "# Where is a dictionary with keys=nodes\n", "nx.set_node_attributes(my_graph, centralities, \"eigenvector\")\n", "\n", "# Now we can refer to the node's attributes in the graph\n", "print(my_graph.nodes[3][\"eigenvector\"])" ] }, { "cell_type": "markdown", "metadata": { "id": "vNKEl9Zo41bY" }, "source": [ "We want to do this so that we can export our graph as a `gexf` file using networkx's [write_gexf](https://networkx.org/documentation/stable/reference/readwrite/generated/networkx.readwrite.gexf.write_gexf.html?highlight=write_gexf#networkx.readwrite.gexf.write_gexf) function. Gexf is able to contain a lot more information than other graph datatypes like pajek. It can contain information about the node attributes or edge attributes that belong to the graph and then these attributes will be recognized by Gephi for plotting.\n", "\n", "Alternatively, if you use Cytoscape, you can export the centralities as a node property file, which is just a CSV contains the node IDs as the first column, and centralities as the other columns. Cytoscape can read CSV files through \"important data tables\" functionality: https://manual.cytoscape.org/en/stable/Node_and_Edge_Column_Data.html\n", "\n", "Once the graph is saved and you open it in Gephi or cytoscape, you can use the node (or edge) attributes to control node (or edge) size and color. \n", "\n", "You can then arrange your nodes accordingly and then save separate visualizations that only change the node color/size according to your saved attributes. You will be using this ability for the following questions.\n", "\n", "**What to submit**: For this assignment, submit a PDF that contains your responses to the questions in this notebook, including visualizations for the following questions. You do not need to submit a copy of this notebook if all of your solutions are in the PDF. **Keep the node location the same** for your graph visualizations.\n", "\n", "## Picking the right Dolphins\n", "Answer the following questions:\n", "\n", "#### (1) Popularity contest\n", "We want to know who the top dolphins are in the network, the real centers of attraction. Using what you learned about centrality from the readings and videos, choose an appropriate centrality measure that will tell us who those dolphins are. Justify your decision and list who the important dolphins are.\n", "\n", "#### (2) Relay\n", "Dolphins like passing information around efficiently along the shortest-paths. Among their neighbors who are the most important message relayers in the network? Justify your centrality choice for finding these dolphins.\n", "\n", "#### (3) Gossip \n", "There is a lot smack going around the pod and everyone wants to know if Flipper will be inviting them to the party next week. But gossip takes time travel. Which dolphins are in the best position for getting all the best gossip from around the pod? Justify your centrality choice for finding these dolphins." ] }, { "cell_type": "markdown", "metadata": { "id": "3v2DFnkh41bY" }, "source": [ "# YOUR SOLUTION HERE" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "id": "oiro6DEd41bY" }, "outputs": [], "source": [ "nx.write_gexf(dolphin_social_network, \"dolphin_centrality.gexf\")" ] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "m06-exploring_centralities.ipynb", "provenance": [] }, "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.11" } }, "nbformat": 4, "nbformat_minor": 0 }