{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Run an EasyVVUQ campaign to analyze the sensitivity for the Ishigami function using MCsampler\n", "\n", "This is done with the `MCsampler` that uses the Saltelli algorithm [1] to compute the Sobol indices. If `n_mc_samples` is the number of Monte Carlo samples specified in the `MCSampler`, the Saltelli algorithm uses `n_mc_samples * (d + 2)` samples to compute the Sobol indices, where `d` is the number of random input variables. Bootstrapping is used to compute confidence intervals on the Sobol index estimates. \n", "\n", "[1] A. Saltelli, *Making best use of model evaluations to compute sensitivity indices*, Computer Physics Communications, 2002." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2021-06-07T14:15:21.463066Z", "start_time": "2021-06-07T14:15:16.010020Z" }, "code_folding": [ 0 ], "execution": { "iopub.execute_input": "2025-07-18T11:23:05.392873Z", "iopub.status.busy": "2025-07-18T11:23:05.392470Z", "iopub.status.idle": "2025-07-18T11:23:23.747814Z", "shell.execute_reply": "2025-07-18T11:23:23.746644Z", "shell.execute_reply.started": "2025-07-18T11:23:05.392852Z" } }, "outputs": [], "source": [ "# Run an EasyVVUQ campaign to analyze tgohe sensitivity for the Ishigami function\n", "# This is done with SC.\n", "%matplotlib inline\n", "import os\n", "import easyvvuq as uq\n", "import chaospy as cp\n", "import pickle\n", "import numpy as np\n", "import matplotlib.pylab as plt\n", "import time\n", "import pandas as pd\n", "from collections import OrderedDict" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2021-06-07T14:15:21.476480Z", "start_time": "2021-06-07T14:15:21.468639Z" }, "execution": { "iopub.execute_input": "2025-07-18T11:23:23.760203Z", "iopub.status.busy": "2025-07-18T11:23:23.758332Z", "iopub.status.idle": "2025-07-18T11:23:23.769010Z", "shell.execute_reply": "2025-07-18T11:23:23.768481Z", "shell.execute_reply.started": "2025-07-18T11:23:23.759380Z" } }, "outputs": [ { "data": { "text/plain": [ "'1.26.4'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.__version__" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2021-06-07T14:15:21.500137Z", "start_time": "2021-06-07T14:15:21.486267Z" }, "code_folding": [ 0, 1 ], "execution": { "iopub.execute_input": "2025-07-18T11:23:23.769909Z", "iopub.status.busy": "2025-07-18T11:23:23.769747Z", "iopub.status.idle": "2025-07-18T11:23:23.774845Z", "shell.execute_reply": "2025-07-18T11:23:23.774465Z", "shell.execute_reply.started": "2025-07-18T11:23:23.769893Z" } }, "outputs": [], "source": [ "# Define the Ishigami function\n", "def ishigamiSA(a,b):\n", " '''Exact sensitivity indices of the Ishigami function for given a and b.\n", " From https://openturns.github.io/openturns/master/examples/meta_modeling/chaos_ishigami.html\n", " '''\n", " var = 1.0/2 + a**2/8 + b*np.pi**4/5 + b**2*np.pi**8/18\n", " S1 = (1.0/2 + b*np.pi**4/5+b**2*np.pi**8/50)/var\n", " S2 = (a**2/8)/var\n", " S3 = 0\n", " S13 = b**2*np.pi**8/2*(1.0/9-1.0/25)/var\n", " exact = {\n", " 'expectation' : a/2,\n", " 'variance' : var,\n", " 'S1' : (1.0/2 + b*np.pi**4/5+b**2*np.pi**8.0/50)/var,\n", " 'S2' : (a**2/8)/var,\n", " 'S3' : 0,\n", " 'S12' : 0,\n", " 'S23' : 0,\n", " 'S13' : S13,\n", " 'S123' : 0,\n", " 'ST1' : S1 + S13,\n", " 'ST2' : S2,\n", " 'ST3' : S3 + S13\n", " }\n", " return exact\n", "\n", "Ishigami_a = 7.0\n", "Ishigami_b = 0.1\n", "exact = ishigamiSA(Ishigami_a, Ishigami_b)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2021-06-07T14:15:21.510035Z", "start_time": "2021-06-07T14:15:21.505751Z" }, "code_folding": [ 0 ], "execution": { "iopub.execute_input": "2025-07-18T11:23:23.775798Z", "iopub.status.busy": "2025-07-18T11:23:23.775605Z", "iopub.status.idle": "2025-07-18T11:23:23.778410Z", "shell.execute_reply": "2025-07-18T11:23:23.778025Z", "shell.execute_reply.started": "2025-07-18T11:23:23.775782Z" } }, "outputs": [], "source": [ "# define a model to run the Ishigami code directly from python, expecting a dictionary and returning a dictionary\n", "def run_ishigami_model(input):\n", " import Ishigami\n", " qois = [\"Ishigami\"]\n", " del input['out_file']\n", " return {qois[0]: Ishigami.evaluate(**input)}" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2021-06-07T14:15:21.520594Z", "start_time": "2021-06-07T14:15:21.515444Z" }, "code_folding": [ 0 ], "execution": { "iopub.execute_input": "2025-07-18T11:23:23.779081Z", "iopub.status.busy": "2025-07-18T11:23:23.778918Z", "iopub.status.idle": "2025-07-18T11:23:23.783286Z", "shell.execute_reply": "2025-07-18T11:23:23.782864Z", "shell.execute_reply.started": "2025-07-18T11:23:23.779065Z" } }, "outputs": [], "source": [ "# Define parameter space\n", "def define_params():\n", " return {\n", " \"x1\": {\"type\": \"float\", \"min\": -np.pi, \"max\": np.pi, \"default\": 0.0},\n", " \"x2\": {\"type\": \"float\", \"min\": -np.pi, \"max\": np.pi, \"default\": 0.0},\n", " \"x3\": {\"type\": \"float\", \"min\": -np.pi, \"max\": np.pi, \"default\": 0.0},\n", " \"a\": {\"type\": \"float\", \"min\": Ishigami_a, \"max\": Ishigami_a, \"default\": Ishigami_a},\n", " \"b\": {\"type\": \"float\", \"min\": Ishigami_b, \"max\": Ishigami_b, \"default\": Ishigami_b},\n", " \"out_file\": {\"type\": \"string\", \"default\": \"output.csv\"}\n", " }" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2021-06-07T14:15:21.530671Z", "start_time": "2021-06-07T14:15:21.525407Z" }, "code_folding": [ 0 ], "execution": { "iopub.execute_input": "2025-07-18T11:23:23.784258Z", "iopub.status.busy": "2025-07-18T11:23:23.784027Z", "iopub.status.idle": "2025-07-18T11:23:23.786977Z", "shell.execute_reply": "2025-07-18T11:23:23.786638Z", "shell.execute_reply.started": "2025-07-18T11:23:23.784239Z" } }, "outputs": [], "source": [ "# Define parameter space\n", "def define_vary():\n", " return {\n", " \"x1\": cp.Uniform(-np.pi, np.pi),\n", " \"x2\": cp.Uniform(-np.pi, np.pi),\n", " \"x3\": cp.Uniform(-np.pi, np.pi)\n", " }" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2021-06-07T14:15:21.547702Z", "start_time": "2021-06-07T14:15:21.534015Z" }, "code_folding": [ 0 ], "execution": { "iopub.execute_input": "2025-07-18T11:23:23.787836Z", "iopub.status.busy": "2025-07-18T11:23:23.787574Z", "iopub.status.idle": "2025-07-18T11:23:23.793974Z", "shell.execute_reply": "2025-07-18T11:23:23.793584Z", "shell.execute_reply.started": "2025-07-18T11:23:23.787820Z" } }, "outputs": [], "source": [ "# Set up and run a campaign\n", "def run_campaign(n_mc_samples, use_files=False):\n", "\n", " times = np.zeros(7)\n", "\n", " time_start = time.time()\n", " time_start_whole = time_start\n", "\n", " work_dir = '/tmp'\n", " \n", " # Set up a fresh campaign called \"Ishigami_sc.\"\n", " my_campaign = uq.Campaign(name='Ishigami_mc.', work_dir=work_dir)\n", "\n", " # Create an encoder and decoder for SC test app\n", " if use_files:\n", " encoder = uq.encoders.GenericEncoder(template_fname='Ishigami.template',\n", " delimiter='$',\n", " target_filename='Ishigami_in.json')\n", "\n", " decoder = uq.decoders.SimpleCSV(target_filename=\"output.csv\",\n", " output_columns=[\"Ishigami\"])\n", "\n", " execute = uq.actions.ExecuteLocal('python3 %s/Ishigami.py Ishigami_in.json' % (os.getcwd()))\n", "\n", " actions = uq.actions.Actions(uq.actions.CreateRunDirectory(work_dir), \n", " uq.actions.Encode(encoder), execute, uq.actions.Decode(decoder))\n", " else:\n", " actions = uq.actions.Actions(uq.actions.ExecutePython(run_ishigami_model))\n", "\n", " # Add the app (automatically set as current app)\n", " my_campaign.add_app(name=\"Ishigami\", params=define_params(), actions=actions)\n", "\n", " # Create the sampler\n", " time_end = time.time()\n", " times[1] = time_end-time_start\n", " print('Time for phase 1 = %.3f' % (times[1]))\n", "\n", " time_start = time.time()\n", " # Associate a sampler with the campaign\n", " # Latin HyperCube\n", " sampler = uq.sampling.MCSampler(vary=define_vary(), n_mc_samples=n_mc_samples, rule='sobol')\n", " # QMC method with Sobol sequence\n", " #sampler = uq.sampling.QMCSampler(vary=define_vary(), n_mc_samples=n_mc_samples)\n", " my_campaign.set_sampler(sampler)\n", "\n", " # Will draw all (of the finite set of samples)\n", " my_campaign.draw_samples()\n", " print('Number of samples = %s' % my_campaign.get_active_sampler().count)\n", "\n", " time_end = time.time()\n", " times[2] = time_end-time_start\n", " print('Time for phase 2 = %.3f' % (times[2]))\n", "\n", " time_start = time.time()\n", " # Run the cases\n", " my_campaign.execute(sequential=True).collate(progress_bar=True)\n", "\n", " time_end = time.time()\n", " times[3] = time_end-time_start\n", " print('Time for phase 3 = %.3f' % (times[3]))\n", "\n", " time_start = time.time()\n", " # Get the results\n", " results_df = my_campaign.get_collation_result()\n", "\n", " time_end = time.time()\n", " times[4] = time_end-time_start\n", " print('Time for phase 4 = %.3f' % (times[4]))\n", "\n", " time_start = time.time()\n", " # Post-processing analysis\n", " results = my_campaign.analyse(qoi_cols=[\"Ishigami\"])\n", " \n", " time_end = time.time()\n", " times[5] = time_end-time_start\n", " print('Time for phase 5 = %.3f' % (times[5]))\n", "\n", " time_start = time.time()\n", " # Save the results\n", " #pickle.dump(results, open('Ishigami_results.pickle','bw'))\n", " time_end = time.time()\n", " times[6] = time_end-time_start\n", " print('Time for phase 6 = %.3f' % (times[6]))\n", "#\n", " times[0] = time_end - time_start_whole\n", "\n", " return results_df, results, times, n_mc_samples, my_campaign.get_active_sampler().count" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2021-06-07T14:17:40.849526Z", "start_time": "2021-06-07T14:15:21.555355Z" }, "code_folding": [ 0 ], "execution": { "iopub.execute_input": "2025-07-18T11:23:23.794600Z", "iopub.status.busy": "2025-07-18T11:23:23.794473Z", "iopub.status.idle": "2025-07-18T11:25:11.822897Z", "shell.execute_reply": "2025-07-18T11:25:11.822247Z", "shell.execute_reply.started": "2025-07-18T11:23:23.794590Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 1 = 0.045\n", "Number of samples = 500\n", "Time for phase 2 = 0.120\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|███████████████████████████████████████| 500/500 [00:00<00:00, 6392.88it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 0.110\n", "Time for phase 4 = 0.009\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Time for phase 5 = 0.152\n", "Time for phase 6 = 0.000\n", "Time for phase 1 = 0.007\n", "Number of samples = 2500\n", "Time for phase 2 = 0.606\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|█████████████████████████████████████| 2500/2500 [00:00<00:00, 6669.05it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 0.421\n", "Time for phase 4 = 0.028\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Time for phase 5 = 0.806\n", "Time for phase 6 = 0.000\n", "Time for phase 1 = 0.006\n", "Number of samples = 5000\n", "Time for phase 2 = 1.144\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|█████████████████████████████████████| 5000/5000 [00:00<00:00, 6494.61it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 0.859\n", "Time for phase 4 = 0.115\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Time for phase 5 = 1.430\n", "Time for phase 6 = 0.000\n", "Time for phase 1 = 0.006\n", "Number of samples = 10000\n", "Time for phase 2 = 2.276\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|███████████████████████████████████| 10000/10000 [00:01<00:00, 6183.05it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 1.861\n", "Time for phase 4 = 0.173\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Time for phase 5 = 3.428\n", "Time for phase 6 = 0.000\n", "Time for phase 1 = 0.028\n", "Number of samples = 25000\n", "Time for phase 2 = 6.495\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|███████████████████████████████████| 25000/25000 [00:04<00:00, 5798.93it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 4.972\n", "Time for phase 4 = 0.484\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Time for phase 5 = 8.124\n", "Time for phase 6 = 0.000\n", "Time for phase 1 = 0.018\n", "Number of samples = 40000\n", "Time for phase 2 = 9.597\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|███████████████████████████████████| 40000/40000 [00:07<00:00, 5474.42it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 8.179\n", "Time for phase 4 = 0.718\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Time for phase 5 = 14.460\n", "Time for phase 6 = 0.000\n", "Time for phase 1 = 0.018\n", "Number of samples = 50000\n", "Time for phase 2 = 11.891\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|███████████████████████████████████| 50000/50000 [00:09<00:00, 5116.26it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 11.066\n", "Time for phase 4 = 0.920\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Vectorized bootstrapping\n", "Time for phase 5 = 17.451\n", "Time for phase 6 = 0.000\n" ] } ], "source": [ "# Calculate the results for a range of MC points\n", "\n", "d = len(define_vary())\n", "\n", "R = {}\n", "for n_mc_samples in [100, 500, 1000, 2000, 5000, 8000, 10000]:\n", " # the true number of MC samples used by Saltelli's algorithm\n", " n = n_mc_samples * (d + 2)\n", " R[n] = {}\n", " (R[n]['results_df'], \n", " R[n]['results'], \n", " R[n]['times'], \n", " R[n]['order'], \n", " R[n]['number_of_samples']) = run_campaign(n_mc_samples=n_mc_samples, use_files=False)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2021-06-07T14:17:41.753581Z", "start_time": "2021-06-07T14:17:41.285527Z" }, "code_folding": [ 0 ], "execution": { "iopub.execute_input": "2025-07-18T11:25:11.825700Z", "iopub.status.busy": "2025-07-18T11:25:11.825518Z", "iopub.status.idle": "2025-07-18T11:25:11.850561Z", "shell.execute_reply": "2025-07-18T11:25:11.850326Z", "shell.execute_reply.started": "2025-07-18T11:25:11.825670Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TotalPhase 1Phase 2Phase 3Phase 4Phase 5Phase 6
1000.4352590.0449190.1195780.1096210.0085670.1523880.000000e+00
5001.8684560.0073640.6061820.4207180.0277180.8063150.000000e+00
10003.5538710.0063491.1440710.8591800.1145101.4296280.000000e+00
20007.7441140.0058472.2755571.8611080.1733823.4280539.536743e-07
500020.1030470.0279346.4948434.9716300.4843988.1238430.000000e+00
800032.9724100.0176689.5971538.1794190.71756514.4602450.000000e+00
1000041.3457050.01786511.89051811.0657250.91981017.4511300.000000e+00
\n", "
" ], "text/plain": [ " Total Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 \\\n", "100 0.435259 0.044919 0.119578 0.109621 0.008567 0.152388 \n", "500 1.868456 0.007364 0.606182 0.420718 0.027718 0.806315 \n", "1000 3.553871 0.006349 1.144071 0.859180 0.114510 1.429628 \n", "2000 7.744114 0.005847 2.275557 1.861108 0.173382 3.428053 \n", "5000 20.103047 0.027934 6.494843 4.971630 0.484398 8.123843 \n", "8000 32.972410 0.017668 9.597153 8.179419 0.717565 14.460245 \n", "10000 41.345705 0.017865 11.890518 11.065725 0.919810 17.451130 \n", "\n", " Phase 6 \n", "100 0.000000e+00 \n", "500 0.000000e+00 \n", "1000 0.000000e+00 \n", "2000 9.536743e-07 \n", "5000 0.000000e+00 \n", "8000 0.000000e+00 \n", "10000 0.000000e+00 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# produce a table of the time taken for various phases\n", "# the phases are:\n", "# 1: creation of campaign\n", "# 2: creation of samples\n", "# 3: running the cases\n", "# 4: calculation of statistics including Sobols\n", "# 5: returning of analysed results\n", "# 6: saving campaign and pickled results\n", "\n", "Timings = pd.DataFrame(np.array([R[r]['times'] for r in list(R.keys())]), \n", " columns=['Total', 'Phase 1', 'Phase 2', 'Phase 3', 'Phase 4', 'Phase 5', 'Phase 6'], \n", " index=[R[r]['order'] for r in list(R.keys())])\n", "# Timings.to_csv(open('Timings.csv', 'w'))\n", "display(Timings)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2025-07-18T11:25:11.851167Z", "iopub.status.busy": "2025-07-18T11:25:11.851067Z", "iopub.status.idle": "2025-07-18T11:25:12.348984Z", "shell.execute_reply": "2025-07-18T11:25:12.348718Z", "shell.execute_reply.started": "2025-07-18T11:25:11.851159Z" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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IXc0YO/cWeR/sZSDruv2/AzoNRifNWuW+dmy6c/Pp59+Ktdcc41L2f3795shIjo14oQJE0wPEL1hdNddd5ngvyCVLl3aBKPImX/84x9mCksdlqM3BXfs2CFTp041CTC1x4+vIZgHAAAA4JO0K31cnIhlXb7P3jZgQP51ub/llltMQD/P6Y6BPtZAvkGDBi5ltXeI3jRav369PPjgg+ZmkfYW0WEja9eu9fo677//vtSpU8f0FKldu7aZWtF27tw5c3NLkzfq/muvvdYMLVEx2j1BRB544AHz2vZ65hZz7UGgQ0peffVV08OlXLly5ubWhQsXZPDgwVKhQgWpVq2afPjhhy7n9cILL5jr0BZq7W0wfPhwOX/+vNmnN9R06sb//ve/5rV1sW+yaau19oypWLGiREREyN13323KeaI3QvT5euOkWbNm5jpvuukmWbFiRY56BcTHxzveA/vG36233iqlSpUy16w9d/QmoTsHDx6UZ555xizTp083yTP1WC1btjSfj/YU8jUE8wAAAAB80qpVGmR53q8Bvc4YqOXyy+OPP+4S5GqgZ+dvsGmPEG2F1xZ4DRwz00DSk08++cQEijqlouZ80IBbg2bNGaHefPNNk+vh888/l127dpnydsCqUzEqPT8demKvu6M9Bg4dOiQrV66USZMmyciRI+VPf/qTlC9f3vR+0eEEf/vb30xQ6zzlowbo2kI9efJkk8vijTfeMPu094t2P9cbFvrautg9Yh566CFJSUmR//znP7Jx40ZzU6RVq1bmffJGbyzoMTdv3mySU+oQhV9//VVy48KFC+YGxh133CE//PCDrFmzxgyz0ZsG7syZM8fcONEhOe54+wwLC1PTAQAAAPBJTqkR8qRcbmgiRU24aLfofvvtt6YFWVt9bXv27BHLskyrek5pUK1duDt16uSYfUGDZ+3y3aNHD5MjombNmtK8eXMTiGrLvE1bvu1A09vUjUpb3/XGgE7jeMMNN8hrr70mp0+flhdffNHs12scN26crF69Wrp27Wq2DRs2zPF8vYGgY/H12jXgLVGihOnOX6RIEZfX1udr7wQN5u2pHTUHho7rnzt3rgmoPdEeCNqrQb377rvmBskHH3zgMcD2Rmes0O7xesPi+uuvN9u094MnOlRHexE4T1/p6wjmAQAAAPik7MZV+Rl/acB83333mRZqDdj1cWRk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IiLCUVYfeyurx7Lpa3grq+do03P3Vlav3abvibeyISGmfdrQ9zq7Pz/6GWa3rP5sZOfnsaC/PwbFPPMAgILnlA4lT8oB/kJb4u0wLtha5fPCsWPHJD093ZFfyabrhw8fdvsc3e6tvP1/To6ptFu+tqLZi7bqAUDQZLMHAAQnneUgL8sBQEEbOnSomZnJuYtszgP6BK/d7F1KJiR47Tqf27LffPON167zuS27atUqr13nc1tWkx166zqfk7Ladd62efPmLLvZZ7es85TY2rU8q272tm3btmXZdd6mOR2yW3bnzp1Zdp13PofsltVry6rrvE27wme3rH5uWXWdty1evDjbZefOnZtlN3ub5uLQITqeON/80xnXNDm7r2HMPGPmAfj4mHnN6DxhwgTTeqR/SN566y0z1ac78+bNk1dffdX8kT5//ryZwlPHiD766KOFNmY+KenyBHiKMfNAYLrS+lEDyZIlS5ov5c7TDutUxydOnJB///vflz3nmmuuMUG3Tl9sGzlypJkR6b///a/8/PPPZqyuBmj2GFil0yHr+uTJk/P82qjHAOT390e62QOAD9OMzvoFVb+U6l1pDeY10UpKSorb8trK89JLL5m70j/88IP07NnTLN4SJeUXDdDt78d29nqbvR4fz7SGAC5v/W3YsKEsXbrUsU0T4Om6cwunM93uXF4tWbLEUV6z11epUsWljH6pXrduncdjAoCvI5gHAB82adIk6d27twnINfuqZmXWFqvp06d77CL4wAMPSJ06dUwrlHYLq1u3rskiXBh02jmdfi4qynW7tsh7mpYOAPQm5rRp08w0ctp9uG/fvqaLttaFSqet0y7wNq3rtNv566+/Lj/++KOMGjVKvv/+e+nXr5/ZHxISYlrtX3nlFfniiy9M92U9hma4d279BwB/wph5APBR2tV048aNLl9YQ0NDpXXr1l7Hg9l0FJWOfdR5mXV+ZXd0qhVdnFuq8poG7K1bi5Qtm7G+cKFImza0yAPwTMex6nRUI0aMMEOMtCu8Buv2GNYDBw6Y+tDWrFkzM7f8sGHD5MUXXzRDjLSLvT3HvHr++efNDYE+ffqY7vo6dZseM7tzzAOAryGYBwA/zOisLU+e6Disq6++2gTpYWFh8s4778g999zjMVPzyy+/LPnNOXBv2ZJAHkDWtFXdblnPzN18zw899JBZPNHW+dGj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot the Sobol indices with bootstrap error bars versus the exact values of the (first-order) Sobol indices\n", "\n", "sobol_first_exact = {'x1': exact['S1'], 'x2': exact['S2'], 'x3': exact['S3']}\n", "\n", "N = [R[r]['number_of_samples'] for r in list(R.keys())]\n", "\n", "fig = plt.figure(figsize=[12,4])\n", "\n", "for idx, x in enumerate(sobol_first_exact.keys()):\n", " ax = fig.add_subplot(1, d, idx + 1, xlabel='number of MC samples', title=x)\n", " for n in N:\n", " sobol = R[n]['results'].sobols_first('Ishigami')[x]\n", " sobol_CI = R[n]['results']._get_sobols_first_conf('Ishigami', x)\n", " yerr = [sobol - sobol_CI[0], sobol_CI[1] - sobol]\n", " ax.errorbar(n, sobol, yerr=yerr, fmt='bo', label='MC estimate plus CI')\n", " ax.plot(N, sobol_first_exact[x] * np.ones(len(N)), '--k', label='exact Sobol index')\n", "\n", "# avoid repeated legends\n", "handles, labels = plt.gca().get_legend_handles_labels()\n", "by_label = OrderedDict(zip(labels, handles))\n", "plt.legend(by_label.values(), by_label.keys(), frameon=False)\n", "plt.savefig('sobols_CI.png')" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2021-06-07T14:17:45.822277Z", "start_time": "2021-06-07T14:17:45.419336Z" }, "code_folding": [ 0 ], "execution": { "iopub.execute_input": "2025-07-18T11:25:12.349433Z", "iopub.status.busy": "2025-07-18T11:25:12.349357Z", "iopub.status.idle": "2025-07-18T11:25:12.600573Z", "shell.execute_reply": "2025-07-18T11:25:12.600347Z", "shell.execute_reply.started": "2025-07-18T11:25:12.349426Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot the convergence of the first sobol to that of the highest order\n", "\n", "sobol_first_exact = {'x1': exact['S1'], 'x2': exact['S2'], 'x3': exact['S3']}\n", "\n", "N = [R[r]['number_of_samples'] for r in list(R.keys())]\n", "plt.figure()\n", "for v in list(R[N[0]]['results'].sobols_first('Ishigami').keys()):\n", " plt.semilogy([n for n in N],\n", " [np.abs(R[n]['results'].sobols_first('Ishigami')[v] - sobol_first_exact[v]) for n in N],\n", " 'o-',\n", " label=v)\n", "plt.xlabel('number of MC samples')\n", "plt.ylabel('ABSerror for 1st sobol compared to analytic')\n", "plt.legend(loc=0)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", "executable": " /usr/bin/env python", "main_language": "python", "notebook_metadata_filter": "-all" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.11" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false } }, "nbformat": 4, "nbformat_minor": 4 }