{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction to global sensitivity analysis with Emukit" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# General imports\n", "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib import colors as mcolors\n", "from matplotlib import cm\n", "\n", "## Figures config\n", "colors = dict(mcolors.BASE_COLORS, **mcolors.CSS4_COLORS)\n", "LEGEND_SIZE = 15\n", "TITLE_SIZE = 25\n", "AXIS_SIZE = 15" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Overview\n", "\n", "Sensitivity analysis is a statistical technique widely used to test the reliability of real systems. Imagine a simulator of taxis picking up customers in a city like the one showed in the Emukit playground. The profit of the taxi company depends on factors like the number of taxis on the road and the price per trip. In this example, a global sensitivity analysis of the simulator could be useful to decompose the variance of the profit in a way that can be assigned to the input variables of the simulator. \n", "\n", "There are different ways of doing a sensitivity analysis of the variables of a simulator. In this notebook we will start with an approach based on Monte Carlo sampling that is useful when evaluating the simulator is cheap. If evaluating the simulator is expensive, emulators can then be used to speed up computations. We will show this in the last part of the notebook. Next, we start with a few formal definitions and literature review so we can understand the basics of Sensitivity Analysis and how it can performed with Emukit." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Navigation\n", "\n", "1. [Global sensitivity analysis with Sobol indexes and decomposition of variance](#1.-Global-sensitivity-analysis-with-Sobol-indexes-and-decomposition-of-variance)\n", "\n", "2. [First order Sobol indices using Monte Carlo](#2.-First-order-Sobol-indices-using-Monte-Carlo)\n", "\n", "3. [Total effects using Monte Carlo](#3.-Total-Effects-using-Monte-Carlo)\n", "\n", "4. [Computing the sensitivity coefficients using the output of a model](#4.-Computing-the-sensitivity-coefficients-using-the-output-of-a-model)\n", "\n", "4. [Conclusions](#4.-Conclusions)\n", "\n", "5. [References](#5.-References)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Global sensitivity analysis with Sobol indexes and decomposition of variance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Any simulator can be viewed as a function \n", "\n", "$$y=f(\\textbf{X})$$ \n", "\n", "where $\\textbf{X}$ is a vector of $d$ uncertain model inputs $X_1,\\dots,X_d$, and $Y$ is some univariate model output. We assume that $f$ is a square integrable function and that the inputs are statistically independent and uniformly distributed within the hypercube $X_i \\in [0,1]$ for $i=1,2,...,d$, although the bounds can be generalized. The so-called Sobol decomposition of $f$ allows us to write it as \n", "\n", "$$Y = f_0 + \\sum_{i=1}^d f_i(X_i) + \\sum_{i**Note**: The previous decomposition is important because it shows how the variance in the output $Y$ can be associated to each input or interaction separately." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example: the Ishigami function\n", "\n", "We illustrate the exact calculation of the Sobol indexes with the three dimensional Ishigami function of [Ishigami & Homma, 1990](https://www.sciencedirect.com/science/article/pii/0951832096000026). This is a well-known example for uncertainty and sensitivity analysis methods because of its strong nonlinearity and peculiar dependence on $x_3$. More details of this function can be found in [Sobol' & Levitan (1999)](https://www.sciencedirect.com/science/article/pii/S0010465598001568).\n", "\n", "Mathematically, the from of the Ishigami function is\n", "\n", "$$f(\\textbf{x}) = \\sin(x_1) + a \\sin^2(x_2) + bx_3^4 \\sin(x_1). $$\n", "\n", "In this notebook we will set the parameters to be $a = 5$ and $b=0.1$ . The input variables are sampled randomly $x_i \\sim Uniform(-\\pi,\\pi)$.\n", "\n", "Next we create the function object and visualize its shape marginally for each one of its three inputs." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from emukit.test_functions.sensitivity import Ishigami ### change this one for the one in the library\n", "\n", "### --- Load the Ishigami function\n", "ishigami = Ishigami(a=5, b=0.1)\n", "target_simulator = ishigami.fidelity1\n", "\n", "### --- Define the input space in which the simulator is defined\n", "variable_domain = (-np.pi,np.pi)\n", "x_grid = np.linspace(*variable_domain,100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before moving to any further analysis, we first plot the non-zero components $f(\\textbf{X})$. These components are \n", "\n", "$$f_1(x_1) = \\sin(x_1)$$\n", "\n", "$$f_2(x_1) = a \\sin^2 (x_2)$$\n", "\n", "$$f_{13}(x_1,x_3) = bx_3^4 \\sin(x_1) $$ " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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sm1br5302mveWqlHD6+FKZKBkkkiIlK1l17yPvQ9e8LEiX4C8cMP8PDD/njMq8itWsG++/rB0kcfwSGHeLe7Ll1g//3hiy/ixSYiUoxCgAsugLPPhoMO8pPWli3r/nwrrugtlAYNgocegsMPh/Ly3MUrUiq++sprIc2f7+UHzj4bmtTjVH+TTfx5mjWD7baDN9/MXaxSNJRMEhGRxb39dkUS6dNPvQj211/DmWfmZ1ey9deHu++G776D88/3BNN668HJJ8PUqbGjExEpfOXlMGCA11Q55hh44AFo3rz+z9u0KVx4oddnefRRPwkWkRAMfSAAACAASURBVOz9+qu32i4v925pW2+dm+ft0sXrVS6zDOy4o19gFEmjZJKIiFSYNs27im2+OXzySUUS6dRTvSVQvlthBbj0UvjyS+828c9/el2nK6/05toiIlI3550HN98Mp53mxX1z3bX5tNO869x113k9JhGp2dy5sNde8O23MGaMj56bS6uv7gmlVVbxEgfvvJPb55eCpmSSiIj41ax77vGDkCFDPHn0+eeFk0SqrGNHr+304YfePPu882DjjX00OBERqZ0nn4Srr/bCvtdf3zBdnM38Akbv3t6qtKws9+sQKSbl5V64/tVX4b77oHv3hllPp07w4otekPvAA2HWrIZZjxQcJZNERErdF1/ANtt4t4WuXf2q0w03eBHGQte1q1+pGzcO5s2Dbbf1k5Q5c2JHJiJSGCZP9lpGG20EN93UsLXymjXz0Tr/8hc/aX377YZbl0ihu+AC31+uusr3l4a0/PJeL/Prr+Hvf/f6aVLylEwSESlVIcCdd3qRxU8/9ataL7/sJwzFZpddvEj3ySfDbbfBBht40VcREanawoXQr593pXnkkfoV287WkkvC2LFen69vX5gxo+HXKVJoRo70LvzHHQdnndU46+zRw4vlP/ywD3giJU/JJBGRUvTTT7Dnnn51qXt37w52+OFxR2draEst5VfVX3nFu+716gX/+IePfCIiIou79FK/yPDPf8K66zbeeldc0U+Wp0xpvBNlkUIxbRqceCJsuincemvjHrudc44X4z75ZPj448Zbr+QlJZNERErNE0/AhhvCc895cuXpp70/fKno3h3efRf694fBg73r27ffxo5KRCS/vPCCJ5OOPBIOO6zx19+tmyf8hwzxWETEnX66J5TuvTc3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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABGoAAAEeCAYAAADSPPN2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeXRc9X0//PdsGs2q1drlRV7AOAbHxdBmIZCNljSQpGkDSXEIcUsW5+HkaUv9a9IszfJL+uQ8OSfh1zZN0oQ2h5CQtoHDIWmhAVIItQnQh0AsYfAmr7IsabY7212eP9x7uTOa9c6du8y8X+foWBpJc7+WQJ5567N4FEUBERERERERERHZz2v3AYiIiIiIiIiI6AIGNUREREREREREDsGghoiIiIiIiIjIIRjUEBERERERERE5BIMaIiIiIiIiIiKHYFBDREREREREROQQ/jrv5+5uIiIiIiIiIiJzeaq9gxU1REREREREREQOwaCGiIiIiIiIiMghGNQQERERERERETkEgxoiIiIiIiIiIodgUENERERERERE5BAMaoiIiIiIiIiIHIJBDRERERERERGRQzCoISIiIiIiIiJyCAY1REREREREREQOwaCGiIiIiIiIiMghGNQQERERERERETkEgxoiIiIiIiIiIodgUENERERERERE5BAMaoiIiIiIiIiIHIJBDRERERERERGRQzCoISIiIiIiIiJyCL/dByAiInIrRVG0F1mWkc/n4fV64fF44PF44PVe+H2I+rbH4yl5W32diIiIiEjFoIaIiKiO8kBGlmXtbT1RFFd9Xr0gRh/i6F/UkEcf/JR/vPo2EREREXUOBjVERET/Qw1e1CBGH8roVaqMURRFC1WavZ56zfLbawU96vv0Z6hUzaM/U63KHiIiIiJyBgY1RETUlRqtkikPN8ykv08j968/q6IokCRp1e3q2+X3f/bsWfT39yMYDK6q5KlU2cP2LSIiIiJrMKghIqKOVh7I6P/U01eluEUrQU8ikUA0GkUoFAKAVV8jVavtW+W3lX+8kbMTERERdTIGNURE1BH07UJq2CBJEpLJJLLZLEZGRgBUblsyi5sCB32ljP7PZlVq3zIz6FHPWinkYdBDREREnYhBDRERuU4zbUvFYhErKysYGxuz5FxuCQ08Hk/JXJxW7qfS641q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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(20, 5))\n", "plt.clf()\n", "\n", "plt.subplot(1,2,1)\n", "plt.plot(x_grid,ishigami.f1(x_grid),'-r')\n", "plt.xlabel('X1', fontsize=AXIS_SIZE)\n", "plt.ylabel('f1', fontsize=AXIS_SIZE)\n", "\n", "plt.subplot(1,2,2)\n", "plt.plot(x_grid,ishigami.f2(x_grid),'-r')\n", "plt.xlabel('X2', fontsize=AXIS_SIZE)\n", "plt.ylabel('f2', fontsize=AXIS_SIZE)\n", "\n", "plt.suptitle('Non-zero Sobol components of the Ishigami function', fontsize=TITLE_SIZE)\n", "\n", "X, Y = np.meshgrid(x_grid, x_grid)\n", "Z = ishigami.f13(np.array([x_grid,x_grid]).T)[:,None]\n", "\n", "from mpl_toolkits.mplot3d import Axes3D\n", "fig = plt.figure(figsize=(20, 5))\n", "ax = fig.add_subplot(111, projection='3d')\n", "surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm, linewidth=0, antialiased=False)\n", "ax.set_xlabel('X1', fontsize=AXIS_SIZE)\n", "ax.set_ylabel('X3', fontsize=AXIS_SIZE)\n", "ax.set_zlabel('f13', fontsize=AXIS_SIZE);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The total variance $Var(Y)$ in this example is" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10.844587940719254" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ishigami.variance_total" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "which is the sum of the variance of $V_1$, $V_2$ and $V_{13}$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(4.345888023894163, 3.125, 3.373699916825092)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ishigami.variance_x1, ishigami.variance_x2, ishigami.variance_x13" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "as we can easily show:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10.844587940719254" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ishigami.variance_x1 + ishigami.variance_x2 + ishigami.variance_x13" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. First order Sobol indices using Monte Carlo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first order Sobol indexes are a measure of \"first order sensitivity\" of each input variable. They account for the proportion of variance of $Y$ explained by changing each variable alone while marginalizing over the rest. The Sobol index of the $ith$ variable is simply computed as \n", "\n", "$$S_i = \\frac{V_i}{\\operatorname{Var}(Y)}.$$\n", "\n", "This value is standardized using the total variance so it is possible to account for a fractional contribution of each variable to the total variance of the output.\n", "\n", "The Sobol indexes for higher order interactions $S_{ij}$ are computed similarly. Note that the sum of all Solbol indexes equals to one.\n", "\n", "In most cases we are interested in the first order indexes. In the Ishigami function their values are:|" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'x1': 0.4007425683345906, 'x2': 0.28816217057600235, 'x3': 0.0}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ishigami.main_effects" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The most standard way of computing the Sobol indexes is using Monte Carlo. For the interested reader, the paper [Sobol, 2001](https://www.sciencedirect.com/science/article/abs/pii/S0378475400002706) contains the detail of how they can be computed. \n", "\n", "With Emukit, the first-order Sobol indexes can be easily computed. We first need to define the space where of target simulator is analyzed." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "from emukit.core import ContinuousParameter, ParameterSpace\n", "\n", "target_simulator = ishigami.fidelity1\n", "variable_domain = (-np.pi,np.pi)\n", "\n", "space = ParameterSpace([ContinuousParameter('x1', variable_domain[0], variable_domain[1]), \n", " ContinuousParameter('x2', variable_domain[0], variable_domain[1]),\n", " ContinuousParameter('x3', variable_domain[0], variable_domain[1])])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compute the indexes is as easy as doing" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'x1': 0.4046972807643724,\n", " 'x2': 0.3009852695451654,\n", " 'x3': -0.0023884465643922046}" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from emukit.sensitivity.monte_carlo import ModelFreeMonteCarloSensitivity\n", "np.random.seed(10) # for reproducibility\n", "\n", "num_mc = 10000 # Number of MC samples\n", "senstivity_ishigami = ModelFreeMonteCarloSensitivity(target_simulator, space)\n", "main_effects, total_effects, _ = senstivity_ishigami.compute_effects(num_monte_carlo_points = num_mc)\n", "main_effects" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We compare the true effects with the Monte Carlo effects in a bar-plot. The total effects are discussed later." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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/KdhEZqZmZnZCukzn/kMN92UFuKbNGkSBx988JKy1157jf32249hw4ax00478fjjjwNw5plncvjhhzNy5Eg23XRTLrroIgBOOeUUnn32WYYPH85JJ50EwPjx49lhhx0YNmwY48aNW+b8zz77LA899BDnnHMO3bqltHbgwIHsvffeAOy3335sv/32DBkyhAkTJiypt+aaa3LiiSfykY98hAceWHpm60mTJjF06FC22WYbTj755Lq8TkW7lBAR70fEzyPiSxGxR0SMjoifRcSCukRiZmZmZp3K6NGjmTx5MvPnz+fxxx9nxx13XFI2btw4tt12Wx5//HHOO+88vvKVrywpe/rpp7n11lt5+OGH+d73vscHH3zA+eefz2abbca0adMYP348t912G8888wwPP/ww06ZN45FHHuHee+9d6vzTp09n+PDhdO/evWJ8EydO5JFHHmHq1KlcdNFFzJs3D4B33nmHHXfckccee4xddtllyf7//Oc/Ofnkk7nrrruYNm0aU6ZM4Q9/+MNyv05F5+HeXdJhVcoOk/TJ5Y7EzMzMzDqVYcOGMXv2bCZNmsRnPvOZpcruu+8+Dj30UAB222035s2bx1tvvQXA3nvvTc+ePenTpw/rrbce//73svNv3Hbbbdx2221su+22bLfddjz99NM888wzrYrvoosu4iMf+Qg77bQTc+bMWVK/e/fu7L///svsP2XKFEaOHEnfvn3p0aMHX/7yl5dJ8tuiaB/uc4Hrq5T1Ic3NvfNyR2NmZmZmnco+++zDt771Le6+++4lLcgt6dmz55L73bt3Z+HChcvsExGceuqpHHnkkVWPM2TIEB577DEWLVq0TCv33XffzR133MEDDzzA6quvzsiRI5k/fz4AvXr1qtoq3ghFu5QMAaoN3XwU2Lo+4ZiZmZlZZ3L44Yczbtw4hg4dutT2j3/841x99dVASn779OnD2muvXfU4a621Fv/5T/OwwD333JOJEyfy9ttvA/Diiy/y8ssvL1Vns802o6mpiXHjxhERAMyePZubbrqJN998k3XXXZfVV1+dp59+mgcffLDF5zJixAjuueceXn31VRYtWsSkSZPYddddi70QNRRt4V4IfLhKWe/ljsLMzMzMOqV+/fpx/PHHL7O9NDhy2LBhrL766lx55ZU1j9O7d28+9rGPsc022/DpT3+a8ePH89RTT7Hz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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "\n", "d = {'Sobol True': ishigami.main_effects,\n", " 'Monte Carlo': main_effects}\n", "\n", "pd.DataFrame(d).plot(kind='bar',figsize=(12, 5))\n", "plt.title('First-order Sobol indexes - Ishigami', fontsize=TITLE_SIZE)\n", "plt.ylabel('% of explained output variance',fontsize=AXIS_SIZE);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Total Effects using Monte Carlo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Computing high order sensitivity indexes can be computationally very demanding in high dimensional scenarios and measuring the total influence of each variable on the variance of the output is infeasible. To solve this issue the *total* indexes are used which account for the contribution to the output variance of $X_i$ including all variance caused by the variable alone and all its interactions of any order. The total effect for $X_i$ is given by:\n", "\n", "$$ S_{Ti} = \\frac{E_{\\textbf{X}_{- i}} \\left(\\operatorname{Var}_{X_i} (Y \\mid \\mathbf{X}_{- i}) \\right)}{\\operatorname{Var}(Y)} = 1 - \\frac{\\operatorname{Var}_{\\textbf{X}_{-i}} \\left(E_{X_i} (Y \\mid \\mathbf{X}_{- i}) \\right)}{\\operatorname{Var}(Y)}$$\n", "\n", "Note that the sum of $S_{Ti}$ is not necessarily one in this case unless the model is additive. In the Ishigami example the value of the total effects is" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'x1': 0.7118378294239976, 'x2': 0.28816217057600235, 'x3': 0.3110952610894071}" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ishigami.total_effects" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As in the previous example, the total effects can be computed with Monte Carlo. In the next plot we show the comparison with the true total effects." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Effects value')" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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YYcdxtixY9l7772ZM2cOAKeffjrHHnsskyZNYrvttuPss88GYMqUKTz44IOMGzeOr33tawBMmzaNPffck7FjxzJ16tRVjv/ggw9y22238d3vfpf11ivi6+jRozn44OIGcocddhh77LEHu+66K9OnT1++3bBhw/jqV7/K7rvvzi23rDxS80UXXcSYMWPYbbfdOPnkkyu/R4ZqSZIkdemII47g4osvZsmSJcyZM4e99tpr+bqpU6cyfvx45syZw/e//30+9alPLV933333cdVVV3H77bfz7W9/m9dff50zzzyT7bffntmzZzNt2jSuvvpqHnjgAW6//XZmz57NrFmz+O///u+Vjn/33Xczbtw4BgwY0Gl95513HrNmzWLmzJmcffbZLF68GICXX36ZvfbaizvuuIN3v/vdy9s//vjjnHzyyVx//fXMnj2bGTNmcNlll1V6jwzVkiRJ6tLYsWOZP38+F110EQcddNBK626++WaOPvpoAPbdd18WL17MCy+8AMDBBx/M4MGDGT58OJtvvjl/+9vfVtn31VdfzdVXX8348eN5+9vfzn333ccDDzzQrfrOPvtsdt99d/bee28WLFiwfPsBAwbwkY98ZJX2M2bMYNKkSYwYMYKBAwfyyU9+cpUg3132qZYkSdJqHXLIIfzjP/4jN9544/IzwaszePDg5c8HDBhAW1vbKm0yk1NOOYXjjz++7n523XVX7rjjDt54441VzlbfeOONXHvttdxyyy0MHTqUSZMmsWTJEgCGDBlS9+x2s3mmWpIkSat17LHHMnXqVMaMGbPS8n322Ydf//rXQBFwhw8fzsYbb1x3PxtttBEvvvji8vkPfOADnHfeebz00ksAPPbYYzz11FMrbbP99tszYcIEpk6dSvsNt+fPn88VV1zB888/z6abbsrQoUO57777uPXWW1f7WiZOnMhNN93E008/zRtvvMFFF13Ee97znsbeiDo8U63e1+wrmfuSBq6qliSpPxg5ciQnnXTSKsvbL0gcO3YsQ4cO5YILLuhyP5ttthnvete72G233TjwwAOZNm0a9957L+94xzuA4uLCCy+8kM0333yl7X7xi1/w1a9+lR122IENNtiA4cOHM23aNMaOHcu5557LzjvvzFvf+lb23nvv1b6Wt7zlLZx55pm8973vJTM5+OCDOfTQQ7vxbqwq2tN+fzZhwoTs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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "d = {'Sobol True': ishigami.total_effects,\n", " 'Monte Carlo': total_effects}\n", "\n", "pd.DataFrame(d).plot(kind='bar',figsize=(12, 5))\n", "plt.title('Total effects - Ishigami', fontsize=TITLE_SIZE)\n", "plt.ylabel('Effects value',fontsize=AXIS_SIZE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Computing the sensitivity coefficients using the output of a model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the example used above the Ishigami function is very cheap to evaluate. However, in most real scenarios the functions of interest are expensive and we need to limit ourselves to a few number of evaluations. Using Monte Carlo methods is infeasible in these scenarios as a large number of samples are typically required to provide good estimates of the Sobol coefficients.\n", "\n", "An alternative in these cases is to use Gaussaian process emulator of the function of interest trained on a few inputs and outputs. If the model is properly trained, its mean prediction which is cheap to evaluate, can be used to compute the Monte Carlo estimates of the Sobol coefficients. Let's see how we can do this in Emukit.\n", "\n", "\n", "We start by generating 100 samples in the input domain. Note that this a just 1% of the number of samples that we used to compute the Sobol coefficients using Monte Carlo." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "from emukit.core.initial_designs import RandomDesign\n", "desing = RandomDesign(space)\n", "X = desing.get_samples(500)\n", "Y = ishigami.fidelity1(X)[:,None]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we fit a standard Gaussian process to the samples and we wrap it as an Emukit model." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization restart 1/1, f = -642.6605701789213\n" ] } ], "source": [ "from GPy.models import GPRegression\n", "from emukit.model_wrappers import GPyModelWrapper\n", "from emukit.sensitivity.monte_carlo import MonteCarloSensitivity\n", "\n", "model_gpy = GPRegression(X,Y)\n", "model_emukit = GPyModelWrapper(model_gpy)\n", "model_emukit.optimize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The final step is to compute the coefficients using the class `ModelBasedMonteCarloSensitivity` which directly calls the model and uses its predictive mean to compute the Monte Carlo estimates of the Sobol indices. We plot the true estimates, those computed using 10000 direct evaluations of the objecte using Monte Carlo and those computed using a Gaussian process model trained on 100 evaluations." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "senstivity_ishigami_gpbased = MonteCarloSensitivity(model = model_emukit, input_domain = space)\n", "main_effects_gp, total_effects_gp, _ = senstivity_ishigami_gpbased.compute_effects(num_monte_carlo_points = num_mc)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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Qr9+/fjHP/7B/fffX3n7t99+u6OhLnSVWqoz8wVgU+DLwOPAnyiS6SOBD2Xmv7stQkmSJHXaxz/+ca65pphI7pJLLmGPPfaYU/b888+z8847M3r0aDbddFPuvvtuAI477jj2228/xo8fz+qrr85ZZ50FwJFHHsljjz3GmDFjOPzwwwE47bTT2HjjjRk9ejTHHnvsfMd/7LHHuP322znhhBPo169IPUeMGMEOO+wAwM4778xGG23EyJEjmThx4pztlllmGQ477DDWX399br113pGbL7nkEkaNGsV6663HEUcc0aqnqkuqdv8gM9/MzJ9l5p6ZuV1m7p6ZP8nMN7ozQEmSJHXe7rvvzqRJk5g1axZ33303m2yyyZyyY489lg022IC7776bk046ic9//vNzyh588EH+8Ic/cMcdd/Cd73yHt956i5NPPpk11liDO++8k9NOO43rrruORx55hDvuuIM777yTqVOncvPNN89z/Pvuu48xY8bQv3//hvGdf/75TJ06lSlTpnDWWWcxc+ZMAF599VU22WQT7rrrLrbYYos59f/5z39yxBFHcMMNN3DnnXcyefJkrrzyylY+ZZ1SdZzqbSJinyZl+0TEh1salSRJklpi9OjRTJs2jUsuuYSPf/zj85Tdcsst7L333gBsvfXWzJw5k5dffhmAHXbYgUGDBjFkyBBWXHFFnnlm/nEprrvuOq677jo22GADNtxwQx588EEeeeSRDsV31llnsf7667Ppppvy5JNPztm+f//+7LLLLvPVnzx5MuPHj2fo0KEMGDCAvfbaa75EvidU7VN9InBFk7IhFGNXb9aSiCRJktRSO+64I1//+te58cYb57QEL8igQYPmLPfv35/Zs2fPVycz+eY3v8kBBxzQdD8jR47krrvu4u23356vtfrGG2/kT3/6E7feeitLLbUU48ePZ9asWQAMHjy4aet2b1S1+8dIoNnlln8D1m1NOJIkSWq1/fbbj2OPPZZRo0bNs37LLbfk4osvBooEd8iQISy33HJN97Psssvy73/PvZRu++235/zzz+eVV14B4KmnnuLZZ5+dZ5s11liDsWPHcuyxx5KZAEybNo1rrrmGl156iXe/+90stdRSPPjgg9x2220LfCzjxo3jpptuYsaMGbz99ttccsklbLXVVtWeiG5UtaV6NvCeJmUrtCgWSZIkdYNhw4Zx6KGHzre+dkHi6NGjWWqppbjwwgvb3c8KK6zAhz70IdZbbz0+9rGPcdppp/HAAw+w2WZFh4VlllmGiy66iBVXnHdewJ/+9KccdthhfOADH2DJJZdkyJAhnHbaaYwePZrzzjuPddZZh7XWWotNN910gY9l5ZVX5uSTT+bDH/4wmckOO+zATjvt1IFno3tE7RtDu5Ui/htYCdgiM9+sW78E8Bfguczs3ICHLTB27NjszeMWdtXwI6/p6RDmM23wnj0dwnxGjVi1p0OYzz0T7unpECRJPeSBBx5gnXXW6ekw1AWNXsOImJqZY9vWrdpS/dxprWIAAB+ISURBVG3gFuDRiLgUeBpYGfgssDzwhS5FLEmSJPVhlZLqzLw7IjYGjgP2pujyMZNiQpjvZObD3RahJEmS1MtVbakmMx8C9lhgRUmSJGkxU3nyF0mSJEmNVW6pjojPAJ8GhgGD25Zn5rgWxiVJkiT1GZWS6og4DjgGuAu4H3iz3Q0kSZKkxUjV7h9fAE7OzA0yc6/M3LftrTuDlCRJUsc988wz7Lnnnqy++upstNFGbLbZZlxxRTFJ9o033sjyyy/PmDFjWGeddfjOd74z3/bTpk0jIjjqqKPmrJsxYwYDBw7k4IMP7lRM06ZN41e/+lWHt/vXv/7F7rvvzhprrMFGG23Exz/+cR5+uGNjZQwfPpwZM2Z0+NhVVO3+sSzFSB+SJEnqhFEXjlpwpQ5Y0FwImcnOO+/MhAkT5iSxjz/+OFddddWcOltuuSVXX301r776KmPGjOGTn/wkG2644Tz7GTFiBNdccw0nnHACAJdffjkjR47sdNy1pHrPPavPeZGZfOpTn2LChAlMmjQJgLvuuotnnnmGNddcs9L2VeZm6YqqLdWTgI92ZyCSJElqnRtuuIEllliCL33pS3PWrbbaahxyyCHz1V166aXZaKONePTRR+crW2qppVhnnXWoTbR36aWX8tnPfnZO+bRp09h6660ZPXo022yzDU888QQA++yzD4ceeiibb745q6++Or/+9a8BOPLII/nLX/7CmDFjOOOMM3j77bc5/PDD2XjjjRk9ejQ//vGP54vhz3/+MwMHDpznsay//vpsueWWvPLKK2yzzTZsuOGGjBo1it/97ndz4lprrbX4/Oc/z3rrrceTTz45zz5PP/101ltvPdZbbz3OPPPMys9rM1Vbqq8HTomIIcAfgRfbVsjMa7scjSRJklrivvvum6/VuZmZM2dy2223cfTRRzcs33333Zk0aRIrrbQS/fv3533vex///Oc/ATjkkEOYMGECEyZM4Pzzz+fQQw/lyiuvBODpp5/mlltu4cEHH2THHXfkM5/5DCeffDLf//73ufrqqwGYOHEiyy+/PJMnT+aNN97gQx/6ENtttx0jRoyYc/x7772XjTbaqGFsgwcP5oorrmC55ZZjxowZbLrppuy4444APPLII1x44YXzTX8+depULrjgAm6//XYyk0022YStttqKDTbYoNLz1UjVpPrS8u9wYEKD8gT6dzoKSZIkdasvf/nL3HLLLSyxxBJMnjwZgL/85S9ssMEG9OvXjyOPPLJpt46PfvSjHH300ay00krstttu85Tdeuut/Pa3vwVg77335hvf+Macsp133pl+/fqx7rrr8swzzzTc93XXXcfdd989pyX7pZde4pFHHpknqW5PZvKtb32Lm2++mX79+vHUU0/NOdZqq602X0INcMstt/CpT32KpZdeGoBPf/rTc56LzqqaVFd7VJIkSeoVRo4cyW9+85s598855xxmzJjB2LFj56yr9alekCWWWIKNNtqIH/zgB9x///3z9Mtuz6BBg+YsN+vTnJmcffbZbL/99k33M3LkyDlJd1sXX3wxzz33HFOnTmXgwIEMHz6cWbNmAcxJmheGSn2qM/PxBd26O1BJkiRVt/XWWzNr1izOPffcOetee+21Tu/vsMMO45RTTuE973nPPOs333zzORcPXnzxxWy55Zbt7mfZZZfl3//+95z722+/Peeeey5vvfUWAA8//DCvvvrqfI/ljTfeYOLEiXPW3X333fzlL3/hpZdeYsUVV2TgwIH8+c9/5vHHF5yWbrnlllx55ZW89tprvPrqq1xxxRULjHtBKk/+AhARA4BVaTz5y/1dikSSJEktExFceeWVfO1rX+PUU09l6NChLL300pxyyimd2t/IkSMbdg85++yz2XfffTnttNMYOnQoF1xwQbv7GT16NP3792f99ddnn3324Stf+QrTpk1jww03JDMZOnTonD7Z9Y/liiuu4Ktf/SqnnHIKgwcPZvjw4Zx55pnstddefPKTn2TUqFGMHTuWtddee4GPZcMNN2SfffZh3Lhi7sIvfvGLXer6ARBVhheJiIHAWRT9qQc1qpOZPdan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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "main_effects_gp = {ivar: main_effects_gp[ivar][0] for ivar in main_effects_gp}\n", "\n", "d = {'Sobol True': ishigami.main_effects,\n", " 'Monte Carlo': main_effects,\n", " 'GP Monte Carlo':main_effects_gp}\n", "\n", "pd.DataFrame(d).plot(kind='bar',figsize=(12, 5))\n", "plt.title('First-order Sobol indexes - Ishigami', fontsize=TITLE_SIZE)\n", "plt.ylabel('% of explained output variance',fontsize=AXIS_SIZE);" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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Bl/v5cVWWXHFFbnvvvt44403WH755bn++utZe+1W54iopCmp/spXvtKu8774xS8ybNgwHn30Ufr06cM///lPHnjggcWfWHrnnVZvsetRKvVUZ+aLwDYUY5yfBP5CkUwfA3wwM1/ttAglSZK0xPbYYw+uvrpYSO6iiy7i05/+dHPZCy+8wD777MPIkSPZZpttuOeeewA44YQTOOSQQxg/fjzrr78+Z555JgDHHHMMjz/+OKNGjeKoo44C4LTTTmOrrbZi5MiRHH/88Yu0//jjj3PnnXdy0kkn0adPkXoOGzaMPfcsFpLbZ599GDNmDMOHD2fixInN56200kp885vfZIsttuD22989Iviiiy5ixIgRbL755hx99NGNeqs6pPI81Zn5Vmb+OjM/k5m7ZuYBmflfmflmZwYoSZKkJXfAAQcwadIk5s2bxz333MPWW2/dXHb88cczevRo7rnnHn784x/z+c9/vrnsoYce4tprr+Wuu+7iBz/4AW+//TYnn3wyG2ywAdOmTeO0007juuuu49FHH+Wuu+5i2rRpTJ06lb/+9a/vav/+++9n1KhR9O3bt9X4zjvvPKZOncqUKVM488wzmTNnDgCvv/46W2+9NXfffTfbb799c/1//etfHH300dx4441MmzaNyZMnc8UVVzTyLVsiVeep3jkiDqpTdlBEfKi1MkmSJHWvkSNHMn36dC666CL22GOPd5XddtttfO5znwNgp512Ys6cObzyyisA7LnnngwYMIBBgwax+uqr89xzi85Lcd1113HdddcxevRottxySx566CEeffTRdsV35plnssUWW7DNNtswY8aM5vP79u3Lfvvtt0j9yZMnM378eAYPHsxyyy3HgQceuEgi3x2qjqn+EXB5nbJBFHNXV11VUZIkSV1or7324lvf+hY333xzc0/w4gwYMKD5ed++fZk/f/4idTKT73znOxx22GF1rzN8+HDuvvtu3nnnnUV6q2+++Wb+8pe/cPvtt7PCCiswfvx45s2bB8DAgQPr9m73RFWHfwwH6t1u+Q9gs8aEI0mSpEY75JBDOP744xkxYsS7ju+www5ceOGFQJHgDho0iFVWWaXudVZeeWVefXXhrXS77bYb5513Hq+99hoATz/9NM8///y7ztlggw0YO3Ysxx9/PE0Tu02fPp2rr76al19+mfe+972ssMIKPPTQQ9xxxx2LfS3jxo3jlltuYfbs2bzzzjtcdNFF7LjjjtXeiE5Utad6PvC+OmWrNSgWSZIkdYIhQ4Zw5JFHLnK86YbEkSNHssIKK3DBBRe0eZ3VVluND37wg2y++eZ85CMf4bTTTuPBBx9k222LAQsrrbQSv/vd71h99XevC/irX/2Kb37zm3zgAx9g+eWXZ9CgQZx22mmMHDmSc889l0033ZSNN96YbbbZZrGvZc011+Tkk0/mQx/6EJnJnnvuyd57792Od6NzRJWpoCPif4D3A9tn5ls1x/sDtwKzMnPJJjxsgLFjx2ZPnrewo4Yec3V3h7CI6Sfv2d0hLGLEBSMWX6mL3Tvh3u4OQZLUTR588EE23XTT7g5DHdDaZxgRUzNzbMu6VXuqvwfcBjwWERcDzwBrAp8EVgW+0KGIJUmSpF6sUlKdmfdExFbACcDnKIZ8zKFYEOYHmflIp0WonqnRE9g3wrB1uzsCSZK0jKraU01mPgx8erEVJUmSpGVM5cVfJEmSJLWuck91RHwC+DgwBBjYsjwzxzUwLkmSJKnXqJRUR8QJwHHA3cADwFttniBJkiQtQ6oO//gCcHJmjs7MAzPz4JZbZwYpSZKk9nvuuef4zGc+w/rrr8+YMWPYdtttufzyYpHsm2++mVVXXZVRo0ax6aab8oMf/GCR86dPn05E8P3vf7/52OzZs+nXrx+HH374EsU0ffp0fv/737f7vGeffZYDDjiADTbYgDFjxrDHHnvwyCPtmytj6NChzJ49u91tV1F1+MfKFDN9SJIkaQk0ej2Fxa2FkJnss88+TJgwoTmJffLJJ7nyyiub6+ywww5cddVVvP7664waNYqPfexjbLnllu+6zrBhw7j66qs56aSTALj00ksZPnz4EsfdlFR/5jOfqXxOZrLvvvsyYcIEJk2aBMDdd9/Nc889x0YbbVTp/Cprs3RE1Z7qScDunRmIJEmSGufGG2+kf//+fOlLX2o+tt5663HEEUcsUnfFFVdkzJgxPPbYY4uUrbDCCmy66aY0LbR38cUX88lPfrK5fPr06ey0006MHDmSnXfemaeeegqAgw46iCOPPJLtttuO9ddfnz/84Q8AHHPMMdx6662MGjWK008/nXfeeYejjjqKrbbaipEjR/LLX/5ykRhuuukm+vXr967XssUWW7DDDjvw2muvsfPOO7PlllsyYsQI/vSnPzXHtfHGG/P5z3+ezTffnBkzZrzrmj/72c/YfPPN2XzzzTnjjDMqv6/1VO2pvgE4JSIGAdcDL7WskJnXdDgaSZIkNcT999+/SK9zPXPmzOGOO+7g2GOPbbX8gAMOYNKkSbz//e+nb9++rLXWWvzrX/8C4IgjjmDChAlMmDCB8847jyOPPJIrrrgCgGeeeYbbbruNhx56iL322otPfOITnHzyyfzkJz/hqquuAmDixImsuuqqTJ48mTfffJMPfvCD7LrrrgwbNqy5/fvuu48xY8a0GtvAgQO5/PLLWWWVVZg9ezbbbLMNe+21FwCPPvooF1xwwSLLn0+dOpXzzz+fO++8k8xk6623Zscdd2T06NGV3q/WVE2qLy4fhwITWilPoO8SRyFJkqRO9dWvfpXbbruN/v37M3nyZABuvfVWRo8eTZ8+fTjmmGPqDuvYfffdOfbYY3n/+9/Ppz71qXeV3X777Vx22WUAfO5zn+Pb3/52c9k+++xDnz592GyzzXjuuedavfZ1113HPffc09yT/fLLL/Poo4++K6luS2by3e9+l7/+9a/06dOHp59+urmt9dZbb5GEGuC2225j3333ZcUVVwTg4x//ePN7saSqJtXVXpUkSZJ6hOHDh/PHP/6xef/ss89m9uzZjB07tvlY05jqxenfvz9jxozhpz/9KQ888MC7xmW3ZcCAAc3P641pzkzOOussdtttt7rXGT58eHPS3dKFF17IrFmzmDp1Kv369WPo0KHMmzcPoDlp7gqVxlRn5pOL2zo7UEmSJFW30047MW/ePM4555zmY3Pnzl3i633zm9/klFNO4X3ve9+7jm+33XbNNw9eeOGF7LDDDm1eZ+WVV+bVV19t3t9tt90455xzePvttwF45JFHeP311xd5LW+++SYTJ05sPnbPPfdw66238vLLL7P66qvTr18/brrpJp58cvFp6Q477MAVV1zB3Llzef3117n88ssXG/fiVF78BSAilgPWpfXFXx7oUCSSJElqmIjgiiuu4Bvf+AannnoqgwcPZsUVV+SUU05ZousNHz681eEhZ511FgcffDCnnXYagwcP5vzzz2/zOiNHjqRv375sscUWHHTQQXzta19j+vTpbLnllmQmgwcPbh6TXftaLr/8cr7+9a9zyimnMHDgQIYOHcoZZ5zBgQceyMc+9jFGjBjB2LFj2WSTTRb7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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "total_effects_gp = {ivar: total_effects_gp[ivar][0] for ivar in total_effects_gp}\n", "\n", "d = {'Sobol True': ishigami.total_effects,\n", " 'Monte Carlo': total_effects,\n", " 'GP Monte Carlo':total_effects_gp}\n", "\n", "pd.DataFrame(d).plot(kind='bar',figsize=(12, 5))\n", "plt.title('Total effects - Ishigami', fontsize=TITLE_SIZE)\n", "plt.ylabel('% of explained output variance',fontsize=AXIS_SIZE);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We observe some discrepacies with respect to the real value of the coefficient when using the Gaussian process but we get a fairly good a approximation a very reduced number of evaluations of the original target function." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. Conclusions\n", "\n", "The Sobol indexes are an interesting tool to explain the variance of the output of a function as components of the input variables. Monte Carlo is an approach for computing these indexes if the function is cheap to evaluate. Other approaches will be needed if $f$ is expensive to compute." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. References\n", "\n", "- Sobol, I.M. (2001), *Global sensitivity indices for nonlinear mathematical models and their Monte Carlo estimates.* MATH COMPUT SIMULAT,55(1–3),271-280, DOI:10.1016/S0378-4754(00)00270-6\n", " \n", "- Sobol’, I. (1990). *Sensitivity estimates for nonlinear mathematical models.* Matematicheskoe Modelirovanie 2, 112–118. in Russian, translated in English in Sobol’ , I. (1993).\n", " \n", "- Saltelli, A., Ratto, M., Andres, T., Campolongo, F., Cariboni, J., Gatelli, D. Saisana, M., and Tarantola, S., 2008, *Global Sensitivity Analysis.* The Primer, John Wiley & Sons.\n", "\n", "- Andrea Saltelli, Paola Annoni, Ivano Azzini, Francesca Campolongo, Marco Ratto, and Stefano Tarantola. *Variance based sensitivity analysis of model output*. Design and estimator for the total sensitivity index. Computer Physics Communications, 181(2):259{270, 2010\n", "\n", "- Kennedy, M.C. and O'Hagan, A., 2000. *Predicting the output from a complex computer code when fast approximations are available.* Biometrika, 87(1), pp.1-13." ] } ], "metadata": { "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.6.8" } }, "nbformat": 4, "nbformat_minor": 2 }