{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "*This notebook contains material from [cbe67701-uncertainty-quantification](https://ndcbe.github.io/cbe67701-uncertainty-quantification);\n", "content is available [on Github](https://github.com/ndcbe/cbe67701-uncertainty-quantification.git).*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [12.0 Epistemic Uncertainties: Dealing with a Lack of Knowledge](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.00-Epistemic-Uncertainties.html) | [Contents](toc.html) | [12.2 Epistemic Uncertainty Quantification](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.02-Contributed-Example.html)

\"Open

\"Download\"" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 1, "link": "[12.1 Predictions under epistemic uncertainty with p-boxes](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1-Predictions-under-epistemic-uncertainty-with-p-boxes)", "section": "12.1 Predictions under epistemic uncertainty with p-boxes" } }, "source": [ "# 12.1 Predictions under epistemic uncertainty with p-boxes" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 1, "link": "[12.1 Predictions under epistemic uncertainty with p-boxes](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1-Predictions-under-epistemic-uncertainty-with-p-boxes)", "section": "12.1 Predictions under epistemic uncertainty with p-boxes" } }, "source": [ "Created by Elvis A. Eugene (eeugene@nd.edu)" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 1, "link": "[12.1 Predictions under epistemic uncertainty with p-boxes](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1-Predictions-under-epistemic-uncertainty-with-p-boxes)", "section": "12.1 Predictions under epistemic uncertainty with p-boxes" } }, "source": [ "The text and theory in this notebook have been adapted from \n", "- McClarren, Ryan G (2018). Uncertainty Quantification and Predictive Computational Science: A Foundation for Physical Scientists and Engineers, Chapter 12: Epistemic Uncertainties: Dealing with a Lack of Knowledge https://link.springer.com/chapter/10.1007/978-3-319-99525-0_11\n", "\n", "The package *similaritymeasures* was developed by:\n", "- Jekel, C. F., Venter, G., Venter, M. P., Stander, N., & Haftka, R. T. (2018). Similarity measures for identifying material parameters from hysteresis loops using inverse analysis. International Journal of Material Forming. https://doi.org/10.1007/s12289-018-1421-8\n", "- More info: https://pypi.org/project/similaritymeasures/\n", "\n", "A helper function from StackOverflow https://stackoverflow.com/questions/2566412/find-nearest-value-in-numpy-array is also used in this notebook" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "nbpages": { "level": 1, "link": "[12.1 Predictions under epistemic uncertainty with p-boxes](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1-Predictions-under-epistemic-uncertainty-with-p-boxes)", "section": "12.1 Predictions under epistemic uncertainty with p-boxes" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: similaritymeasures in /anaconda3/lib/python3.7/site-packages (0.4.3)\r\n", "Requirement already satisfied: numpy>=1.14.0 in /anaconda3/lib/python3.7/site-packages (from similaritymeasures) (1.16.2)\r\n", "Requirement already satisfied: scipy>=0.19.0 in /anaconda3/lib/python3.7/site-packages (from similaritymeasures) (1.2.1)\r\n", "Requirement already satisfied: setuptools>=38.6.0 in /anaconda3/lib/python3.7/site-packages (from similaritymeasures) (40.8.0)\r\n" ] } ], "source": [ "# Packages to interface with your operating system or Colab\n", "import shutil\n", "import sys\n", "import os.path\n", "\n", "# Check if similaritymeasures is available. If not, install it.\n", "if not shutil.which(\"similaritymeasures\"):\n", " !pip install similaritymeasures\n", "else:\n", " print(\"similaritymeasures found! No need to install.\")\n", " \n", "# load libraries\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import similaritymeasures as sm\n", "\n", "# set random seed for numpy\n", "np.random.seed(122)\n", "\n", "## set plotting parameters\n", "FIG_SIZE=(8,6)\n", "SMALL_SIZE = 14\n", "MEDIUM_SIZE = 16\n", "BIGGER_SIZE = 20\n", "\n", "plt.rc('font', size=SMALL_SIZE) # controls default text sizes\n", "plt.rc('axes', titlesize=SMALL_SIZE) # fontsize of the axes title\n", "plt.rc('axes', labelsize=MEDIUM_SIZE) # fontsize of the x and y labels\n", "plt.rc('xtick', labelsize=SMALL_SIZE) # fontsize of the tick labels\n", "plt.rc('ytick', labelsize=SMALL_SIZE) # fontsize of the tick labels\n", "plt.rc('legend', fontsize=SMALL_SIZE) # legend fontsize\n", "plt.rc('figure', titlesize=BIGGER_SIZE) # fontsize of the figure title\n", "plt.rc('figure', figsize=FIG_SIZE) # figure size" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[12.1.1 Introduction](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.1-Introduction)", "section": "12.1.1 Introduction" } }, "source": [ "## 12.1.1 Introduction\n", "- Aleatory uncertainty: Uncertainty due to randomness, often modeled as a probability distribution of uncertain parameters\n", "- Epistemic uncertainty: Uncertainty due to lack of knowledge about a system, for example, using an approximate model\n", " - Epistemic uncertainties are harder to quantify than aleatory uncertainties\n", " - In this notebook, epistemic uncertainty is modeled as a uniform distribution between the minimum and maximum values a parameter which we do not have enough knowledge about" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2-Objective:-This-notebook-has-code-which-will-demonstrate-adjusting-p-boxes-to-make-predictions-under-epistemic-uncertainty)", "section": "12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty" } }, "source": [ "## 12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty\n", "- Follows sections 12.1 - 12.4 of the text\n", "- Figure 12.7 has been reproduced up to order of magnitude agreement" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2-Objective:-This-notebook-has-code-which-will-demonstrate-adjusting-p-boxes-to-make-predictions-under-epistemic-uncertainty)", "section": "12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty" } }, "source": [ "The deflection of a end-loaded cantilevered beam is given by:\n", "\n", "\\begin{equation}\n", "y = \\frac{4fL^3}{Ewh^3}\n", "\\end{equation}" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "nbpages": { "level": 2, "link": "[12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2-Objective:-This-notebook-has-code-which-will-demonstrate-adjusting-p-boxes-to-make-predictions-under-epistemic-uncertainty)", "section": "12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty" } }, "outputs": [], "source": [ "def deflection_model(f,L,E,w,h):\n", " '''\n", " inputs\n", " f: force [N]\n", " L: length of beam [m]\n", " E: elastic modulus [Pa]\n", " w: width of beam [m]\n", " h: height of beam [m]\n", " \n", " outputs\n", " deflection of the beam [m]\n", " '''\n", " return (4*f*L**3)/(E*w*h**3)" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2-Objective:-This-notebook-has-code-which-will-demonstrate-adjusting-p-boxes-to-make-predictions-under-epistemic-uncertainty)", "section": "12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty" } }, "source": [ "L, w, and h are parameters with aleatoric uncertainty and follow the distributions:\n", "\\begin{equation}\n", "L \\sim \\mathcal{N}(1,0.05)\n", "\\end{equation}\n", "\n", "\\begin{equation}\n", "w \\sim \\mathcal{N}(0.01,0.0005)\n", "\\end{equation}\n", "\n", "\\begin{equation}\n", "h \\sim \\mathcal{N}(0.02,0.0005)\n", "\\end{equation}\n", "\n", "Deflection is estimated using simple random sampling" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "nbpages": { "level": 2, "link": "[12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2-Objective:-This-notebook-has-code-which-will-demonstrate-adjusting-p-boxes-to-make-predictions-under-epistemic-uncertainty)", "section": "12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty" } }, "outputs": [], "source": [ "def estimate_deflection(E, f, n_samples):\n", " '''\n", " inputs\n", " E: elastic modulus [Pa]\n", " f: force [N]\n", " n_samples: number of samples for estimator\n", " \n", " outputs\n", " y: estimated deflection [m]\n", " '''\n", " \n", " mu_L = 1 # [m]\n", " sig_L = 0.05 # [m]\n", " \n", " mu_w = 0.01 # [m]\n", " sig_w = 0.0005 # [m]\n", " \n", " mu_h = 0.02 # [m]\n", " sig_h = 0.0005 # [m]\n", " \n", " y = 0 # [m] \n", " \n", " for i in range(n_samples):\n", " # sample parameters with aleatoric uncertainty \n", " L = np.random.normal(loc=mu_L,scale=sig_L)\n", " w = np.random.normal(loc=mu_w,scale=sig_w)\n", " h = np.random.normal(loc=mu_h,scale=sig_h)\n", " \n", " # cumulative expected value of deflection\n", " y += deflection_model(f,L,E,w,h)\n", " # end loop over n_samples\n", " \n", " # calculated expected value of deflection\n", " y = y/n_samples\n", " \n", " return y" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2-Objective:-This-notebook-has-code-which-will-demonstrate-adjusting-p-boxes-to-make-predictions-under-epistemic-uncertainty)", "section": "12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty" } }, "source": [ "Observations of deflection were simulated to compare it's CDF to the p-box and calculate model discrepancy d" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "nbpages": { "level": 2, "link": "[12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2-Objective:-This-notebook-has-code-which-will-demonstrate-adjusting-p-boxes-to-make-predictions-under-epistemic-uncertainty)", "section": "12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty" } }, "outputs": [], "source": [ "def observe_deflection(E, f):\n", " \n", " mu_L = 1 # [m]\n", " sig_L = 0.05 # [m]\n", " \n", " mu_w = 0.01 # [m]\n", " sig_w = 0.0005 # [m]\n", " \n", " mu_h = 0.02 # [m]\n", " sig_h = 0.0005 # [m]\n", " \n", " stdev_obs_err = 0.01\n", " \n", " y = 0 # [m] \n", " \n", " # sample parameters with aleatoric uncertainty \n", " L = np.random.normal(loc=mu_L,scale=sig_L)\n", " w = np.random.normal(loc=mu_w,scale=sig_w)\n", " h = np.random.normal(loc=mu_h,scale=sig_h)\n", "\n", " y = deflection_model(f,L,E,w,h)\n", " \n", " # calculated observed deflection\n", " y += np.random.normal(loc=0,scale=stdev_obs_err)\n", " \n", " return y " ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2-Objective:-This-notebook-has-code-which-will-demonstrate-adjusting-p-boxes-to-make-predictions-under-epistemic-uncertainty)", "section": "12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty" } }, "source": [ "CDFs were plotted using the following function" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "nbpages": { "level": 2, "link": "[12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2-Objective:-This-notebook-has-code-which-will-demonstrate-adjusting-p-boxes-to-make-predictions-under-epistemic-uncertainty)", "section": "12.1.2 Objective: This notebook has code which will demonstrate adjusting p-boxes to make predictions under epistemic uncertainty" } }, "outputs": [], "source": [ "def plot_cdf(fig,ax,y,label=None,color='k',alpha=0.3):\n", " \n", " # sort y in ascending order\n", " asc_idx = np.argsort(y)\n", " \n", " # get cdf of y\n", " y_cdf = y[asc_idx]\n", " \n", " # calculate ranks for cdf\n", " cdf = np.linspace(0,1,len(y_cdf))\n", " \n", " # plot \n", " ax.step(y_cdf,cdf,label=label,color=color,alpha=alpha)\n", " \n", " return y_cdf, cdf\n" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.1 Horsetail plots](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.1-Horsetail-plots)", "section": "12.1.2.1 Horsetail plots" } }, "source": [ "### 12.1.2.1 Horsetail plots\n", "For a fixed values of the epistemically uncertain parameter, i.e. elastic modulus E, a CDF of the QoI, i.e., deflection y is produced. Sampling from a uniform distribution between the values of the epistemically uncertain parameter E produces one CDF per sample, which when plotted, gives a horsetail plot" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.1 Horsetail plots](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.1-Horsetail-plots)", "section": "12.1.2.1 Horsetail plots" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "

" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "## main \n", "# set interval for elastic modulus\n", "E_low = 69e9\n", "E_high = 100e9\n", "\n", "# force\n", "f = 75 # N\n", "\n", "# number of samples for mc estimation\n", "n_mc_samples = 10\n", "\n", "# number of points for cdf calculation\n", "n_cdf_points = 500\n", "\n", "# number of samples of E with epistemic uncertainty\n", "n_E_samples = 25\n", "\n", "# array to save results\n", "# each row corresponds to one realization of E\n", "y = np.zeros((n_E_samples,n_cdf_points))\n", "# y_cdf = np.zeros((n_E_samples,n_cdf_points))\n", "\n", "# plot cdf\n", "fig, ax = plt.subplots()\n", "\n", "for i in range(n_E_samples):\n", " # sample E which containts epistemic uncertainty\n", " E = np.random.uniform(E_low,E_high)\n", " for j in range(n_cdf_points):\n", " y[i,j] = estimate_deflection(E,f,n_mc_samples)\n", " # end cdf calculation\n", " y[i,:], not_used = plot_cdf(fig,ax,y[i,:],label='low',color='k')\n", "# End loop over samples of E\n", "\n", "plt.title('Horsetail plot for deflection')\n", "plt.xlabel('y')\n", "plt.ylabel('F(y)')\n", "plt.grid(True)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.2 p-box](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.2-p-box)", "section": "12.1.2.2 p-box" } }, "source": [ "### 12.1.2.2 p-box\n", "The upper and lower bounds of the CDF in the horsetail plot, $\\overline{P}$ and $\\underline{P}$ respectively, enclose an area between them known as the probability box or p-box. The p-box represents a range of CDFs that can represent the system." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.2 p-box](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.2-p-box)", "section": "12.1.2.2 p-box" } }, "outputs": [], "source": [ "def plot_pbox(fig,ax,y_cdf,ht_min_adj=None,ht_max_adj=None,obs=None,obs_cdf=None,color='k'):\n", " '''\n", " inputs:\n", " fig: matplotlib figure object\n", " ax: matplotlib axis object corresponding to fig\n", " y_cdf: simulations of the QoI at multiple realizations of the epistemically uncertain parameter, 2D numpy array\n", " ht_min_adj: adjusted lower bound of the pbox, 1D numpy array\n", " ht_max_adj: adjusted upper bound of the pbox, 1D numpy array\n", " obs: experimental observations, 1D numpy array\n", " obs_cdf: CDF of experimental observatinos, 1D numpy array\n", " color: line color for plotting\n", " \n", " outputs:\n", " ht_top: top boundary of p-box, 1D numpy array\n", " ht_bottom: bottom boundary of p-box, 1D numpy array\n", " ht_min: lower/left boundary of p-box, 1D numpy array \n", " ht_max: upper/right boundary of p-box, 1D numpy array \n", " cdf_top: plot vector corresponding to ht_top, 1D numpy array \n", " cdf_bottom: plotting vector corresponding to ht_bottom, 1D numpy array\n", " cdf_minmax: plotting vector corresponding to ht_min and ht_max, 1D numpy array\n", " '''\n", " \n", " # arrays to save p-box boundaris\n", " ht_top = np.zeros(y_cdf.shape[1])\n", " ht_bottom = np.zeros(y_cdf.shape[1])\n", " ht_min = np.zeros(y_cdf.shape[1])\n", " ht_max = np.zeros(y_cdf.shape[1])\n", " \n", " # top and bottom boundary of p-box\n", " ht_top = y_cdf[:,-1]\n", " ht_bottom = y_cdf[:,0]\n", " \n", " # lower and upper bound of p-box\n", " for i in range(y_cdf.shape[1]):\n", " ht_min[i] = np.amin(y_cdf[:,i])\n", " ht_max[i] = np.amax(y_cdf[:,i])\n", " \n", " # cdf vectors for plotting\n", " cdf_top = np.ones(len(y_cdf))\n", " cdf_bottom = np.zeros(len(y_cdf))\n", " cdf_minmax = np.linspace(0,1,y_cdf.shape[1])\n", " \n", " # plot\n", " ax.step(ht_top,cdf_top,color=color)\n", " ax.step(ht_bottom,cdf_bottom,color=color)\n", " ax.step(ht_min,cdf_minmax,color=color)\n", " ax.step(ht_max,cdf_minmax,color=color)\n", " \n", " # plot adjusted p-boxes\n", " if (type(obs)==np.ndarray):\n", " ax.step(obs,obs_cdf,color='r',label='Observations')\n", " \n", " if (type(ht_min_adj)==np.ndarray):\n", " ax.step(ht_min_adj,cdf_minmax,color=color,linestyle=':',label='Adjusted p-box')\n", " \n", " if (type(ht_max_adj)==np.ndarray):\n", " ax.step(ht_max_adj,cdf_minmax,color=color,linestyle=':')\n", " \n", " plt.plot([],[],'k',label='p-box')\n", " plt.title('p-box for deflection')\n", " plt.xlabel('y')\n", " plt.ylabel('F(y)')\n", " plt.grid(True)\n", " plt.legend()\n", " \n", " \n", " return ht_top, ht_bottom, ht_min, ht_max, cdf_top, cdf_bottom, cdf_minmax" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.2 p-box](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.2-p-box)", "section": "12.1.2.2 p-box" } }, "outputs": [ { "data": { "image/png": "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+zFx4kTeeecdADZt2sSRRx7Jeeedt6386tWr6du3LzfeeGP9P2Q3cu3MmUym5X+8Ej1tf9tLQx9IZKZOncrSpUsjXebo0aO5+eabK5rm3nvvZeLEiSxevJhnnnmGSZMmMXDgQC6//PKS01x77bVcf/313HTTTdx3331MmDCBww8/nDFjxrBhwwZOPfVUjj76aJ588knefvttJk2axHnnncfcuXPp3bs3s2fP5phjjuGzn/0sZ599NhMmTGDUqFFcccUVta6CsuSO/FqxnVmSobOzk4ULF5LJZLT9hZRAUmjgwIF8//vfx8w4/PDDeeGFF5g2bVq3CeTMM8/c1mZ7zTXXsGDBAm6++Wbuuece7r33Xrq6urj77ru3XW/S2dnJSSedxEsvvcTQoUMZOXIk3/3ud5k8eTKLFy/m6aef5plnnonkFjCF7c2t1s4s8cvfBrX9fUQJJE+lNYG4HHfccdvtuMeOHcs3v/lNvv3tb/O9731v2/AVK1YwZMiQbWXyjR07lp/+9KdAcFHlyJEjt7tY8fjjj2ennXZixYoVDB0anPNw6aWX8uCDD3LTTTfx4x//mMGDBzfsM+bk/3DVZCBRU59H95RAmsjEiRO3OzoaNGhQWdO5e8maRP7wtWvXsnLlSnbeeWdeeuml2oItg5KHxKlYzVfb4Pb0PJAUeuKJJ8g/h+Dxxx9n0KBBDBkyhKFDh2577bLLLtuVyff4448zbNgwAIYPH86yZcu2u9/WokWL+PDDD7eVATj//PM55JBDmDNnDtdeey1LlixpyOfr7Oykvb1dyUNiU3jwks1mtQ0WoQSSQqtXr2bq1Kk8//zz3H///dxwww1cdtll3U7zk5/8hNtvv50XX3yR73znO8yfP5+pU6cCcO6557L77rszYcIEnn32WR599FGmTJnCmWeeua35asaMGWSzWe6++27OOuusbbWdDRs21P3z6UwXiVvuAkFtf91TAkmhc889l61bt3LssccyadIkvvrVr/aYQK677jrmzp3LyJEj+cEPfsCdd97J0UcfDUCfPn14+OGHeffddznmmGP43Oc+x9ixY7njjjsAeP7557niiiu49dZbOeigg4Cgv8jMelxupXJnuuTOtNKPV6KWf7aVtr/uqQ8khXbZZRduu+02brvttrLK55q7Lr744pJlRowYUfIW54cddhjvvffedsP69OnD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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig,ax = plt.subplots()\n", "ht_top, ht_bottom, ht_min, ht_max, cdf_top, cdf_bottom, cdf_minmax = plot_pbox(fig,ax,y)" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.3 Validation metric d](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.3-Validation-metric-d)", "section": "12.1.2.3 Validation metric d" } }, "source": [ "### 12.1.2.3 Validation metric d\n", "Using 10 observations at f = 75 N, the CDF of the observations is compared with the p-box to give the validation metric d\n", "\n", "The validation metric d generalizes the discrepancy between experimental observations and the p-box and is defined as:\n", "\n", "\\begin{equation}\n", "d(F_{sim} - F_{obs}) = \\int_{-\\infty}^{\\infty} = D(\\overline{P},\\underline{P},F_{obs}(Q))dQ\n", "\\end{equation}\n", "\n", "\\begin{equation}\n", " D(\\overline{P},\\underline{P},F_{obs}(Q)) = \n", " \\left\\{\n", " \\begin{array}{ll}\n", " 0 & F_{obs}(Q) \\in [\\overline{P}(Q),\\underline{P}(Q)] \\\\\n", " min(|F_{obs}(Q)-\\overline{P}(Q)|,|F_{obs}(Q)-\\underline{P}(Q)|)\n", " & F_{obs}(Q) \\notin [\\overline{P}(Q),\\underline{P}(Q)] \\\\\n", " \\end{array}\n", " \\right.\n", "\\end{equation}\n", "\n", "where Q is the QoI and F(Q) is the CDF of the QoI\n", "\n", "The p-box for the prediction is then defined as:\n", "\\begin{equation}\n", "\\underline{P}_{pred} (Q) = \\underline{F}(Q-d) \\qquad \\overline{P}_{pred} (Q) = \\overline{F}(Q+d)\n", "\\end{equation}\n", "\n", "Alternately, one could calculate the portion of d to the left and right of the p-box and asymmetrically adjust the p-box:\n", "\\begin{equation}\n", "d_{left}(F_{sim},F_{obs}) = d(\\underline{P}(Q),F_{obs}(Q))\n", "\\end{equation}\n", "\n", "\\begin{equation}\n", "d_{right}(F_{sim},F_{obs}) = d(\\overline{P}(Q),F_{obs}(Q))\n", "\\end{equation}" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.3 Validation metric d](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.3-Validation-metric-d)", "section": "12.1.2.3 Validation metric d" } }, "outputs": [ { "data": { "image/png": "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8ca6tPv27ePmm2+mbdu2tG3blttuu40DBw7ULX/yySfp27cvLVu2pF27dpSVlbFly+et4vPnz6dfv3506NCB448/njvvvLNekDjuuOOYOHEi119/PW3atGHo0KH079+fW2+9tV6eP/nkE1q2bMmf//xnAGbOnMkZZ5xB69at6dixI1dccQUbN24E4L333uOCCy4AoEOHDpgZw4YNAw5uwtqzZw9jx46lqKiIgoICzj77bF588cW65bU1mYULF3LWWWfRqlUrSktLWb58eV2ajz/+mKuvvpqOHTtSUFBA9+7dmTJlSsLHJx6BdKI75x4GHo6xrPxQnyX59Lyk3LF161baTJxI63/9C1q1St+OS0qgESer7du38+yzz3LPPffQKiKfrVq1YsyYMYwfP57//tcbrT9r1iyGDRvGkiVLWLlyJcOHD6dz586MGzeOzZs3861vfYv77ruPyy+/nJqaGl555ZW67T333HMMHTqUqVOncvrpp7N9+3ZGjRrFnj17+NnPPr+jYPLkydx1110sXboU5xwLFizg3nvv5cEHH6y7Y3vevHm0bNmSiy++GPBqKpMmTaJXr15s27aNH/zgB3z729/mhRde4JhjjmHevHlcfvnlvPXWW7Rr146WLVtGLY/bb7+dP/7xj/z2t7+le/fuTJ48mQsvvJC1a9fSuXPnunR33HEHDzzwAJ07d+bmm29m6NChrFq1CjPjrrvu4o033uAvf/kLHTt25L333mPr1q1xH5NE6GGKog70HLJ9+3baAIcdfnjQWTmktWvX4pyjd+/eUZf36dMH5xxr164FoHPnzvziF7/AzOjVqxfvvPMOkydPZty4cWzatIm9e/cyZMgQjj32WABOOeWUum395Cc/4bbbbuO6665jx44dFBcX88ADD3DVVVfx4IMP1t2AWVZWxu233163Xrt27bjllltYtGgRAwYMALxAdsUVV9CiRQsArr/++rr03bt359e//jW9e/dmw4YNdO3ata4ZsWPHjrRv3z7qd925cye//vWv+c1vflMXmB555BH+/ve/86tf/Yp77rmnLu2Pf/zjulrN3XffzXnnncfGjRvp2rUr69ev57TTTuPMM88EvFpVqimACKAO9FxQ13k+cSJFJ50UdHbiEu3uefAeuRG+/Oyzz66Xtn///owfP55PPvmE4uJiBg4cyCmnnMJXvvIVBg4cyJAhQ+qa8JYtW8Zrr73GAw88ULf+gQMH+PTTT9m8eXPdFX5paWm9PHzxi19k8ODBzJo1iwEDBvDhhx+yaNEiJkyYUJdm+fLlTJo0iaqqKrZv316X7/fff5+uXbvGVQb/+te/2Lt3L+eee27dvObNm9O/f39WrVpVL23fvn3r/t2lSxcAPvroI7p27cro0aMZMmQIy5cvZ9CgQVx66aUpb1XQ03jznN7/kTuypfMc4IQTTsDMeOutt6IuX716NWZGjx49GtxW8+bNWbBgAQsWLKBv37489thjnHDCCaxYsQLwgsWECROoqqrixRdfpKqj7EE4AAAQ30lEQVSqipUrV7J27dp6/URHHnnkQdu+6qqrmDdvHrt37+b3v/89xxxzDOeddx7g1RwGDx5Mq1ateOKJJ3j99dd59tlngcZ1wkcGy3CR8w4Pq1nWLqvtC7roootYv3493//+99m2bRsXX3wx1113Xdz5SIQCSJ5T81VuyYbOc/CC3ODBg3n44YfZtWtXvWW7du3iV7/6FRdddFFdMHz11VfrTrQAr7zyCl26dOGoo44CvJNp//79mTBhAq+//jpdunRhzpw5AJx++umsWbOGnj170qNHD3r27Fk3HXbYoRthvva1rwHwl7/8hVmzZjF06NC6E/eaNWvYtm0b9957L+effz69evXio48+qrd+bVNX5JOSw/Xs2ZMWLVrU6zTfv38/S5YsoU+fPofMX6T27dtz9dVXM336dB577DFmzJjBnj17GrWNxlAAETVf5YBsuvej1rRp09i3bx8DBw7k73//Ox988AGVlZUMGjQI5xzTpk2rS7tp0ybGjh3L22+/zdy5c3nwwQe55ZZbAC+Y3HPPPbz++uu8//77PP3003zwwQd1J9+7776b2bNnc/fdd7Nq1SrWrFnD3Llz6/V3xFJQUMBll13GPffcw/Lly7nqqqvqlnXr1o0jjjiCadOm8e9//5tnnnmG8ePH11v/2GOPxcx45pln2Lp1KzU1NQft48gjj2T06NH88Ic/5K9//SurV69m9OjRbNmyhTFjxsRdnnfffTdPPfUUa9euZfXq1Tz55JN0796dI444Iu5tNJYCSB5T81XuyKbmq1o9evRg6dKlnHzyyVx99dV0796dK6+8kt69e/P6669z/PHH16UdOnQo+/fv56yzzmL48OF85zvfqQsghYWFvPTS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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# perform 10 experiments\n", "n_exp = 10\n", "obs = np.zeros(n_exp)\n", "for i in range(n_exp):\n", " E = np.random.uniform(E_low,E_high)\n", " obs[i] = observe_deflection(E,f)\n", "\n", "fig,ax = plt.subplots()\n", "obs, obs_cdf = plot_cdf(fig,ax,obs,label='Observations',color='r',alpha=1)\n", "ht_top, ht_bottom, ht_min, ht_max, cdf_top, cdf_bottom, cdf_minmax = plot_pbox(fig,ax,y)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.3 Validation metric d](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.3-Validation-metric-d)", "section": "12.1.2.3 Validation metric d" } }, "outputs": [], "source": [ "# https://stackoverflow.com/questions/2566412/find-nearest-value-in-numpy-array\n", "def find_nearest(array, value):\n", " '''\n", " inputs: \n", " array : array to search for closest scalar value in, 1D numpy array \n", " value: scalar value to search for in array\n", " \n", " outputs:\n", " idx: index of arr whose element is closest to value\n", " arr[idx]: element in array closest to value\n", " '''\n", " array = np.asarray(array)\n", " idx = (np.abs(array - value)).argmin()\n", " return idx, array[idx]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.3 Validation metric d](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.3-Validation-metric-d)", "section": "12.1.2.3 Validation metric d" } }, "outputs": [], "source": [ "def calc_d_left(ht_min,cdf_minmax,obs,obs_cdf):\n", " '''\n", " inputs:\n", " ht_min: lower/left boundary of p-box, 1D numpy array \n", " cdf_minmax: plotting vector corresponding to ht_min and ht_max, 1D numpy array\n", " obs: experimental observations, 1D numpy array\n", " obs_cdf: CDF of experimental observatinos, 1D numpy array\n", " \n", " outputs:\n", " d_left: left sided model discrepancy \n", " '''\n", " \n", " # find the intersection between cdf of observations and left P-box\n", " for i in range(len(obs)):\n", " # find the nearest value to the observation in the cdf\n", " near_idx, near_val = find_nearest(cdf_minmax,obs_cdf[i])\n", " diff = ht_min[near_idx] - obs[i]\n", " \n", " if (diff<0) and (near_idx>0) and (i > 0):\n", " ht_min_int_idx = near_idx\n", " obs_int_idx = i\n", " if False:\n", " print('ht_min_int_idx=',ht_min_int_idx)\n", " print('obs_int_idx=',obs_int_idx)\n", " break\n", " else:\n", " ht_min_int_idx = 0\n", " obs_int_idx = 0\n", " # END find the intersection between cdf of observations and left P-box\n", " \n", " ## define curves bounding d_left\n", " # CDF of observations/experimental data\n", " x_obs = obs[0:obs_int_idx]\n", " y_obs = obs_cdf[0:obs_int_idx]\n", " exp_data = np.zeros((len(x_obs), 2))\n", " exp_data[:, 0] = x_obs\n", " exp_data[:, 1] = y_obs\n", " # left p-box boundary/simulated data\n", " x_p_left = ht_min[0:ht_min_int_idx]\n", " y_p_left = cdf_minmax[0:ht_min_int_idx]\n", " sim_data = np.zeros((len(x_p_left)+1, 2))\n", " sim_data[0,0] = 0\n", " sim_data[0,1] = 0\n", " sim_data[1:, 0] = x_p_left\n", " sim_data[1:, 1] = y_p_left\n", " \n", " # calculate d_left i.e. area under the curve\n", " d_left = sm.area_between_two_curves(exp_data, sim_data)\n", " \n", " return d_left" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.3 Validation metric d](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.3-Validation-metric-d)", "section": "12.1.2.3 Validation metric d" } }, "outputs": [], "source": [ "def calc_d_right(ht_max,cdf_minmax,obs,obs_cdf):\n", " '''\n", " inputs:\n", " ht_max: upper/right boundary of p-box, 1D numpy array \n", " cdf_minmax: plotting vector corresponding to ht_min and ht_max, 1D numpy array\n", " obs: experimental observations, 1D numpy array\n", " obs_cdf: CDF of experimental observatinos, 1D numpy array\n", " \n", " outputs:\n", " d_left: left sided model discrepancy \n", " '''\n", " \n", " # find the intersection between cdf of observations and left P-box\n", " for i in range(len(obs)):\n", " # find the nearest value to the observation in the cdf\n", " near_idx, near_val = find_nearest(cdf_minmax,obs_cdf[i])\n", " diff = ht_max[near_idx] - obs[i]\n", " \n", " if (diff<0) and (near_idx>0) and (i > 0):\n", " ht_max_int_idx = near_idx\n", " obs_int_idx = i\n", " if False:\n", " print('ht_max_int_idx=',ht_max_int_idx)\n", " print('obs_int_idx=',obs_int_idx)\n", " break\n", " else:\n", " ht_max_int_idx = 0\n", " obs_int_idx = 0\n", " # END find the intersection between cdf of observations and left P-box\n", " \n", " ## define curves bounding d_left\n", " # CDF of observations/experimental data\n", " x_obs = obs[obs_int_idx:]\n", " y_obs = obs_cdf[obs_int_idx:]\n", " exp_data = np.zeros((len(x_obs), 2))\n", " exp_data[:, 0] = x_obs\n", " exp_data[:, 1] = y_obs\n", " # left p-box boundary/simulated data\n", " x_p_right = ht_max[ht_max_int_idx:]\n", " y_p_right = cdf_minmax[ht_max_int_idx:]\n", " sim_data = np.zeros((len(x_p_right), 2))\n", " sim_data[:, 0] = x_p_right\n", " sim_data[:, 1] = y_p_right\n", " \n", " # calculate d_left i.e. area under the curve\n", " d_right = sm.area_between_two_curves(exp_data, sim_data)\n", " \n", " return d_right" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.3 Validation metric d](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.3-Validation-metric-d)", "section": "12.1.2.3 Validation metric d" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "d = 0.0021\n", "d_left = 0.0013\n", "d_right = 0.0008\n" ] } ], "source": [ "d_left = calc_d_left(ht_min,cdf_minmax,obs,obs_cdf)\n", "d_right = calc_d_right(ht_max,cdf_minmax,obs,obs_cdf)\n", "d_total = d_left+d_right\n", "\n", "print('d = {0:.4f}'.format(d_total))\n", "print('d_left = {0:.4f}'.format(d_left))\n", "print('d_right = {0:.4f}'.format(d_right))\n" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.3 Validation metric d](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.3-Validation-metric-d)", "section": "12.1.2.3 Validation metric d" } }, "source": [ "The predicted delfection of the beam when a force $\\mathrm{f_{new}}$ = 100 N is applied is given by computing the p-box at $\\mathrm{f_{new}}$ and symmetrically or asymmetrically adjusting the p-box" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.3 Validation metric d](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.3-Validation-metric-d)", "section": "12.1.2.3 Validation metric d" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# calculate p-box at 100 N\n", "f_new = 100 # [N]\n", "\n", "# array to save results\n", "# each row corresponds to one realization of E\n", "y_pred = np.zeros((n_E_samples,n_cdf_points))\n", "# y_cdf = np.zeros((n_E_samples,n_cdf_points))\n", "\n", "# plot cdf\n", "fig2, ax2 = plt.subplots()\n", "\n", "for i in range(n_E_samples):\n", " # sample E which containts epistemic uncertainty\n", " E = np.random.uniform(E_low,E_high)\n", " for j in range(n_cdf_points):\n", " y_pred[i,j] = estimate_deflection(E,f_new,n_mc_samples)\n", " # end cdf calculation\n", " y_pred[i,:], not_used = plot_cdf(fig2,ax2,y_pred[i,:],label='low',color='k')\n", "# End loop over samples of E\n", "\n", "plt.title('Horsetail plot for deflection')\n", "plt.xlabel('y')\n", "plt.ylabel('F(y)')\n", "plt.grid(True)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.3 Validation metric d](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.3-Validation-metric-d)", "section": "12.1.2.3 Validation metric d" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot and extract p-box arrays\n", "fig,ax = plt.subplots()\n", "ht_top_pred, ht_bottom_pred, ht_min_pred, ht_max_pred, cdf_top_red, cdf_bottom_pred, cdf_minmax_pred =\\\n", "plot_pbox(fig,ax,y_pred)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.3 Validation metric d](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.3-Validation-metric-d)", "section": "12.1.2.3 Validation metric d" } }, "outputs": [ { "data": { "image/png": "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VK2al19+meHDhzN58mRWrlzJ2Wef7SrGKlWq0KhRZOeFqUjivvSKqk4DRuJcV7IMuBjoFzYm0jx4C7kdp+IbB2wOu82IV8zlwa5du+jbt6/rsRAbPzGh1omb7q78/Hzq1KnDz372s6jyHDhwgJycHIYOHcovf/lL/vrXv56QZvHixXTt2rVgMPjf//53ofORXV65ubmICNu3by82zZEjR7j77rtp0qQJJ598Ms2aNSvY/CsjI4MNGzZw3333ISKFrutZuHAhl19+OampqZxxxhnccccd7N69u+D8/v37yczMpGbNmjRs2JAnnnii1Ndg0qRJ1KxZk1mzZtG2bVuqV6/OpZdeyrfffltqXoDHH3+chg0bUrNmTW655RYOHDhQcO7QoUOMHDmShg0bUr16dS644AI+/vjjgvOPPfYYjRo1Ytu2bQXHfv3rX3Puuedy+PDhqJ4/FhKylpeqTlDVlqp6sqp2VdUFYecyVDUj4r4Uccso6rGTVZ8+fbjqqqsSHYZJgIyMDCZNmgQ4X6AZGRlMmTIFcL74MjIymDZtGuD88MjIyGDGDOf31vbt2+nfvz8LFiygbt26bNmyhYyMDN59913AubgtIyODuXPnAhR8+e3YsYMtW7ZEHeObb75JixYt6NixIzfddBOTJ08uNJi/b98++vfvT+vWrVmyZAlPPfVUTJbBf/755/nHP/7B1KlT+frrr5k2bVrBjLQZM2bQtGlTHn74YTZv3szmzZsB+PLLL/n5z39Ov379yMvLY8aMGSxbtoxbb7214HFHjRrF+++/z/Tp05k3bx6ff/45CxYsKDKGcIcOHeLRRx9l4sSJLFq0iGPHjnH11VejWvKco/nz55OXl8e8efOYPn067733Hr///e8Lzv/ud79j2rRpvPrqq3z++eecc8459O3bt6BMDzzwAGeddVZBGSZPnsw///lPcnJySElJcfeiloEtDllBZGVluV5m3MZPKrf8/HzWrl3L8ePHqVGjRlQtjR9//JGjR49Sv359atSoEfVzvfLKK9x0002A0ypOTU1l5sz/zp15/fXXOXz4MBMnTqRDhw5cdtllPPjgg+4LFWHDhg20bduWSy65hObNm3PhhRdyyy23AE73XpUqVahVqxaNGjUq6E575plnGDhwIL/97W8566yzOP/883nxxReZPn0627ZtY+/evfz1r3/lj3/8I5dddhkdOnRg4sSJUV1wevToUcaPH89FF11Ely5deO2111i+fDnz5s0rMV+VKlUKvTZPP/002dnZ7Nu3j3379vHiiy/y9NNP079/f84++2xeeuklGjZsyF/+8peC/FOmTOHjjz/md7/7HXfddRfPPvssaWlpZXyF3bHFISuA7du307NnT+rVqxd1Hhs/SR7hF59Vq1at0P3U1NRC92vXrk1ubi75+fls2LCBqlWr8vrrrxeMnTRq1KhQ+qZNmxa6X7NmTbZs2ULTpk2jjm/t2rV88skn/N///R/gTDUeNGgQr7zySsF2wStXrqRjx47UrFmzIF8sdn7MzMykT58+tG3btqDVcfnll5f45b906VLWrl1b0KoDCloQ33zzDampqRw+fLhQfDVr1uScc84pNZ6TTjqp0BI1LVq0oEmTJqxYsYK2bdvSvn37gnMPPPAADzzwAECRr83hw4f55ptvAKdlGj7ZoUqVKvTo0YMVK1YUeq7x48eTmZlJ//79ueOOO0qNN9asQqkArrrqqhO+SKJh4yeVV2gQvkWLFq6mCTdq1IijR4+6eq5XXnmFY8eOFVoXKvQF/f3339OsWbNSu3yKEqoUwvNGXhNz7rnnsn79et59910++OADbr75Zjp16sT7779fbKVy/PhxhgwZwtChQwt9iQOcccYZrF692nWs0WjSpAnLli0ruB/tBIlQ+Yta2y3y2IIFC6hSpQrfffcdhw4d4uSTTy5DxO5Zl1cFYN1dxg2vg/Dff/89NWvWdFUBHT16lL/97W88+eSTLFu2rOCWl5dHx44dmThxIgDt27fnyy+/LLS0zKefflriY4fiCI0TAIW+kENq1arFr371K1588UXeeecdPvjgA9auXQtASkrKCSs3n3vuuXz11VeceeaZtGnTptCtRo0atGnThmrVqhWKb9++fSxfvrzU1+P48eMsXry44P53333Hpk2bOPvss6latWqh5wqvUIp6bVJSUgpiTElJKTQIf+zYMRYtWlSoxTNjxgxef/11PvjgA3bv3s3995+wNKL/VDVpb127dlU3PvzwQ1fp42Hz5s26efNmV3nS09MV0Ozs7KjzlMeyx0t5KfuKFSvK/Bjbtm3TxYsX6+LFi3Xbtm2lpt+9e7eqqv7000+6cuXKqPKEe+utt7Rq1aq6ffv2E8499dRT2qJFCz127Jju2bNH69Wrp9ddd50uX75c33vvPT377LMVKHj9161bp4AuXrxYVVUPHz6szZo106uvvlpXr16tc+bM0Y4dOxZK8+yzz2pOTo6uWLFCv/76a7377rv11FNP1X379qmqap8+fbR///66ceNGzc/PV1XVvLw8rVGjht566636n//8R7/++mudNWuWDhs2rCD222+/XZs2barvvfeeLl++XK+77jqtVauW3nzzzcW+FhMnTtSqVavqeeedpwsXLtTPP/9cMzIy9JxzztHjx48Xm+/mm2/WmjVrFnptmjZtqnfeeWdBmhEjRmjjxo31nXfe0RUrVujQoUP1lFNO0U2bNqmq6g8//KB169bVZ599VlVVP/roI61ataq+9957RT7n7t27S/y8AUvUw3duwr/0/bwlQ4WSnp6u6enpUafPzs5WwFUe1fJZ9ngpL2WPRYWyatWqqCsTVeeL5fDhw3r48GFPzzdgwADt06dPkee++eYbBXTOnDmqqvrpp59qly5dNCUlRTt27KgzZ84ssUJRVf3kk0+0U6dOWr16db3gggv07bffLpQmEAholy5dtGbNmlqrVi3t2bOnfvLJJwX5Fy1apB07dtSTTz5Znd/PjsWLF2uvXr20Vq1ampqaqh06dNDRo0cXnN+7d6/edNNNesopp2j9+vV1zJgx2r9//1IrlFNOOUXfeustbdOmjaakpGjPnj3166+/LvE1vPnmm7V///766KOPav369fWUU07RwYMHF1SKqqoHDx7UESNGaIMGDTQlJUXPP/98/eijj1RV9fjx49q7d2/t1atXoYrroYce0iZNmhRZ2VuFUkkrlNmzZ7tqaXhpnaiWz7LHS3kpe1krlFDrZNWqVVHn2b17t65atcpVHr+sWrVKAV25cmVcni/UOouVUIVSEfhVodigfDkVCATIy8sjKyuLvn37usprg/GVT2hWF7jf66RRo0ZxvfitKDt27ODNN9+kVq1atGjRIqGxGO9sUL6cat26NatXr3a1f7cNxldeXmZ15efns3Xr1qivUfHTb37zG7Kzs3nppZdcXf9iyhdroZRTvXv3pnfvqLaIKWDXnlRublcSPvnkkzl8+DC7du1KeIXyj3/8I6HPHwuZmZm+rEZckVgLpRwKBAIMGzYs6jWAQnnmz59v3V2VkNeVhENrXyW6MjHJwyqUcqhdu3Z8//33BesrRcNaJ5WT17GT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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# symmetric adjustment of p-box\n", "ht_min_sym = ht_min_pred-d_total\n", "ht_max_sym = ht_max_pred+d_total\n", "\n", "fig,ax = plt.subplots()\n", "p = plot_pbox(fig,ax,y_pred,ht_min_adj=ht_min_sym,ht_max_adj=ht_max_sym)\n", "plt.title('Symmetrically adjusted p-box');" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "nbpages": { "level": 3, "link": "[12.1.2.3 Validation metric d](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.01-Epistemic-uncertainty-with-p-boxes.html#12.1.2.3-Validation-metric-d)", "section": "12.1.2.3 Validation metric d" } }, "outputs": [ { "data": { "image/png": "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GfPrPv/884wcOZLCwsKYrqOoXr06zZo1o0YNu765skh6BaKq04Fbca7rWA78FLggaEyjjf8RcCPOWM3jONN9A4/XkhVzKomm+8rGP4ybQOsjtPtq5cqVbNy4MebX3b9/P/n5+QwbNozLL7+cv/3tb6XyLF68mO7duxcP3v7nP/8pkR7ahTVv3jxEhB07drjmOXz4MKNGjaJFixYcc8wxtG7dunj5+ZycHL755ht+97vfISIlpkZ/9NFHZGdnU6dOHVq2bMlNN93EDz/8UJy+b98+cnNzqVevHk2bNuWhhx4qswwmT55MvXr1mDlzJu3bt6dWrVqcc845rFu3LqoyfPDBB2natCn16tXjuuuuY//+/cVpBw8e5NZbb6Vp06bUqlWLs846i3//+9/F6Q888ADNmjUrvggU4KqrruInP/kJhw4diur9Y+HJWliq+oyqnqiqx6hqd1VdEJSWo6o5Ic8lzCMn3Guns927d9O/f3/rvqpicnJymDx5MuD8YObk5DBt2jTA+aHLyclh+vTpgHOM5OTk8NprzvnVjh07yMnJYebMmQCsXr2aESNGsHz5cgA2btxITk4Oq1evpkGDBlH/2IV69dVXOeGEE+jcuTO//vWvmTJlCocPHy5O37t3LwMGDKBt27YsWbKEcePGxWWhxieffJLXX3+dl156iS+//JLp06fToUMHAF577TVatWrF3XffzebNm9m8eTMAn3/+Oeeddx4XX3wxBQUFvPbaayxfvpzrr7+++HXHjBnD+++/z4wZM5gzZw7Lli1jwYIFYWMIdvDgQe677z4mTZrEokWLKCoq4pe//CWqkecIzZ8/n4KCAubMmcOMGTN47733+MMf/lCc/vvf/57p06fzwgsvsGzZMk4//XT69+9f/JnuvPNOTjnllOLPMGXKFP75z3+Sn59PRkZG+Qq1HKytWIn069ePOnXquM6+su4r42b37t2sXr2a/fv3U716dRo2bAjArl27OHjwIHXr1uXYY49l+/btMb3+xIkT+fWvfw1QfGb/5ptvFt9L5MUXX+TQoUNMmjSJevXq0alTJ+66667ifWL1zTff0L59e372s58hIrRp04bevZ1Lyho1akT16tWpX78+zZr9b97OI488wqBBg7j99tuLtz377LN069aNbdu2UVRUxN/+9jdeeOEFfvGLXwAwadIkWrVqVWY8R44c4YknnigeB5o6dSpt27Zlzpw5ERc/rV69eomy+fOf/8wNN9zAww8/XBzfxIkTGTBgAADPPfccc+fO5emnn+bBBx+kevXqTJs2jS5duvD73/+e5557jkcffZSsrKxylmj5WAVSieTl5ZVozodj3VfpJ/iEoWbNmiWeh55QNGzYsMTzzMxMXnnlFb755ht+/PFH2rRpw9tvvw04P3YtW7Zk8uTJxeMhbdu2LXd8a9euZeHChfzjH/8AnKudBw8ezMSJE4srkJUrV9K5c2fq1atXvF887jWSm5tLv379aN++Peeddx4XXHAB559/fsQ1npYuXcratWuLW21AcQvhq6++QlU5dOhQifjq1avH6aefXmY81apV44wzzih+fsIJJ9CiRQtWrFhB+/bt6dixY3HanXfeyZ133gkQtmwOHTrEV199Bfzv2q+A6tWr06tXr+ILPwPv9cQTT5Cbm8uAAQO46aawi3vElVUglcSOHTs4++yzXQc5bfFEE8727dv55htnePGEE04oHvdYvXo1Bw8epFWrVsWVR6xXX0+cOJGioqIS6yoFfpA3btxI69aty+zCCSdQCQTvG9wtBvCTn/yEr7/+mlmzZjF37lyuvfZaunTpwvvvv+9aiRw9epShQ4fy29/+tlRay5Yt+fTTT8sdazRatGhR3HUIpa/BcRP4/OGWtwndtmDBAqpXr86GDRs4ePAgxxxzTAUiLpvdD6SSuOSSS7j88std0637yoQTmHEVXHmAs95V3bp1K/z6R44c4e9//zsPP/wwy5cvL34UFBTQuXNnJk2aBEDHjh35/PPPSyzV8vHHH0d87UC8gX5+oMQPcED9+vX51a9+xbPPPsvbb7/N3LlzWbt2LQAZGRmlVjb+yU9+whdffEG7du1KPWrXrk3btm2pWbNmifj27t1LYWFhmeVx9OhRFi9eXPx8w4YNfPfdd5x66qnUqFGjxHsFVyDhyiYjI4OTTz6Zdu3akZGRUWLQvKioiEWLFpVo0bz22mu8+OKLzJ07lx9++IE77rijzHgrTFXT9tG9e3cN54MPPgi7PZW9+eabOmHChLBpEyZMUECzs7PL9ZqVsRwSIVXKYcWKFXF9vW3btunixYt11apVJbZt2LBBDx06VCr/Dz/8UO73eOONN7RGjRq6Y8eOUmnjxo3TE044QYuKivTHH3/UzMxMveKKK7SwsFDfe+89PfXUUxUoLv/169croIsXL1ZV1UOHDmnr1q31l7/8pa5evVrfffdd7dy5c4k8jz76qObn5+uKFSv0yy+/1FGjRmmDBg107969qqrar18/HTBggG7atEm3b9+uqqoFBQVau3ZtHTFihH766af65Zdf6syZM3X48OHF5XDjjTdqq1at9L333tPCwkK94oortH79+nrttde6lsWkSZO0Ro0a2rNnT/3oo4902bJlmpOTo6effroePXrUdb9rr71W69WrV6JsWrVqpTfffHNxntGjR2vz5s317bff1hUrVuiwYcO0bt26+t1336mq6rfffquNGjXSRx99VFVVP/zwQ61Ro4a+9957ru8b6XgDlmgUv7Ge/8gn8pEuFcjmzZt18+bNrunZ2dkKuFYwbipbOSRKqpRDPCuQQOWxePFi3bZtW/H2//73v7py5coS2wJiqUAuuugi7devX9i0r776SgF99913VVX1448/1m7dumlGRoZ27txZ33zzzYgViKrqwoULtUuXLlqrVi0966yz9K233iqRx+fzabdu3bRevXpav359Pfvss3XhwoXF+y9atEg7d+6sxxxzjDrny47FixfrL37xC61fv77WqVNHO3XqpGPHji0uhz179uivf/1rrVu3rh5//PF6//3364ABA8qsQOrWratvvPGGtmvXTjMyMvTss8/WL7/8MmIZXnvttTpgwAC977779Pjjj9e6devqNddcU1wJqqoeOHBAR48erU2aNNGMjAw988wz9cMPP1RV1aNHj2rfvn313HPPLVFR/fGPf9QWLVqErdxVrQKpMhVIdnZ2xNZFWeluKls5JEqqlEM8K5BVq1aVqjwOHToUtuUREEsFEk+rVq1SQFeuXOlpHLGWQ6ACqSziUYHYGEglEOniQbv2w4Ryu1hw3bp1MV/nkWjff/89r776KvXr1+eEE07wOhwTJZuFlcJ8Ph8FBQXk5eXRv3//sHls8NyEcltpt1mzZgm9KrkibrjhBpYuXcpzzz1n92GvRKwFksLatm3L6tWreeeddyLms2s/TKjQ1sehQ4eoXbt2yi7X/vrrr7Nhw4ZKfSKUm5vLnj17vA4jqawFksL69u0b8epVu/bDhAruvgq2fv16gOJlPoyJB2uBpCifz8fw4cMj9llb95UJ2L59O6tXry6+aLBRo0bF2w4ePEjz5s2jvnDNmGhZ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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# asymmetric adjustment of p-box\n", "ht_min_asym = ht_min_pred - d_left\n", "ht_max_asym = ht_max_pred + d_right\n", "\n", "fig,ax = plt.subplots()\n", "p = plot_pbox(fig,ax,y_pred,ht_min_adj=ht_min_asym,ht_max_adj=ht_max_asym)\n", "plt.title('Aymmetrically adjusted p-box');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [12.0 Epistemic Uncertainties: Dealing with a Lack of Knowledge](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.00-Epistemic-Uncertainties.html) | [Contents](toc.html) | [12.2 Epistemic Uncertainty Quantification](https://ndcbe.github.io/cbe67701-uncertainty-quantification/12.02-Contributed-Example.html)

\"Open

\"Download\"" ] } ], "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.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }