{ "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", "< [8.1 First-Order Second-Moment (FOSM) Method Example](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.01-First-Order-Second-Moment-Method.html) | [Contents](toc.html) | [8.3 Advanced First-Order Second-Moment Methods](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.03-Contributed-Example.html)

\"Open

\"Download\"" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 1, "link": "[8.2 Advanced First-Order Seccond-Momemt Methods (AFSOM)](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2-Advanced-First-Order-Seccond-Momemt-Methods-(AFSOM))", "section": "8.2 Advanced First-Order Seccond-Momemt Methods (AFSOM)" } }, "source": [ "# 8.2 Advanced First-Order Seccond-Momemt Methods (AFSOM)\n" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 1, "link": "[8.2 Advanced First-Order Seccond-Momemt Methods (AFSOM)](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2-Advanced-First-Order-Seccond-Momemt-Methods-(AFSOM))", "section": "8.2 Advanced First-Order Seccond-Momemt Methods (AFSOM)" } }, "source": [ "Created by Qing Lan(qlan@nd.edu), July 3rd, 2020" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 1, "link": "[8.2 Advanced First-Order Seccond-Momemt Methods (AFSOM)](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2-Advanced-First-Order-Seccond-Momemt-Methods-(AFSOM))", "section": "8.2 Advanced First-Order Seccond-Momemt Methods (AFSOM)" } }, "source": [ "The following text, example, and code were adapted from:\n", "\n", "McClarren, Ryan G (2018). *Uncertainty Quantification and Predictive Computational Science: A Foundation for Physical Scientists and Engineers*, *Chapter 8: Reliability Methods for Estimating the Probability of Failure*, Springer, https://doi.org/10.1007/978-3-319-99525-0_8" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " } }, "source": [ "## 8.2.1 Reproduce Figure 8.6: " ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " } }, "source": [ "$Q(\\mathbf{X}) = 2x_1^3+10x_1 x_2 + x_1 + 3x_2^3+x_2$ \n", "\n", "$x_1 \\backsim \\mathcal{N} (0.1, 2^2)$ \n", "\n", "$x_2 \\backsim \\mathcal{N} (-0.05, 3^2)$ \n", "\n", "Covariance matrix $\\Sigma = \\begin{pmatrix}\n", "4 & 3.9\\\\\n", "3.9 & 9\n", "\\end{pmatrix}$\n", "\n", "Correlation matrix $ \\mathbf{R} = \\begin{pmatrix}\n", "1 & 0.65\\\\\n", "0.65 & 1\n", "\\end{pmatrix}$" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " } }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from scipy.stats import norm" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " } }, "outputs": [], "source": [ "# Define the function for QoI\n", "def QoI(x):\n", " x1 = x[0].item()\n", " x2 = x[1].item()\n", " return 2*x1**3 + 10*x1*x2 + x1 + 3*x2**3 + x2 # a scalar\n", "\n", "# Derivatives of QoI with respect to X\n", "def DQ_DX(x):\n", " x1 = x[0].item()\n", " x2 = x[1].item()\n", " dQ_dx1 = 6*x1**2 + 10*x2 + 1\n", " dQ_dx2 = 10*x1 + 9*x2**2 + 1\n", " return np.array([[dQ_dx1, dQ_dx2]]) # a 2-D column array\n" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " } }, "source": [ "Standardize the coordinate system:\n", "\n", "$Y_i = \\frac{x_i-\\mu_i'}{\\sigma_i'}$\n", "\n", "so that\n", "\n", "$Y_i \\backsim \\mathcal{N} (0, 1)$\n", "\n", "with known correlation matrix $\\mathbf{R}$ (unchanged)\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " } }, "outputs": [], "source": [ "# Derivatives of QoI to Y using chain rule\n", "def DQ_DY(x):\n", " x1 = x[0].item()\n", " x2 = x[1].item()\n", " dQ_dy1 = 12*x1**2 + 20*x2 + 2\n", " dQ_dy2 = 30*x1 + 27*x2**2 + 3\n", " return np.array([[dQ_dy1, dQ_dy2]]) # a 2-D column array" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " } }, "source": [ "Failure surface:\n", "\n", "$Z = Q_{fail}-Q{(\\mathbf{X})} = 0$ \n", "\n", "We seek for finding the nearest point on the failure surface to the nominal value, which means minimizing\n", "\n", "$\\beta = \\underset{Z(\\mathbf{X})=0}{\\text{min}} \\sqrt{\\mathbf{Y^T(X)R^{-1}Y(X)}}$\n", "\n", "With Lagrange multiplier method in Eq.8.11, we get\n", "\n", "$\\beta = \\frac{Q_{fail}-Q(\\mathbf{X})+\\nabla_\\mathbf{Y}QY} {\\sqrt{\\nabla_\\mathbf{Y}Q \\mathbf{R} \\nabla_\\mathbf{Y}^{T}Q}}$\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " } }, "outputs": [], "source": [ "def AFOSM(x0, pdf_x, cdf_x, R, Q_fail, delta, eps, max_steps):\n", " \n", " '''\n", " x0: initial guess\n", " pdf_x: list of margin PDF functions of variables in x\n", " cdf_x: list of margin CDF functions of variables in x\n", " R: correlation matrix of x\n", " Q_fail: failure threshold\n", " delta: tolerance of convergence of beta\n", " eps: tolerance of convergence of abs(Q-Q_fail)\n", " \n", " '''\n", " \n", " \n", " \n", " def solv_y (xl, pdf_x, cdf_x):\n", " # a function that finds standardized variable y and the corresponding mu_y and sigma_y\n", " # based on the fact that CDF and PDF at ccorresponding points should be the same as the originals\n", " \n", " '''\n", " inputs: x, mu_x, sigma_x\n", " outputs: yi=(xi-mu_xi), mu_y, sigma_y\n", " '''\n", " \n", " # get dimension of inputs\n", " dim = len(x0)\n", " \n", " # initialize new variable Y, mu_y and sigma_y\n", " yl = x0*0\n", " sigma_y = x0*0\n", " mu_y = x0*0\n", " \n", " # solve for mu_y and sigma_y\n", " for i in range(dim):\n", " xi = xl[i].item()\n", " \n", " # get the distribution functions from the list\n", " fun_pdf = pdf_x[i]\n", " fun_cdf = cdf_x[i]\n", " # cumulative distribution function value at x_i\n", " cdf_xi = fun_cdf(xi)\n", " # probability distribution function value at x_i\n", " pdf_xi = fun_pdf(xi)\n", " \n", " # solution for mu and sigma of yi, using the formula Eq.8.8 and 8.9\n", " sigma_yi = norm.pdf(norm.ppf(cdf_xi))/pdf_xi\n", " mu_yi = xi-norm.ppf(cdf_xi)*sigma_yi\n", "\n", " # save the solution into arrays\n", " sigma_y[i] = sigma_yi \n", " mu_y[i] = mu_yi\n", " # standardized coordinate\n", " yl[i] = (xi-mu_yi)/sigma_yi\n", " \n", " return yl, mu_y, sigma_y\n", " \n", "\n", " \n", " # start up with the first two steps\n", " \n", " # collect steps\n", " beta = []\n", " xl_lst = []\n", " # initial step\n", " l=0\n", " xl = x0\n", " xl_lst.append(x0)\n", " # solve for yl from the current xl\n", " yl, mu_y, sigma_y = solv_y (xl, pdf_x, cdf_x)\n", " beta1 = np.sqrt((yl.T@np.linalg.inv(R)@yl).item())\n", " # Lagrange mutiplier\n", " lamda = (Q_fail - QoI(xl) + (DQ_DY(xl)@yl).item())/(DQ_DY(xl)@R@DQ_DY(xl).T).item()\n", " beta.append(beta1)\n", " \n", " # second step\n", " l = l+1\n", " # update yl, beta2\n", " yl = lamda*R@(DQ_DY(xl).T)\n", " beta2 = np.sqrt((yl.T@np.linalg.inv(R)@yl).item())\n", " beta.append(beta2)\n", " # update xl\n", " xl = sigma_y*yl + mu_y\n", " xl_lst.append(xl)\n", " \n", " # iterate until convergence\n", " while l=delta and abs(QoI(xl)-Q_fail)>=eps:\n", " # update beta1\n", " beta1 = beta2\n", " # solve for yl from the current xl\n", " yl, mu_y, sigma_y = solv_y (xl, pdf_x, cdf_x)\n", " # Lagrange mutiplier\n", " lamda = (Q_fail - QoI(xl) + DQ_DY(xl)@yl)/(DQ_DY(xl)@R@DQ_DY(xl).T)\n", " \n", " # update yl and beta\n", " yl = lamda*R@DQ_DY(xl).T\n", " beta2 = np.sqrt((yl.T@np.linalg.inv(R)@yl).item())\n", " \n", " # update xl\n", " xl = sigma_y*yl + mu_y\n", " xl_lst.append(xl)\n", "\n", " beta.append(beta2)\n", " l = l+1\n", "\n", " return beta2.item(), beta, xl_lst, l\n", " " ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total steps: 4\n", "Found beta= 0.889313478524262\n", "beta^2= 0.790878463084923\n" ] } ], "source": [ "# implement\n", "\n", "# known parameters\n", "x0 = np.array([[2.5], [2.]]) # initial guess\n", "mu = np.array([[0.1], [-0.05]])\n", "sigma = np.array([[2.0], [3.0]])\n", "co_var = np.array([[4, 3.9], [3.9, 9]])\n", "R = np.array([[1.0, 0.65], [0.65, 1.0]])\n", "\n", "# PDF and CDF of x1, x2\n", "pdf_x1 = lambda x1: norm.pdf(x1, loc=mu[0], scale=sigma[0]);\n", "cdf_x1 = lambda x1: norm.cdf(x1, loc=mu[0], scale=sigma[0]);\n", "pdf_x2 = lambda x2: norm.pdf(x2, loc=mu[1], scale=sigma[1]);\n", "cdf_x2 = lambda x2: norm.cdf(x2, loc=mu[1], scale=sigma[1]);\n", "pdf_x = [pdf_x1, pdf_x2]\n", "cdf_x = [cdf_x1, cdf_x2]\n", "\n", "# failure threshold\n", "Q_fail = 100\n", "\n", "# limitations of the loop\n", "max_steps = 1000\n", "delta = 1e-5\n", "eps = 1e-5\n", "\n", "betal, beta, xl_lst, total_steps = AFOSM(x0, pdf_x, cdf_x, R, Q_fail, delta, eps, max_steps)\n", "\n", "print('Total steps:', total_steps)\n", "print('Found beta=', betal)\n", "print('beta^2=', betal**2)" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " } }, "source": [ "$\\beta$ defines an ellipse:\n", "\n", "$(\\mathbf{X-\\mu})^T\\Sigma^{-1}\\mathbf{X-\\mu}=\\beta^2$\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " }, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Reproducing fig. 8.6')" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "

" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x1 = np.linspace(-4, 4, 50)\n", "x2 = np.linspace(-4, 4, 50)\n", "X, Y = np.meshgrid(x1, x2)\n", "\n", "\n", "def fail_surf(x1, x2):\n", " return 2*x1**3 + 10*x1*x2 + x1 + 3*x2**3 + x2 - 100.\n", " \n", "def ellipse(x1, x2, beta):\n", " x = [[x1], [x2]]\n", " return (x-mu).T@np.linalg.inv(co_var)@(x-mu)-beta**2\n", "\n", "\n", "# vetorize functions so as to apply elementwise on arrays\n", "vec_fail = np.vectorize(fail_surf)\n", "vec_ellip = np.vectorize(ellipse)\n", "\n", "# failure surface\n", "fail_Z = vec_fail(X, Y)\n", "# ellipse\n", "Z = vec_ellip(X, Y, betal)\n", "\n", "\n", "# make the graph\n", "fig, ax = plt.subplots(figsize=(8, 6))\n", "\n", "# contour failure surface\n", "ax.contour(X, Y, fail_Z, [0], colors='black', )\n", "\n", "# plot iterations\n", "ax.plot(xl_lst[0], 'o', fillstyle='none', label='iteration 0') # initial guess\n", "for i in range(total_steps):\n", " # iteration i\n", " ax.plot(xl_lst[i+1], 'o', fillstyle='none', label='iteration%d'%(i+1))\n", " # contour ellipse\n", " CS = ax.contour(X, Y, vec_ellip(X, Y, beta[i]),[0])\n", " ax.clabel(CS, CS.levels, fmt=r'$\\beta=%.3f$'%beta[i]**2, fontsize=8)\n", "plt.legend()\n", "ax.plot(mu[0], mu[1], 'ko')\n", "ax.set_xlabel('x1')\n", "ax.set_ylabel('x2')\n", "ax.set_title('Reproducing fig. 8.6')\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "nbpages": { "level": 2, "link": "[8.2.1 Reproduce Figure 8.6: ](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.02-Advanced-First-Order-Second-Moment-Method.html#8.2.1-Reproduce-Figure-8.6:)", "section": "8.2.1 Reproduce Figure 8.6: " } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [8.1 First-Order Second-Moment (FOSM) Method Example](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.01-First-Order-Second-Moment-Method.html) | [Contents](toc.html) | [8.3 Advanced First-Order Second-Moment Methods](https://ndcbe.github.io/cbe67701-uncertainty-quantification/08.03-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.6" } }, "nbformat": 4, "nbformat_minor": 4 }