{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "----\n", "\n", "# Numerical Data Analysis\n", "\n", "Dr Matteo Degiacomi\n", "Department of Physics, Durham University\n", "\n", "\n", "----\n", "\n", "This workshop is centered on using Python packages to load, manipulate, display and analyse numerical data. You will learn:\n", "\n", "* how to use [Numpy](#numpy) library to **manipulate multi-dimensional numerical data**\n", " + using inbuild functions to generate 1D and 2D arrays and check their properties;\n", " + to load arrays to/from a file;\n", " + to access parts of arrays by slicing 1D 2D arrays;\n", " + to perform mathematical operations on arrays;\n", " + to analyse arrays using inbuilt functions, e.g. finding minimum and maximum values, sorting the array, calculating mean and median] sandard deviation;\n", " + to carry out Boolean operations, such as boolean tests and indexing;\n", "\n", "* how to **plot your data** with [Matplotlib](#matplot)\n", " + choosing styles of lines and colours; \n", " + labels;\n", " + subplots;\n", " + saving plots for use in your report/thesis/paper.\n", "\n", "* how to **analyse numerical data** with [Numpy as Scipy](#analyis):\n", " + fitting noisy data with linear and non-linear models; \n", " + integrating differential equations;\n", " + calculating the derivative of a signal and area under the curve\n", " \n", "\n", "\n", "\n", "*Acknowledgements*: thanks to Dr Erastova, University of Edinburgh (www.erastova.xyz), for having shared teaching materials and ideas.\n", "\n", "---\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Table of Contents:\n", "\n", "### Part 1 - [Arrays with Numpy](#numpy)\n", "\n", "#### Part 1.1 - [Defining Arrays](#define)\n", " * 1.1.1 [Defining an array from a list](#definelist)\n", " * 1.1.2 [Generating an array](#definegenerate)\n", " * 1.1.3 [Loading an array from/to a file](#defineload)\n", "\n", "#### Part 1.2 - [Slicing an Array](#slice)\n", " * 1.2.1 [Slicing in 1D](#slice1d)\n", " * 1.2.4 [Slicing multiple dimensions](#slice2d)\n", "\n", "#### Part 1.3 - [Mathematical operations on Arrays](#math)\n", " * 1.3.1 [Math operations on 2D arrays](#mathop)\n", " * 1.3.2 [Math operations on 2D arrays](#mataxis)\n", " * 1.3.3 [Analysing and processing arrays](#mathanalysis) \n", "\n", "#### Part 1.4 - [Boolean Indexing](#bool)\n", " * 1.4.1 [Boolean Tests](#booltests)\n", " * 1.4.2 [Boolean Indexing](#boolind)\n", " * 1.4.3 [Example application of Boolean logic](#boolex)\n", "\n", "### Part 2 - [Plotting data with Matplotlib](#matplot)\n", " * 2.1 Customise the [line style](#customline)\n", " * 2.1 - [Labeling the plot and the data](#labelplt)\n", " * 2.1 - Creating [sub-plots](#subpl)\n", " * 2.1 - [Saving your plots](#saveplt)\n", " \n", "\n", "### Part 3 - [Data Analysis with Numpy and Scipy](#analysis)\n", "\n", "#### Part 3.1 - [fitting data with models](#fitmodels)\n", " * 3.1.1 - [polynomial fitting](#polyfit)\n", " * 3.1.2 - [non-linear curve fit](#curvefit)\n", "\n", "#### Part 3.2 - [integrating differential equations](#odeint)\n", "\n", "#### Part 3.3 - [derivative and integration](#diffandint)\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Part 1 - Arrays with Numpy \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "NumPy, which stands for Numerical Python, is a library consisting of multidimensional array objects and a collection of routines for processing those arrays.
Using NumPy, mathematical and logical operations on arrays can be performed. As it works on arrays, it is compatible with pandas. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Like above, we import the numpy library as an alias which is standard for python." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When we use a numpy function it is always prefaced with `np.`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "## 1.1 - Defining Arrays \n", "\n", "Numpy arrays are homogeneous in nature, i.e. they comprise **one data type** (integer, float, double, etc.) unlike lists that can be a mix of data types." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.1.1 - Creating an array from a list \n", "\n", "Let's create an array of integers (single numbers like 1, 2, 3, 4, 5):" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 2 3 4 5] \n" ] } ], "source": [ "#Creating a 1D numpy array from a list\n", "a = [1, 2, 3, 4, 5]\n", "my_array = np.array(a)\n", "\n", "#confirm we have created a numpy array\n", "print(my_array, type(my_array))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you have multiple dimensions, array can be defined from a \"list of lists\". For a 2D array for instance, the larger list represents lines, the inner lists represent all the elements of a single line (its columns)." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0 1 2 3]\n", " [10 11 12 13]\n", " [20 21 22 23]]\n" ] } ], "source": [ "#Creating a 2D numpy array (list of lists)\n", "aa = [[0, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23]]\n", "my_array2 = np.array(aa)\n", "print(my_array2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Arrays have specific **properties**. Let's examine those of our 2D array, as shown in the image below. \n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dimensions: 2\n", "shape: (3, 4)\n", "size: 12\n", "dtype: int32\n" ] } ], "source": [ "# get array properties\n", "print(\"dimensions:\", my_array2.ndim)\n", "print(\"shape:\", my_array2.shape)\n", "print(\"size:\", my_array2.size)\n", "print(\"dtype:\", my_array2.dtype)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.1.2 - Generating an array \n", "\n", "Besides defining array by hand, you can also use **methods** build in numpy to generate them." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the methods *zeros* and *ones* you can initialise arrays having a desired shape, filled with 0s or 1s, respectively. This is useful if you are planning to fill an array with specific values at specific positions in a second step." ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "my array of zeros [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] is of a type float64\n" ] } ], "source": [ "#creating an 1D array containing 10 zeros\n", "z = np.zeros(10)\n", "print(\"my array of zeros\", z, \"is of a type\", z.dtype)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To create an array that has a given sequence, instead of having to type:\n", "\n", "```python\n", "sequence = np.array( [ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20] )\n", "```\n", "\n", "you can use functions such as:\n", "```python\n", "np.arange(start, finish, stepsize)\n", "```\n", "\n", "\n", "
\n", " TASK 1.1.2b : Try to go from 0 to 20 in steps of 2, using np.arrange\n", "\n", "
\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# your solution here!\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", "\n", " \n", "```python\n", "np.arange(0,21,2) \n", "```\n", " \n", "\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " Q: What number did you have to go stop until to get 20 as a last number? Why?\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "
\n", " Answer: \n", "\n", " Since python counts from 0, if we declare np.arange(0,20,2) the count will stop at 18\n", " \n", "
\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "
\n", " TASK 1.1.2b : try to generate the same array using np.linspace(start, finish, no. of steps) \n", " How is it different?\n", "
\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# your solution here!\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", "\n", " \n", "```python\n", "np.linspace(0, 20, 11)\n", "```\n", " \n", " \n", "\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "[back to top](#teabags)\n", "\n", "\n", "---\n", "\n", "### 1.1.3 - Loading an array from/to a file \n", "\n", "We can also load 1D or 2D arrays from a plain text file. \n" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(6, 8)\n" ] } ], "source": [ "#read the file in\n", "data = np.loadtxt('data/slice_me.txt')\n", "print(data.shape) #shape of the data\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lots of options available for loading the file.\n", "\n", "For example, if your file has a header you would like to skip (e.g. the first 5 rows of a file and also to ignore lines commented out with `#`, you can use:\n", ">```python\n", "numpy.loadtxt('array.txt', comments='#', skiprows=5)\n", "```\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "To save the array into the file, use `savetxt` function enables saving arrays in a file:\n", ">```python\n", " numpy.savetxt('array.txt', data)\n", "```" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#write an array out\n", "np.savetxt('slice_me_copy.txt', data) #you saved a copy of an array\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[back to top](#teabags)\n", "\n", "\n", "---\n", "## 1.2 - Slicing an array \n", "\n", "*slicing* means cutting out from the array only data we are interested about. \n", "\n", "### 1.2.1. - Slicing a 1D array \n", "\n", "We can select only regions of a 1-dimensional array as follows." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If no information is provided about start, end or step size, numpy uses default values, e.g.:\n", " * `a[:2]` means `a[0:2]`\n", " * `a[1:]` means `a[0:len(a)]`\n", " * `a[::4]` means `a[0:len(a):4]`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " TASK 1.2 : generate a 1D array of 20 elements and fill it with random numbers, using package np.random.random then pick every 3rd value within first 10.\n", " \n", "
\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# your solution here!\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", "\n", " \n", "```python\n", "random = np.random.random(20)\n", "picked = random[0:10:3]\n", " ```\n", " \n", " \n", "\n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### 1.2.2. - Slicing a 2D array " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Slicing a 2D array is similar to a 1D array. The regions of interest for every axis are separated by commas.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Additional dimensions are accessed in the same way. For a 3D array `a`, the first entry in the array will be at position `a[0, 0, 0]`, for a 4D array it will be at `a[0, 0, 0, 0]`, and so on." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, let's see what is within the file we have loaded. In the same way as above we can do so by *slicing* it." ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "column one [ 0. 10. 20. 30. 40. 50.]\n", "row four [ 30. 31. 32. 33. 34. 35. 36. 37.]\n", "selected area [[ 3. 4. 5. 6.]\n", " [ 13. 14. 15. 16.]]\n", "samples [[ 13. 16.]\n", " [ 33. 36.]]\n" ] } ], "source": [ "print('column one', data[:, 0]) #select first column\n", "print('row four', data[3, :]) #select 4th line\n", "print('selected area', data[0:2, 3:7]) #select area\n", "print('samples', data[1:5:2, 3:10:3]) #select samples in a given space\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[back to top](#teabags)\n", "\n", "\n", "---\n", "\n", "## 1.3 - Mathematical operations with arrays \n", "\n", "\n", "### 1.3.1 - Mathematical operations \n", "\n", "All mathematical operations between arrays act element by element. Operations with scalars (= a single number) act on every element of the array.\n", "\n", "You can think of the array as a *vector*, and perform math operations in a compact way (no need for loops or complex notations here):" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[back to top](#teabags)\n", "\n", "\n", "---\n", "\n", "## 1.2 - Mathematical operations on arrays \n", "\n" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 2 3 4 5]\n", "[4 5 6 7 8]\n" ] } ], "source": [ "print(my_array)\n", "print(my_array+3)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also do mathematical operations between two arrays. Note they have to be same dimensions" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "multiplication a x b = [0 2 6]\n", "substraction a - b = [1 1 1]\n", "addition a + b = [1 3 5]\n" ] } ], "source": [ "a = np.array([1, 2, 3])\n", "b = np.array([0, 1, 2])\n", "print('multiplication a x b = ', a*b)\n", "print('substraction a - b = ', a-b)\n", "print('addition a + b = ', a+b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " TASK 1.3.1 : calculate the square of each value in my_array\n", "
\n", "\n", "
\n", " Hint : ** is the _to the power of_ operator, i.e. $x^2$ will be x**2 in the code\n", "
\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# your solution here!\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", " \n", "```python\n", "my_array**2\n", "\n", "```\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3.2. Axis of operations \n", "\n", "All mathematical operations between arrays act element by element, we can also chose an axis of operation, i.e. a direction in which to carry out a specific operation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " TASK 1.3.2a : Calculate sum of all the elements in the file **data/slice_me.txt**, as well as vertical and horizontal sums\n", "
\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# your solution here!\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", "\n", " \n", "```python\n", "\n", "\n", "a = np.loadtxt('slice_me.txt')\n", "\n", "print(np.sum(a))\n", "print(\"vertical sum\", np.sum(a, axis=0))\n", "print(\"horizontal sum\", np.sum(a, axis=1))\n", "\n", "\n", "\n", "```\n", " \n", "\n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " TASK 1.3.2b : In the folder you will find the file data/ms.txt. It contains 2 columns of numbers - m/z and intensity. Read the file, extract one every 10th line (i.e. subsample), save only the intensities column into a separate file.\n", "
\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# your solution here!\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", "\n", " \n", "```python\n", "\n", "# read file\n", "data = np.loadtxt('ms.txt')\n", "\n", "#extract every 10th line for the second column only\n", "subdata = data [::10, 1] \n", "\n", "#check the shapes of the data sets to check you subsampled correctly\n", "print (data.shape)\n", "print (subdata.shape)\n", "\n", "#save the file\n", "np.savetxt('sub_intensities.txt', subdata)\n", "\n", "\n", "```\n", " \n", "\n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " Advanced TASK : can you do the same without numpy?\n", "
\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# your solution here!\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", "\n", " \n", "```python\n", "#read in a file \n", "fin = open(\"data/ms.txt\", \"r\")\n", "\n", "#create a file to write into\n", "fout = open(\"sub_intensities2.txt\", \"w\")\n", "\n", "#start counter \n", "cnt=0 \n", "\n", "#for each line in the file\n", "for line in fin:\n", " \n", " #if the line number is divisable by 10\n", " if cnt %10 ==0:\n", " \n", " #split into columns, assigning the second one to intensity\n", " columns = line.split()\n", " intensity = columns[1]\n", " \n", " #write into the file\n", " fout.write(intensity)\n", " \n", " #return to next line \n", " fout.write(\"\\n\")\n", " \n", " #increment the count\n", " cnt += 1\n", " \n", "fin.close()\n", "fout.close()\n", "\n", "\n", "```\n", " \n", "\n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[back to top](#teabags)\n", "\n", "\n", "---\n", "\n", "### 1.3.3. - Analysing and processing arrays \n", "\n", "You can now benefit from a **collection of methods** within numpy to process and analyse your data\n", "\n", " - `numpy.min(a)` find min value in the array\n", " - `numpy.argmin(a)` find position (AKA index) of the min value in the array\n", " - `numpy.max(a)` find max value in the array\n", " - `numpy.argmax(a)` find position (AKA index) of the max value in the array\n", " - `numpy.unique(a)` selects a subset of unique elements\n", " - `numpy.sort(a)` sorts the array max to min\n", " - `numpy.mean(a)` and `numpy.std(a)` compute mean and standard deviation of array values\n", " - `numpy.median(a)` \n", " - `numpy.sum(a)` sum the elements of an array\n", " \n", " \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Let's try these on the *data/ms.txt* data file we have previously loaded." ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "min 0.0\n", "index of min 1\n", "unique elements [ 0.00000000e+00 1.00000000e+00 2.00000000e+00 ..., 1.27830000e+04\n", " 1.27840000e+04 1.27850000e+04]\n", "mean 3757.48236359\n", "median 1990.5\n", "std 4201.62508877\n", "sum 564802204.0\n" ] } ], "source": [ "#example of using methods for analysing MS data\n", "data = np.loadtxt('data/ms.txt') # just in case, let's reload it again...\n", "\n", "print('min', np.min(data)) # find smallest value\n", "print('index of min', np.argmin(data)) # find index of the minimum\n", "print('unique elements', np.unique(data)) # selects unique elements\n", "print('mean', np.mean(data)) # compute mean of array values \n", "print('median', np.median(data)) # compute median of array values \n", "print('std', np.std(data)) # compute standard deviation of array values \n", "print('sum', np.sum(data)) # sum the elements of an array\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " TASK 1.3.3 : Load the data file **data/ms.txt** provided and find the highest intensity peak, return its m/z value.\n", "
\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# your solution here!\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", "\n", " \n", "```python\n", "data = np.loadtxt(\"data/ms.txt\")\n", "maxval = np.max(data[:, 1])\n", "idx = np.argmax(data[:,1])\n", "mz=data[idx,0]\n", "\n", "print (\"peak\", maxval, \"at m/z\", mz)\n", "\n", "```\n", " \n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "[back to top](#teabags)\n", "\n", "\n", "---\n", "\n", "## Part 1.4 - Boolean Indexing \n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "**George Boole** was a 19th century self-taught English mathematician, philosopher and logician. He is known for Boolean algebra, that is based on variables being **True** or **False**, denoted as **1** and **0** respectively. \n", "\n", "The operations in Boolean algebra are **and** denoted as $\\wedge$, **or** denoted as $\\vee$ , and **not** denoted as $\\neg$.\n", "\n", "
Venn diagram
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "---\n", "\n", "
\n", "Often there are a few ways to do the same thing. \n", "Here we show two types of expressions Bitwise and NumPy logical. At the end both do the same. \n", "\n", "```python\n", "a | b ~= np.logical_or (A, B)\n", "a & b ~= np.logical_and (A, B)\n", "a ^ b ~= np.logical_xor (A, B)\n", "a ~ b ~= np.logical_not (A, B)\n", "```\n", "
\n", "\n", "---\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[back to top](#teabags)\n", "\n", "\n", "\n", "### 1.4.1 - Boolean Tests \n", "\n", "Boolean tests on an array produce an array of booleans:\n", "\n", "\n", "\n", "\n", "The function `numpy.any(test)` tests for existence of at least a **True** value in a boolean array\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#declare an array\n", "a = np.array([32, 2, 65, 29, 7, 14, 57, 81, 27, 0, 56])\n", "\n", "#declare tests\n", "c = a>15\n", "d = a<0\n", "\n", "print (\"condition c = a>15 \", np.any(c))\n", "print (\"condition d = a<0 \", np.any(d))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While the functions `numpy.logical_or(test1, test2)` and `numpy.logical_and(test1, test2)` apply element-wise boolean operations between two tests.\n", "\n", "\n", "Can a value satisfy both conditon `c` **and** condition `d`? " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "#Boolean indexing\n", "print(np.logical_and(c, d))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "indeed, but it can be either condition `c` **or** `d`..." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [ "#Boolean indexing\n", "print(np.logical_or(c, d))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.4.2 - Boolean Indexing \n", "We can also use an array of booleans to index another array, i.e. only elements coresponding to **True** are extracted from the indexed array.\n", "\n", "" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#print the values that satisfy either c or d\n", "a_slice = a[np.logical_or(c, d)]\n", "print(a_slice)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " TASK 1.4.2 : Load the file containing a mass spectrum (data/ms.txt), find m/z values in the region between m/z 6400 and 6600. \n", "
\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# your solution here!\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", "\n", " \n", "```python\n", "\n", "# your solution here!\n", "\n", "data = np.loadtxt(\"data/ms.txt\")\n", "\n", "#test and slicing \n", "test = np.logical_and(data[:,0]>6400, data[:,0]<6600)\n", "sliced_array = data[test, :]\n", "\n", "maxval = np.max(sliced_array[:,1])\n", "idx = np.argmax(sliced_array[:,1])\n", "mz=sliced_array[idx,0]\n", "\n", "print (\"peak\", maxval, \"at m/z\", mz)\n", "\n", "\n", "```\n", " \n", "\n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "\n", "[back to top](#teabags)\n", "\n", "-----\n", "\n", "# Part 2 - Plotting data with Matplotlib \n", "\n", "[matplotlib](http://matplotlib.org) is a Python package helping us to plot neatly the data we are analysing.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's generate our first plot! As always, we **load the module** via `import` and call it `plt`. Then, to create a plot, we use command `plt.plot()` \n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#importing matplotlib\n", "import matplotlib.pyplot as plt\n", "\n", "# some values\n", "x = [1, 2, 3, 4]\n", "y = [1, 4, 9, 16]\n", "\n", "#plot x against y\n", "plt.plot(x, y)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "[back to top](#teabags)\n", "\n", "---\n", "\n", "### 2.1.1 - Customise the line style \n", "\n", "Now we can **customise the line style** with additional parameters, for example `plt.plot(x, y, 'o')` will change the line to set of points, as the third optional parameter `o` defines line style. It can also be `x` `:` `-` `--` ...\n", "\n", "\n", "We can (and should) always [Google to learn more and see examples:](https://matplotlib.org/3.3.2/api/_as_gen/matplotlib.pyplot.plot.html)\n", "\n", "\n", " \n", "\n", "scrolling down the page you will see examples, then information on the input `Parameters`, \n", "where `x, y` is our data that is array-like or scalar, while other parameters are optional. \n", "\n", "`**kwargs` set the properties of the plot and it is a big list. Ones I find using often are: \n", "-`color` defines the line’s colour and accepts several kinds of parameters:\n", " * `r` `k` `b` `g` `y` `m` `c` for colors defined by one letter\n", " * RGB codes (hexadecimal code) in a format `#RRGGBB`\n", " * named colours - [Click here for the list](http://matplotlib.org/examples/color/named_colors.html)\n", " * it can be can be abreviated to `c = 'lightsalmon'` meaning the colour is a chosen named colour.\n", " \n", " \n", " \n", "*When deciding what colours to use, remember that colours that seem clear to you may appear indistinguishable to others, or when printed. Matplotlib offers a wide selection of color palettes, including perceptually uniform sequential colour palettes, like `viridis` (now default). These are colour blind friendly and printer-safe. Find out [more here](https://matplotlib.org/3.1.1/tutorials/colors/colormaps.html#colorblindness).*\n", "\n", "\n", "- `linewidth` changes line thickness, e.g. `linewidth='2.0'` changes it to 2 pixels\n", "- `label` name of the data used on the line\n", "- `marker` marker for the points\n", "- `markersize` marker size in pixel\n", "- `alpha` level of transparency from 0.0 to 1.0 o the marker (will not work for lines)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "[back to top](#teabags)\n", "\n", "---\n", "\n", "### 2.1.2 - Labeling the plot and the data \n", "\n", "It is always a good practice to **label the plots**. \n", "\n", "Use the following commands to add the labels to your plot:\n", " - `xlabel()`\n", " - `ylabel()` \n", " - `title()`\n", "\n", "
\n", " Hint : To neatly write sub- and superscripts on th plots, like $x_2$ or $x^2$ in the example above, use the $LaTeX$ notationin the code - $x_2$ and $x^2$ respectively. For more examples see here.\n", "\n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " TASK 2.1 : generate a 1D array, x, and plot $x^2$ using non-default line types and colours, label the plot\n", "
\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#your plot here\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", " \n", "```python\n", "\n", "#generating an array\n", "x = np.linspace(-10, 10, 21) \n", "y = x**2\n", "\n", "#plotting with X in a named colour, connected by a dotted line of a declared width\n", "plt.plot(x, y, 'x:', color='tomato', linewidth='1.5') \n", "\n", "#adding labens\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "plt.title('my plot $y=x^2$')\n", "\n", "plt.show()\n", "\n", "```\n", "\n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Often you will find yourself needing to plot a few data sets on one graph. In this situation it is essential to **label your data sets**.\n", "\n", "\n", "For example, let's generate some arrays and plot them in variouss colours and styles:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#generate array x\n", "x = np.arange(10, 17, 0.5) \n", "\n", "#generate array y of equivalent shape \n", "y = np.linspace(-11, 28, x.shape[0])\n", "\n", "#let's check what we have made\n", "print(x.shape, x)\n", "print(y.shape, y)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#let's do some math on these arrays\n", "a = x + 3\n", "b = x ** 2\n", "c = x * y\n", "d = np.sqrt((x*50)+y**4)\n", "\n", "# to print numbers we got out, uncomment lines below\n", "#print (a)\n", "#print (b)\n", "#print (c)\n", "#print (d)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#plot these \n", "plt.plot(x, a, '.--', c='k', label='$x+3$')\n", "plt.plot(x, b, 'x:', c='coral', label='$x^2$')\n", "plt.plot(x, d, ':', c= '#7E317B', linewidth=3, label='$\\sqrt{50x+y^4}$')\n", "\n", "#set one label to use a few times\n", "l='$xy$'\n", "plt.plot(x, c, '-', c='teal', label=l)\n", "plt.plot(x, c, marker='o', alpha=0.2, markersize=10, label=l)\n", "\n", "#set plot labels, show title and leend\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "plt.title('functions')\n", "plt.legend(loc=\"upper left\")\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[back to top](#teabags)\n", "\n", "---\n", "\n", "### 2.1.3 - Creating sub-plots \n", "\n", "The above plot is quite overwhelming, instead, we can create a few **sub-plots**\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1.4 - Saving your plots \n", "\n", "Also, don't forget to **save your beautiful plot** for latter use in lab report, paper, thesis.\n", "\n", "this cab be done with `plt.savefig('name.extention')` \n", "\n", "while you ned to name your plot and decide on the format there may be other parameters you want to use, e.g.\n", "```>python\n", "plt.savefig('myfigure.png', dpi=300)\n", "```\n", "\n", "where `dpi` is dots per inch, i.e. resolution of your figure. Normally `300` will get you a good quality figure for a paper. There are other paranmeters you may want to use, like transparency, metadata, etc. read [documentation here](https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.savefig.html).\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# create a figure\n", "plt.figure()\n", "\n", "#create subplots\n", "plt.subplot(2, 1, 1) #2 plots per line, 1 per column, plot 1 \n", "plt.plot(x, a, '.--', c='k')\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "plt.title('function $a=x+3$')\n", "\n", "plt.subplot(2, 1, 2) #2 plots per line, 1 per column, plot 2\n", "plt.plot(x, b, 'x:', c='coral')\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "plt.title('function $b=x^2$')\n", "\n", "#adjust the spacing between subplots, so they do not overlap\n", "plt.subplots_adjust(hspace=1.)\n", "\n", "#create another figure\n", "palatinate='#7E317B'\n", "plt.figure(2)\n", "plt.plot(x, c, '.-', c='teal', label='$xy$' )\n", "plt.plot(x, d, ':', c= palatinate, linewidth='3', label='$\\sqrt{50x+y^4}$')\n", "plt.legend()\n", "\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "plt.title('functions')\n", "\n", "#save image as .png (or .eps or .pdf or many other)\n", "plt.savefig(\"myfigure.png\") \n", "\n", "#plt.show should be called just ONCE\n", "plt.show() \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are many styles for plots that **matplotlib** can offer.\n", "\n", "Today we just covered the very basics to get you started. Let's apply what we have learned for some data analysis!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " TASK 2.2 : load the mass spectrum data **data/ms.txt** and plot it. Add axes labels, a legend, and make sure it looks nice! Advanced: can you find the highest peak using numpy?\n", "
" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# your solution here!\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Fun fact*: The mass spectrum you are plotting looks more complicated than you expected? This is because it is the measure of a polydisperse protein, studied by native mass spectrometry." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "[back to top](#teabags)\n", "\n", "---\n", "\n", "# Part 3 - Data Analysis with Numpy and Scipy \n", "\n", "\n", "## 3.1. Fitting Models to Data " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " \n", "Linear least squares is a convex problem. As long as the number of parameters in the model to be fitted is greater than the number of datapoints (i.e. the problem is _overdetermined_) an analytical solution exists. A problem is linear only if model's parameters are related to eachother via sums.\n", "\n", "A typical example of linear least squares is that of polynomials fitting. The functions [polyfit](https://numpy.org/doc/stable/reference/generated/numpy.polyfit.html) and [polyval](https://numpy.org/doc/stable/reference/generated/numpy.polyval.html), provided within numpy, are dedicated to polynomial fitting." ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n5plnjhpK5s2bR9u2bdUyIiIVt2cPDBgAixfDyy+7peOLK/z5X12/gkvTJ1JZsrJgyZLyH2/QAO69\n9+jXmDnTBZPSunVzNx8yxjB48OCi+7t27WLx4sU8/vjj5Obmlji3Z8+ejB07lh9++IEmTZpQv359\nvvjiC7755htat259TK83b948jDHcd999JY7ff//9zJgx44TfR/FAsmfPHvLz8+natSsLFiwgLy+P\nyHLCXP369dm0aRMrV66kffv2J/z6IlLFbdkCvXvD+vXlr0FyLD//qyiFksoSFwfR0eU/fiwJ+brr\nym8pqQTFx2188803WGsZNWoUycnJZc41xrBt2zaaNGnCY489Rv/+/WnTpg1t27bl8ssv55ZbbuHc\nc88t97U2bNiAx+PhjFJT4qKP9pkdgw8//JDRo0fz8ccflxisa4whNze33FAyYsQIFi5cSMeOHWnd\nujU9e/bkxhtv5KKLLqpQPSJShaxZ4wKJtfDBB3CUn4FyZAollSUysuJdLL/VveNjtWrVKvre6/UC\n8OCDD9KrV68jnl/YKtKlSxfWrVvHnDlzWLBgAS+88ALjx49nypQpDBo0qMJ1lbemyOHDh0vc//bb\nb7nsssuIiYlh/PjxNG/enJNOOom33nqLCRMmFL2nIznrrLP46quvmDt3Lu+88w6zZ89m0qRJjB49\nmtGjR1f4PYhImFu4EK6+Glq0cNN/mzULdEUhSaFEjqhVq1YAREREHNPKp/Xr1+e2227jtttuY9++\nfXTp0oUxY8aUG0pOP/10vF4v69at48wzzyw6vnbt2jLn/u53v2P37t1ljn/33Xcl7mdkZHDw4EEy\nMjJo2rRp0fHis4COplatWgwYMIABAwZw6NAhrrrqKlJSUnj00Uc1nVlEyjdtmpth06OH63avVy/Q\nFYUsTQmWI2rQoAHdunVjypQp/Pjjj2Ue37FjR9H3O3fuLPFY7dq1ad26NQcOHCj3+ldccQXW2qJB\nroUmTJhQpmXkjDPOIDc3lzVr1hQd++GHH3jzzTdLnFetWjWAEi0iubm5vPjii+XWUd57qF69OjEx\nMVhryc/P/83ni0gVVDjld+BAd8vIUCCpILWUSLlSU1Pp0qUL5557LnfddRetWrVi69atZGZmsnnz\nZlatWgXA2WefTbdu3YiLi+Pkk09mxYoV/Pe//yUpKanca5933nkkJCQwadIkdu/ezUUXXcTChQtZ\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def fct(x, a, b, c):\n", " return a*x**2 + b*x + c\n", "\n", "# generate a noisy signal\n", "coeffs= [1, 1, 1]\n", "x = np.linspace(0, 10, 10)\n", "y_clean = fct(x, *coeffs)\n", "noise = np.random.normal(0, 20, len(x))\n", "y = y_clean + noise\n", "\n", "# polynomial fit of noisy signal\n", "poly = np.poly1d(coeffs)\n", "x2 = np.linspace(0, 10, 100)\n", "y2 = poly(x2)\n", "\n", "# plot noisy signal and polynomial fit\n", "fig = plt.figure()\n", "plt.plot(x, y, 'ko', label=\"data\")\n", "plt.plot(x2, y2, 'r-', label=\"model\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "\n", "#if you want to display lines representing residuals (toggle replacing \"True\" with \"False\")\n", "if True:\n", " y_predict=poly(x)\n", " for i, y_tmp in enumerate(y_predict):\n", " if i == 0:\n", " plt.plot([x[i], x[i]], [y[i], y_tmp], 'r--', alpha=0.5, label=\"residuals\")\n", " else: \n", " plt.plot([x[i], x[i]], [y[i], y_tmp], 'r--', alpha=0.5)\n", "\n", " \n", "plt.legend(frameon=False, loc=\"upper left\")\n", "plt.savefig(\"simple_fit.png\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How do we know a fit is good? We can study the **residuals**, i.e. the difference between values in input data, and what the model predicts. Residuals should be Gaussian distributed, and feature no distinguishable trends. Let's see an example with some more complicated data." ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nE/8f4XD+Dp7ZatcAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# polynomial function\n", "def fct(x, a, b, c, d):\n", " return d*x**3 + c*x**2 - b*x + a\n", "\n", "# create some noisy data\n", "x = np.linspace(-10, 10, 101)\n", "y_clean = fct(x, 1, 2, 1, 0.5)\n", "noise = np.random.normal(0, 100, len(x))\n", "y = y_clean + noise\n", "\n", "# calculate its third-order polynomial fit\n", "coef, pcov = np.polyfit(x, y, 3, cov=True)\n", "poly = np.poly1d(coef)\n", "\n", "# residuals (difference between data and model)\n", "residuals = y-poly(x)\n", "\n", "# plot noisy data with fitted model\n", "fig = plt.figure()\n", "x2 = np.linspace(-14, 14, 501)\n", "plt.plot(x, y, 'ko')\n", "plt.plot(x2, poly(x2), 'r-')\n", "plt.xlim([x[0], x[-1]])\n", "plt.ylim([-600, 600])\n", "plt.savefig(\"data_noise_fit.png\")\n", "\n", "#plot the model's residuals (left plot) and their histogram (right plot)\n", "fig = plt.figure(dpi=80, figsize=(8, 4))\n", "ax = fig.add_subplot(1, 2, 1)\n", "ax.plot(x, residuals, 'o', color='k') # residuals\n", "ax.hlines(0, -10, 10)\n", "ax.set_ylabel(\"residual\")\n", "ax.set_xlabel(\"x\")\n", "\n", "ax = fig.add_subplot(1, 2, 2)\n", "ax.hist(residuals, orientation=\"horizontal\", color = \"skyblue\", ec=\"black\") # residuals\n", "ax.set_yticks([])\n", "ax.set_yticklabels([])\n", "fig.subplots_adjust(wspace=0, hspace=0)\n", "ax.set_xlabel(\"count (#)\")\n", "\n", "plt.show()\n", "plt.savefig(\"data_residuals_all.png\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# SOME EXTRA INFORMATION\n", "# you can calculate the properties of your fit\n", "# e.g. analysing its covariance matrix and calculating its coefficient of determination\n", "# To see those analysis, substitute \"False\" with \"True\" below\"\n", "\n", "if False:\n", " print(\"polynome coefficients: \", coef)\n", " pcov[pcov < 0.000000001]= 0\n", " print(\"covariance matrix: \", pcov)\n", " \n", " # Calculate coefficient of determination (R2)\n", " ybar = np.sum(y)/len(y)\n", " ssreg = np.sum((poly(x)- ybar)**2)\n", " sstot = np.sum((y - ybar)**2)\n", " det = ssreg / sstot\n", " print(\"coeff. of determination: \", det)\n", "\n", " # an alternative way of calculating R2:\n", " ssres = np.sum((y - poly(x))**2)\n", " sstot = np.sum((y - ybar)**2)\n", " det = 1- ssres / sstot\n", " print(\"coeff. of determination (method 2): \", det)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What happens if we fit the data with higher order polynomials? We may overfit the data! There are many ways of determing whether a model is overfitting, and thus if we should use a simpler model instead. For instance, for polynomial fits one can observe:\n", "* the sum of squared residuals for incrementally higher order polynomers. A good model is usually located right after an inflection point.\n", "* the highest polynomial parameter. The best model is usually the one with the smallest parameters." ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nL/yqnwgbAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# fit polynomials of increasingly high order (from 1 to 20)\n", "p = []\n", "order = range(1, 21)\n", "res = []\n", "maxv = []\n", "for i in order:\n", " vals, resid, rank, sv, rcond = np.polyfit(x, y, i, full=True)\n", " poly = np.poly1d(vals)\n", " p.append(poly)\n", " res.append(resid) \n", " maxv.append(np.max(np.abs(vals)))\n", "\n", "# plot noisy data with polynomials of increasing order (a subset of all fits previously generated)\n", "fig = plt.figure()\n", "plt.plot(x, y, 'ko')\n", "\n", "x2 = np.linspace(-14, 14, 501)\n", "toplot = [0, 1, 2, 5, 8, 18]\n", "for i in toplot:\n", " plt.plot(x2, p[i](x2), '-', label=\"%s\"%order[i])\n", " \n", "plt.xlim([x2[0], x2[-1]])\n", "plt.ylim([-1000, 1000])\n", "plt.legend(loc=\"lower center\", ncol=2, frameon=False)\n", "plt.savefig(\"data_lots_of_poly.png\")\n", "\n", "#plot sum of squared residuals for every fit\n", "fig = plt.figure()\n", "plt.plot(order, res, 'ko')\n", "plt.xlabel(\"polynome order\")\n", "plt.ylabel(\"sum of squared residuals\")\n", "plt.xlim([0.5, 20.5])\n", "plt.savefig(\"data_residuals.png\")\n", "\n", "# plot highest parameter value for every polynomial fit\n", "best = np.argmin(maxv)\n", "fig = plt.figure()\n", "plt.plot(order, maxv, 'ko')\n", "plt.plot([order[best]], [maxv[best]], 'ro')\n", "plt.xlabel(\"polynome order\")\n", "plt.ylabel(\"max polynome coeff.\")\n", "plt.xlim([0.5, 20.5])\n", "\n", "plt.show()\n", "plt.savefig(\"data_coefficients.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A sufficiently high polynomial can even fit pure noise!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " TASK 3.1 : What happens if you fit data with a polynome of an order equal to the number of datapoints? Does the result make sense? Plot your fit and make it look nice using matplotlib!\n", "
" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# this is some random data\n", "N = 20 # number of datapoints\n", "x = np.linspace(-10, 10, N)\n", "y = np.random.normal(0, 10, len(x))\n", "\n", "# here, write your code to fit a polynomial of the same order of data (N)\n", "# ...\n", "\n", "# here, plot the noisy data and the fitted model\n", "# ...\n", "\n", "# ADVANCED: calculate and plot residuals\n", "# ...\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", "```python\n", "x = np.linspace(-10, 10, 20)\n", "y = np.random.normal(0, 10, len(x))\n", "\n", "vals_20, resid_20, _, _, _ = np.polyfit(x, y, 20, full=True)\n", "poly_20 = np.poly1d(vals_20)\n", "\n", "plt.plot(x, y, 'ko')\n", "\n", "x2 = np.linspace(-12, 12, 501)\n", "plt.plot(x2, poly_20(x2), 'r-')\n", " \n", "plt.xlim([x2[0], x2[-1]])\n", "plt.ylim([-30, 30])\n", "\n", "plt.show()\n", "plt.savefig(\"fit_random_noise.png\")\n", "```\n", "\n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " \n", "To fit non-linear models, we cannot use linear least squares.\n", "We will then use a general curve fitting algorithm provided by another Python package: **scipy**.\n", "\n", "The [curve_fit](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html) function available in scipy’s optimize module provides methods for fitting models to data (default is Levenberg-Marquardt method).\n", "\n", "In the example below, we generate a noisy Gaussian signal, and fit with a Gaussian model. We then observe its residuals to make sure the fit is ok." ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nBTNrB54Gznb3O0ZYZw6w+swzz2TSpElFjy1YsIAFC8Jv4qJfNCISBp1LpJ6WL1/O8uXLi5b19/ez\natUqaJS5fszsYODgMqs9A3yUGi79jPCaLwKL3P1fRnhcc/2ISGpo3h5JkrAv/Ywfe5HGxt03A5vL\nrWdmvcABZnayu98/uPhswIB7Kn09MzuMfDB6vobiiogkykjt3ZYtW8btt9+uS8mSeqlpo+LujwM3\nAf9iZqeY2duAbwHL3X3T0Hpm9riZvWfw/xPN7KtmdpqZzTSzs4GfAWsHtyUikmoa5VoaXWqCyqA/\nBx4HbgV+AawCPhFY5yhgqGHJLuAE4OfAE8C/AP8DnOnuo4+4JiKSAhrlWhpd7Jd+quHurwIXl1ln\nXMH/twPvirpcIiJxqGaUazWwlbRKW42KiIgM0ijX0gwUVEREUkyjXEujU1AREUkxzdsjjU5BRUQk\nxTTKtTS6VDWmFRGR4YYmtuzp6VHDWWk4qlEREWkgCinSaBRUREREJLEUVERERCSxFFREREQksRRU\nREREJLEUVERERCSxFFREREQksRRUREREJLEUVERERCSxFFREREQksRRUREREJLEUVERERCSxFFRE\nREQksRRUREREJLEUVERERCSxFFREREQksRRUREREJLEUVERERCSxFFREREQksRRUREREJLEUVERE\nRCSxFFREREQksRRUREREJLEUVERERCSxFFREREQksRRUREREJLEUVERERCSxFFREREQksVIVVMzs\nSjP7bzPbamYvV/G8vzezP5jZ62Z2i5m9OcpySjItX7487iJIiPR5NhZ9njKSVAUVoAX4D+CfK32C\nmX0O6AL+CjgV2ArcZGZ7RVJCSSydCBuLPs/Gos9TRjI+7gJUw92/BGBml1bxtE8DX3b3Xww+9xLg\nBeC95EOPiIiIJFTaalSqYmbtwBTgtqFl7r4FuAfojKtcIiIiUpmGDirkQ4qTr0Ep9MLgYyIiIpJg\nsV/6MbOrgM+NsooDHe6+tk5FApgA0NfXV8eXlKj19/ezZs2auIshIdHn2Vj0eTaOgu/OCWFsz9w9\njO3UXgCzg4GDy6z2jLvvLHjOpcA17n5QmW23A08DJ7n7QwXL7wTud/eFIzzvz4F/q+wvEBERkRIu\ncvcfjXUjsdeouPtmYHNE215nZpuAs4GHAMxsf+A0YNkoT70JuAhYD2yPomwiIiINagLQRv67dMxi\nDyrVMLMZwEHATGCcmZ04+NBT7r51cJ3Hgc+5+88HH/sGsNjMniIfPL4M/B74OSMYDE9jToEiIiJN\n6ndhbShVQQX4e+CSgvtDFzTfAawa/P9RwKShFdz9q2a2L/Bd4ADgN8D57r4j+uKKiIjIWMTeRkVE\nRERkJI3ePVlERERSTEFFREREEktBJaCSiQ/NbIaZ/XJwnU1m9lUz03uZEma23sxyBbddZvbZuMsl\nlTGzT5nZOjPbZmZ3m9kpcZdJamNmXwgcizkzeyzuckllzOwMM1thZhsHP7v5JdYZ86TA+nIdbtSJ\nDwcDyY3kGyK/FbgU+AvyDX0lHRxYDEwmP0LxVOBbsZZIKmJmHwauBr4AnAw8SH6S0UNiLZiMxSPs\nORanAH8Sb3GkChOBB4DLyJ9Xi4Q1KbAa045gpEHlzOx8YAUw1d1fGlz2CeAfgTcVDkwnyWRm68h/\ntt+MuyxSHTO7G7jH3T89eN+ADcA33f2rsRZOqmZmXwDe4+5z4i6LjI2Z5YD3uvuKgmV/AL7m7tcM\n3t+f/BQ2l7p7xZMCq0alem8FHh4KKYNuIt8lelY8RZIa/K2ZvWRma8zsCjMbF3eBZHRm1gLMpXiS\nUQduRZOMptlRg5cOnjazfx0cL0tSLsxJgdM2jkoSTKH0JIdDjz1Y3+JIDXrIj8HzMnA6+dqwKcAV\ncRZKyjoEGEfp4++Y+hdHQnA3+UvnT5C/BPtFYJWZHT80iKekVmiTAjdFjYqZXVWiwVawMeXRcZdT\nalfNZ+zu33D3Ve7+iLv/X+AzwOWDv9hFpE7c/SZ3/6/BY/EW4N3AgcCHYi6aJEiz1Kj8E/D9Mus8\nU+G2NgHBXgaTCx6TeIzlM76X/LHQBjwZYpkkXC8Bu9hzvA2ZjI69huDu/Wa2Fqi6Z4gkzibAyB+f\nhbUqk4H7q9lQUwSVkCc+7AWuNLNDCtqpvBPoB9StLiZj/IxPBnLAi+GVSMLm7gNmtpr8JKMrYHdj\n2rMBNYxuAGa2H/mQ8sO4yyJjM4ZJgYdpiqBSjQomPryZfCC5YbDr1VTyEx1e6+4DcZRZKmdmbyV/\noNwBZMm3Ufk6cIO798dZNqnI14EfDAaWe4GFwL7AD+IslNTGzL4GrASeBaYDXwIGgOVxlksqY2YT\nyQdLG1x0xOB35svuvoEaJgUu+TrqnlzMzL5P8cSHQ97h7qsG15lBfpyVt5PvF/4D4PPunqtTMaVG\nZnYy8G3yjS/3BtaR//V2jYJmOpjZZcBnyVchPwBc7u73xVsqqYWZLQfOAA4G/gj8Fljk7utiLZhU\nxD6CXkMAAAGeSURBVMzOIv+jLxgkrnf3/zW4zhfJj6MyNCnwp9z9qapeR0FFREREkqopev2IiIhI\nOimoiIiISGIpqIiIiEhiKaiIiIhIYimoiIiISGIpqIiIiEhiKaiIiIhIYimoiIiISGIpqIiIiEhi\nKaiIiIhIYimoiIiISGIpqIhIKpjZIWb2vJn9bcGy083sDTN7R5xlE5HoaFJCEUkNMzsf+BnQCawl\nP3vyT939b2ItmIhERkFFRFLFzL4FnAvcBxwPnOLuA/GWSkSioqAiIqliZhOAR4DDgDnu/ljMRRKR\nCKmNioikzZuBaeTPX+0xl0VEIqYaFRFJDTNrAe4F7geeABYCx7v7S7EWTEQio6AiIqlhZl8D3g+c\nALwO3Alscfd5cZZLRKKjSz8ikgpmdhbQDVzs7ls9/yvrEuBPzOwT8ZZORKKiGhURERFJLNWoiIiI\nSGIpqIiIiEhiKaiIiIhIYimoiIiISGIpqIiIiEhiKaiIiIhIYimoiIiISGIpqIiIiEhiKaiIiIhI\nYimoiIiISGIpqIiIiEhiKaiIiIhIYv3/u66mM7DI7WIAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from scipy.optimize import curve_fit\n", "\n", "# define a gaussian function\n", "def gaussian(x, ampl, center, width):\n", " return ampl*np.exp(-(x-center)**2/width)\n", "\n", "# create gaussian-distributed noisy data\n", "x = np.linspace(-10, 10, 101)\n", "y = gaussian(x, 2.3, 0.2, 1.5) + np.random.normal(0, 0.2, len(x)) \n", "\n", "# find parameters ideally fitting a gaussian to noisy data\n", "init = [1, 0, 1]\n", "vals, covar = curve_fit(gaussian, x, y, p0=init)\n", "\n", "# generate fitted curve profile\n", "yfit = gaussian(x, vals[0], vals[1], vals[2])\n", "\n", "# plt noisy data and gaussian fit\n", "plt.figure()\n", "plt.plot(x, y, 'o', color='k') # original data\n", "plt.plot(x, yfit, '-', color = 'r', linewidth=3) # fit\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "\n", "#plot the model's residuals (left plot) and their histogram (right plot)\n", "residuals = y-yfit\n", "\n", "fig = plt.figure(dpi=80, figsize=(8, 4))\n", "ax = fig.add_subplot(1, 2, 1)\n", "ax.plot(x, residuals, 'o', color='k') # residuals\n", "ax.hlines(0, -10, 10)\n", "ax.set_ylabel(\"residual\")\n", "ax.set_xlabel(\"x\")\n", "\n", "ax = fig.add_subplot(1, 2, 2)\n", "ax.hist(residuals, orientation=\"horizontal\", color=\"skyblue\", ec=\"black\") # residuals\n", "ax.set_yticks([])\n", "ax.set_yticklabels([])\n", "fig.subplots_adjust(wspace=0, hspace=0)\n", "ax.set_xlabel(\"count (#)\")\n", "\n", "plt.savefig(\"gaussian_fit.png\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Residuals are are distributed normally around 0, and feature no sytematic trends. This indicates the fit is good." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "[back to top](#teabags)\n", "\n", "---\n", "\n", "## 3.2. Integrating Differential Equations " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Scipy offers the **integrate** module, that allows integrating ordinary differential equations. Here we will use the method [odeint](https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.odeint.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The prey-predator (a.k.a. Lotka-Volterra) equations are a famous example of coupled differential equations. They describe the trend in the population of two species. Predators diminish when there are not enough preys, prey diminish when there are lots of predators. Let's integrate them!\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhUAAAF5CAYAAAAoOtjCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzsvXd4XcW19/8ZFUuWbEu2JffeHQwYF4oJNh1jeElIbgim\nhXBzKUloCTc3wCUBArkkv5sA5lJC8uYSAjgEkrxAYlroGDBYxjYuso9tuTfJtuQuy9L8/lja6uWc\nffbMPmU+z3MeSafsGZ2zzsx31qy1RmmtcTgcDofD4YiXjLA74HA4HA6HIzVwosLhcDgcDkcgOFHh\ncDgcDocjEJyocDgcDofDEQhOVDgcDofD4QgEJyocDofD4XAEghMVDofD4XA4AsGJCofD4XA4HIHg\nRIXD4XA4HI5AcKLC4XA4HA5HICSEqFBKnaaUelkptUUpVaeUuqiD5z5R/5ybbPbR4XA4HA5HxySE\nqADygcXAd4F2DyNRSl0MnARssdQvh8PhcDgcUZIVdgcAtNavAa8BKKVUW89RSg0EHgbOA+bZ653D\n4XA4HI5oSBRPRYfUC42ngV9qrVeG3R+Hw+FwOBytSQpRAfwYOKK1/p+wO+JwOBwOh6NtEmL7oyOU\nUpOBm4ATYnhNb2SbZD1w2EzPHA6Hw+FISXKBYcDrWutdsbww4UUF8GWgGNjUJNwiE/i1UuoWrfWI\nNl5zHvCspf45HA6Hw5GKXA48F8sLkkFUPA282eK+N+rv/992XrMe4JlnnmH8+PHmeuZoxq233sqD\nDz4YdjfSCvee28e95/Zx77ldVq5cyRVXXAH1c2ksJISoUErlA6MAzxUxQil1PLBba70J2NPi+TXA\ndq11pJ1LHgYYP348kyZNMtRrR0sKCgrc+20Z957bx73n9nHveWjEHD6QEKICmAK8g9So0MCv6u//\nA3BNG89vt5aFw+FwOByOcEgIUaG1fo8YMlHaiaNwOBwOh8MRIsmSUupwOBwOhyPBcaLCERizZ88O\nuwtph3vP7ePec/u49zx5UFqnXniCUmoSUFJSUuKCexwOhwPYuHEjFRUVYXfDkSAUFRUxZMiQNh9b\ntGgRkydPBpistV4Uy3UTIqbC4XA4HObYuHEj48eP5+DBg2F3xZEg5OXlsXLlynaFhV+cqHA4HI4U\np6KigoMHD7raPQ6gsQ5FRUWFExUOh8Ph8Ier3eMwjQvUdDgcDofDEQhOVDgcDofD4QgEJyocDofD\n4XAEghMVDofD4XA4AsGJCofD4XA4HIHgRIXD4XA4HI5AcKLC4XA4HA5HIDhR4XA4HI60RGtNdXV1\n2N1IKZyocDgcDkdSc/fdd5ORkcGqVau45JJLKCgooKioiFtuuaWZaMjIyOCmm27iueeeY8KECeTm\n5vL6668DIjAeeughJkyYQNeuXenXrx/XX389lZWVDa+/+uqrKS4upra2tlUfzj33XFetFCcqHA6H\nw5HkKKUAuOSSSzhy5AgPPPAAF1xwAXPmzOG6665r9ty33nqLH/zgB1x66aU8/PDDDBs2DIBrr72W\n//iP/+C0005jzpw5XHPNNTz77LPMnDmzQURceeWV7N69u0GIeOzYsYN33nmHK6+80vw/m+C4Mt0O\nh8PhSAlGjhzJX//6VwBuuOEGunfvzuOPP85tt93GhAkTAFi9ejXLli1j7NixDa/78MMP+b//9/8y\nd+5cvvnNbzbcf8YZZ3DeeefxwgsvcOmll3LmmWcycOBAnnnmGWbNmtXwvOeeew6tNZdffrml/zRx\ncaLC4XA4HM04eBBKS822MW4c5OUFdz2lFN/73vea3XfjjTfy2GOPMW/evAZRcfrppzcTFAAvvvgi\nhYWFnHXWWezatavh/hNOOIFu3brxzjvvcOmll6KU4vLLL+eRRx7hwIED5OfnAyIqpk2bxtChQ4P7\nh5IUJyocDofD0YzSUpg82WwbJSUQ9Nlmo0aNavb3yJEjycjIYP369Q33edsdTYlEIlRWVtKnT59W\njyml2LlzZ8PfV111Fb/4xS/429/+xhVXXMGqVasoKSnhySefDOz/SGacqHA4HA5HM8aNk0nfdBum\n8WItmtK1a9dW99XV1dG3b9+GbYyWFBcXN/w+fvx4Jk+ezDPPPMMVV1zBM888Q05ODt/4xjeC7XyS\n4kSFw+FwOJqRlxe8F8EGkUik2RbEmjVrqKurY/jw4R2+buTIkbz11ltMmzaNnJycTtu56qqr+OEP\nf8j27duZO3cuF1xwAQUFBXH3PxVI3+yPPXvg8cfhk0/C7okjBo4cgaeegldegTYWFLFx8CD89rfw\nz38G0TWHJWpr4fnn5VZXF+fFamrgD3+Al14KwKAcYaK15tFHH21235w5c1BKcf7553f42ksuuYSj\nR49y7733tnqstraWqqqqZvfNnj0bgJtvvpmysjKX9dGE9PRUHDoE06fDsmWgFPy//wcXXRR2rxyd\n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\n93PhhRdy/vnns2jRIs4991xqappPRevWrePll1/mG9/4BsOHD2fHjh385je/4fTTT2fFihX069eP\n8ePHc++99/KTn/yE6667jtPqq/xNmzYNgKeeeoprrrmGk046iQceeIAdO3bw0EMP8dFHH/H555/T\no/7sAqUUR48e5bzzzuO0007jV7/6VVReCiNorUO/ATOAOqC2xe33wNA2HvP+nt7O9SYBuqSkRGut\ntf7jH7UGrfft01Fx4YVan39+dM91GGHDBvnIXnkluuc/+qjWWVla19S084TXXpMLlpVFd8Hrr9f6\n2GOje67DCIcOaZ2ZqfUTT0T3/L/9TT7i7dvbecKSJfKE+fOju+C992rdq5fWdXXRPT+BKSkp0c3G\nxBTj7rvv1kopffHFFze7/3vf+57OyMjQX3zxhdZaa6WUzsrK0qWlpc2e98EHH2illP7Tn/7U7P43\n3nhDK6X03LlztdZal5eX65ycHH3RRRc1e96dd96plVL629/+dsN9R44cadXPDRs26NzcXH3fffc1\n3Ldw4UKtlNJ/+MMfmj23pqZG9+3bVx9//PG6urq64f5//OMfWiml77777ob7rr76ap2RkaHvvPPO\n9t+kJnRmD97jwCQd43yeEJ4KrfV7dLwVE982TVmZRHt36xbd8ydMgGefjatJR3x4HsJYtj+OHoVN\nm9pxRpSVyZkvg6IsbXLssfC738GRI5KG6rDO8uVSe6SzIE0Pb2dr3Tro27eNJ3gBF9FsfwAcfzzs\n3i1F0wYOjO41qYKNIoDjxsk2U0Aopfje977X7L4bb7yRxx57jHnz5jGhvpry6aefztgWQfsvvvgi\nhYWFnHXWWexqUuzkhBNOoFu3brzzzjtceumlvPnmm9TU1HDjjTc2e/0tt9zCz3/+82b3ZWdnN/xe\nV1dHZWUleXl5jB07lkWLFnX6/yxcuJCdO3dy77330qXJGDRr1izGjRvHP/7xD3760582e83111/f\n6XVNkxCiwjhlZdG5vT0mTJDZqapKDhZwWGfpUnnrBw+O7vn1Hkw2bmzno163TmIlOksn9Tj2WFEp\nq1Z1XMrRYYylSxt3oqLB+9zLyto5J2T9epnEOksn9fAU7dKl6ScqSks7PiMnCEpKOi6Z74NRLQTj\nyJEjycjIYP369Q33edsdTYlEIlRWVtKnT59Wjyml2LlzJwAbN25ss52ioiJ69uzZ7D5dH6Px+OOP\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from scipy.integrate import odeint\n", "\n", "def dA_dt(A, t=0): # function to integrate\n", " prey = (b-p*A[1])*A[0]\n", " predator = (r*A[0]-d)*A[1]\n", " return np.array([prey, predator])\n", "\n", "t = np.linspace(0, 5, 1000) #time\n", "\n", "# define constants and initial parameters\n", "b = 5.0\n", "d = 5.0\n", "p = 1.0\n", "r = 1.0\n", "A_init = np.array([10, 10])\n", "\n", "# integrate the differential equation\n", "A_int = odeint(dA_dt, A_init, t)\n", "\n", "# plot time versus populations\n", "plt.plot(t, A_int[:, 0], \"b\", label=\"prey\")\n", "plt.plot(t, A_int[:, 1], \"r\", label=\"predator\")\n", "plt.legend()\n", "\n", "plt.xlabel(\"time (a.u.)\")\n", "plt.ylabel(\"population (#)\")\n", "\n", "plt.show()\n", "plt.savefig(\"prey_predator.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An example of irreversible process is that of radioactive decay, where an element converts into another through a series of a series of irreversible steps. In the example below, an element A decays into C via an intermediate B.\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " TASK 3.1 : Integrate the system of three coupled differential equations above, describing radioactive decay. \n", "
" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# your solution here\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " SOLUTION: \n", "```python\n", "def dt(vals, t=0): # function to integrate\n", " dA = -k1*vals[0]\n", " dB = k1*vals[0] - k2*vals[1]\n", " dC = k2*vals[1]\n", " return np.array([dA, dB, dC])\n", "\n", "t1 = np.linspace(0, 15, 100) #time\n", "k1 = 1.5\n", "k2 = 0.5\n", "pop_init = np.array([1, 0, 0])\n", "pop_int1 = odeint(dt, pop_init, t1)\n", "\n", "# plot the time evolution of the three species\n", "plt.figure(dpi=80, figsize=(12, 4))\n", "plt.subplot(1,1,1)\n", "plt.plot(t1, pop_int1[:, 0], \"b\", label=\"A\")\n", "plt.plot(t1, pop_int1[:, 1], \"r\", label=\"B\")\n", "plt.plot(t1, pop_int1[:, 2], \"k\", label=\"C\")\n", "plt.legend(loc=\"upper right\")\n", "\n", "plt.show()\n", "\n", "plt.savefig(\"reactions_all.png\")```\n", "\n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "[back to top](#teabags)\n", "\n", "---\n", "\n", "## 3.3. Differentiating and Integrating " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given a signal, common procedures to analyse this data include calculating its derivative and area under the curve. Calculating the derivative is common practive to find edges in images, or identifying maxima/minima. Here are two possible ways to calculate it.\n", "\n", "\n", "Calculating the area under the curve (i.e., for infinitely small bins, the integral) can also be calculated in several ways:\n", "" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Area under the curve (integration)):\n", "- sum: 0.999999727164\n", "- trapezoid: 0.999999686456\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdAAAAKaCAYAAACOdgiXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xd4lGXe9vHvL4UuIEWaSBEQsCBFKQkauhGssKsUdZXV\n1bXi4q7r46ovYNtdQPFZdVFRQcBlxQaolIgEEhCkS1FasGAoUpWWcr1/zIQnhISSzOSecn6OIwfM\nPdfccw5DcuZu15hzDhERETkzMV4HEBERCUcqUBERkWJQgYqIiBSDClRERKQYVKAiIiLFoAIVEREp\nBhWoiIhIMahARUREikEFKiIiUgwqUBERkWIIeoGa2b1mtsXMDpnZIjO77CRjbzCzWWa2w8z2mVm6\nmfUsZNxvzGydf50rzSw5uK9CRETkeEEtUDO7CRgJPAm0BlYCM82sRhEPuQKYBSQDbYC5wDQza5Vv\nnZ2AScBrwKXAR8CHZtYyWK9DRESkIAvmZPJmtgj40jn3oP+2Ad8DY5xzfz/NdXwNvOucG+G//S5Q\nwTl3bb4xC4Hlzrk/Bvo1iIiIFCZoW6BmFg+0BVLyljlfW88BOp7mOgw4C9idb3FH/zrym3m66xQR\nEQmEuCCuuwYQC2wvsHw7cMFpruMRoCIwJd+y2kWss3ZRKzGz6kAvIAM4fJrPLSIikacc0BCY6Zz7\nuSQrCmaBloiZDQD+BlzrnNtVwtX1AiaWPJWIiESIgfjOpym2YBboLiAHqFVgeS0g82QPNLObgbFA\nP+fc3AJ3ZxZjnRkA77zzDi1atDh5agmaIUOGMHr0aK9jRI2jR48yZcoU3njjDfbv30+ZMmXIysrC\nOUft2rW55557SE5OJjY21uuoUUXfB95at24dgwYNAn8vlETQCtQ5l2VmS4FuwMdw7JhmN2BMUY8z\ns/7A68BNzrnPChmysJB19PAvL8phgBYtWtCmTZszeRkSQFWqVNG/fynZvn07V199NStXrmTw4ME8\n+OCDXHDBBVx33XU89dRTPPfcczz55JMsXryY//znP1SsWNHryFFD3wcho8SH84K9C3cU8Ja/SBcD\nQ4AKwFsAZvYsUNc5d5v/9gD/fQ8AS8wsb0vzkHNuv//vLwJfmNnDwAygP76Tle4M8msRCQubNm2i\nZ8+eHDx4kMWLFx/3wzomJoZ27drx3nvv8emnn/Kb3/yGbt26MWPGDKpXr+5hapHwE9TrQJ1zU4Ch\nwDBgOXAJ0Ms5t9M/pDZQP99D7sR34tG/gG35vl7It86FwADgLmAFcCNwnXNubTBfi0g42Lt3L8nJ\nycTExLBw4cKTbukkJyfzxRdfsGnTJvr27UtWVlYpJhUJf0E/icg59zLwchH33V7gdpfTXOdUYGrJ\n04lEjtzcXAYNGsTOnTtZsmQJDRs2POVj2rVrx/vvv0/Xrl0ZOnQoL774YvCDikQIzYUrpaZ///5e\nR4hozz//PJ988gmTJ0+mSZMmhY4p7D3o3LkzL7zwAmPGjOG///1vsGNGPX0fRI6gzkQUKsysDbB0\n6dKlOngvEWnDhg1cfPHFPPjggzz//PNn/HjnHP369SMtLY1169Zx9tlnByGliPeWLVtG27ZtAdo6\n55aVZF3aAhUJc8457r77burWrcuTTz5ZrHWYGWPGjOHgwYM8+uijAU4oEplUoCJhbvLkyXz++ee8\n8sorVKhQodjrqVevHs8++yxjx45l0aJFAUwoEplUoCJh7OjRozz++ONcf/319OrVq8Tru/vuu7nk\nkkv461//SjQc3hEpCRWoSBh74403yMjIYMSIEQFZX2xsLCNGjOCLL74gJSXl1A8QiWIqUJEwdejQ\nIYYPH87AgQO58MILA7bePn360L59ex577DFthYqchApUJEy99tpr7Nixg6eeeiqg6zUznn76aZYs\nWcKnn34a0HWLRBIVqEgYysnJYfTo0dx8882cf/75AV9/165dufzyyxk1alTA1y0SKVSgImHogw8+\nICMjg4cffjgo6zczHn74YVJSUlixYkVQnkMk3KlARcLQqFGjSEpKCurEIH379uW8887TR2+JFEEF\nKhJmFi1axMKFC4O29ZknLi6OBx98kMmTJ7Nt27agPpdIOFKBioSZV199lUaNGtG7d++gP9fgwYOJ\nj4/nzTffDPpziYQbFahIGNm7dy9Tpkzh97//PTExwf/2rVKlCr/97W954403yM3NDfrziYQTFahI\nGJk0aRJHjx7ld7/7Xak955133smWLVs0sYJIASpQkTDhnOO1116jd+/e1K1bt9Set2PHjrRs2ZLX\nXnut1J5TJByoQEXCxPLly1mxYgV33nlnqT6vmXHnnXfy4YcfsnPnzlJ9bpFQpgIVCRMTJkzgnHPO\n4aqrrir15x40aBDOOaZMmVLqzy0SqlSgImEgJyeHd999l5tvvpm4uLhSf/4aNWrQs2dPJk6cWOrP\n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\nsWPHsmzZMl544QV94op4plKlSjz33HP897//Zc6cOV7HkRCgn0YS0jIzM3n00UcZPHgwCQkJXseR\nKHfLLbdw5ZVX8sc//pHDhw97HUc8pgKVkPanP/2J+Ph4nn/+ea+jiGBmvPrqq2RkZOiEIlGBSuia\nMWMGkyZNYuTIkbpsRUJG8+bN+ctf/sIzzzzD6tWrvY4jHlKBSkjavXs3v//977n66qt14pCEnMcf\nf5xmzZpx22236TNDo5gKVELS/fffz+HDhxk7dixm5nUckeOULVuWt99+m1WrVjFixAiv44hHVKAS\nct555x0mTZrESy+9RL169byOI1Kotm3b8vjjj/P000+TlpbmdRzxgApUQsqGDRu45557GDRoEAMH\nDvQ6jshJPf7443To0IH+/fuze/dur+NIKVOBSsg4dOgQN910E3Xq1OHll1/WrlsJeXFxcUyaNIlf\nfvmF22+/ndzcXK8jSSlSgUpIcM5x1113sX79eqZMmcJZZ53ldSSR03Leeecxfvx4Pv74Yx0PjTIq\nUAkJo0eP5p133uGNN97g0ksv9TqOyBnp06cPw4YN48knn+Sjjz7yOo6UEhWoeO7DDz9k6NChPPLI\nI/Tv39/rOCLF8j//8z/ceOONDBgwgK+++srrOFIKVKDiqYULF9K/f3/69u2rmV0krMXExDBhwgQu\nvvhievfuzebNm72OJEGmAhXPrFy5kj59+tCuXTsmTJigieIl7FWoUIFp06ZRuXJlevTowQ8//OB1\nJAki/cQST6xZs4bu3bvTsGFDpk2bRrly5byOJBIQNWvWZPbs2WRnZ9OtWzd++uknryNJkKhApdQt\nW7aMpKQk6taty+zZs6latarXkUQCqmHDhnz++ef8+uuvXHnllWzdutXrSBIEKlApVfPmzSMpKYnG\njRvz+eefU61aNa8jiQTF+eefz7x588jOziYxMZF169Z5HUkCTAUqpeatt96iR48eXH755cyZM0ef\nsCIR7/zzz2fBggVUrVqVjh076oO4I4wKVIIuKyuLoUOHcvvtt3PbbbfxySefaKIEiRp169ZlwYIF\ndOzYkauuuooXXngB55zXsSQAVKASVN9//z1JSUm8+OKLjB49mrFjx1KmTBmvY4mUqipVqjBt2jQe\nfPBBhgwZQr9+/di7d6/XsaSEVKASFM45xo8fz8UXX8x3331HamoqDz30kOa3lagVFxfHyJEj+eCD\n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\n7L2oK2hjL3MAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def gaussian(x, mu, sig):\n", " return 1./(np.sqrt(2.*np.pi)*sig)*np.exp(-np.power((x - mu)/sig, 2.)/2)\n", "\n", "step = 0.1\n", "x = np.arange(-10, 11, step)\n", "y = gaussian(x, 0, 2)\n", "\n", "# differentiation\n", "y_grad = np.gradient(y, step)\n", "y_diff = np.diff(y)/step\n", "\n", "#integration (calculate are under the curve)\n", "print(\"Area under the curve (integration)):\")\n", "print(\"- sum: \", np.sum(y)*step)\n", "print(\"- trapezoid:\", np.trapz(y, dx=step))\n", "\n", "# plot original data\n", "plt.figure(figsize=(5, 8), dpi=80)\n", "plt.subplot(2, 1, 1)\n", "plt.plot(x, y, '-', color='k')\n", "plt.xlim([-10, 10])\n", "\n", "# plot differentiation\n", "plt.subplot(2, 1, 2)\n", "plt.hlines(0, -10, 10)\n", "plt.xlim([-10, 10])\n", "plt.plot(x, y_grad, '.-', color='tomato', label=\"grad\")\n", "plt.plot(x[:-1], y_diff, 'x-', color='navy', label=\"diff\")\n", "plt.legend(frameon=False)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Thank you for joining! [back to top](#teabags)" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "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.8.10" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 1 }