{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "Fq-C4JSnnSqn"
},
"source": [
"# About this notebook\n",
"\n",
"The `scipy` software package is the go-to tool for math, statistics and basic data science, when `numpy` functions are not enough. Most `scipy` functionality can be used with numbers as well as `numpy` arrays.\n",
"\n",
"\n",
"https://www.scipy.org/index.html\n",
"\n",
"\"SciPy is a Python-based ecosystem of open-source software for mathematics, science, and engineering. SciPy is a collection of mathematical algorithms and convenience functions built on the NumPy extension of Python. It adds significant power to the interactive Python session by providing the user with high-level commands and classes for manipulating and visualizing data.\"\n",
"\n",
"`scipy` is one of the most important software packages for standard data analysis (that is not machine learning). In this notebook, you'll learn about a couple of its math, analysis and statistics functions, but there is much more to discover on the scipy webpage."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "3jacTWOhJZH6"
},
"source": [
"# Scipy"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "QxHyrIx0IbUF"
},
"source": [
"# Import packages"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"id": "hTUp9dbbP38q"
},
"outputs": [],
"source": [
"# different ways to import packages\n",
"import scipy # import the package 'scipy'\n",
"from scipy import stats\n",
"import numpy as np # import the package numpy as abbreviation 'np'\n",
"from matplotlib import colors # import class 'colors' from the matplotlib package\n",
"from matplotlib.colors import LogNorm\n",
"import matplotlib.pyplot as plt # import class pyplot of matplotlib as abbrev. 'plt'\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "EFD0N5VsBL2O"
},
"source": [
"... -> how you need to import the package, classes, functions, ... depends a bit on the package itself. When in doubt, just google it :) 'stackoverflow' usually knows the answer!"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9L064uMWJeUw"
},
"source": [
"## Interpolations"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 505
},
"id": "BVTJHmNhevo-",
"outputId": "992c254d-31a8-48cd-d73c-259aa8c5c51c"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"1.119522706674417\n",
"1.2353755311711716\n",
"3.593206484754433\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
""
]
},
"metadata": {},
"execution_count": 2
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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\n"
},
"metadata": {}
}
],
"source": [
"from scipy import interpolate\n",
"# some data points in x and y\n",
"x = [1,2,3,4,5]\n",
"y = [1,2,1.5,4,2]\n",
"\n",
"# we call some of the Spline classes of the interpolate package of scipy\n",
"spl = interpolate.UnivariateSpline(x, y, k=3, s=1) # this is a smoothing spline\n",
"spl2 = interpolate.InterpolatedUnivariateSpline(x, y, k=3) # this is an interpolation spline\n",
"# they return a funcion\n",
"\n",
"print(spl(1)) # you can call them like a normal function\n",
"print(spl(1.2))\n",
"print(spl(4.2))\n",
"\n",
"# ... and we can plot the results\n",
"# first, the raw data\n",
"plt.plot(x, y, \"o-\", label=\"data\")\n",
"\n",
"# then, we generate some sequential x values to evaluate the splines\n",
"xi = np.linspace(1,5)\n",
"# .. then we plot the evaluated splines\n",
"plt.plot(xi, spl(xi), \"--\", label=\"smoothing spline\") # spline doesn't need to run through data points\n",
"plt.plot(xi, spl2(xi), \"--\", label=\"interpolated spline\") # spline interpolates between data points, no smoothing\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9cxoL21yLQz1"
},
"source": [
"## Integration"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "raHSiNf1dHrC",
"outputId": "c22d5ed0-f299-4fec-f0ba-561009e296d9"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"(1.0, 3.334366076909447e-14)\n"
]
}
],
"source": [
"from scipy import integrate\n",
"\n",
"# first, we define ascending x values\n",
"x = np.linspace(0, 1.5*np.pi)\n",
"# ... and get the bounds (first and last element)\n",
"x0, x1 = x[0], x[-1]\n",
"\n",
"print(integrate.quad(np.sin, x0, x1)) # quad retürns integral and error. beware of floating-point precision!"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 453
},
"id": "ydJ3c6P1dKu_",
"outputId": "6a77d3f9-33a6-47a6-ea73-d82a50387787"
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
""
]
},
"metadata": {},
"execution_count": 4
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAGiCAYAAADa7K1vAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABqSklEQVR4nO3dd3hT9d/G8Xe6d6FltIUCpexZ9l5OEFEUFXHiDzcOxAWKIIoi4kbFheIGFyIgS5AhexUoo+xVOoCW7pmc54+j5UFQGW1P0t6v68pVcnKafGghuc932gzDMBARERGxgJvVBYiIiEjFpSAiIiIillEQEREREcsoiIiIiIhlFERERETEMgoiIiIiYhkFEREREbGMgoiIiIhYRkFERERELKMgIiIiIpYp1SAyefJkWrRoQVBQEEFBQXTq1Im5c+eW5kuKiIiIC7GV5l4zs2bNwt3dnfr162MYBp9//jkTJ05k06ZNNG3atLReVkRERFxEqQaRswkJCWHixIkMGTKkLF9WREREnJBHWb2Q3W7n+++/Jzs7m06dOp31nPz8fPLz84vvOxwOUlNTCQ0NxWazlVWpIiIichEMwyAzM5OIiAjc3P5jFIhRyrZs2WL4+/sb7u7uRnBwsDFnzpx/PHfMmDEGoJtuuummm266lYPb4cOH/zMnlHrXTEFBAYcOHSI9PZ0ffviBTz75hKVLl9KkSZMzzv17i0h6ejq1atXi8OHDBAUFlWaZIiIiUkIyMjKIjIzk5MmTBAcH/+u5ZT5G5LLLLiM6OpoPP/zwP8/NyMggODiY9PR0BREREREXcT6f32W+jojD4Tit1UNEREQqrlIdrDpy5Ej69OlDrVq1yMzM5JtvvmHJkiXMnz+/NF9WREREXESpBpGUlBTuuOMOEhMTCQ4OpkWLFsyfP5/LL7+8NF9WREREXESpBpEpU6aU5tMDYBgGRUVF2O32Un8tKV3u7u54eHhoqraISAVSZuuIlIaCggISExPJycmxuhQpIX5+foSHh+Pl5WV1KSIiUgZcNog4HA7279+Pu7s7EREReHl56UrahRmGQUFBAceOHWP//v3Ur1//vxfBERERl+eyQaSgoACHw0FkZCR+fn5WlyMlwNfXF09PTw4ePEhBQQE+Pj5WlyQiIqXM5S85ddVcvuj3KSJSsehdX0RERCyjICIiIiKWURCxgGEY3HvvvYSEhGCz2YiNjbW6JBEREUu47GBVVzZv3jymTp3KkiVLqFu3LlWqVLG6JBEREUsoiFhg7969hIeH07lzZ6tLERERsVS5CiKGYZBbaM0Kq76e7ue0jsngwYP5/PPPAbDZbNSuXZsDBw6UcnUiIiLOqVwFkdxCO01GW7Oh3vYXrsTP679/nG+//TbR0dF89NFHrFu3Dnd39zKoTkRExDmVqyDiCoKDgwkMDMTd3Z2wsDCryxEREbFUuQoivp7ubH/hSsteW0RERM5PuQoiNpvtnLpHRERExDloHRERERGxjIKIiIiIWEZBRERERCyjIGKBYcOGae0QERERFERERETEQgoiIiIiYhkFEREREbGMgoiIiIhYRkFERERELKMgIiIiIpZREBERERHLKIiIiIiIZRRERERExDIKIiIiImIZBREX0aVLF9asWQPAkCFDePPNNy2uSERE5OJ5WF2AnJvnnnuOV155hW7duuHm5sZjjz1mdUkiIiIXTS0iTmLatGnUqFGDRo0asXnz5jMe7927N4cOHWLOnDm8//77FlQoIiJS8hREnMDhw4cZPHgw9erVw8vLi/vvv/+Mc9atW0dqairBwcF4enpaUKWIiEjJUxBxAqtXryY/P5/nnnuOCRMm0LRpU+x2e/HjCQkJ3H333SxevJgDBw4QFxdnYbUiIiIlR0HECSQkJAAQHh5Onz59+OSTT3B3dwcgNzeXG2+8kUmTJhEVFcXIkSN58cUXrSxXRESkxCiIOIGsrCwAAgICznjM19eXlStX0r17dwBuvPFGpk+ffto5kyZNonbt2nh4ePDEE09w4sQJqlWrxoEDB865hptvvpnXX3/9nM4dN24cHTt2POfnFhER+SeaNeME/i2I/JfNmzczfPhwZs6cSatWrQgODmbUqFFce+211KlT55yfZ9SoUXTv3p27776b4ODg/3zNmJiY865VRETk79Qi4gQuJojMnj2b9u3bc9VVVxEeHg7AlClTGDJkyHk9T7NmzYiOjuarr776z3MVREREpKQoiDiBrKwsPD098fb2Pq/vq1evHqNGjWLlypXYbDbuuOMOfv31V7y9vc/oOvn222/x9fUlMTGx+Nhdd91FixYtSE9PB6Bfv35MmzbttO/bsGED3bt3x9fXl1atWrFmzRr27t1bHETO5XlFRET+iYKIE8jMzLyg1pCVK1dSt25dJk6cSGJiIu+//z7Lly+nTZs2Z5x7880306BBA15++WUAxowZw2+//cbcuXOLu2Lat2/P2rVryc/PB2Dnzp306tWLHj16EBcXx6hRo+jfvz8ALVq0OOfnFRER+Sfla4yIYUBhjjWv7ekHNtsFfWtWVtYFBZGAgAAOHDhA165dCQsLA+DgwYNEREScca7NZuOll17ihhtuICwsjEmTJrF8+XJq1KhRfE5ERAQFBQUkJSVRu3Zthg4dSv/+/Ytn6URHRzNt2jS2bt2Kn5/fOT+viIjIPylfQaQwB14+80O4TDxzFLz8L+hbLzSIbNmyBYDmzZsXH8vNzcXHx+es51999dU0adKEF154gQULFtC0adPTHvf19QUgJyeHgwcPsnjxYjZu3HjaOZ6enmeMD/mv5xUREfkn6ppxAhcaRGJjY6lXrx7+/qcCUJUqVUhLSzvr+fPmzWPnzp3Y7XaqV69+xuOpqakAVK1aldjYWDw8PE4LOQCbNm06I4j81/OKiIj8k/LVIuLpZ7ZMWPXaFygrK4vQ0NDz/r7Y2Fhatmx52rFWrVqddebLxo0buemmm5gyZQpTp07lueee4/vvvz/tnLi4OGrWrEmVKlVwc3PD4XBQUFCAh4f5z+TXX39l586dpwWRc3leERGRf1K+gojNdsHdI1bKysoiMDDwvL8vNjaWa6655rRjV155JSNHjiQtLY3KlSsDcODAAfr27cszzzzDoEGDqFu3Lp06dWLjxo20bt26+HuXL1/OFVdcAUCbNm3w9PTkySef5PHHHycuLo4HHngAoDiInOvzioiI/BN1zTiBC5k143A42Lp16xktIs2bN6d169Z89913gNnd0rt3b6699lpGjBgBQIcOHejTpw/PPPNM8ffl5eXx888/c8899wDmwNVPPvmEX375haZNm/L6669zxx13UL16dcLCws75eUVERP6NzTAMw+oi/klGRgbBwcGkp6cTFBR02mN5eXns37+fqKiofxyc6QocDgfu7u7ce++9fPjhhyXynHPmzOHJJ58kLi4ON7dzy5qTJ09mxowZLFiwoERquFDl5fcqIlKR/dvn99+pRcQiX3zxBQsWLODEiROAOUD072bPnk3Dhg2pX78+n3zyyTk/d9++fbn33nuLN9M7F56enkyaNOmczxcRESkJ5WuMiAv56aef2LVrV/ECYe3atTvt8aKi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StWqVUurFhEREalgSm2MyKFDh0hNTeXQoUPY7XZiY2MBqFevHgEBAaX1siIiIuJCSi2IjB49ms8//7z4fqtW5nDf33//nZ49e5bWy4qIiIgL0RLvIiIiUqLO5/O7/O9FLCIiIk5LQUREREQsoyAiIiIillEQEREREcsoiIiIiIhlFERERETEMgoiIiIiYhkFEREREbGMgoiIiIhYRkFERERELKMgIiIiIpZREBERERHLKIiIiIiIZRRERERExDIKIiIiImIZBRERERGxjIKIiIiIWEZBRERERCyjICIiIiKWURARERERyyiIiIiIiGUURERERMQyCiIiIiJiGQURERERsYyCiIiIiFhGQUREREQsoyAiIiIillEQEREREcsoiIiIiIhlFERERETEMgoiIiIiYhkFEREREbGMgoiIiIhYRkFERERELKMgIiIiIpZREBERERHLKIiIiIiIZRRERERExDIKIiIiImIZBRERERGxjIKIiIiIWEZBRERERCyjICIiIiKWURARERERyyiIiIiIiGUURERERMQyCiIiIiJiGQURERERsYyCiIiIiFhGQUREREQsoyAiIiIillEQEREREcsoiIiIiIhlFERERETEMgoiIiIiYhkFEREREbGMgoiIiIhYRkFERERELKMgIiIiIpZREBERERHLKIiIiIiIZRRERERExDIKIiIiImKZUgsiBw4cYMiQIURFReHr60t0dDRjxoyhoKCgtF5SREREXIxHaT3xzp07cTgcfPjhh9SrV4+4uDjuuecesrOzee2110rrZUVERMSF2AzDMMrqxSZOnMjkyZPZt2/fWR/Pz88nPz+/+H56ejq1atXi8OHDBAUFlVWZIiIichEyMjKIjIzk5MmTBAcH/+u5pdYicjbp6emEhIT84+Pjx49n7NixZxyPjIwszbJERESkFGRmZv5nECmzFpE9e/bQpk0bXnvtNe65556znvP3FhGHw0FqaiqhoaHYbLYSreevtKbWlrKnn7219PO3ln7+1tLPv2wYhkFmZiYRERG4uf37cNTzbhEZMWIEEyZM+NdzduzYQaNGjYrvJyQk0Lt3b2688cZ/DCEA3t7eeHt7n3asUqVK51vieQkKCtI/RovoZ28t/fytpZ+/tfTzL33/1RLyl/MOIo8//jiDBw/+13Pq1q1b/OejR4/Sq1cvOnfuzEcffXS+LyciIiLl2HkHkapVq1K1atVzOjchIYFevXrRpk0bPvvss/9snhEREZGKpdQGqyYkJNCzZ09q167Na6+9xrFjx4ofCwsLK62XPWfe3t6MGTPmjK4gKX362VtLP39r6edvLf38nU+pDVadOnUqd91111kfK8MZwyIiIuLEynQdEREREZH/T4M2RERExDIKIiIiImIZBRERERGxjIKIiIiIWKZCBpH33nuPOnXq4OPjQ4cOHVi7dq3VJVUYy5Yto1+/fkRERGCz2fj555+tLqnCGD9+PO3atSMwMJBq1arRv39/4uPjrS6rwpg8eTItWrQoXtGzU6dOzJ071+qyKqRXXnkFm83GsGHDrC5FqIBBZPr06QwfPpwxY8awceNGWrZsyZVXXklKSorVpVUI2dnZtGzZkvfee8/qUiqcpUuXMnToUFavXs3ChQspLCzkiiuuIDs72+rSKoSaNWvyyiuvsGHDBtavX88ll1zCtddey7Zt26wurUJZt24dH374IS1atLC6FPlThZu+26FDB9q1a8e7774LmBvrRUZG8vDDDzNixAiLq6tYbDYbM2bMoH///laXUiEdO3aMatWqsXTpUrp37251ORVSSEgIEydOZMiQIVaXUiFkZWXRunVr3n//fcaNG0dMTAxvvfWW1WVVeBWqRaSgoIANGzZw2WWXFR9zc3PjsssuY9WqVRZWJlL20tPTAfPDUMqW3W5n2rRpZGdn06lTJ6vLqTCGDh1K3759T/sMEOuV2hLvzuj48ePY7XaqV69+2vHq1auzc+dOi6oSKXsOh4Nhw4bRpUsXmjVrZnU5FcbWrVvp1KkTeXl5BAQEMGPGDJo0aWJ1WRXCtGnT2LhxI+vWrbO6FPmbChVERMQ0dOhQ4uLi+OOPP6wupUJp2LAhsbGxpKen88MPP3DnnXeydOlShZFSdvjwYR599FEWLlyIj4+P1eXI31SoIFKlShXc3d1JTk4+7XhycrJTbMQnUhYeeughZs+ezbJly6hZs6bV5VQoXl5e1KtXD4A2bdqwbt063n77bT788EOLKyvfNmzYQEpKCq1bty4+ZrfbWbZsGe+++y75+fm4u7tbWGHFVqHGiHh5edGmTRsWLVpUfMzhcLBo0SL100q5ZxgGDz30EDNmzGDx4sVERUVZXVKF53A4yM/Pt7qMcu/SSy9l69atxMbGFt/atm3LrbfeSmxsrEKIxSpUiwjA8OHDufPOO2nbti3t27fnrbfeIjs7+x93CpaSlZWVxZ49e4rv79+/n9jYWEJCQqhVq5aFlZV/Q4cO5ZtvvmHmzJkEBgaSlJQEQHBwML6+vhZXV/6NHDmSPn36UKtWLTIzM/nmm29YsmQJ8+fPt7q0ci8wMPCMsVD+/v6EhoZqjJQTqHBBZODAgRw7dozRo0eTlJRETEwM8+bNO2MAq5SO9evX06tXr+L7w4cPB+DOO+9k6tSpFlVVMUyePBmAnj17nnb8s88+Y/DgwWVfUAWTkpLCHXfcQWJiIsHBwbRo0YL58+dz+eWXW12aiKUq3DoiIiIi4jwq1BgRERERcS4KIiIiImIZBRERERGxjIKIiIiIWEZBRERERCyjICIiIiKWURARERERyyiIiIiIiGUURERERMQyCiIiIiJiGQURERERscz/AfibBNLFue3cAAAAAElFTkSuQmCC\n"
},
"metadata": {}
}
],
"source": [
"# define integrated function of f:\n",
"\n",
"# the decorator @np.vectorize makes sure that we can give\n",
"# a numpy array to fint for fast evaluation\n",
"\n",
"# this is needed, because x in .quad can only be a number,\n",
"# not an array! (see what happens when you remove the decorator)\n",
"\n",
"@np.vectorize\n",
"def fint(x, x0=0):\n",
" return integrate.quad(np.sin, x0, x)[0]\n",
"\n",
"plt.plot(x, np.sin(x), label=\"f\")\n",
"plt.plot(x, fint(x), label=r\"$\\int_0^x f(x) dx$\")\n",
"plt.plot(x, fint(x, x0=np.pi/2), label=r\"$\\int_{\\pi/2}^x f(x) dx$\")\n",
"plt.ylim(-2, 3)\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "slcbaUfhwKn5"
},
"source": [
"## Fit a function to data points\n",
"This is a x-y data fit using a function y = f(x)\n",
"Example: Measuring the voltage $U$ at a resistor for different currents $I$.\n",
"Now you want to infer the resistance $R$."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"id": "DXvJjzoWwwo_"
},
"outputs": [],
"source": [
"from scipy.optimize import curve_fit"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "IbnldtTMdZVh",
"outputId": "2d9b947a-27e3-4dd5-f4cb-b0385d1fefef"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Help on function curve_fit in module scipy.optimize._minpack_py:\n",
"\n",
"curve_fit(f, xdata, ydata, p0=None, sigma=None, absolute_sigma=False, check_finite=True, bounds=(-inf, inf), method=None, jac=None, *, full_output=False, **kwargs)\n",
" Use non-linear least squares to fit a function, f, to data.\n",
" \n",
" Assumes ``ydata = f(xdata, *params) + eps``.\n",
" \n",
" Parameters\n",
" ----------\n",
" f : callable\n",
" The model function, f(x, ...). It must take the independent\n",
" variable as the first argument and the parameters to fit as\n",
" separate remaining arguments.\n",
" xdata : array_like\n",
" The independent variable where the data is measured.\n",
" Should usually be an M-length sequence or an (k,M)-shaped array for\n",
" functions with k predictors, and each element should be float\n",
" convertible if it is an array like object.\n",
" ydata : array_like\n",
" The dependent data, a length M array - nominally ``f(xdata, ...)``.\n",
" p0 : array_like, optional\n",
" Initial guess for the parameters (length N). If None, then the\n",
" initial values will all be 1 (if the number of parameters for the\n",
" function can be determined using introspection, otherwise a\n",
" ValueError is raised).\n",
" sigma : None or M-length sequence or MxM array, optional\n",
" Determines the uncertainty in `ydata`. If we define residuals as\n",
" ``r = ydata - f(xdata, *popt)``, then the interpretation of `sigma`\n",
" depends on its number of dimensions:\n",
" \n",
" - A 1-D `sigma` should contain values of standard deviations of\n",
" errors in `ydata`. In this case, the optimized function is\n",
" ``chisq = sum((r / sigma) ** 2)``.\n",
" \n",
" - A 2-D `sigma` should contain the covariance matrix of\n",
" errors in `ydata`. In this case, the optimized function is\n",
" ``chisq = r.T @ inv(sigma) @ r``.\n",
" \n",
" .. versionadded:: 0.19\n",
" \n",
" None (default) is equivalent of 1-D `sigma` filled with ones.\n",
" absolute_sigma : bool, optional\n",
" If True, `sigma` is used in an absolute sense and the estimated parameter\n",
" covariance `pcov` reflects these absolute values.\n",
" \n",
" If False (default), only the relative magnitudes of the `sigma` values matter.\n",
" The returned parameter covariance matrix `pcov` is based on scaling\n",
" `sigma` by a constant factor. This constant is set by demanding that the\n",
" reduced `chisq` for the optimal parameters `popt` when using the\n",
" *scaled* `sigma` equals unity. In other words, `sigma` is scaled to\n",
" match the sample variance of the residuals after the fit. Default is False.\n",
" Mathematically,\n",
" ``pcov(absolute_sigma=False) = pcov(absolute_sigma=True) * chisq(popt)/(M-N)``\n",
" check_finite : bool, optional\n",
" If True, check that the input arrays do not contain nans of infs,\n",
" and raise a ValueError if they do. Setting this parameter to\n",
" False may silently produce nonsensical results if the input arrays\n",
" do contain nans. Default is True.\n",
" bounds : 2-tuple of array_like or `Bounds`, optional\n",
" Lower and upper bounds on parameters. Defaults to no bounds.\n",
" There are two ways to specify the bounds:\n",
" \n",
" - Instance of `Bounds` class.\n",
" \n",
" - 2-tuple of array_like: Each element of the tuple must be either\n",
" an array with the length equal to the number of parameters, or a\n",
" scalar (in which case the bound is taken to be the same for all\n",
" parameters). Use ``np.inf`` with an appropriate sign to disable\n",
" bounds on all or some parameters.\n",
" \n",
" method : {'lm', 'trf', 'dogbox'}, optional\n",
" Method to use for optimization. See `least_squares` for more details.\n",
" Default is 'lm' for unconstrained problems and 'trf' if `bounds` are\n",
" provided. The method 'lm' won't work when the number of observations\n",
" is less than the number of variables, use 'trf' or 'dogbox' in this\n",
" case.\n",
" \n",
" .. versionadded:: 0.17\n",
" jac : callable, string or None, optional\n",
" Function with signature ``jac(x, ...)`` which computes the Jacobian\n",
" matrix of the model function with respect to parameters as a dense\n",
" array_like structure. It will be scaled according to provided `sigma`.\n",
" If None (default), the Jacobian will be estimated numerically.\n",
" String keywords for 'trf' and 'dogbox' methods can be used to select\n",
" a finite difference scheme, see `least_squares`.\n",
" \n",
" .. versionadded:: 0.18\n",
" full_output : boolean, optional\n",
" If True, this function returns additioal information: `infodict`,\n",
" `mesg`, and `ier`.\n",
" \n",
" .. versionadded:: 1.9\n",
" **kwargs\n",
" Keyword arguments passed to `leastsq` for ``method='lm'`` or\n",
" `least_squares` otherwise.\n",
" \n",
" Returns\n",
" -------\n",
" popt : array\n",
" Optimal values for the parameters so that the sum of the squared\n",
" residuals of ``f(xdata, *popt) - ydata`` is minimized.\n",
" pcov : 2-D array\n",
" The estimated covariance of popt. The diagonals provide the variance\n",
" of the parameter estimate. To compute one standard deviation errors\n",
" on the parameters use ``perr = np.sqrt(np.diag(pcov))``.\n",
" \n",
" How the `sigma` parameter affects the estimated covariance\n",
" depends on `absolute_sigma` argument, as described above.\n",
" \n",
" If the Jacobian matrix at the solution doesn't have a full rank, then\n",
" 'lm' method returns a matrix filled with ``np.inf``, on the other hand\n",
" 'trf' and 'dogbox' methods use Moore-Penrose pseudoinverse to compute\n",
" the covariance matrix.\n",
" infodict : dict (returned only if `full_output` is True)\n",
" a dictionary of optional outputs with the keys:\n",
" \n",
" ``nfev``\n",
" The number of function calls. Methods 'trf' and 'dogbox' do not\n",
" count function calls for numerical Jacobian approximation,\n",
" as opposed to 'lm' method.\n",
" ``fvec``\n",
" The function values evaluated at the solution.\n",
" ``fjac``\n",
" A permutation of the R matrix of a QR\n",
" factorization of the final approximate\n",
" Jacobian matrix, stored column wise.\n",
" Together with ipvt, the covariance of the\n",
" estimate can be approximated.\n",
" Method 'lm' only provides this information.\n",
" ``ipvt``\n",
" An integer array of length N which defines\n",
" a permutation matrix, p, such that\n",
" fjac*p = q*r, where r is upper triangular\n",
" with diagonal elements of nonincreasing\n",
" magnitude. Column j of p is column ipvt(j)\n",
" of the identity matrix.\n",
" Method 'lm' only provides this information.\n",
" ``qtf``\n",
" The vector (transpose(q) * fvec).\n",
" Method 'lm' only provides this information.\n",
" \n",
" .. versionadded:: 1.9\n",
" mesg : str (returned only if `full_output` is True)\n",
" A string message giving information about the solution.\n",
" \n",
" .. versionadded:: 1.9\n",
" ier : int (returnned only if `full_output` is True)\n",
" An integer flag. If it is equal to 1, 2, 3 or 4, the solution was\n",
" found. Otherwise, the solution was not found. In either case, the\n",
" optional output variable `mesg` gives more information.\n",
" \n",
" .. versionadded:: 1.9\n",
" \n",
" Raises\n",
" ------\n",
" ValueError\n",
" if either `ydata` or `xdata` contain NaNs, or if incompatible options\n",
" are used.\n",
" \n",
" RuntimeError\n",
" if the least-squares minimization fails.\n",
" \n",
" OptimizeWarning\n",
" if covariance of the parameters can not be estimated.\n",
" \n",
" See Also\n",
" --------\n",
" least_squares : Minimize the sum of squares of nonlinear functions.\n",
" scipy.stats.linregress : Calculate a linear least squares regression for\n",
" two sets of measurements.\n",
" \n",
" Notes\n",
" -----\n",
" Users should ensure that inputs `xdata`, `ydata`, and the output of `f`\n",
" are ``float64``, or else the optimization may return incorrect results.\n",
" \n",
" With ``method='lm'``, the algorithm uses the Levenberg-Marquardt algorithm\n",
" through `leastsq`. Note that this algorithm can only deal with\n",
" unconstrained problems.\n",
" \n",
" Box constraints can be handled by methods 'trf' and 'dogbox'. Refer to\n",
" the docstring of `least_squares` for more information.\n",
" \n",
" Examples\n",
" --------\n",
" >>> import numpy as np\n",
" >>> import matplotlib.pyplot as plt\n",
" >>> from scipy.optimize import curve_fit\n",
" \n",
" >>> def func(x, a, b, c):\n",
" ... return a * np.exp(-b * x) + c\n",
" \n",
" Define the data to be fit with some noise:\n",
" \n",
" >>> xdata = np.linspace(0, 4, 50)\n",
" >>> y = func(xdata, 2.5, 1.3, 0.5)\n",
" >>> rng = np.random.default_rng()\n",
" >>> y_noise = 0.2 * rng.normal(size=xdata.size)\n",
" >>> ydata = y + y_noise\n",
" >>> plt.plot(xdata, ydata, 'b-', label='data')\n",
" \n",
" Fit for the parameters a, b, c of the function `func`:\n",
" \n",
" >>> popt, pcov = curve_fit(func, xdata, ydata)\n",
" >>> popt\n",
" array([2.56274217, 1.37268521, 0.47427475])\n",
" >>> plt.plot(xdata, func(xdata, *popt), 'r-',\n",
" ... label='fit: a=%5.3f, b=%5.3f, c=%5.3f' % tuple(popt))\n",
" \n",
" Constrain the optimization to the region of ``0 <= a <= 3``,\n",
" ``0 <= b <= 1`` and ``0 <= c <= 0.5``:\n",
" \n",
" >>> popt, pcov = curve_fit(func, xdata, ydata, bounds=(0, [3., 1., 0.5]))\n",
" >>> popt\n",
" array([2.43736712, 1. , 0.34463856])\n",
" >>> plt.plot(xdata, func(xdata, *popt), 'g--',\n",
" ... label='fit: a=%5.3f, b=%5.3f, c=%5.3f' % tuple(popt))\n",
" \n",
" >>> plt.xlabel('x')\n",
" >>> plt.ylabel('y')\n",
" >>> plt.legend()\n",
" >>> plt.show()\n",
"\n"
]
}
],
"source": [
"help(curve_fit)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KdNMYBHvL3Fm"
},
"source": [
"### Linear function"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"id": "DhxQw7goxEyY"
},
"outputs": [],
"source": [
"def fit_func(I, R, offset):\n",
" ''' U = R * I + offset '''\n",
" return R * I + offset"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 921
},
"id": "b517nba6zRkS",
"outputId": "c9dc3efa-a491-47f2-c341-ca5442f69fd5"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"fit: [ 3.03268709 -0.07345802]\n",
"covariance: [[ 0.01638275 -0.20065429]\n",
" [-0.20065429 2.85264231]]\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
""
]
},
"metadata": {},
"execution_count": 8
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0kAAANBCAYAAAA1KvUtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC4GklEQVR4nOzde3zO9f/H8cd17XjtbOxgZo5h5GyG0kGiUogkyTlKOvFDSTp9k846KxIKKaUzob5UXzl1cCiHojExNmab2bXDtevz++OTZRgb265d2/N+u+122efzuT7X65rTnnu/36+3xTAMAxEREREREQHA6uoCREREREREKhKFJBERERERkZMoJImIiIiIiJxEIUlEREREROQkCkkiIiIiIiInUUgSERERERE5iUKSiIiIiIjISRSSRERERERETuLp6gLKmtPp5MCBAwQGBmKxWFxdjoiIiIiIuIhhGBw7doyoqCis1qLHiyp9SDpw4AC1a9d2dRkiIiIiIlJB7Nu3j+jo6CLPV/qQFBgYCJhfiKCgIBdXIyIiIiIirpKRkUHt2rULMkJRKn1IOjHFLigoSCFJRERERETOuQxHjRtEREREREROopAkIiIiIiJyEoUkERERERGRk1T6NUnFYRgGDoeD/Px8V5ciUul5eHjg6emplvwiIiJSYVX5kJSbm0tSUhJZWVmuLkWkyvDz86NmzZp4e3u7uhQRERGR01TpkOR0OklISMDDw4OoqCi8vb31022RMmQYBrm5uaSkpJCQkMBFF1101o3cRERERFyhSoek3NxcnE4ntWvXxs/Pz9XliFQJNpsNLy8v9u7dS25uLr6+vq4uSURERKQQ/QgX9JNskXKmv3MiIiJSkek7FRERERERkZMoJImIiIiIiJxEIUmKtHr1aiwWC2lpaa4uxaXWrFlD8+bN8fLyonfv3kUeExEREZHKQSHJzVgslrN+PPbYY+d13yuuuIL777+/VGs9Ye7cuQX1Wa1WatasSf/+/UlMTDzvex45coRrrrmGqKgofHx8qF27NnfffTcZGRmlWLlp3LhxtGrVioSEBObOnVvksQsxdOjQUglbq1evpk2bNvj4+NCwYcNz1rZ69Wp69epFzZo18ff3p1WrVixYsOCC6xARERFxZwpJbiYpKang46WXXiIoKKjQsfHjxxdce2KT3IrgRJ379+/n448/ZufOnfTr1++872e1WunVqxeff/45f/zxB3PnzuWbb77hzjvvLMWqTbt376ZLly5ER0cTEhJS5DFXS0hIoEePHlx55ZVs2rSJ+++/n9tvv53ly5cX+Zwff/yRFi1a8PHHH7NlyxaGDRvG4MGD+fLLL8uxchEREZEKxqjk0tPTDcBIT08/7Zzdbje2bdtm2O12wzAMw+l0Gsdz8lzy4XQ6S/ze5syZYwQHBxd8vmrVKgMwli5darRp08bw8vIyVq1aZQwZMsTo1atXoefed999xuWXX24YhmEMGTLEAAp9JCQkFNzvm2++Mdq2bWvYbDajY8eOxo4dOy6oTsMwjFdeeaXI35fz9fLLLxvR0dElek52drZxzz33GGFhYYaPj49xySWXGBs2bDAMwzASEhJO+7rMmTPnjMdSU1ONW2+91ahRo4bh6+trNGzY0HjnnXcKXicxMdHo16+fERwcbFSrVs3o2bOnkZCQYBiGYTz66KOn3XPVqlUlfv8TJ040mjVrVuhY//79je7du5foPtddd50xbNiwEr9+SZz6d09ERESkPJwtG5ysSu+TdCp7Xj5NHyn6p+5ladsT3fHzLp3fjgcffJDnn3+e+vXrU61atXNe//LLL/PHH39w8cUX88QTTwAQFhbGnj17AJg8eTIvvPACYWFh3HnnnQwfPpw1a9YAsGfPHurVq8eqVau44oorilVfcnIyn3zyCR4eHnh4eBQcv/POO5k/f/5Zn5uZmXnG4wcOHGDJkiVcfvnlxarhhIkTJ/Lxxx8zb9486tSpw7PPPkv37t3ZtWsXtWvXJikpicaNG/PEE0/Qv39/AgMDueaaawodCw4OZsKECWzbto1ly5ZRo0YNdu3ahd1uByAvL4/u3bvTsWNHfvjhBzw9PXnyySe55ppr2LJlC+PHj2f79u1kZGQwZ84cAEJDQwFo1qwZe/fuLbL+zp07s2zZMgDWrl1L165dC53v3r17iadRpqenExsbW6LniIiIiFQmCkmV0BNPPMHVV19d7OuDg4Px9vbGz8+PyMjI085PnTq1IHw8+OCD9OjRg+zsbHx9ffHy8qJx48bn3Iw3PT2dgIAADMMgKysLgHvvvRd/f/9CdZ88XbA4BgwYwGeffYbdbueGG27g7bffLvZzjx8/zowZM5g7dy7XXnstALNmzWLlypXMnj2bCRMmEBkZicViITg4uOBr4+/vf9qxxMREWrduTbt27QCoW7duwet88MEHOJ1O3n77bSwWCwBz5swhJCSE1atX061bN2w2Gzk5Oad9/ZcuXUpeXl6R78FmsxX8+uDBg0RERBQ6HxERQUZGBna7vdC1Rfnwww/ZuHEjb7311jmvFREREamsFJJOYvPyYNsT3V322qXlxDfqpaVFixYFv65ZsyZgjgbFxMRQq1YtduzYcc57BAYG8ssvv5CXl8eyZctYsGABU6dOLXRNeHg44eHhJapt+vTpPProo/zxxx9MmjSJcePG8cYbbxTrubt37yYvL49LLrmk4JiXlxft27dn+/btJapj9OjR9O3bl19++YVu3brRu3dvOnXqBMDmzZvZtWsXgYGBhZ6TnZ3N7t27z3rfOnXqlKiOC7Fq1SqGDRvGrFmzaNasWbm9roiIiEhFo5B0EovFUmpT3lzp5NEZMJscGIZR6NjZRidO5eXlVfDrEyMhTqezRDVZrVYaNmwIQGxsLLt372b06NG89957Bdecz3S7yMhIIiMjadKkCaGhoXTu3JkpU6YUhLnycu2117J3716WLl3KypUrueqqqxgzZgzPP/88mZmZtG3b9oxd48LCws5635JMt4uMjOTQoUOFzh86dIigoKBzjiJ999133HDDDUyfPp3Bgwef9VoRERGRys79E4GcU1hYGL/99luhY5s2bSoUfry9vcnPzy+3mh588EEaNGjA2LFjadOmDXB+0+1OdiK45eTkFOv6Bg0a4O3tzZo1awpGbPLy8ti4ceN5tUMPCwtjyJAhDBkyhM6dOzNhwgSef/552rRpwwcffEB4eDhBQUFnfG5RX/+STLfr2LEjS5cuLXR+5cqVdOzY8ax1r169muuvv55nnnmGUaNGnfVaERERkapAIakK6NKlC8899xzvvvsuHTt2ZP78+fz222+0bt264Jq6deuyfv169uzZQ0BAQEHjgHPZv38/V111Fe+++y7t27cvdk21a9fmxhtv5JFHHiloN12S6XZLly7l0KFDxMXFERAQwO+//86ECRO45JJLCq0HOht/f39Gjx7NhAkTCA0NJSYmhmeffZasrCxGjBhR7PcC8Mgjj9C2bVuaNWtGTk4OX375ZUHzg4EDB/Lcc8/Rq1cvnnjiCaKjo9m7dy9Llixh4sSJREdHU7duXZYvX87OnTupXr06wcHBeHl5lWi63Z133slrr73GxIkTGT58OP/973/58MMP+eqrrwquee211/jkk0/49ttvAXOK3fXXX899991H3759OXjwIGCGtuL+GRARERGpbLRPUhXQvXt3pkyZwsSJE4mLi+PYsWOnTakaP348Hh4eNG3alLCwsGJv9JqXl8fOnTsLmjGUxNixY/nqq6/YsGFDiZ9rs9mYNWsWl156KbGxsYwdO5aePXsW2t9nz549WCwWVq9eXeR9nn76afr27cugQYNo06YNu3btYvny5cXqCngyb29vJk2aRIsWLbjsssvw8PBg0aJFAPj5+fH9998TExNDnz59iI2NZcSIEWRnZxeMLI0cOZLGjRvTrl07wsLCCroHlkS9evX46quvWLlyJS1btuSFF17g7bffpnv3f9fZHT58uNA6qHnz5pGVlcW0adOoWbNmwUefPn1K/PoiIiIilYXFOHWxSiWTkZFBcHAw6enpp011ys7OJiEhgXr16uHr6+uiCqWsrFq1ij59+vDXX3+VOPRI2dLfPREREXGFs2WDk2kkSSqtpUuX8tBDDykgiYiIiEiJaE2SVFrPPfecq0sQERERETekkSQREREREZGTKCSJiIiIiIicRCFJRERERETkJFqTJCIiIiIiZ+d0Qsp2sKeBLQTCYsFaecdbFJJERERERKRoiethw0w4vBMcOeDpAzUaQ/tREBPv6urKROWNfyIiIiIicmES18OKyZC0GXyDIaSO+Zi0xTyeuN7VFZYJhaRK5oorruD+++93dRmV1po1a2jevDleXl707t27yGMiIiIibs/pNEeQ7GkQWh+8A8DqYT6G1gN7OmycZV5XySgkuaGhQ4disVhO+9i1axdLlizhP//5T8G1devW5aWXXirxa6xevbrQvcPCwrjuuuvYunXrBdXes2dPYmJi8PX1pWbNmgwaNIgDBw6c9TnZ2dmMGTOG6tWrExAQQN++fTl06FDB+SNHjnDNNdcQFRWFj48PtWvX5u677yYjI+OCaj2TcePG0apVKxISEpg7d26Rxy7E0KFDyyxsLV68mCZNmuDr60vz5s1ZunTpOZ+zevVq2rRpg4+PDw0bNjztPdatW/eMfx7HjBlTJu9BREREyknKdnOKXWAEWCyFz1ksEBgOKTvM6yoZhSQ3dc0115CUlFToo169eoSGhhIYGFhqr7Nz506SkpJYvnw5OTk59OjRg9zc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xlBV3PueqkGDBnh7e7NmzZqCEZu8vDw2btx4XvtOhYWFMWTIEIYMGULnzp2ZMGECzz//PG3atOGDDz4gPDycoKCgMz63qN+z4k638/T0PGOA7tixI99++22h97Ny5cqzfh07dux4Wpvwop4zZ84cwsPD6dGjR5H3ExERETdltUJEM1dXUW4Ukiq5unXr8v3333PLLbfg4+NT0ECgSZMmTJs2rSDsFIefnx8jR47k0UcfpXfv3lgslhJNt1u/fj0bN27k0ksvpVq1auzevZspU6bQoEGDgm+69+/fz1VXXcW7775L+/btCQ4OZsSIEYwbN47Q0FCCgoK455576NixIx06dADM8HDo0CHi4uIICAjg999/Z8KECVxyySWF1gOdjb+/P6NHj2bChAmEhoYSExPDs88+S1ZWFiNGjCj21wjgkUceoW3btjRr1oycnBy+/PJLYmPNBY0DBw7kueeeo1evXjzxxBNER0ezd+9elixZwsSJE4mOjqZu3bosX76cnTt3Ur16dYKDg/Hy8ir2dLui3HfffVx++eW88MIL9OjRg0WLFvHTTz8xc+bMgmsmTZrE/v37effddwEzBL/22mtMnDiR4cOH89///pcPP/yQr776qtC9nU4nc+bMYciQIXh66p8VERERcW+Vd4xMAHjiiSfYs2cPDRo0KDSda+fOnaSnl7xhxN1338327dtPaxJRHH5+fixZsoSrrrqKxo0bM2LECFq0aMF3332Hj48PYI7e7Ny5k6ysf5thTJ8+neuvv56+ffty2WWXERkZWWhKl81mY9asWVx66aXExsYyduxYevbsWaghxJ49e7BYLKxevbrI+p5++mn69u3LoEGDaNOmDbt27WL58uVUq1atRO/T29ubSZMm0aJFCy677DI8PDwKOgP6+fnx/fffExMTQ58+fYiNjWXEiBFkZ2cXjCyNHDmSxo0b065dO8LCwlizZk2JXr8onTp1YuHChcycOZOWLVvy0Ucf8emnn3LxxRcXXJOUlFSoG2G9evX46quvWLlyJS1btuSFF17g7bffpnv37oXu/c0335CYmMjw4cNLpVYRERERV7IYxqn9/CqXjIwMgoODSU9PP216U3Z2NgkJCdSrVw9fX18XVSjlYdWqVfTp04e//vqrxKFHSp/+7omIiIgrnC0bnEwjSVIlLF26lIceekgBSURERETOSYsHpEp47rnnXF2CiIiIiLgJjSSJiIiIiIicRCNJIiIiIiJyOqezSu2NdDKFJBERERERKSxxPWyYCYd3giMHPH2gRmNoP8rcXLaSqxpRUEREREREiidxPayYDEmbwTcYQuqYj0lbzOOJ611dYZlTSBIREREREZPTaY4g2dMgtD54B4DVw3wMrQf2dNg4y7yuElNIEhERERERU8p2c4pdYARYLIXPWSwQGA4pO8zrKjGFJBERERERMdnT/lmDZDvzeU+bed6eVp5VlTuFJKmw5s6dS0hISImes2fPHiwWC5s2bSqTmkREREQqNVuI2aTBYT/zeYfdPG8LKc+qyp1CkhtKSUlh9OjRxMTE4OPjQ2RkJN27d2fNmjWuLs0tDR06lN69e7u6DBERERHXC4s1u9gdSwbDKHzOMMzjYU3M6yoxtQAvDeXcQ75v377k5uYyb9486tevz6FDh/j22285cuRImb3m+crPz8disWCtIj31RURERNya1Wq2+V4xGVITzDVInjZzBOlYsvm9btzISr9fUuV+d+UhcT0sGQmf3AFf3m8+LhlZZq0R09LS+OGHH3jmmWe48sorqVOnDu3bt2fSpEn07Nmz4DqLxcJbb73F9ddfj5+fH7Gxsaxdu5Zdu3ZxxRVX4O/vT6dOndi9e3eh+3/22We0adMGX19f6tevz+OPP47D4Sg4/+KLL9K8eXP8/f2pXbs2d911F5mZmQXnT0yR+/zzz2natCk+Pj4kJiaSk5PD+PHjqVWrFv7+/sTHx7N69epCrz137lxiYmLw8/PjxhtvLFbo27BhA61bt8bX15d27drx66+/Fjqfn5/PiBEjqFevHjabjcaNG/Pyyy8XnH/ssceYN28en332GRaLBYvFUlDXAw88QKNGjfDz86N+/fpMmTKFvLy8c9YkIiIi4tZi4qHbVKjZArLTIW2v+RjVEro9WSX2SdJI0oU40UPenmZ2ADmRsk/0kO82tdT/EAUEBBAQEMCnn35Khw4d8PHxKfLa//znP7z44ou8+OKLPPDAA9x6663Ur1+fSZMmERMTw/Dhw7n77rtZtmwZAD/88AODBw/mlVdeoXPnzuzevZtRo0YB8OijjwJgtVp55ZVXqFevHn/99Rd33XUXEydO5I033ih43aysLJ555hnefvttqlevTnh4OHfffTfbtm1j0aJFREVF8cknn3DNNdewdetWLrroItavX8+IESOYNm0avXv35uuvvy54zaJkZmZy/fXXc/XVVzN//nwSEhK47777Cl3jdDqJjo5m8eLFVK9enR9//JFRo0ZRs2ZNbr75ZsaPH8/27dvJyMhgzpw5AISGhgIQGBjI3LlziYqKYuvWrYwcOZLAwEAmTpxYwt81ERERETcTEw/RceU6W6pCMSq59PR0AzDS09NPO2e3241t27YZdru95DfOzzeMxcMN45W2hjG/n2EsuPnfj/n9DOOVdobx0QjzulL20UcfGdWqVTN8fX2NTp06GZMmTTI2b95c6BrAePjhhws+X7t2rQEYs2fPLjj2/vvvG76+vgWfX3XVVcZTTz1V6D7vvfeeUbNmzSJrWbx4sVG9evWCz+fMmWMAxqZNmwqO7d271/Dw8DD2799f6LlXXXWVMWnSJMMwDGPAgAHGddddV+h8//79jeDg4CJf+6233jKqV69e6PdvxowZBmD8+uuvRT5vzJgxRt++fQs+HzJkiNGrV68irz/hueeeM9q2bXvO6+TcLujvnoiIiMh5Ols2OJlGks5XSXrIRzQr1Zfu27cvPXr04IcffmDdunUsW7aMZ599lrfffpuhQ4cWXNeiRYuCX0dERADQvHnzQseys7PJyMggKCiIzZs3s2bNGqZOnVpwTX5+PtnZ2WRlZeHn58c333zDtGnT2LFjBxkZGTgcjkLnAby9vQu99tatW8nPz6dRo0aF3kdOTg7Vq1cHYPv27dx4442Fznfs2JGvv/66yK/D9u3badGiBb6+voWec6rXX3+dd955h8TEROx2O7m5ubRq1arI+57wwQcf8Morr7B7924yMzNxOBwEBQWd83kiIiJShZXzWnUpGwpJ56tYPeSTy6yHvK+vL1dffTVXX301U6ZM4fbbb+fRRx8tFJK8vLwKfm35J8id6Zjznx2TMzMzefzxx+nTp88ZX2/Pnj1cf/31jB49mqlTpxIaGsr//vc/RowYQW5ubkFIstlsBfc+cV8PDw9+/vlnPDw8Ct03ICDgAr8SZ7do0SLGjx/PCy+8QMeOHQkMDOS5555j/fqzrxlbu3YtAwcO5PHHH6d79+4EBwezaNEiXnjhhTKtV0RERNxY4nrYMNP8Qbojx2yVXaOx2QihCqzjqUwUks7XyT3kvc/wjX4595Bv2rQpn3766QXdo02bNuzcuZOGDRue8fzPP/+M0+nkhRdeKOhW9+GHH57zvq1btyY/P5/k5GQ6d+58xmtiY2NPCy7r1q07631jY2N57733yM7OLhhNOvU5a9asoVOnTtx1110Fx05tVuHt7U1+fn6hYz/++CN16tRh8uTJBcf27t171npERESkCnPBWnUpOxr7O18u6iF/5MgRunTpwvz589myZQsJCQksXryYZ599ll69el3QvR955BHeffddHn/8cX7//Xe2b9/OokWLePjhhwFo2LAheXl5vPrqq/z111+89957vPnmm+e8b6NGjRg4cCCDBw9myZIlJCQksGHDBqZNm8ZXX30FwL333svXX3/N888/z59//slrr7121ql2ALfeeisWi4WRI0eybds2li5dyvPPP1/omosuuoiffvqJ5cuX88cffzBlyhQ2btxY6Jq6deuyZcsWdu7cyeHDh8nLy+Oiiy4iMTGRRYsWsXv3bl555RU++eSTknw5RUREpKpwOs0RJHsahNY3f4Bu9TAfQ+uBPR02zjKvE7egkHS+TvSQtwWbPeRzM8GZbz6mJpRZD/mAgADi4+OZPn06l112GRdffDFTpkxh5MiRvPbaaxd07+7du/Pll1+yYsUK4uLi6NChA9OnT6dOnToAtGzZkhdffJFnnnmGiy++mAULFjBt2rRi3XvOnDkMHjyY//u//6Nx48b07t2bjRs3EhMTA0CHDh2YNWsWL7/8Mi1btmTFihUF4exsX4svvviCrVu30rp1ayZPnswzzzxT6Jo77riDPn360L9/f+Lj4zly5EihUSWAkSNH0rhxY9q1a0dYWBhr1qyhZ8+ejB07lrvvvptWrVrx448/MmXKlOJ+KUVERKQqKcladXELFsM4dRikcsnIyCA4OJj09PTTFt1nZ2eTkJBAvXr1Ci3+L5EzzT0Na2IGJA2pipxRqfzdExERqSj2rDH3ywypY44gncqZb+41dP1LUPeS8q5OTnK2bHAyrUm6UFW9h7yIiIhIVVfB1qrLhVNIKg1Wa6m3+RYRERERN3FirXrSFgj1Lzzl7sRa9aiWpb5WXcqOhjtERERERC6Ei9aqS9nR75SIiIiIyIWKiTfbfNdsAdnp5hqk7HRzBKnbk1qr7mY03U5EREREpDRorXqloZAEVPIGfyIVjv7OiYhIpaW16pVClY61Xl5eAGRlZbm4EpGq5cTfuRN/B0VEREQqkio9kuTh4UFISAjJyckA+Pn5YTl1AzARKTWGYZCVlUVycjIhISF4eJxhLwkRERERF6vSIQkgMjISoCAoiUjZCwkJKfi7JyIiImXE6dT6qPNU5UOSxWKhZs2ahIeHk5eX5+pyRCo9Ly8vjSCJiIiUtcT1sGEmHN4JjhxzM9sajc1W5eq0d05VPiSd4OHhoW/cRERERMT9Ja6HFZPNEaTACPC0gcNubna7YrLZqlxB6aw03iYiIiIiUlk4neYIkj0NQuuDdwBYPczH0HpgT4eNs8zrpEgKSSIiIiIilUXKdnOKXWAEnNqQzGKBwHBI2WFeJ0VSSBIRERERqSzsaf+sQbKd+bynzTxvTyvPqtyOQpKIiIiISGVhCzGbNDjsZz7vsJvnbSHlWZXbUUgSEREREakswmLNLnbHksEwCp8zDPN4WBPzOimSQpKIiIiISGVhtZptvm3BkJoAuZngzDcfUxPMEaS4kdov6Rz01RERERERqUxi4s023zVbQHY6pO01H6NaQrcn1f67GLRPkoiIiIhIZRMTD9FxZhc7e5o5ghQWqxGkYlJIEhERERGpjKxWiGjm6irckqKkiIiIiIjISRSSRERERERETqKQJCIiIiIichKFJBERERERkZMoJImIiIiISNnIyQRHjqurKDGFJBERERERKX3HD8O862HJSHNDWzeiFuAiIiIiIlK60hLhvRvhyC44utfc0Da0vqurKjaXjyTt37+f2267jerVq2Oz2WjevDk//fRTwXnDMHjkkUeoWbMmNpuNrl278ueff7qwYhERERERKVJmCszuZgak4NowfLlbBSRwcUg6evQol1xyCV5eXixbtoxt27bxwgsvUK1atYJrnn32WV555RXefPNN1q9fj7+/P927dyc7O9uFlYuIiIiIyBn514DYnhDWBPugpdz7zXG2/p3u6qpKxGIYhuGqF3/wwQdZs2YNP/zwwxnPG4ZBVFQU//d//8f48eMBSE9PJyIigrlz53LLLbec8zUyMjIIDg4mPT2doKCgUq1fRERERET+YRhgsZi/djo5mpbKiEU7+SUxjVohNlaNvwJvT9dOZCtuNnBplZ9//jnt2rWjX79+hIeH07p1a2bNmlVwPiEhgYMHD9K1a9eCY8HBwcTHx7N27VpXlCwiIiIiIqfavAgW9gdHLgAHMnLoN/d3fklMI8jXk5duaeXy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\n"
},
"metadata": {}
}
],
"source": [
"# generate some noisy data set\n",
"num = 50\n",
"xmin = 3\n",
"xmax = 20\n",
"# randomly sampled data in x coordinate\n",
"# (maybe your control of the current is kind of bad... :D)\n",
"x = np.random.uniform(xmin, xmax, num)\n",
"R = 3\n",
"offset = 0.2\n",
"# calculate the correponding \"true\" y value\n",
"# and smear it with a gaussian to add \"noise\" and a sytematic error\n",
"\n",
"y_rand = fit_func(x, R=R, offset=offset) + stats.norm.rvs(loc=0.5, scale=5, size=num)\n",
"# this noise is represented by the width (scale)\n",
"# and the sytematic error is represented by the mean (loc)\n",
"\n",
"# you also can provide some first guess for the parameters (p0)\n",
"fit, cov = curve_fit(fit_func, x, y_rand, p0=[1.2, 2.8])\n",
"# returns fit parameters and covariance\n",
"print(\"fit:\", fit)\n",
"print(\"covariance:\", cov)\n",
"# ideally, you want to achieve small values on the off-diagonal,\n",
"# because otherwise your parameters are correlated\n",
"# see further below for a hint how to solve this\n",
"\n",
"plt.figure(figsize=(10, 10))\n",
"xspace = np.linspace(0, xmax)\n",
"plt.plot(\n",
" xspace, fit_func(xspace, R=R, offset=offset),\n",
" label=\"Truth: R={}, offset={}\".format(R, offset)\n",
" )\n",
"line = plt.plot(\n",
" xspace, fit_func(xspace, *fit),\n",
" ls=\"--\",\n",
" label=f\"Fit: R={fit[0]:1.2f}, offset={fit[1]:1.2f}\"\n",
" )\n",
"plt.scatter(x, y_rand, alpha=0.7, label=\"Smeared data\", color=line[0].get_color())\n",
"plt.ylabel(\"y\")\n",
"plt.xlabel(\"x\")\n",
"plt.legend(loc=2)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Cn3_oxU5L7WU"
},
"source": [
"### Exponential function"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"id": "uj1lmlTcMDgw"
},
"outputs": [],
"source": [
"# this function has 2 free parameters (a, b)\n",
"def exponential_fit_func(x, a, b):\n",
" return np.exp(a + b * x)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 613
},
"id": "kr5W7pG7L_x-",
"outputId": "0400cc0d-9dc0-4fc3-d24e-80f9409ab276"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"fit: [1.17807 0.10345822]\n",
"covariance: [[ 3.72193679e-03 -5.57581384e-04]\n",
" [-5.57581384e-04 9.29361014e-05]]\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
""
]
},
"metadata": {},
"execution_count": 10
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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\n"
},
"metadata": {}
}
],
"source": [
"# generate some noisy data set\n",
"num = 20\n",
"xmin = 1\n",
"xmax = 10\n",
"# randomly sampled data in x coordinate\n",
"x = np.random.uniform(xmin, xmax, num)\n",
"a = 1.2\n",
"b = 0.1\n",
"# calculate the correponding \"true\" y value\n",
"# and smear it with a gaussian to add \"noise\"\n",
"y_rand = exponential_fit_func(x, a, b) + stats.norm.rvs(scale=0.5, size=num)\n",
"# this noise is represented by the width (scale)\n",
"\n",
"# you also can provide some first guess for the parameters (p0)\n",
"# now we need three parameters\n",
"fit, cov = curve_fit(exponential_fit_func, x, y_rand, p0=[1., 0.2])\n",
"# returns fit parameters and covariance\n",
"print(\"fit:\", fit)\n",
"print(\"covariance:\", cov)\n",
"# ideally, you want to achieve small values on the off-diagonal,\n",
"# because otherwise your parameters are correlated\n",
"# see further below for a hint how to solve this\n",
"\n",
"plt.figure(figsize=(6, 6))\n",
"xspace = np.linspace(0, xmax)\n",
"plt.plot(\n",
" xspace, exponential_fit_func(xspace, a, b),\n",
" label=f\"Truth: a={a}, b={b}\"\n",
" )\n",
"line = plt.plot(\n",
" xspace, exponential_fit_func(xspace, *fit),\n",
" ls=\"--\",\n",
" label=f\"Fit: a={fit[0]:1.2f}, b={fit[1]:1.2f}\"\n",
" )\n",
"plt.scatter(x, y_rand, alpha=0.7, label=\"Smeared data\", color=line[0].get_color())\n",
"plt.ylabel(\"y\")\n",
"plt.xlabel(\"x\")\n",
"plt.legend(loc=2)\n",
"\n",
"# to show the exp shape, you can use a logarithmic axis\n",
"# plt.yscale(\"log\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "yIFOfW6SJnPY"
},
"source": [
"## statistics functions\n",
"\n",
"Example: poisson and normal distributions\n",
"\n",
"Poisson: $f(k | λ) = λ^k \\cdot \\exp(-λ) / k!$ for k \\in {0, 1,..., ∞}$\n",
"\n",
"Normal: $f(x | \\mu, \\sigma) = 1/\\sqrt(2 \\pi σ) \\exp(- (x-\\mu)^2 / 2σ^2 $"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"id": "7vzVlQbweL13"
},
"outputs": [],
"source": [
"from scipy import stats\n",
"# there are LOTS AND LOTS of statistical distributions implemented in the stats package"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "FrHRW814ePJL",
"outputId": "4976899d-29da-4675-fb99-46240a1f9310"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"0.04076220397836621\n",
"0.17120125670913808\n"
]
}
],
"source": [
"P = stats.poisson(3.2) # generate probability mass function with lambda = 3.2\n",
"\n",
"print(P.pmf(0)) # evaluate PMF for k = 0\n",
"print(P.cdf(1)) # evaluate CDF for k = 1\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 448
},
"id": "zcqqxe07kH1k",
"outputId": "72d0f6bf-3e0f-4944-a773-44d5440f3793"
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[]"
]
},
"metadata": {},
"execution_count": 13
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAGdCAYAAADqsoKGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA0aUlEQVR4nO3dcXRU5Z3/8c9MMBmrydAQk0kwmICsNAYIBBKibrElbaIeWiptgYJQZLHlABKmdSGuEtNuGxRUaqGw9lTtHkQo5ygW1s0ejIqlBIKJWRojVNkoCJkEZJnBsAkwc39/8GN0zASYEHKTm/frnHuaeeaZe793sDOfufe5z7UZhmEIAACgl7ObXQAAAEBXINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABL6Gd2Ad0lEAjo6NGjio2Nlc1mM7scAABwGQzD0KlTp5SSkiK7/eLHYvpMqDl69KhSU1PNLgMAAHTC4cOHdeONN160T58JNbGxsZLOvylxcXEmVwMAAC6Hz+dTampq8Hv8YvpMqLlwyikuLo5QAwBAL3M5Q0cYKAwAACyBUAMAACyBUAMAACyBUAMAACyBUAMAACyBUAMAACyBUAMAACyBUAMAACyhz0y+B1wt/oChqoYTaj7VqsRYh3LS4xVl7777i5m9fQDoKQg1wBUor2tU6dZ6NXpbg23JTodKJmaoMDPZ8tsHgJ6kU6ef1qxZo7S0NDkcDuXm5qqqqqrDvu+9954mT56stLQ02Ww2rVq1ql2fC899eZk/f36wz5133tnu+Z/+9KedKR/oEuV1jZq3viYkUEiSx9uqeetrVF7XaOntA0BPE3Go2bRpk9xut0pKSlRTU6ORI0eqoKBAzc3NYfufPn1agwcP1vLly+VyucL22bt3rxobG4PL9u3bJUk/+MEPQvrNnTs3pN8TTzwRaflAl/AHDJVurZcR5rkLbaVb6+UPhOvR+7cPAD1RxKHmqaee0ty5czV79mxlZGRo3bp1+spXvqLnnnsubP+xY8dqxYoVmjp1qmJiYsL2ueGGG+RyuYLLtm3bNGTIEI0fPz6k31e+8pWQftyYEmapajjR7gjJFxmSGr2tqmo4YcntA0BPFFGoOXPmjKqrq5Wfn//5Cux25efnq7KysksKOnPmjNavX6/777+/3R05X3zxRSUkJCgzM1PFxcU6ffp0h+tpa2uTz+cLWYCu0nyq40DRmX69bfsA0BNFNFD4+PHj8vv9SkpKCmlPSkrS/v37u6SgLVu26OTJk/rxj38c0v6jH/1IN910k1JSUrRv3z4tWbJEBw4c0Msvvxx2PWVlZSotLe2SmoAvS4x1dGm/3rZ9AOiJetzVT3/4wx901113KSUlJaT9gQceCP49fPhwJScna8KECTp48KCGDBnSbj3FxcVyu93Bxz6fT6mpqVevcPQpOenxSnY65PG2hh3XYpPkcp6/vNqK2weAniii008JCQmKiopSU1NTSHtTU1OHg4Aj8fHHH+v111/XP/3TP12yb25uriTpww8/DPt8TEyM4uLiQhagq0TZbSqZmCHpfID4oguPSyZmXLX5YszePgD0RBGFmujoaGVnZ6uioiLYFggEVFFRoby8vCsu5vnnn1diYqLuueeeS/atra2VJCUnMxcHzFGYmay1M0bL5Qw9xeNyOrR2xuirPk+M2dsHgJ4m4tNPbrdbs2bN0pgxY5STk6NVq1appaVFs2fPliTNnDlTAwcOVFlZmaTzA3/r6+uDfx85ckS1tbW6/vrrdfPNNwfXGwgE9Pzzz2vWrFnq1y+0rIMHD2rDhg26++67NWDAAO3bt0+LFy/W17/+dY0YMaLTOw9cqcLMZH0rw2XajL5mbx8AepKIQ82UKVN07NgxLVu2TB6PR1lZWSovLw8OHj506JDs9s8PAB09elSjRo0KPl65cqVWrlyp8ePH66233gq2v/766zp06JDuv//+dtuMjo7W66+/HgxQqampmjx5sh555JFIywe6XJTdprwhA/rs9gGgp7AZhtEnZufy+XxyOp3yer2MrwEAoJeI5Pubu3QDAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABL6FSoWbNmjdLS0uRwOJSbm6uqqqoO+7733nua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\n"
},
"metadata": {}
}
],
"source": [
"# visualization\n",
"P = stats.poisson(5)\n",
"ks = np.arange(15)\n",
"pmf_viz = P.pmf(ks)\n",
"\n",
"plt.plot(ks, pmf_viz, marker=\"o\", lw=0)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 521
},
"id": "SUPf20adsxoe",
"outputId": "1a8d7cc7-c926-43bf-fdb1-6a5b501de75d"
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(array([ 7., 21., 66., 180., 240., 205., 171., 78., 26., 6.]),\n",
" array([-1.48297373, -0.21491058, 1.05315257, 2.32121572, 3.58927887,\n",
" 4.85734201, 6.12540516, 7.39346831, 8.66153146, 9.92959461,\n",
" 11.19765775]),\n",
" )"
]
},
"metadata": {},
"execution_count": 14
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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\n"
},
"metadata": {}
}
],
"source": [
"# another important function: gaussian!\n",
"# func.rvs(parameters) gives you random numbers based on func\n",
"# loc = mean, scale = sigma\n",
"nums = stats.norm.rvs(loc=5, scale=2, size=1000)\n",
"# visualization\n",
"plt.hist(nums)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "JOh28eyXJtFs"
},
"source": [
"## Fit a PDF to random numbers"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 466
},
"id": "9EFC1rIoefQ-",
"outputId": "fe336dc6-e101-4db6-cdcb-0733134d3529"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"fit parameter: (4.784780631122039, 3.0525006842491518)\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
""
]
},
"metadata": {},
"execution_count": 15
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSHElEQVR4nO3dd3wUdf7H8dfsptGSEEoKIL03qTGgiIIUUUFR7Igiegoqop7gedbfHR5yNs5Dz7vDho0TUFBBOgoBBESKgIBAQAhVEgKk7c7vj4WVSApJNvnubt7Px2MfmZ357uQ9mU32kynfr2Xbto2IiIiIH3GYDiAiIiLyeypQRERExO+oQBERERG/owJFRERE/I4KFBEREfE7KlBERETE76hAEREREb+jAkVERET8TojpACXhdrvZt28f1apVw7Is03FERETkPNi2zfHjx0lISMDhKPwYSUAWKPv27aNevXqmY4iIiEgJ7Nmzh7p16xbaJiALlGrVqgGeDYyMjDScRkRERM5Heno69erV836OFyYgC5Qzp3UiIyNVoIiIiASY87k8QxfJioiIiN9RgSIiIiJ+RwWKiIiI+J2AvAZFREQCn8vlIicnx3QM8SGn00lISIhPugBRgSIiIuUuIyODvXv3Ytu26SjiY5UrVyY+Pp6wsLBSrUcFioiIlCuXy8XevXupXLkytWrVUoebQcK2bbKzszl06BA7d+6kadOmRXbGVhgVKCIiUq5ycnKwbZtatWpRqVIl03HEhypVqkRoaCi7d+8mOzubiIiIEq9LF8mKiIgROnISnEpz1CTPenyyFhEREREfUoEiIiJyHnr27Mno0aMLXG5ZFjNnziy3PMFO16CIiIhfaDD2i3L9frteGODT9e3fv5/q1aufV1vLspgxYwaDBg3yaYZgogJFRETEB+Li4kxHyFdOTg6hoaGmYxSbTvGIiIicJ7fbzR//+EdiYmKIi4vjmWee8S47+xRPdnY2o0aNIj4+noiICOrXr8/48eMBaNCgAQDXXnstlmV5nwNMnjyZxo0bExYWRvPmzXnvvffyfP8tW7Zw8cUXExERQatWrZg/f36e77tr1y4sy+Ljjz/m0ksvJSIigqlTp3LkyBFuvvlm6tSpQ+XKlWnbti0ffvhhnnX37NmTBx54gNGjR1O9enViY2N56623OHHiBHfeeSfVqlWjSZMmfPXVVz79mRZEBYqIiMh5euedd6hSpQorV65kwoQJPPfcc8ybN++cdq+99hqff/45n3zyCVu3bmXq1KneQuS7774DYMqUKezfv9/7fMaMGTz00EM88sgjbNy4kXvvvZc777yTRYsWAZ7+YwYNGkTlypVZuXIl//rXv/jTn/6Ub86xY8fy0EMPsXnzZvr27UtmZiadOnXiiy++YOPGjdxzzz3cfvvtrFq16pztq1mzJqtWreKBBx7gvvvu44YbbqBbt26sXbuWPn36cPvtt3Py5Elf/UgLpFM8IhVMeZ/nLy1fXycgUhrt2rXj6aefBqBp06b84x//YMGCBVxxxRV52qWkpNC0aVMuvvhiLMuifv363mW1atUCIDo6Os9poYkTJzJs2DDuv/9+AMaMGcOKFSuYOHEil112GfPmzWPHjh0sXrzY+7q//OUv53xvgNGjR3Pdddflmffoo496px944AHmzp3LJ598QteuXb3z27dvz5NPPgnAuHHjeOGFF6hZsyYjRowA4KmnnmLy5MmsX7+eiy66qJg/veLRERQREZHz1K5duzzP4+PjOXjw4Dnthg0bxrp162jevDkPPvggX3/9dZHr3rx5M927d88zr3v37mzevBmArVu3Uq9evTxFzdnFxdk6d+6c57nL5eL555+nbdu2xMTEULVqVebOnUtKSkqB2+d0OqlRowZt27b1zouNjQXId5t9TQWKiIjIefr9xaaWZeF2u89p17FjR3bu3Mnzzz/PqVOnGDJkCNdff315xaRKlSp5nr/44ou8+uqrPP744yxatIh169bRt29fsrOz87TLb/vOnnemc738ttnXVKCIiIiUgcjISG688UbeeustPv74Yz799FOOHj0KeAoBl8uVp33Lli1ZtmxZnnnLli2jVatWADRv3pw9e/Zw4MAB7/Iz168UZdmyZQwcOJDbbruN9u3b06hRI3766afSbF6Z0zUoIiIiPvbSSy8RHx9Phw4dcDgcTJs2jbi4OKKjowHPnTwLFiyge/fuhIeHU716dR577DGGDBlChw4d6N27N7NmzWL69OnMnz8fgCuuuILGjRtzxx13MGHCBI4fP+69XqSoYQOaNm3K//73P5YvX0716tV56aWXOHDggLf48Uc6giIiIuJj1apVY8KECXTu3JkuXbqwa9cuvvzyS+84NX//+9+ZN28e9erVo0OHDgAM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\n"
},
"metadata": {}
}
],
"source": [
"G = stats.norm # you need the 'un-fixed' function for fitting\n",
"G_frozen = G(loc=5, scale=3) # this is an 'rv_frozen' function, with fixed parameters\n",
"\n",
"rn = G_frozen.rvs(size=1000) # random number generation with 'rvs' function (all stats functions have it)\n",
"h, edges, _ = plt.hist(rn, label=\"histogram\")\n",
"fit = G.fit(rn)\n",
"print(\"fit parameter: \", fit)\n",
"x = np.linspace(-5, 15)\n",
"# we need to normalize the pdf to match the counts\n",
"y = G(*fit).pdf(x) * len(rn) * (edges[1] - edges[0])\n",
"\n",
"plt.plot(x, y, \"--\", label=\"Fit\")\n",
"plt.legend()"
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "gZZs5d3-tIL3"
},
"execution_count": null,
"outputs": []
}
],
"metadata": {
"colab": {
"provenance": [],
"toc_visible": true
},
"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.11.1"
},
"vscode": {
"interpreter": {
"hash": "a2f38b43f7e96e978683948f198706d30b8c6b86af356de5d042472b478625a6"
}
}
},
"nbformat": 4,
"nbformat_minor": 0
}