{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Overview" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Here is the plan for today.\n", "\n", "__Part 1:__ In the first part of the class we will learn few things about __Data Visualization__, an important aspect in Computational Social Science. Why is it so important to make nice plots if we can use stats and modelling? I hope I will convince that it is _very_ important to make meaningful visualizations. \n", "\n", "__Part 2:__ In the second part of the class we will learn about __Visualizing Distributions__. Plotting histogram is something you are probably very familiar with at this point, but there are a few things that you should know about how to visualize distributions when the data you have is highly heterogeneous. \n", "\n", "__Part 3:__ In the final part of the class, we will learn about __Heavy tailed distributions__. Heavy tailed distributions are ubiquitous in Computational Social Science, so it is really important to understand what they are and how to study them. \n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part 1: Intro to visualization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Start by watching this short introduction video to Data Visualization.\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> * _Video Lecture_: [Intro to Data Visualization](https://www.youtube.com/watch?v=oLSdlg3PUO0)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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weR8xQX/AEVAO2rqr5fp/wAHkfMU7auqvl+n/B5HzFBf9FQDtq6q+X6f8HkfMU7auqvl+n/B5HzFBf8ARUA7auqvl+n/AAeR8xTtq6q+X6f8HkfMUF/0VAO2rqr5fp/weR8xTtq6q+X6f8HkfMUF/wBFQDtq6q+X6f8AB5HzFO2rqr5fp/weR8xQX/RUA7auqvl+n/B5HzFO2rqr5fp/weR8xQX/AEVAO2rqr5fp/wAHkfMU7auqvl+n/B5HzFBf9FQDtq6q+X6f8HkfMU7auqvl+n/B5HzFBf8ARUA7auqvl+n/AAeR8xTtq6q+X6f8HkfMUF/0VAO2rqr5fp/weR8xTtq6q+X6f8HkfMUF/wBFQDtq6q+X6f8AB5HzFO2rqr5fp/weR8xQX/RUA7auqvl+n/B5HzFO2rqr5fp/weR8xQX/AEVAO2rqr5fp/wAHkfMU7auqvl+n/B5HzFBf9FQDtq6q+X6f8HkfMU7auqvl+n/B5HzFBf8ARUA7auqvl+n/AAeR8xTtq6q+X6f8HkfMUF/0VAO2rqr5fp/weR8xTtq6q+X6f8HkfMUFZkREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQf/Z\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import YouTubeVideo\n", "YouTubeVideo(\"oLSdlg3PUO0\",width=800, height=450)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ok, but is data visualization really so necessary? Let's see if I can convince you of that with this little visualization exercise." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "> __Exercise 1: Visualization vs stats__\n", "> \n", "> Start by downloading these four datasets: [Data 1](https://raw.githubusercontent.com/suneman/socialdataanalysis2020/master/files/data1.tsv), [Data 2](https://raw.githubusercontent.com/suneman/socialdataanalysis2020/master/files/data2.tsv), [Data 3](https://raw.githubusercontent.com/suneman/socialdataanalysis2020/master/files/data3.tsv), and [Data 4](https://raw.githubusercontent.com/suneman/socialdataanalysis2020/master/files/data4.tsv). The format is `.tsv`, which stands for _tab separated values_. \n", "> Each file has two columns (separated using the tab character). The first column is $x$-values, and the second column is $y$-values. \n", "> \n", "> * Using the `numpy` function `mean`, calculate the mean of both $x$-values and $y$-values for each dataset. \n", "> * Use python string formatting to print precisely two decimal places of these results to the output cell. Check out [this _stackoverflow_ page](http://stackoverflow.com/questions/8885663/how-to-format-a-floating-number-to-fixed-width-in-python) for help with the string formatting. \n", "> * Now calculate the variance for all of the various sets of $x$- and $y$-values (to three decimal places).\n", "> * Use [`scipy.stats.pearsonr`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html) to calculate the [Pearson correlation](https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient) between $x$- and $y$-values for all four data sets (also to three decimal places).\n", "> * The next step is use _linear regression_ to fit a straight line $f(x) = a x + b$ through each dataset and report $a$ and $b$ (to two decimal places). An easy way to fit a straight line in Python is using `scipy`'s `linregress`. It works like this\n", "> ```\n", "> from scipy import stats\n", "> slope, intercept, r_value, p_value, std_err = stats.linregress(x,y)\n", ">```\n", "> * Finally, it's time to plot the four datasets using `matplotlib.pyplot`. Use a two-by-two [`subplot`](http://matplotlib.org/examples/pylab_examples/subplot_demo.html) to put all of the plots nicely in a grid and use the same $x$ and $y$ range for all four plots. And include the linear fit in all four plots. (To get a sense of what I think the plot should look like, you can take a look at my version [here](https://raw.githubusercontent.com/suneman/socialdataanalysis2017/master/files/anscombe.png).)\n", "> * Explain - in your own words - what you think my point with this exercise is.\n", "\n", "\n", "Get more insight in the ideas behind this exercise by reading [here](https://en.wikipedia.org/wiki/Anscombe%27s_quartet).\n", "\n", "And the [video below](https://www.youtube.com/watch?v=DbJyPELmhJc) generalizes in the coolest way imaginable. It's a treat, but don't watch it until **after** you've done the exercises.\n" ] }, { "cell_type": "code", "execution_count": 179, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAgICAgICAkICAgGCAgIBwgICAkICAgICAkICAgICAgIChwLCAgOCQgIDSENDh0dHx8fCAsgICAeIBweHx4BBQUFBwYIDQcIDRIIBwgSEhISEhISEhISEhISEhISEhISEhISEhISEhISEh4SEhISEhISEhIeHhISHh4SHh4eHv/AABEIAWgB4AMBIgACEQEDEQH/xAAdAAEAAgIDAQEAAAAAAAAAAAAAAgUEBgMHCQEI/8QARBAAAgIBAwICBgUKBQUAAQUAAQIAAwQFERITIQYxBxQiQVFSMmFxkrEVIzNCcoGR0dLwYqGissEIFiSCwvElJjRTY//EABcBAQEBAQAAAAAAAAAAAAAAAAABAgP/xAAaEQEAAwEBAQAAAAAAAAAAAAAAAhIxAREh/9oADAMBAAIRAxEAPwD8ZREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERA9mIicObaa6rLAFJrrdwGbgpKqWAZ9jxXt57GBzSLOo8yB9pAmsXeMUU2gVBhV0Dv1h3FuK2Y2/s+yempVR+se3Yd5caspLLt8PiPjLznozusvzL/ER1k+ZfvCU1aHf/ANW94+U/XI9M/wBkfzmqIu+snzL94R1k+ZfvCUnTP9kfzjpn+yP5xQXfWT5l+8I6yfMv3hKTpn+yP5x0z/ZH84oLvrL8y/xEdZPmX7wlNZWe32D3j4D6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HUlnTV+dnDYv0x9Cyzs3E7u3T4Bfe1iDtvLTiPgJ9iB84j4COI+An2IHziPgJwZ9601W3MUVaK3sZrG4VqEUsS78TwQAdzsffMiIGv8Ah3xB63aajSlZFKW7rb1COSUv7S9Mcaz19gx8zTd2HGX/ABHwE+xA+cR8BHEfAT7ED5xHwE1zxF4oXDOUvR5HDoouBsZqa7epZ03VbDUV3XlT3G+5t27bGbJED5xHwEcR8BPsQPnEfARxHwEr9P1eu7Jy8ZVYPp5pFjEpxbrobFKANy2AG27Adwdt9jLGBU+LdW9QxLcrpC3omscDYtI9uxKyTYw2UANv9e2w7z7oGqjK9a9hU9Ty7sX2X6nLpEDk3sjpufPh323Xv3lrED5xHwEcR8BPsQPnEfARxHwE+xA1ZfFe+S2P0FHHL9WDG8bt+cSrdUFf6Xdi/TO3s1u2+22+0cR8BPsQPnEfARxHwE+xA+cR8BKLxD4gXEtWorQWsoa5epkCkqFyMXHLWDpkpQPWQxs77dNu0vogUvh7WxlvenSFXQTHfYvysHXVzwtr4jpWDhvtudw6H37S6AiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAieM8QPZiJ4zxA9mInjPED2YieM8QPZiJ4zxA9mInjPED2YieM8QPZiJ4zxA9mInjPED2YieM8QPZiJ4zxA9mInjPED2YieM8QPZiJ4zxA9mInjPED2YieM8QPZiJ4zxA9mInjPED2YieM8QPZiJ4zxA9mInjPED2YieM8QPZiJ4zxA9mInjPED2YieM8QPZiJ4zxA9mInjPED2YieM8QPZiJ4zxA9mInjPEBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQERED/9k=\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 179, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import YouTubeVideo\n", "YouTubeVideo(\"DbJyPELmhJc\",width=800, height=450)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Prelude to Part 2: Some tips to make nicer figures." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before even starting visualizing some cool data, I just want to give a few tips for making nice plots in matplotlib. Unless you feel like you are already a pro-visualizer, those should be pretty useful to make your plots look much nicer. \n", "Paying attention to details can make an incredible difference when we present our work to others. \n", "\n", "**Note**: there are many Python libraries to make visualizations. I am a huge fan of matplotlib, which is one of the most widely used ones, so this is what we will use for this class. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> *Video Lecture*: [How to improve your plots](https://www.youtube.com/watch?v=sdszHGaP_ag)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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weR8xQX/AEVAO2rqr5fp/wAHkfMU7auqvl+n/B5HzFBf9FQDtq6q+X6f8HkfMU7auqvl+n/B5HzFBf8ARUA7auqvl+n/AAeR8xTtq6q+X6f8HkfMUF/0VAO2rqr5fp/weR8xTtq6q+X6f8HkfMUF/wBFQDtq6q+X6f8AB5HzFO2rqr5fp/weR8xQX/RUA7auqvl+n/B5HzFO2rqr5fp/weR8xQX/AEVAO2rqr5fp/wAHkfMU7auqvl+n/B5HzFBf9FQDtq6q+X6f8HkfMU7auqvl+n/B5HzFBf8ARUA7auqvl+n/AAeR8xTtq6q+X6f8HkfMUF/0VAO2rqr5fp/weR8xTtq6q+X6f8HkfMUF/wBFQDtq6q+X6f8AB5HzFO2rqr5fp/weR8xQX/RUA7auqvl+n/B5HzFO2rqr5fp/weR8xQX/AEVAO2rqr5fp/wAHkfMU7auqvl+n/B5HzFBf9FQDtq6q+X6f8HkfMU7auqvl+n/B5HzFBf8ARUA7auqvl+n/AAeR8xTtq6q+X6f8HkfMUF/0VAO2rqr5fp/weR8xTtq6q+X6f8HkfMUFZkREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQf/Z\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import YouTubeVideo\n", "YouTubeVideo(\"sdszHGaP_ag\",width=800, height=450)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part 2 : Plotting distributions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you probably have discovered in the exercise above, using summary statistics (mean, median, standard deviations) to capture the properties of your dataset can be sometimes misleading. \n", "It is _very good practice_, whenever you have a dataset at hand, to start by plotting the _distribution_ of the data. \n", "There is a lot we can learn about our data just by looking at the probability distribution of data points. \n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Very often, when it comes to real-world datasets, the data span several orders of magnitude.\n", "In these cases, plotting probability distributions as histograms in the usual way does not work very well. \n", "But there are a couple of tricks you can apply in these instances to visualize the distribution. \n", "\n", "In the video-lecture below, I guide you through plotting histograms for very heterogeneous datasets.\n", "The example I go through is based on two datasets: (i) financial data describing the prices and returns of a stock; and (ii) a dataset describing the number of comments posted by a set of Reddit users.\n", "In fact, the dataset I use don't really matter. You can use the same techniques to plot any data. \n", "\n", "\n", "> *Video Lecture*: [Plotting histograms and distributions](https://www.youtube.com/watch?v=UpwEsguMtY4)" ] }, { "cell_type": "code", "execution_count": 186, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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weR8xQX/AEVAO2rqr5fp/wAHkfMU7auqvl+n/B5HzFBf9FQDtq6q+X6f8HkfMU7auqvl+n/B5HzFBf8ARUA7auqvl+n/AAeR8xTtq6q+X6f8HkfMUF/0VAO2rqr5fp/weR8xTtq6q+X6f8HkfMUF/wBFQDtq6q+X6f8AB5HzFO2rqr5fp/weR8xQX/RUA7auqvl+n/B5HzFO2rqr5fp/weR8xQX/AEVAO2rqr5fp/wAHkfMU7auqvl+n/B5HzFBf9FQDtq6q+X6f8HkfMU7auqvl+n/B5HzFBf8ARUA7auqvl+n/AAeR8xTtq6q+X6f8HkfMUF/0VAO2rqr5fp/weR8xTtq6q+X6f8HkfMUF/wBFQDtq6q+X6f8AB5HzFO2rqr5fp/weR8xQX/RUA7auqvl+n/B5HzFO2rqr5fp/weR8xQX/AEVAO2rqr5fp/wAHkfMU7auqvl+n/B5HzFBf9FQDtq6q+X6f8HkfMU7auqvl+n/B5HzFBf8ARUA7auqvl+n/AAeR8xTtq6q+X6f8HkfMUF/0VAO2rqr5fp/weR8xTtq6q+X6f8HkfMUFZkREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQf/Z\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 186, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "YouTubeVideo(\"UpwEsguMtY4\",width=800, height=450)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> __Exercise 2: Paper citations__. Now, we will put things into practice by plotting the distribution of citations per author. Consider the _Paper dataset_, you prepared in Week2, Exercise 3.\n", "\n", "> 1. Select all the papers published in 2009, and store their \"citationCount\" in an array. __Note:__ You should have an array of a few hundreds data points (if you don't come and talk to me). \n", "> 2. Make a histogram of the number of citations per paper, using the function [``numpy.histogram``](https://numpy.org/doc/stable/reference/generated/numpy.histogram.html). Here are some important points on histograms (they should be already quite clear if you have watched the video above):\n", "> * __Binning__: By default numpy makes 10 equally spaced bins, but you always have to customize the binning. The number and size of bins you choose for your histograms can completely change the visualization. If you use too few bins, the histogram doesn't portray well the data. If you have too many, you get a broken comb look. Unfortunately is no \"best\" number of bins, because different bin sizes can reveal different features of the data. Play a bit with the binning to find a suitable number of bins. Define a vector $\\nu$ including the desired bins and then feed it as a parameter of numpy.histogram, by specifying _bins=$\\nu$_ as an argument of the function. You always have at least two options:\n", "> * _Linear binning_: Use linear binning, when the data is not heavy tailed, by using ``np.linspace`` to define bins.\n", "> * _Logarithmic binning_: Use logarithmic binning, by using ``np.logspace`` to define your bins.\n", "> * __Normalization__: To plot [probability densities](https://en.wikipedia.org/wiki/Probability_density_function), you can set the argument _density=True_ of the ``numpy.histogram`` function.\n", "> 3. Have you used _Logarithmic_ or _Linear_ binning in this case? Justify your choice. \n", "> 4. Why do you think I wanted you to use only papers published in 2009? \n", "> 5. Compute the mean and the median value of the number of citations per paper and plot them as vertical lines on top of your histogram. What do you observe? Which value do you think is more meaningful?\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Part 3 : Heavy tailed distributions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When it comes to real-world data, it is very common to observe distributions that are so-called \"Heavy tailed\". In this section, we will explore this concept a bit more in detail. \n", "We will start by watching a video-lecure by me and reading a great paper." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> *Reading:* [Power laws, Pareto distributions and Zipf’s law](https://www.cs.cornell.edu/courses/cs6241/2019sp/readings/Newman-2005-distributions.pdf) Read the introduction and skim through the rest of the article. \n", "> *Video Lecture*: [Heavy tailed distributions](https://www.youtube.com/watch?v=S2OZBTKx8_E)\n" ] }, { "cell_type": "code", "execution_count": 187, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 187, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"S2OZBTKx8_E\",width=800, height=450)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we have discussed in the lecture, one impact of heavy tails is that sample averages can be poor estimators of the underlying mean of the distribution.\n", "To understand this point better, recall [the Law of Large Numbers](https://en.wikipedia.org/wiki/Law_of_large_numbers). Consider a sample of IID variables $ X_1, \\ldots, X_n $ from the same distribution $ F $ with finite expected value $ \\mathbb E |X_i| = \\int x F(dx) = \\mu $.\n", "\n", "According to the law, the mean of the sample $ \\bar X_n := \\frac{1}{n} \\sum_{i=1}^n X_i $ satisfies\n", "\n", "$$\n", "\\bar X_n \\to \\mu \\text{ as } n \\to \\infty \n", "$$\n", "\n", "This basically tell us that if we have a large enough sample, the sample mean will converge to the population mean. \n", "\n", "The condition that $ \\mathbb E | X_i | $ is finite holds in most cases but can fail if the distribution $ F $ is very heavy tailed. Further, even when $ \\mathbb E | X_i | $ is finite, the variance of a heavy tailed distribution can be so large that the sample mean will converge very slowly to the population mean. We will look into this in the following exercise. \n", "\n", "\n", "\n", "\n", ">__Exercise 3: Law of large numbers__. \n", "> \n", "> 1. Sample __N=10,000__ data points from a [Gaussian Distribution](https://en.wikipedia.org/wiki/Normal_distribution) with parameters $\\mu = 0 $ and $\\sigma = 4$, using the [`np.random.standard_normal()`](https://numpy.org/doc/stable/reference/random/generated/numpy.random.standard_normal.html) function. Store your data in a numpy array $\\mathbf{X}$. \n", "> 2. Create a figure. \n", "> - Plot the distribution of the data in $\\mathbf{X}$. \n", "> 3. Compute the cumulative average of $\\mathbf{X}$ (you achieve this by computing $average(\\{\\mathbf{X}[0],..., \\mathbf{X}[i-1]\\})$ for each index $i \\in [1, ..., N+1]$ ). Store the result in an array. \n", "> 4. In a similar way, compute the cumulative standard error of $\\mathbf{X}$. __Note__: the standard error of a sample is defined as $ \\sigma_{M} = \\frac{\\sigma}{\\sqrt(n)} $, where $\\sigma$ is the sample standard deviation and $n$ is the sample size. Store the result in an array. \n", "> 5. Compute the values of the distribution mean and median using the formulas you can find on the [Wikipedia page of the Gaussian Distribution](https://en.wikipedia.org/wiki/Normal_distribution) \n", "> 6. Create a figure. \n", "> - Plot the cumulative average computed in point 3. as a line plot (where the x-axis represent the size of the sample considered, and the y-axis is the average).\n", "> - Add errorbars to each point in the graph with width equal to the standard error of the mean (the one you computed in point 4). \n", "> - Add a horizontal line corresponding to the distribution mean (the one you found in point 5).\n", "> 7. Compute the cumulative median of $\\mathbf{X}$ (you achieve this by computing $median(\\{\\mathbf{X}[0],..., \\mathbf{X}[i-1]\\})$ for each index $i \\in [1, ..., N+1]$). Store the result in an array. \n", "> 8. Create a figure. \n", "> - Plot the cumulative median computed in point 7. as a line plot (where the x-axis represent the size of the sample considered, and the y-axis is the average).\n", "> - Add a horizontal line corresponding to the distribution median (the one you found in point 5).\n", "> - _Optional:_ Add errorbars to your median line graph, with width equal to the standard error of the median. You can compute the standard error of the median [via bootstrapping](https://online.stat.psu.edu/stat500/book/export/html/619). \n", "> 9. Now sample __N = 10,000__ data points from a [Pareto Distribution](https://en.wikipedia.org/wiki/Pareto_distribution) with parameters $x_m=1$ and $\\alpha=0.5$ using the [`np.random.pareto()`](https://numpy.org/doc/stable/reference/random/generated/numpy.random.pareto.html) function, and store it in a numpy array. (_Optional:_ Write yourself the function to sample from a Pareto distribution using the [_Inverse Transform Sampling method_](https://en.wikipedia.org/wiki/Inverse_transform_sampling))\n", "> 10. Repeat points 2 to 8 for the Pareto Distribution sample computed in point 9. \n", "> 11. Now sample __N = 10,000__ data points from a [Lognormal Distribution](https://en.wikipedia.org/wiki/Log-normal_distribution) with parameters $\\mu=0$ and $\\sigma=4$ using the [`np.random.standard_normal()`](https://numpy.org/doc/stable/reference/random/generated/numpy.random.standard_normal.html) function, and store it in a numpy array. \n", "> 12. Repeat points 2 to 8 for the Lognormal Distribution sample computed in point 11. \n", "> 13. Now, consider the array collecting the citations of papers from 2009 you created in Exercise 2, point 1. First, compute the mean and median number of citations for this population. Then, extract a random sample of __N=10,000__ papers. \n", "> 14. Repeat points 2,3,4,6,7 and 8 above for the paper citation sample prepared in point 13. \n", "> 15. Answer the following questions (__Hint__: I suggest you plot the graphs above multiple times for different random samples, to get a better understanding of what is going on): \n", "> - Compare the evolution of the cumulative average for the Gaussian, Pareto and LogNormal distribution. What do you observe? Would you expect these results? Why?\n", "> - Compare the cumulative median vs the cumulative average for the three distributions. What do you observe? Can you draw any conclusions regarding which statistics (the mean or the median) is more usfeul in the different cases? \n", "> - Consider the plots you made using the citation count data in point 14. What do you observe? What are the implications? \n", "> - What do you think are the main take-home message of this exercise? \n", "> \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we have discussed in the lecture, another property of heavy tailed distributed data is that outliers are very frequent. We will explore this better in the following exercise. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">__Exercise 4: The big jump principle__.\n", "> \n", "> 1. Produce a sample of __N=10,000__ data points extracted from a Gaussian distribution with parameters $\\mu = 0 $ and $\\sigma = 4$ (reuse the code from the previous exercise). Compute (i) the maximum and (ii) the sum of the values in the sample. \n", "> 2. Repeat point 1. for __S = 1000__ samples and store the sums and maxima in two arrays. \n", "> 3. Create a scatter plot, showing the sums against the maxima.\n", "> 4. Repeat points 1,2, and 3 for (i) a Pareto distribution with parameters $x_m=1$ and $\\alpha=0.5$; (ii) a log-normal distribution with parameters $\\mu=0$ and $\\sigma=4$; and (iii) data samples of size __N=10,000__ extracted from the array collecting the number of citations of papers (from Exercise 3, point 1). __Hint:__ Remember to use a logarithmic scale when the data span many orders of magnitude. \n", "> 5. Answer the following questions. \n", "> - Compare the scatterplots obtained for the Gaussian, Power-Law and Lognormal distributions. What do you observe? Would you expect that? Why? \n", "> - Focus on the scatter plot obtained for the citation data. What do you observe? What are the implications? " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Your Feedback\n", "I hope you enjoyed today's class. It would be awesome if you could spend a few minutes to share your feedback. \n", "**Go to [DTU Learn](https://learn.inside.dtu.dk/d2l/home/145262) and fill the Survey \"_Week 3 - Feedback\"_.**" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.7" } }, "nbformat": 4, "nbformat_minor": 4 }