.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/inference/plot_active_learning.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_inference_plot_active_learning.py: Active learning =============== .. GENERATED FROM PYTHON SOURCE LINES 8-18 This example shows how to use the :class:`.ActiveLearning` class to iteratively build a Gaussian process emulator for an unnormalized posterior involving a simulator. It should be noted that this example is only for illustration purpose, rather than a real case. For simplicity, required arguments for :class:`.ActiveLearning` (including `simulator`, `likelihood`, `data`, etc.) are purely made up. For a realistic case of active learning, one can refer to :cite:t:`Zhao2022`. First, we define the simulator, prior distribution of its variable parameters, observed data, and likelihood function. They basically define the Bayesian inference problem. .. GENERATED FROM PYTHON SOURCE LINES 19-39 .. code-block:: default import numpy as np ndim = 2 # dimension of variable parameters of the simulator bounds = bounds = np.array([[-5,5],[-5,5]]) # bounds of variable parameters data = np.array([1,0]) def simulator(x1, x2): """Simulator y=f(x).""" y1, y2 = x1, x2 return np.array([y1, y2]) def prior(x): """Uniform prior.""" return 1/(10*10) def likelihood(y, data): """Likelihood function L(y,data).""" return np.exp(-(y[0]-data[0])**2/100 - (y[0]**2-y[1]-data[1])**2) .. GENERATED FROM PYTHON SOURCE LINES 40-56 Imagine that the simulator is a complex solver. It is not computationally feasible to compute the posterior distribution of the variable parameters using grid estimation or Metropolis Hastings estimation. This is because they require evaluating the likelihood many times which essentially leads to many evaluations of the simulator. Therefore, we resort to use active learning to build a Gaussian process emulator for the unnormalized posterior (prior times likelihood) based on a small number of evaluations of the simulator. The the posterior can be estimated using the emulator. To do so, we need to pass arguments to following parameters of the :class:`.ActiveLearning` class: - run_sim_obj : instance of class :class:`.RunSimulator`. It carries information on how to run the simulator. - lhs_sampler : instance of class :class:`.LHS`. It is used to draw initial samples to run simulations in order to train an inital Gaussian process emulator. - scalar_gasp : instance of class :class:`.ScalarGaSP`. It sets up the emulator structure. .. GENERATED FROM PYTHON SOURCE LINES 57-66 .. code-block:: default from psimpy.simulator import RunSimulator from psimpy.sampler import LHS from psimpy.emulator import ScalarGaSP run_simulator = RunSimulator(simulator, var_inp_parameter=['x1','x2']) lhs_sampler = LHS(ndim=ndim, bounds=bounds, seed=1) scalar_gasp = ScalarGaSP(ndim=ndim) .. GENERATED FROM PYTHON SOURCE LINES 67-68 Next, we create an object of the :class:`.ActiveLearning` class by .. GENERATED FROM PYTHON SOURCE LINES 69-75 .. code-block:: default from psimpy.inference import ActiveLearning active_learner = ActiveLearning(ndim, bounds, data, run_simulator, prior, likelihood, lhs_sampler, scalar_gasp) .. GENERATED FROM PYTHON SOURCE LINES 76-81 Then we can call the :py:meth:`.ActiveLearning.initial_simulation` method to run initial simulations and call the :py:meth:`.ActiveLearning.iterative_emulation` method to iteratively run new simulation and build emulator. Here we allocate 40 simulations for initial emulator training and 60 simulations for adaptive training. .. GENERATED FROM PYTHON SOURCE LINES 82-91 .. code-block:: default n0 = 40 niter = 60 init_var_samples, init_sim_outputs = active_learner.initial_simulation( n0, mode='parallel', max_workers=4) var_samples, _, _ = active_learner.iterative_emulation( n0, init_var_samples, init_sim_outputs, niter=niter) .. rst-class:: sphx-glr-script-out .. code-block:: none The upper bounds of the range parameters are 420.7131 416.6473 The initial values of range parameters are 8.414262 8.332945 Start of the optimization 1 : The number of iterations is 23 The value of the marginal posterior function is -146.5038 Optimized range parameters are 30.59659 130.5917 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.9828751 0.9733764 Start of the optimization 2 : The number of iterations is 16 The value of the marginal posterior function is -146.5038 Optimized range parameters are 30.5982 130.6064 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 418.0103 415.1878 The initial values of range parameters are 8.360206 8.303755 Start of the optimization 1 : The number of iterations is 27 The value of the marginal posterior function is -148.6792 Optimized range parameters are 30.19535 133.3286 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.9589025 0.9524277 Start of the optimization 2 : The number of iterations is 13 The value of the marginal posterior function is -148.6792 Optimized range parameters are 30.19529 133.3285 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 372.0419 369.5298 The initial values of range parameters are 7.440838 7.390595 Start of the optimization 1 : The number of iterations is 34 The value of the marginal posterior function is -149.9595 Optimized range parameters are 30.64772 135.0584 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.9360715 0.9297509 Start of the optimization 2 : The number of iterations is 26 The value of the marginal posterior function is -149.9595 Optimized range parameters are 30.64717 135.0548 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 412.0792 409.2967 The initial values of range parameters are 8.241583 8.185933 Start of the optimization 1 : The number of iterations is 28 The value of the marginal posterior function is -151.304 Optimized range parameters are 31.21546 136.8634 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.9143024 0.9081287 Start of the optimization 2 : The number of iterations is 33 The value of the marginal posterior function is -151.304 Optimized range parameters are 31.21602 136.8597 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 373.5991 371.0765 The initial values of range parameters are 7.471983 7.421529 Start of the optimization 1 : The number of iterations is 26 The value of the marginal posterior function is -152.6009 Optimized range parameters are 32.2851 141.3769 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.8935228 0.8874894 Start of the optimization 2 : The number of iterations is 33 The value of the marginal posterior function is -152.6009 Optimized range parameters are 32.28086 141.3732 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 363.7651 361.3088 The initial values of range parameters are 7.275302 7.226176 Start of the optimization 1 : The number of iterations is 16 The value of the marginal posterior function is -153.5419 Optimized range parameters are 32.43467 141.787 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.8736668 0.8677675 Start of the optimization 2 : The number of iterations is 28 The value of the marginal posterior function is -153.5419 Optimized range parameters are 32.43465 141.787 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 388.6202 385.9961 The initial values of range parameters are 7.772404 7.719922 Start of the optimization 1 : The number of iterations is 25 The value of the marginal posterior function is -154.9929 Optimized range parameters are 33.6944 151.2097 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.854674 0.848903 Start of the optimization 2 : The number of iterations is 23 The value of the marginal posterior function is -154.9929 Optimized range parameters are 33.6947 151.2113 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 368.5149 366.0266 The initial values of range parameters are 7.370298 7.320531 Start of the optimization 1 : The number of iterations is 22 The value of the marginal posterior function is -155.4764 Optimized range parameters are 33.87171 151.8922 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.8364895 0.8308412 Start of the optimization 2 : The number of iterations is 16 The value of the marginal posterior function is -155.4765 Optimized range parameters are 33.90549 152.0137 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 303.005 300.959 The initial values of range parameters are 6.060099 6.019179 Start of the optimization 1 : The number of iterations is 14 The value of the marginal posterior function is -155.8802 Optimized range parameters are 34.04396 152.6136 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.8190626 0.813532 Start of the optimization 2 : The number of iterations is 26 The value of the marginal posterior function is -155.8802 Optimized range parameters are 34.04591 152.6189 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 271.7327 269.8979 The initial values of range parameters are 5.434655 5.397958 Start of the optimization 1 : The number of iterations is 30 The value of the marginal posterior function is -156.1383 Optimized range parameters are 34.47655 151.3798 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.802347 0.7969293 Start of the optimization 2 : The number of iterations is 27 The value of the marginal posterior function is -156.1383 Optimized range parameters are 34.46977 151.4259 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 229.754 228.2026 The initial values of range parameters are 4.595079 4.564052 Start of the optimization 1 : The number of iterations is 25 The value of the marginal posterior function is -156.184 Optimized range parameters are 34.50828 152.8102 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.7863001 0.7809907 Start of the optimization 2 : The number of iterations is 33 The value of the marginal posterior function is -156.184 Optimized range parameters are 34.50295 152.8055 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 206.5918 205.1968 The initial values of range parameters are 4.131835 4.103936 Start of the optimization 1 : The number of iterations is 25 The value of the marginal posterior function is -156.2348 Optimized range parameters are 34.79817 155.165 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.7708824 0.7656772 Start of the optimization 2 : The number of iterations is 16 The value of the marginal posterior function is -156.2348 Optimized range parameters are 34.82609 155.1902 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 258.3488 256.6043 The initial values of range parameters are 5.166975 5.132086 Start of the optimization 1 : The number of iterations is 33 The value of the marginal posterior function is -156.4062 Optimized range parameters are 34.76576 157.0386 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.7560578 0.7509526 Start of the optimization 2 : The number of iterations is 27 The value of the marginal posterior function is -156.4062 Optimized range parameters are 34.73883 156.9472 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 237.2817 235.6795 The initial values of range parameters are 4.745633 4.713589 Start of the optimization 1 : The number of iterations is 22 The value of the marginal posterior function is -156.5552 Optimized range parameters are 35.36218 157.5205 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.7417925 0.7367837 Start of the optimization 2 : The number of iterations is 23 The value of the marginal posterior function is -156.5552 Optimized range parameters are 35.37291 157.5609 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 250.7264 249.0334 The initial values of range parameters are 5.014527 4.980667 Start of the optimization 1 : The number of iterations is 21 The value of the marginal posterior function is -156.8768 Optimized range parameters are 35.90648 161.054 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.7280556 0.7231396 Start of the optimization 2 : The number of iterations is 25 The value of the marginal posterior function is -156.8767 Optimized range parameters are 35.92228 161.1123 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 238.9065 237.2933 The initial values of range parameters are 4.778129 4.745866 Start of the optimization 1 : The number of iterations is 28 The value of the marginal posterior function is -156.6342 Optimized range parameters are 36.30829 162.0199 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.7148183 0.7099916 Start of the optimization 2 : The number of iterations is 26 The value of the marginal posterior function is -156.6342 Optimized range parameters are 36.30018 161.8524 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 245.248 243.592 The initial values of range parameters are 4.904959 4.871839 Start of the optimization 1 : The number of iterations is 17 The value of the marginal posterior function is -156.3684 Optimized range parameters are 36.27097 162.5809 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.7020536 0.6973131 Start of the optimization 2 : The number of iterations is 35 The value of the marginal posterior function is -156.3684 Optimized range parameters are 36.28256 162.6136 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 245.5015 243.8438 The initial values of range parameters are 4.91003 4.876875 Start of the optimization 1 : The number of iterations is 29 The value of the marginal posterior function is -156.014 Optimized range parameters are 36.15503 162.4561 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.6897369 0.6850796 Start of the optimization 2 : The number of iterations is 16 The value of the marginal posterior function is -156.0141 Optimized range parameters are 36.19571 162.4856 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 237.5607 235.9566 The initial values of range parameters are 4.751214 4.719132 Start of the optimization 1 : The number of iterations is 25 The value of the marginal posterior function is -155.8456 Optimized range parameters are 36.99431 166.8476 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.6778449 0.6732679 Start of the optimization 2 : The number of iterations is 34 The value of the marginal posterior function is -155.8455 Optimized range parameters are 36.9843 166.8112 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 218.5445 217.0688 The initial values of range parameters are 4.37089 4.341377 Start of the optimization 1 : The number of iterations is 17 The value of the marginal posterior function is -155.2612 Optimized range parameters are 37.52584 170.9858 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.666356 0.6618565 Start of the optimization 2 : The number of iterations is 28 The value of the marginal posterior function is -155.261 Optimized range parameters are 37.5272 170.9907 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 228.1098 226.5696 The initial values of range parameters are 4.562197 4.531391 Start of the optimization 1 : The number of iterations is 30 The value of the marginal posterior function is -154.6105 Optimized range parameters are 37.33828 173.6169 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.6552501 0.6508256 Start of the optimization 2 : The number of iterations is 26 The value of the marginal posterior function is -154.6106 Optimized range parameters are 37.20479 173.2666 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 211.684 210.2546 The initial values of range parameters are 4.23368 4.205093 Start of the optimization 1 : The number of iterations is 30 The value of the marginal posterior function is -153.8922 Optimized range parameters are 37.4968 173.0747 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.6445083 0.6401563 Start of the optimization 2 : The number of iterations is 26 The value of the marginal posterior function is -153.8923 Optimized range parameters are 37.52424 173.017 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 199.9789 198.6286 The initial values of range parameters are 3.999579 3.972572 Start of the optimization 1 : The number of iterations is 17 The value of the marginal posterior function is -153.0734 Optimized range parameters are 37.55227 173.0759 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.634113 0.6298312 Start of the optimization 2 : The number of iterations is 23 The value of the marginal posterior function is -153.0733 Optimized range parameters are 37.52729 172.8307 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 202.9237 201.5534 The initial values of range parameters are 4.058473 4.031069 Start of the optimization 1 : The number of iterations is 23 The value of the marginal posterior function is -152.171 Optimized range parameters are 37.57767 172.5286 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.6240477 0.6198339 Start of the optimization 2 : The number of iterations is 37 The value of the marginal posterior function is -152.1709 Optimized range parameters are 37.52827 172.3748 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 190.9983 189.7086 The initial values of range parameters are 3.819965 3.794172 Start of the optimization 1 : The number of iterations is 22 The value of the marginal posterior function is -151.4187 Optimized range parameters are 37.85886 177.5027 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.6142969 0.610149 Start of the optimization 2 : The number of iterations is 37 The value of the marginal posterior function is -151.4192 Optimized range parameters are 37.86442 177.4215 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 184.5705 183.3242 The initial values of range parameters are 3.69141 3.666484 Start of the optimization 1 : The number of iterations is 25 The value of the marginal posterior function is -150.3527 Optimized range parameters are 37.92872 177.0128 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.6048462 0.6007621 Start of the optimization 2 : The number of iterations is 24 The value of the marginal posterior function is -150.352 Optimized range parameters are 37.92941 176.9876 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 206.689 205.2934 The initial values of range parameters are 4.13378 4.105867 Start of the optimization 1 : The number of iterations is 28 The value of the marginal posterior function is -149.2293 Optimized range parameters are 37.73939 179.5156 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.5956819 0.5916596 Start of the optimization 2 : The number of iterations is 26 The value of the marginal posterior function is -149.2285 Optimized range parameters are 37.6686 179.2687 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 204.4555 203.0749 The initial values of range parameters are 4.08911 4.061499 Start of the optimization 1 : The number of iterations is 34 The value of the marginal posterior function is -148.0359 Optimized range parameters are 37.07659 181.8027 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.5867911 0.5828289 Start of the optimization 2 : The number of iterations is 26 The value of the marginal posterior function is -148.0361 Optimized range parameters are 37.09612 181.862 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 207.5545 206.153 The initial values of range parameters are 4.15109 4.123061 Start of the optimization 1 : The number of iterations is 31 The value of the marginal posterior function is -147.2549 Optimized range parameters are 36.89036 184.8898 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.5781618 0.5742579 Start of the optimization 2 : The number of iterations is 18 The value of the marginal posterior function is -147.2555 Optimized range parameters are 36.87001 184.82 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 166.9279 165.8008 The initial values of range parameters are 3.338559 3.316015 Start of the optimization 1 : The number of iterations is 24 The value of the marginal posterior function is -146.0908 Optimized range parameters are 34.10173 165.8008 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.5697827 0.5659353 Start of the optimization 2 : The number of iterations is 12 The value of the marginal posterior function is -146.091 Optimized range parameters are 34.11888 165.8008 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 207.5545 206.153 The initial values of range parameters are 4.15109 4.123061 Start of the optimization 1 : The number of iterations is 39 The value of the marginal posterior function is -144.6147 Optimized range parameters are 36.54517 188.5363 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.5616429 0.5578505 Start of the optimization 2 : The number of iterations is 19 The value of the marginal posterior function is -144.6151 Optimized range parameters are 36.27548 187.7642 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 162.9825 161.882 The initial values of range parameters are 3.259651 3.23764 Start of the optimization 1 : The number of iterations is 24 The value of the marginal posterior function is -143.1453 Optimized range parameters are 32.74403 161.882 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.5537325 0.5499935 Start of the optimization 2 : The number of iterations is 22 The value of the marginal posterior function is -143.1451 Optimized range parameters are 32.74424 161.882 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 158.5408 157.4703 The initial values of range parameters are 3.170816 3.149405 Start of the optimization 1 : The number of iterations is 26 The value of the marginal posterior function is -141.6959 Optimized range parameters are 31.65865 157.4703 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.5460417 0.5423547 Start of the optimization 2 : The number of iterations is 13 The value of the marginal posterior function is -141.6958 Optimized range parameters are 31.65944 157.4703 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 154.683 153.6385 The initial values of range parameters are 3.09366 3.072771 Start of the optimization 1 : The number of iterations is 21 The value of the marginal posterior function is -140.1644 Optimized range parameters are 31.1494 153.6385 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.5385617 0.5349251 Start of the optimization 2 : The number of iterations is 21 The value of the marginal posterior function is -140.1642 Optimized range parameters are 31.1205 153.6385 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 156.7268 155.6685 The initial values of range parameters are 3.134536 3.113371 Start of the optimization 1 : The number of iterations is 37 The value of the marginal posterior function is -138.6449 Optimized range parameters are 31.25719 155.6685 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.5312838 0.5276964 Start of the optimization 2 : The number of iterations is 10 The value of the marginal posterior function is -138.6457 Optimized range parameters are 31.20511 155.6685 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 159.9013 158.8216 The initial values of range parameters are 3.198026 3.176432 Start of the optimization 1 : The number of iterations is 12 The value of the marginal posterior function is -138.799 Optimized range parameters are 32.12962 158.8216 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.5242001 0.5206605 Start of the optimization 2 : The number of iterations is 30 The value of the marginal posterior function is -138.7995 Optimized range parameters are 32.23426 158.8216 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 157.0852 156.0245 The initial values of range parameters are 3.141704 3.12049 Start of the optimization 1 : The number of iterations is 32 The value of the marginal posterior function is -138.9791 Optimized range parameters are 32.28276 156.0245 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.5173027 0.5138097 Start of the optimization 2 : The number of iterations is 11 The value of the marginal posterior function is -138.9787 Optimized range parameters are 32.25762 156.0245 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 153.7189 152.681 The initial values of range parameters are 3.074379 3.05362 Start of the optimization 1 : The number of iterations is 9 The value of the marginal posterior function is -137.3328 Optimized range parameters are 30.89731 152.681 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.5105845 0.5071368 Start of the optimization 2 : The number of iterations is 11 The value of the marginal posterior function is -137.3327 Optimized range parameters are 30.89795 152.681 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 159.3891 158.3129 The initial values of range parameters are 3.187782 3.166257 Start of the optimization 1 : The number of iterations is 13 The value of the marginal posterior function is -134.9406 Optimized range parameters are 30.6762 158.3129 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.5040385 0.5006351 Start of the optimization 2 : The number of iterations is 36 The value of the marginal posterior function is -134.9398 Optimized range parameters are 30.83421 158.3129 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 159.832 158.7527 The initial values of range parameters are 3.196639 3.175055 Start of the optimization 1 : The number of iterations is 23 The value of the marginal posterior function is -132.5023 Optimized range parameters are 29.64711 158.7527 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.4976583 0.4942979 Start of the optimization 2 : The number of iterations is 24 The value of the marginal posterior function is -132.5029 Optimized range parameters are 29.69952 158.7527 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 151.0987 150.0785 The initial values of range parameters are 3.021975 3.00157 Start of the optimization 1 : The number of iterations is 25 The value of the marginal posterior function is -130.9007 Optimized range parameters are 28.04164 150.0785 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.4914376 0.4881192 Start of the optimization 2 : The number of iterations is 26 The value of the marginal posterior function is -130.9016 Optimized range parameters are 27.90702 150.0785 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 156.5391 155.4821 The initial values of range parameters are 3.130783 3.109643 Start of the optimization 1 : The number of iterations is 24 The value of the marginal posterior function is -127.8529 Optimized range parameters are 27.65861 155.4821 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.4853704 0.482093 Start of the optimization 2 : The number of iterations is 15 The value of the marginal posterior function is -127.8537 Optimized range parameters are 27.65893 155.4821 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 144.6837 143.7068 The initial values of range parameters are 2.893674 2.874135 Start of the optimization 1 : The number of iterations is 10 The value of the marginal posterior function is -126.3069 Optimized range parameters are 26.14805 143.7068 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.4794513 0.4762139 Start of the optimization 2 : The number of iterations is 32 The value of the marginal posterior function is -126.3061 Optimized range parameters are 26.14945 143.7068 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 147.4263 146.4308 The initial values of range parameters are 2.948526 2.928616 Start of the optimization 1 : The number of iterations is 18 The value of the marginal posterior function is -123.3139 Optimized range parameters are 26.00776 146.4308 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.4736748 0.4704763 Start of the optimization 2 : The number of iterations is 29 The value of the marginal posterior function is -123.3124 Optimized range parameters are 26.00792 146.4308 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 141.8343 140.8766 The initial values of range parameters are 2.836686 2.817532 Start of the optimization 1 : The number of iterations is 21 The value of the marginal posterior function is -121.3189 Optimized range parameters are 25.40012 140.8766 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.4680358 0.4648754 Start of the optimization 2 : The number of iterations is 24 The value of the marginal posterior function is -121.3199 Optimized range parameters are 25.3783 140.8766 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 138.8069 137.8696 The initial values of range parameters are 2.776137 2.757392 Start of the optimization 1 : The number of iterations is 27 The value of the marginal posterior function is -119.9576 Optimized range parameters are 24.60408 137.8696 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.4625295 0.4594063 Start of the optimization 2 : The number of iterations is 33 The value of the marginal posterior function is -119.9574 Optimized range parameters are 24.6049 137.8696 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 136.7754 135.8519 The initial values of range parameters are 2.735509 2.717038 Start of the optimization 1 : The number of iterations is 31 The value of the marginal posterior function is -117.3956 Optimized range parameters are 23.9288 135.8519 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.4571512 0.4540644 Start of the optimization 2 : The number of iterations is 19 The value of the marginal posterior function is -117.3963 Optimized range parameters are 23.93923 135.8519 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 122.4858 121.6587 The initial values of range parameters are 2.449715 2.433174 Start of the optimization 1 : The number of iterations is 9 The value of the marginal posterior function is -117.1863 Optimized range parameters are 22.45945 121.6587 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.4518966 0.4488452 Start of the optimization 2 : The number of iterations is 28 The value of the marginal posterior function is -117.1857 Optimized range parameters are 22.45861 121.6587 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 124.7933 123.9507 The initial values of range parameters are 2.495867 2.479014 Start of the optimization 1 : The number of iterations is 30 The value of the marginal posterior function is -114.3601 Optimized range parameters are 22.5128 123.9507 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.4467614 0.4437447 Start of the optimization 2 : The number of iterations is 28 The value of the marginal posterior function is -114.36 Optimized range parameters are 22.51309 123.9507 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 121.8507 121.0279 The initial values of range parameters are 2.437013 2.420558 Start of the optimization 1 : The number of iterations is 32 The value of the marginal posterior function is -112.4649 Optimized range parameters are 22.12543 121.0279 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.4417416 0.4387588 Start of the optimization 2 : The number of iterations is 28 The value of the marginal posterior function is -112.4657 Optimized range parameters are 22.13681 121.0279 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 114.2532 113.4817 The initial values of range parameters are 2.285064 2.269635 Start of the optimization 1 : The number of iterations is 25 The value of the marginal posterior function is -110.9429 Optimized range parameters are 20.87695 113.4817 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.4368334 0.4338837 Start of the optimization 2 : The number of iterations is 30 The value of the marginal posterior function is -110.9428 Optimized range parameters are 20.87687 113.4817 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 107.5519 106.8257 The initial values of range parameters are 2.151038 2.136513 Start of the optimization 1 : The number of iterations is 24 The value of the marginal posterior function is -109.6259 Optimized range parameters are 19.96839 106.8257 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.432033 0.4291158 Start of the optimization 2 : The number of iterations is 25 The value of the marginal posterior function is -109.6258 Optimized range parameters are 19.96622 106.8257 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 105.9321 105.2168 The initial values of range parameters are 2.118642 2.104337 Start of the optimization 1 : The number of iterations is 24 The value of the marginal posterior function is -107.2887 Optimized range parameters are 19.81197 105.2168 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.427337 0.4244515 Start of the optimization 2 : The number of iterations is 35 The value of the marginal posterior function is -107.2885 Optimized range parameters are 19.80782 105.2168 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 103.7434 103.0429 The initial values of range parameters are 2.074868 2.060858 Start of the optimization 1 : The number of iterations is 23 The value of the marginal posterior function is -104.942 Optimized range parameters are 19.35122 103.0429 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.422742 0.4198875 Start of the optimization 2 : The number of iterations is 36 The value of the marginal posterior function is -104.942 Optimized range parameters are 19.3513 103.0429 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 102.2359 101.5455 The initial values of range parameters are 2.044717 2.030911 Start of the optimization 1 : The number of iterations is 26 The value of the marginal posterior function is -102.382 Optimized range parameters are 18.92818 101.5455 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.4182447 0.4154206 Start of the optimization 2 : The number of iterations is 38 The value of the marginal posterior function is -102.3824 Optimized range parameters are 18.93008 101.5455 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 104.947 104.2383 The initial values of range parameters are 2.098939 2.084767 Start of the optimization 1 : The number of iterations is 25 The value of the marginal posterior function is -98.23267 Optimized range parameters are 18.94201 104.2383 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.4138422 0.4110477 Start of the optimization 2 : The number of iterations is 40 The value of the marginal posterior function is -98.23364 Optimized range parameters are 18.94106 104.2383 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 105.99 105.2743 The initial values of range parameters are 2.1198 2.105486 Start of the optimization 1 : The number of iterations is 26 The value of the marginal posterior function is -94.36122 Optimized range parameters are 18.8138 105.2743 Optimized nugget parameter is 0 Convergence: TRUE The initial values of range parameters are 0.4095313 0.406766 Start of the optimization 2 : The number of iterations is 24 The value of the marginal posterior function is -94.36013 Optimized range parameters are 18.81444 105.2743 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 95.08534 94.44329 The initial values of range parameters are 1.901707 1.888866 Start of the optimization 1 : The number of iterations is 24 The value of the marginal posterior function is -95.14024 Optimized range parameters are 17.52605 94.44329 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.4053093 0.4025725 Start of the optimization 2 : The number of iterations is 33 The value of the marginal posterior function is -95.13983 Optimized range parameters are 17.52612 94.44329 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 92.02781 91.4064 The initial values of range parameters are 1.840556 1.828128 Start of the optimization 1 : The number of iterations is 28 The value of the marginal posterior function is -92.90551 Optimized range parameters are 16.93414 91.4064 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.4011735 0.3984647 Start of the optimization 2 : The number of iterations is 39 The value of the marginal posterior function is -92.90572 Optimized range parameters are 16.93369 91.4064 Optimized nugget parameter is 0 Convergence: FALSE The upper bounds of the range parameters are 103.2185 102.5215 The initial values of range parameters are 2.06437 2.05043 Start of the optimization 1 : The number of iterations is 24 The value of the marginal posterior function is -85.41126 Optimized range parameters are 18.01591 102.5215 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.3971213 0.3944398 Start of the optimization 2 : The number of iterations is 11 The value of the marginal posterior function is -85.40862 Optimized range parameters are 18.01616 102.5215 Optimized nugget parameter is 0 Convergence: TRUE The upper bounds of the range parameters are 84.12819 83.56012 The initial values of range parameters are 1.682564 1.671202 Start of the optimization 1 : The number of iterations is 22 The value of the marginal posterior function is -90.63195 Optimized range parameters are 16.03987 83.56012 Optimized nugget parameter is 0 Convergence: FALSE The initial values of range parameters are 0.39315 0.3904954 Start of the optimization 2 : The number of iterations is 23 The value of the marginal posterior function is -90.63178 Optimized range parameters are 16.02786 83.56012 Optimized nugget parameter is 0 Convergence: FALSE .. GENERATED FROM PYTHON SOURCE LINES 92-100 Once the active learning process is finished, we obtain the final emulator for the logarithm of the unnormalized posterior, which is given by the :py:meth:`.ActiveLearning.approx_ln_pxl` method. We can then estimate the posterior using grid estimation or Metropolis Hastings estimation based on the emulator. An example is as follows. The contour plot shows the estimated posterior. .. GENERATED FROM PYTHON SOURCE LINES 101-127 .. code-block:: default from psimpy.inference import GridEstimation import matplotlib.pyplot as plt grid_estimator = GridEstimation(ndim, bounds, ln_pxl=active_learner.approx_ln_pxl) posterior, x_ndim = grid_estimator.run(nbins=50) fig, ax = plt.subplots(1,1,figsize=(5,4)) # initial training points ax.scatter(init_var_samples[:,0], init_var_samples[:,1], s=10, c='r', marker='o', zorder=1, alpha=0.8, label='initial training points') # actively picked training points ax.scatter(var_samples[n0:,0], var_samples[n0:,1], s=15, c='k', marker='+', zorder=2, alpha=0.8, label='iterative training points') # estimated posterior based on the final emulator posterior = np.where(posterior < 1e-10, np.nan, posterior) contour = ax.contour(x_ndim[0], x_ndim[1], np.transpose(posterior), levels=10, zorder=0) plt.colorbar(contour, ax=ax) ax.legend() ax.set_title('Active learning') ax.set_xlabel('x1') ax.set_ylabel('x2') ax.set_xlim([-5,5]) ax.set_ylim([-5,5]) plt.tight_layout() .. image-sg:: /auto_examples/inference/images/sphx_glr_plot_active_learning_001.png :alt: Active learning :srcset: /auto_examples/inference/images/sphx_glr_plot_active_learning_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 54.860 seconds) .. _sphx_glr_download_auto_examples_inference_plot_active_learning.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_active_learning.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_active_learning.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_