From 6e6b2f7d6e958e5fadb5f944c3b6c176f311fcfe Mon Sep 17 00:00:00 2001 From: Paul-Saves Date: Tue, 5 Dec 2023 00:13:19 +0100 Subject: [PATCH] update SMT Notebooks for 2.2 by @NatOnera --- tutorial/SMT_MFK_tutorial.ipynb | 448 ++++++++++++++++++++++++++++++++ 1 file changed, 448 insertions(+) create mode 100644 tutorial/SMT_MFK_tutorial.ipynb diff --git a/tutorial/SMT_MFK_tutorial.ipynb b/tutorial/SMT_MFK_tutorial.ipynb new file mode 100644 index 000000000..bc2c6fb8c --- /dev/null +++ b/tutorial/SMT_MFK_tutorial.ipynb @@ -0,0 +1,448 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "
\n", + "This tutorial describes how to use the SMT toolbox with multifidelity data to build a surrogate model \n", + "SMT which is a python toolbox for building a surrogate model.
\n", + "\n", + "Mostafa Meliani ISAE-SUPAERO student\n", + "\n", + "Nathalie BARTOLI ONERA/DTIS/M2CI - October 2023\n", + "`version SMT 2.0 and above`" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "

\n", + "To use SMT models, please follow this link : https://github.com/SMTorg/SMT/blob/master/README.md. \n", + " The doc is available here: http://smt.readthedocs.io/en/latest/\n", + "

\n", + "\n", + "\n", + "For the multifidelity extension, a description of the algorithm is available here https://arc.aiaa.org/doi/pdf/10.2514/6.2019-3236" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: smt in d:\\bartoli\\anaconda3\\lib\\site-packages (2.0.1)\n", + "Requirement already satisfied: scikit-learn in d:\\bartoli\\anaconda3\\lib\\site-packages (from smt) (1.3.0)\n", + "Requirement already satisfied: pyDOE2 in d:\\bartoli\\anaconda3\\lib\\site-packages (from smt) (1.3.0)\n", + "Requirement already satisfied: scipy in d:\\bartoli\\anaconda3\\lib\\site-packages (from smt) (1.11.1)\n", + "Requirement already satisfied: numpy in d:\\bartoli\\anaconda3\\lib\\site-packages (from pyDOE2->smt) (1.24.3)\n", + "Requirement already satisfied: joblib>=1.1.1 in d:\\bartoli\\anaconda3\\lib\\site-packages (from scikit-learn->smt) (1.2.0)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in d:\\bartoli\\anaconda3\\lib\\site-packages (from scikit-learn->smt) (2.2.0)\n" + ] + } + ], + "source": [ + "!pip install smt" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "\n", + "\n", + "\n", + "# Multi-Fidelity Kriging \n", + "\n", + "We are interested in learning a high-fidelity function while using low-fidelity information sources to enhance the model, for that we use Le Gratiet recursive formulation of multi-fidelity Kriging.\n", + "\n", + "

\n", + "An important assumption by using this recursive formulation is the nested DOE. \n", + "If we have thow fidelity levels (HF and LF)\n", + "$$X_{HF} \\subset X_{LF}$$\n", + "

\n", + "\n", + "### Kennedy O'Hagan/Le Gratiet recursive formulation:\n", + "To perform Le Gratiet's learning, we first learn the lowest fidelity, then we consecutively learn the relationship between every two consecutive fidelity levels (scaling factor $\\rho_{k-1}$ and discrepancy function $\\delta_k(\\cdot)$).\n", + "\n", + "$$\\mu_{k} = \\rho_{k-1}\\;\\mu_{k-1} + \\mu_{\\delta_k}\\\\\n", + "\\sigma^2_{k} = \\rho_{k-1}^2\\;\\sigma^2_{k-1}+\\sigma^2_{\\delta_k}$$\n", + "\n", + "![Multi-Fidelity 1-D toy problem](co-krigeage.png)\n", + "\n", + "This generally results in a better surrogate model compared to training the high-fidelity alone.\n", + "\n", + "### SMT \n", + "SMT is a joint library between NASA, UoM, ONERA and ISAE-SUPAERO. It offers many surrogate modeling tools with a focus on derivatives. Le Gratiet's formulation was implemented as part of SMT.\n", + "\n", + "After dowmloading and installing SMT library from: https://github.com/SMTorg/smt\n", + "\n", + "We import the needed packages" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from smt.applications import MFK\n", + "import numpy as np\n", + "from matplotlib import pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1- Build a multifidelity model using two fidelity levels" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "#defining low and high fidelity functions\n", + "def LF_function(x):\n", + " return 0.5*((x*6-2)**2)*np.sin((x*6-2)*2)+(x-0.5)*10. - 5\n", + "\n", + "def HF_function(x):\n", + " return ((x*6-2)**2)*np.sin((x*6-2)*2)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, '$y$')" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj8AAAGwCAYAAABGogSnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABfIElEQVR4nO3dd3hUddrG8e9k0jskIQVCQofQe1OKIlbsig3B7tp11dW1gauyu5ZX117Bta91dUEFC0XpJbTQCb2G9F7mvH8ckhAJkDLJmXJ/rmsuZs6cmXlyjMzNr9oMwzAQERER8RI+VhcgIiIi0pwUfkRERMSrKPyIiIiIV1H4EREREa+i8CMiIiJeReFHREREvIrCj4iIiHgVX6sLcEUOh4O9e/cSFhaGzWazuhwRERGpA8MwyMvLIyEhAR+f47fvKPzUYu/evSQmJlpdhoiIiDTArl27aNOmzXGfV/ipRVhYGGBevPDwcIurERERkbrIzc0lMTGx6nv8eBR+alHZ1RUeHq7wIyIi4mZONmRFA55FRETEqyj8iIiIiFdR+BERERGvojE/DeRwOCgtLbW6DHEhfn5+2O12q8sQEZGTUPhpgNLSUtLT03E4HFaXIi4mMjKSuLg4rQ8lIuLCFH7qyTAM9u3bh91uJzEx8YSLKIn3MAyDwsJCDh48CEB8fLzFFYmIyPEo/NRTeXk5hYWFJCQkEBwcbHU54kKCgoIAOHjwIK1atVIXmIiIi1KzRT1VVFQA4O/vb3El4ooqA3FZWZnFlYiIyPEo/DSQxnRIbfR7ISLi+hR+RERExKso/IiIiIhXUfiRGqZPn05kZGS9XjNp0iQuvPBCp9UwefJk+vTp49TPnDNnDjabjezsbKBhP6eIiLcyDIO92UVWl+E0Cj9e4nhh4Y+hYPz48WzatKnJ65k+fTo2m+2Y2zvvvMP999/Pzz//3KSf/8efsy6BS0TEW70wexNnvjiPFTuzrC7FKTTVXWoICgqqmrLd1MLDw9m4cWONYxEREQQFBREaGtqkn92cP6eIiDt7+efNvPzLFgDW7cmhX9sWFlfUeGr5aSTDMCgsLbfkZhiG03+e2rqDnnrqKVq1akVYWBg33ngjDz30UK2tJM899xzx8fFERUVx++23n3S6t81mIy4ursYtKCjomFaYiooK7rvvPiIjI4mKiuLBBx885mc3DIN//vOftG/fnqCgIHr37s0XX3xRp59z+vTpTJkyhVWrVlW1QE2fPp3rr7+e8847r8brysvLiYuL47333jvhzyYi4gnemreV52ebreR/PacrE4YmW1uQk6jlp5GKyipIefxHSz477ckzCfZv2v+EH330EU8//TSvvfYaw4cP59NPP+X555+nXbt2Nc779ddfiY+P59dff2XLli2MHz+ePn36cNNNNzW6hueff5733nuPd999l5SUFJ5//nm+/vprTjvttKpzHn30Ub766itef/11OnXqxLx587jmmmuIiYlh5MiRJ3z/8ePHs3btWn744Qd++uknwGyB6ty5MyNGjGDfvn1VKzbPnDmT/Px8Lr/88kb/XCIirmz67+k8M3MDAH8+ozM3j+hgcUXOo/DjRf73v/8d051UuWjj8bz88svccMMNXHfddQA8/vjjzJo1i/z8/BrntWjRgldeeQW73U7Xrl0599xz+fnnn08YfnJycmrUExoayv79+48578UXX+Thhx/mkksuAeCNN97gxx+rA2dBQQEvvPACv/zyC0OHDgWgffv2/Pbbb7z55psnDT+V3Wy+vr7ExcVVHR82bBhdunThgw8+4MEHHwRg2rRpXHbZZU3eLSciYqX/LN3F5O/SALhjdEfuPL2TxRU5l8JPIwX52Ul78kzLPrs+Ro8ezeuvv17j2OLFi7nmmmuO+5qNGzdy22231Tg2aNAgfvnllxrHunfvXmM7h/j4eNasWXPCesLCwlixYkXV49r2ScvJyWHfvn1VoQbA19eXAQMGVHV9paWlUVxczBlnnFHjtaWlpfTt2/eENZzMjTfeyFtvvcWDDz7IwYMHmTFjRpMPxhYRsdK+nCIe/3YtADePaM+fx3a2uCLnU/hpJJvN1uRdT84SEhJCx44daxzbvXv3SV/3x1WLaxtr5Ofnd8xrTrbrvY+PzzH1NETl58yYMYPWrVvXeC4gIKBR733ttdfy0EMPsXDhQhYuXEhycjKnnnpqo95TRMSV/fOHjRSXORiY3IKHz+7qkSvXa8CznFCXLl1YsmRJjWPLli1rts+PiIggPj6eRYsWVR0rLy9n+fLlVY9TUlIICAhg586ddOzYscYtMTGxTp/j7+9faxdgVFQUF154IdOmTWPatGlV3X8iIp5o5c4svl65B5sNHj+vu0cGH1DLj5zEnXfeyU033cSAAQMYNmwY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CAigQ4cOvPfee81Ureuq73X86KOP6N27N8HBwcTHx3Pddddx+PDhZqrWdc2bN49x48aRkJCAzWbjm2++Oelr3Po7xxCX9Omnnxp+fn7G22+/baSlpRl33323ERISYuzYsaPW87dt22YEBwcbd999t5GWlma8/fbbhp+fn/HFF180c+Wupb7X8e677zb+8Y9/GEuWLDE2bdpkPPzww4afn5+xYsWKZq7c9dT3WlbKzs422rdvb4wdO9bo3bt38xTr4hpyLc8//3xj8ODBxuzZs4309HRj8eLFxu+//96MVbue+l7H+fPnGz4+PsZLL71kbNu2zZg/f77RvXt348ILL2zmyl3PzJkzjUceecT48ssvDcD4+uuvT3i+u3/nKPy4qEGDBhm33nprjWNdu3Y1HnrooVrPf/DBB42uXbvWOHbLLbcYQ4YMabIa3UF9r2NtUlJSjClTpji7NLfT0Gs5fvx449FHHzWeeOIJhZ8j6nstv//+eyMiIsI4fPhwc5TnNup7HZ999lmjffv2NY7961//Mtq0adNkNbqjuoQfd//OUbeXCyotLWX58uWMHTu2xvGxY8eyYMGCWl+zcOHCY84/88wzWbZsGWVlZU1WqytryHX8I4fDQV5eHi1btmyKEt1GQ6/ltGnT2Lp1K0888URTl+g2GnItv/32WwYMGMA///lPWrduTefOnbn//vspKipqjpJdUkOu47Bhw9i9ezczZ87EMAwOHDjAF198wbnnntscJXsUd//OcasVnr1FRkYGFRUVx2zGGhsby/79+2t9zf79+2s9v7y8nIyMjKq9zrxJQ67jHz3//PMUFBRw+eWXN0WJbqMh13Lz5s089NBDzJ8/H19f/VVTqSHXctu2bfz2228EBgby9ddfk5GRwW233UZmZqbXjvtpyHUcNmwYH330EePHj6e4uJjy8nLOP/98Xn755eYo2aO4+3eOWn5cmM1mq/HYMIxjjp3s/NqOe5v6XsdKn3zyCZMnT+azzz6jVatWTVWeW6nrtayoqOCqq65iypQpdO7cubnKcyv1+b10OBzYbDY++ugjBg0axDnnnMMLL7zA9OnTvbr1B+p3HdPS0rjrrrt4/PHHWb58OT/88APp6enceuutzVGqx3Hn7xz9c8wFRUdHY7fbj/nXy8GDB49J2pXi4uJqPd/X15eoqKgmq9WVNeQ6Vvrss8+44YYb+PzzzxkzZkxTlukW6nst8/LyWLZsGStXruSOO+4AzC9wwzDw9fVl1qxZnHbaac1Su6tpyO9lfHw8rVu3JiIioupYt27dMAyD3bt306lTpyat2RU15DpOnTqV4cOH88ADDwDQq1cvQkJCOPXUU3nqqadcvrXClbj7d45aflyQv78//fv3Z/bs2TWOz549m2HDhtX6mqFDhx5z/qxZsxgwYAB+fn5NVqsra8h1BLPFZ9KkSXz88ccaC3BEfa9leHg4a9asITU1tep266230qVLF1JTUxk8eHBzle5yGvJ7OXz4cPbu3Ut+fn7VsU2bNuHj40ObNm2atF5X1ZDrWFhYiI9Pza89u90OVLdaSN24/XeORQOt5SQqp3C+++67RlpamnHPPfcYISEhxvbt2w3DMIyHHnrImDBhQtX5ldMO7733XiMtLc1499133WraYVOp73X8+OOPDV9fX+PVV1819u3bV3XLzs626kdwGfW9ln+k2V7V6nst8/LyjDZt2hiXXnqpsW7dOmPu3LlGp06djBtvvNGqH8El1Pc6Tps2zfD19TVee+01Y+vWrcZvv/1mDBgwwBg0aJBVP4LLyMvLM1auXGmsXLnSAIwXXnjBWLlyZdWyAZ72naPw48JeffVVIykpyfD39zf69etnzJ07t+q5iRMnGiNHjqxx/pw5c4y+ffsa/v7+RnJysvH66683c8WuqT7XceTIkQZwzG3ixInNX7gLqu/v5NEUfmqq77Vcv369MWbMGCMoKMho06aNcd999xmFhYXNXLXrqe91/Ne//mWkpKQYQUFBRnx8vHH11Vcbu3fvbuaqXc+vv/56wr/7PO07x2YYausTERER76ExPyIiIuJVFH5ERETEqyj8iIiIiFdR+BERERGvovAjIiIiXkXhR0RERLyKwo+IiIh4FYUfERER8SoKPyIiIuJVFH5ERETEqyj8iIiIiFdR+BERj/fJJ58QGBjInj17qo7deOON9OrVi5ycHAsrExEraGNTEfF4hmHQp08fTj31VF555RWmTJnCO++8w6JFi2jdurXV5YlIM/O1ugARkaZms9l4+umnufTSS0lISOCll15i/vz5Cj4iXkotPyLiNfr168e6deuYNWsWI0eOtLocEbGIxvyIiFf48ccf2bBhAxUVFcTGxlpdjohYSC0/IuLxVqxYwahRo3j11Vf59NNPCQ4O5vPPP7e6LBGxiMb8iIhH2759O+eeey4PPfQQEyZMICUlhYEDB7J8+XL69+9vdXkiYgG1/IiIx8rMzGT48OGMGDGCN998s+r4BRdcQElJCT/88IOF1YmIVRR+RERExKtowLOIiIh4FYUfERER8SoKPyIiIuJVFH5ERETEqyj8iIiIiFdR+BERERGvovAjIiIiXkXhR0RERLyKwo+IiIh4FYUfERER8SoKPyIiIuJV/h9oxCxooCcqqgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Ploting High and low fidelity functions\n", + "\n", + "x = np.linspace(0, 1, 101, endpoint = True).reshape(-1,1)\n", + "plt.figure()\n", + "\n", + "plt.plot(x, HF_function(x), label ='High Fidelity')\n", + "plt.plot(x, LF_function(x), linestyle = '-.' , label ='Low Fidelity')\n", + "\n", + "plt.legend(loc=0)\n", + "plt.ylim(-10,17)\n", + "plt.xlim(-0.1,1.1)\n", + "plt.xlabel(r'$x$')\n", + "plt.ylabel(r'$y$')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Sampling\n", + "The idea when building a mutli-fidelity design of experiment is to cover as much space as possible with low-fidelity data and use enough high fidelity samples to learn the relationship between fidelity-levels." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Linear sampling\n", + "ndim=1\n", + "\n", + "Xt_c = np.linspace(0, 1, 11, endpoint=True).reshape(-1, ndim)\n", + "#To have nested DOE\n", + "Xt_e = np.array([0.0,0.4, 0.7, 1.0]).reshape(-1, ndim)\n", + "\n", + "\n", + "# Evaluate the HF and LF functions\n", + "yt_e = HF_function(Xt_e)\n", + "yt_c = LF_function(Xt_c)\n", + "\n", + "plt.plot(x, HF_function(x), label ='High Fidelity')\n", + "plt.plot(x, LF_function(x) , c ='k', label ='Low Fidelity')\n", + "plt.scatter(Xt_e, yt_e, marker = 'o' , color ='k', label ='HF doe')\n", + "plt.scatter(Xt_c, yt_c, marker = '*' , color ='g', label ='LF doe')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Building a SMT object has many options, you can check all the options in the doc website: http://smt.readthedocs.io" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "___________________________________________________________________________\n", + " \n", + " MFK\n", + "___________________________________________________________________________\n", + " \n", + " Problem size\n", + " \n", + " # training points. : 4\n", + " \n", + "___________________________________________________________________________\n", + " \n", + " Training\n", + " \n", + " Training ...\n", + " Training - done. Time (sec): 0.1938808\n", + "___________________________________________________________________________\n", + " \n", + " Evaluation\n", + " \n", + " # eval points. : 101\n", + " \n", + " Predicting ...\n", + " Predicting - done. Time (sec): 0.0000000\n", + " \n", + " Prediction time/pt. (sec) : 0.0000000\n", + " \n" + ] + } + ], + "source": [ + "# build the MFK object \n", + "sm = MFK(theta0=Xt_e.shape[1] * [1.0])\n", + "\n", + "# low-fidelity dataset names being integers from 0 to level -1\n", + "sm.set_training_values(Xt_c, yt_c, name = 0) \n", + "# high-fidelity dataset without name\n", + "sm.set_training_values(Xt_e, yt_e) \n", + "\n", + "# train the model\n", + "sm.train()\n", + "\n", + "# test training\n", + "x = np.linspace(0, 1, 101, endpoint = True).reshape(-1,1)\n", + "\n", + "# query the outputs\n", + "y = sm.predict_values(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, '$y$')" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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o6ssHidbsWIFnTp1OqvXOzHI9mSmaVa5/IQnnniCkSNHVtx3OBzk5uYSERFx2udZqaCggISEBHbt2qXDeRdI27J6aDtWH23L6qNtWT1cZTuapklhYWGlI0BVsbz83H///dx8882nXScpKemsXis6Opply5ZVWnb48GHKyspO2SN0Mj8/P/z8/Cot+6OzyZxNSEiIU/8guhJty+qh7Vh9tC2rj7Zl9XCF7Xi6PT4nWF5+IiMjiYyMrJbX6tatG2PGjCE7O5uYmBjg+CBoPz8/OnbsWC3vISIiIq7N8vJzLrKyssjNzSUrKwu73U56ejoAjRs3pk6dOvTp04cWLVowZMgQXnrpJXJzc3nkkUcYPny40zdVERERqR0uVX5GjRrF5MmTK+63b98egPnz59OrVy9sNhvffPMN9957L927dycgIIBbbrmFl19+2arINcbPz49nnnnmlMN1cu60LauHtmP10basPtqW1cPdtqNhnul8MBERERE34lKXtxARERG5UCo/IiIi4lFUfkRERMSjqPyIiIiIR1H5cWJvvPEGycnJ+Pv707FjRxYsWHDa9X/88Uc6duyIv78/DRs25M0336ylpM7tXLbjtGnTuOKKK6hXrx4hISF069aN2bNn12Ja53auP5MnLFq0CG9vb9q1a1ezAV3IuW7LkpISnnzySRo0aICfnx+NGjXi3XffraW0zutct+PHH39M27ZtCQwMJCYmhttvv51Dhw7VUlrn9dNPP9G/f39iY2MxDIOvvvrqjM9x6c8cU5zSp59+avr4+JiTJk0yMzIyzBEjRphBQUHmzp07q1x/+/btZmBgoDlixAgzIyPDnDRpkunj42NOnTq1lpM7l3PdjiNGjDBfeOEFc/ny5ebmzZvNJ554wvTx8TF//vnnWk7ufM51W56Ql5dnNmzY0OzTp4/Ztm3b2gnr5M5nWw4YMMDs2rWrOXfuXDMzM9NctmyZuWjRolpM7XzOdTsuWLDA9PLyMidMmGBu377dXLBggdmyZUvz2muvreXkzufbb781n3zySfPLL780AXP69OmnXd/VP3NUfpxUly5dzLvvvrvSsmbNmpmPP/54les/9thjZrNmzSotu+uuu8yLLrqoxjK6gnPdjlVp0aKF+eyzz1Z3NJdzvtvypptuMp966inzmWeeUfn51bluy++++84MDQ01Dx06VBvxXMa5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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the outputs \n", + "plt.plot(x, HF_function(x), label ='reference')\n", + "plt.plot(x, y, linestyle = '-.' , label ='mean_gp')\n", + "plt.scatter(Xt_e, yt_e, marker = 'o' , color ='k', label ='HF doe')\n", + "plt.scatter(Xt_c, yt_c, marker = '*' , color ='g', label ='LF doe')\n", + "\n", + "plt.legend(loc=0)\n", + "plt.ylim(-10,17)\n", + "plt.xlim(-0.1,1.1)\n", + "plt.xlabel(r'$x$')\n", + "plt.ylabel(r'$y$')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "___________________________________________________________________________\n", + " \n", + " Evaluation\n", + " \n", + " # eval points. : 101\n", + " \n", + " Predicting ...\n", + " Predicting - done. Time (sec): 0.0022964\n", + " \n", + " Prediction time/pt. (sec) : 0.0000227\n", + " \n" + ] + } + ], + "source": [ + "# Accessing the variance and derivative of the model\n", + "MSE = sm.predict_variances(x)\n", + "der = sm.predict_derivatives(x, kx=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, '$y$')" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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mZnpun908rioqCiioqKYMWMGl19+ObGxsWRnZ/OXv/yFpk2buma7FRERkWqVDidfbswDbLT3O0S/fv0ICAiwOla987jiZ+XKlQwdOtR1/2hfnSlTpjBr1ix++ukn3nvvPfLz84mNjWXo0KF89NFHNRa/FBEREZi7PJNih41gKkm059O3b1+rIzUIjyt+hgwZwqnmZVywYEEDphEREfFc76RX94dt63eI9u3a+kxDgdf3+REREZHjZR0oZENedWNCO/tBn1oGR8WPiIiID/rPdz8CBnG2Apo3snvlAqYn43GXvUREROTcmKZJ+KGfuSywAKdho2fPntjtdqtjNRi1/NSRIxVVZ3yrcjhdz69yODlSUUVZpaNWr3umhgwZwu23386dd95JZGQk0dHR/Otf/6KkpIQ//vGPhIWF0bp1a+bNm+d6zoYNG7j00ksJDQ0lOjqayZMnc+jQIdfj8+fP5/zzzyciIoImTZrwu9/9jm3btrkez87OxjAM5syZw9ChQwkJCaF79+788MMPtc79+uuvk5CQQEhICJdddhnPP/88ERERrsdnzJhBjx49eO2111z7/f73vyc/P/+Mj5GIiK/Iyclh//79RNjKiDKO+MTw9mOp5aeOdJp+5h2tX57Ui1HdqucfWrB+P7d+sJr+yVF8dOMA1z7nP7WI3JKK456b/eSoM36/d999l/vuu4+MjAw++ugjbr75Zj755BMuu+wy/vKXv/CPf/yDyZMns3PnTgoKChg8eDA33HADzz//PKWlpdx///1cccUVfPvttwCUlJRw991307VrV0pKSpg+fTqXXXYZa9eurTFB1kMPPcSzzz5L27Zteeihh7jqqqvIzMzEz+/UX7+lS5dy00038dRTTzFmzBi+/vprHnnkkeP2y8zM5D//+Q+fffYZhYWFXHfdddx66628//77Z3yMRER8wcq1P2Gz2TBNk7i4OJo2bWp1pAal4seHdO/enYcffhioXtLjySefpGnTptxwww0ATJ8+nVmzZvHjjz/y5Zdf0qtXLx5//HHX89966y0SEhLYsmUL7dq14/LLL6/x+m+++SbNmzdnw4YNdOnSxbX9z3/+M6NGVRdrjz76KJ07dyYzM5MOHTqcMu8///lPRo4cyZ///GcA2rVrx/fff8/nn39eY7+ysjLeffdd4uPjXc8bNWoUzz33HDExMWdzqERE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Kho2qI/TaukiIuLOPKrlp6Kigt///vcMGDCAN99887jHHQ4Ho0aNolmzZixZsoTDhw8zZcoUTNPkn//8pwWJRURExN14VPHz6KOPAvDOO++c8PGFCxeyYcMGdu3aRVxcHADPPfccU6dO5bHHHtOcPSIiIuJZxc/p/PDDD3Tp0sVV+ACMGDGC8vJyVq1axdChQ0/4vPLycsrLy133CwoKgOrJkkRERMQzHD1vn27+Zq8qfvbt20d0dHSNbZGRkQQEBLBv376TPu+JJ55wtSodKyFBc9KIiIh4mqKiIsLDw0/6uOXFz4wZM05YeBxrxYoV9OnTp1avd7ST7bFM0zzh9qMefPBB7r77btd9p9NJbm4uTZo0OeXzrFRYWEhCQgK7du3S5bxzpGNZN3Qc646OZd3RsawbnnIcTdOkqKioxhWgE7G8+Lntttu48sorT7lPUlJSrV4rJiaG5cuX19iWl5dHZWXlcS1CxwoMDCQwMLDGtpONJnM3jRs3dusvoifRsawbOo51R8ey7uhY1g1POI6navE5yvLip2nTpjRt2rROXmvAgAE89thj5OTkEBsbC1R3gg4MDKR379518h4iIiLi2Swvfs7Ezp07yc3NZefOnTgcDtauXQtAmzZtCA0NZfjw4XTq1InJkyfzzDPPkJuby5///GduuOEGt69URUREpGF4VPEzffp03n33Xdf9nj17ArBo0SKGDBmC3W7niy++4JZbbmHgwIEEBwczadIknn32Wasi15vAwED++te/Hne5Ts6cjmXd0HGsOzqWdUfHsm5423E0zNONBxMRERHxIh61vIWIiIjIuVLxIyIiIj5FxY+IiIj4FBU/IiIi4lNU/LixV155heTkZIKCgujduzfp6emn3H/x4sX07t2boKAgWrVqxauvvtpASd3bmRzHOXPmcPHFF9OsWTMaN27MgAEDWLBgQQOmdW9n+p08aunSpfj5+dGjR4/6DehBzvRYlpeX89BDD9GyZUsCAwNp3bo1b731VgOldV9nehzff/99unfvTkhICLGxsfzxj3/k8OHDDZTWfX333XeMHj2auLg4DMPgk08+Oe1zPPqcY4pb+vDDD01/f3/z9ddfNzds2GBOmzbNbNSokbljx44T7r99+3YzJCTEnDZtmrlhwwbz9ddfN/39/c3U1NQGTu5ezvQ4Tps2zXzqqafMjIwMc8uW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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the variance \n", + "plt.fill_between(np.ravel(x), np.ravel(y-2*np.sqrt(MSE)), np.ravel(y+2*np.sqrt(MSE)),color='grey' ,label ='Confidence Interval')\n", + "plt.plot(x, y, linestyle = '-.' , label ='mean_gp')\n", + "plt.scatter(Xt_e, yt_e, marker = 'o' , color ='k', label ='HF doe')\n", + "plt.scatter(Xt_c, yt_c, marker = '*' , color ='g', label ='LF doe')\n", + "\n", + "plt.legend(loc=0)\n", + "plt.ylim(-10,17)\n", + "plt.xlim(-0.1,1.1)\n", + "plt.xlabel(r'$x$')\n", + "plt.ylabel(r'$y$')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

In most of the surrogate models $y\\in\\mathbb{R}$, so if you have multiple outputs $y\\in\\mathbb{R}^d$ (which are considered as independant outputs), add an external loop to build one surrogate model per output. The correlations betweens outputs are not taken into account. \n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Diaporama", + "kernelspec": { + "display_name": "myenv39", + "language": "python", + "name": "myenv39" + }, + "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.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}