{ "cells": [ { "cell_type": "markdown", "id": "168173a0-7826-407b-9d23-3295b98e36e3", "metadata": {}, "source": [ "# Informative distances and summary statistics" ] }, { "cell_type": "markdown", "id": "2c2a72cb-7ef4-49a0-bea6-159a41ede8d1", "metadata": {}, "source": [ "Approximate Bayesian computation (ABC) relies on the efficient comparison of relevant features in simulated and observed data, via distance metrics and potentially summary statistics. Separately, methods have been developed to adaptively scale-normalize the distance metric, and to semi-automatically derive informative, low-dimensional summary statistics.\n", "\n", "In the notebook on \"Adaptive distances\" we demonstrated how distances adjusting weights to normalize scales are beneficial for heterogeneous, including outlier-corrupted, data. However, when parts of the data are uninformative, it is desirable to further concentrate the analysis on informative data points. Various methods have been develoepd to capture information of data on parameters in a low-dimensional summary statistics representation, see e.g. [Blum et al. 2013](https://doi.org/10.1214/12-STS406) for a review. A particular approach constructs summary statistics as outputs of regression models of parameters on data, see the seminal work by [Fearnhead and Prangle 2012](https://doi.org/10.1111/j.1467-9868.2011.01010.x). In this notebook, we illustrate the use of regression methods to construct informative summary statistics and sensitivity distance weights in pyABC." ] }, { "cell_type": "raw", "id": "e57d2012-08c7-4c34-af75-5f0c9d0ba1cb", "metadata": { "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ "The notebook can be downloaded :download:`here `." ] }, { "cell_type": "code", "execution_count": 1, "id": "df5d57e9-6819-4d6a-bdbb-8639f315602a", "metadata": {}, "outputs": [], "source": [ "# install if not done yet\n", "!pip install pyabc[plotly] --quiet" ] }, { "cell_type": "code", "execution_count": 1, "id": "b349ef1d-50b0-47cb-b1e5-90c2f9f8ed75", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import scipy as sp\n", "import tempfile\n", "import matplotlib.pyplot as plt\n", "from functools import partial\n", "import logging\n", "from IPython.display import SVG,display\n", "\n", "import pyabc\n", "from pyabc.distance import *\n", "from pyabc.predictor import *\n", "from pyabc.sumstat import *\n", "from pyabc.util import EventIxs, ParTrafo, dict2arrlabels\n", "\n", "pyabc.settings.set_figure_params(\"pyabc\") # for beautified plots\n", "\n", "# for debugging\n", "for logger in [\"ABC.Distance\", \"ABC.Predictor\", \"ABC.Sumstat\"]:\n", " logging.getLogger(logger).setLevel(logging.DEBUG)" ] }, { "cell_type": "markdown", "id": "e9282480-7216-407d-99c0-cff5143d34cd", "metadata": {}, "source": [ "## Simple illustration example" ] }, { "cell_type": "markdown", "id": "fe411468-d16f-4460-9866-bbe47b13527a", "metadata": {}, "source": [ "To illustrate informativeness of data points, we consider a simple test problem. It consists of a single model output $y_1$ informative of parameter $p_1$, and uninformative model outputs $y_2$." ] }, { "cell_type": "code", "execution_count": 2, "id": "0c4b0043-ec4e-4f49-8112-c4916bdb452e", "metadata": {}, "outputs": [], "source": [ "# problem definition\n", "\n", "sigmas = {\"p1\": 0.1}\n", "\n", "def model(p):\n", " return {\"y1\": p[\"p1\"] + 1 + sigmas[\"p1\"] * np.random.normal(),\n", " \"y2\": 2 + 0.1 * np.random.normal(size=3)}\n", "\n", "gt_par = {\"p1\": 3}\n", "\n", "data = {\"y1\": gt_par[\"p1\"] + 1, \"y2\": 2 * np.ones(shape=3)}\n", "\n", "prior_bounds = {\"p1\": (0, 10)}\n", "\n", "prior = pyabc.Distribution(\n", " **{\n", " key: pyabc.RV(\"uniform\", lb, ub - lb)\n", " for key, (lb, ub) in prior_bounds.items()\n", " },\n", ")" ] }, { "cell_type": "markdown", "id": "97a1f495-c928-47ea-8a21-30b8bca993eb", "metadata": {}, "source": [ "We employ three approaches to perform inference on this problem.\n", "\n", "Firstly, we use a distance adaptively scale-normalizing all statistics by their respective in-sample median absolute deviations (MAD), as introduced in the \"Adaptive distances\" notebook (\"L1+Ada.+MAD\").\n", "\n", "Secondly, we employ an approach similar to [Fearnhead and Prangle 2012](https://doi.org/10.1111/j.1467-9868.2011.01010.x), using a linear regression model, trained after 40% of the total sample budget, as summary statistic, with a simple L1 distance (\"L1+StatLR\").\n", "\n", "Thirdly, we complement the MAD scale-normalizing weights by sensitivity weights, derived via normalized sensitivities of a linear regression model trained similarly to the second approach. This method thus accounts for informativeness by re-weighting of model outputs, without explicitly employing a low-dimensional summary statistics representation." ] }, { "cell_type": "raw", "id": "47ae3e1b-53e6-4883-90fb-8c1164652ada", "metadata": { "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ "The approaches use as distance a :class:`PNormDistance `, :class:`AdaptivePNormDistance ` for scale normalization, or :class:`InfoWeightedPNormDistance ` additionally defining regression-based sensitivity weights. Regression models are derived from the basic :class:`Predictor ` class in the corresponding module. Summary statistics that can be combined with all above distances are derived from the :class:`Sumstat ` class, in particular regression-based ones via :class:`PredictorSumstat `." ] }, { "cell_type": "code", "execution_count": 3, "id": "230f8e13-5584-4084-892b-8e7bb1cd64ba", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Fit scale ixs: \n", "ABC.Sumstat DEBUG: Fit model ixs: \n", "ABC.Distance DEBUG: Fit scale ixs: \n", "ABC.Distance DEBUG: Fit info ixs: \n" ] } ], "source": [ "# analysis definition\n", "\n", "pop_size = 100\n", "total_sims = 3000\n", "fit_sims = 0.4 * total_sims\n", "\n", "YPredictor = LinearPredictor\n", "#YPredictor = MLPPredictor\n", "\n", "distances = {\n", " \"L1+Ada.+MAD\": AdaptivePNormDistance(\n", " p=1,\n", " # adaptive scale normalization\n", " scale_function=mad,\n", " ),\n", " \"L1+StatLR\": PNormDistance(\n", " p=1,\n", " # regression-based summary statistics\n", " sumstat=PredictorSumstat(\n", " # regression model used\n", " predictor=YPredictor(),\n", " # when to fit the regression model\n", " fit_ixs=EventIxs(sims=fit_sims),\n", " ),\n", " ),\n", " \"L1+Ada.+MAD+SensiLR\": InfoWeightedPNormDistance(\n", " p=1,\n", " # adaptive scale normalization\n", " scale_function=mad,\n", " # regression model used to define sensitivity weights\n", " predictor=YPredictor(),\n", " # when to fit the regression model\n", " fit_info_ixs=EventIxs(sims=fit_sims),\n", " ),\n", "}\n", "\n", "colors = {\n", " distance_id: f\"C{i}\"\n", " for i, distance_id in enumerate(distances)\n", "}" ] }, { "cell_type": "markdown", "id": "b44ae7da-0c67-40be-8e3a-bc53ec249a0f", "metadata": {}, "source": [ "We perform the analysis using all above distance functions and summary statistics. Additionally, below we specify various logging files to capture relevant information for further analysis." ] }, { "cell_type": "code", "execution_count": 4, "id": "c341b9a1-5696-4f9d-8b17-1d9aae08342d", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "L1+Ada.+MAD\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ABC INFO: Calibration sample t = -1.\n", "ABC.Distance DEBUG: Scale weights[0] = {'y1': 3.9916e-01, 'y2:0': 1.3898e+01, 'y2:1': 1.5266e+01, 'y2:2': 1.6439e+01}\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 4.61306516e+00.\n", "ABC INFO: Accepted: 100 / 220 = 4.5455e-01, ESS: 1.0000e+02.\n", "ABC.Distance DEBUG: Scale weights[1] = {'y1': 4.2536e-01, 'y2:0': 1.4397e+01, 'y2:1': 1.2537e+01, 'y2:2': 1.6311e+01}\n", "ABC INFO: t: 1, eps: 3.40116321e+00.\n", "ABC INFO: Accepted: 100 / 339 = 2.9499e-01, ESS: 8.8877e+01.\n", "ABC.Distance DEBUG: Scale weights[2] = {'y1': 5.6351e-01, 'y2:0': 1.3952e+01, 'y2:1': 1.4549e+01, 'y2:2': 1.5463e+01}\n", "ABC INFO: t: 2, eps: 2.90921477e+00.\n", "ABC INFO: Accepted: 100 / 559 = 1.7889e-01, ESS: 9.4989e+01.\n", "ABC.Distance DEBUG: Scale weights[3] = {'y1': 7.1644e-01, 'y2:0': 1.4643e+01, 'y2:1': 1.5089e+01, 'y2:2': 1.4978e+01}\n", "ABC INFO: t: 3, eps: 2.53687272e+00.\n", "ABC INFO: Accepted: 100 / 776 = 1.2887e-01, ESS: 9.1048e+01.\n", "ABC.Distance DEBUG: Scale weights[4] = {'y1': 1.0699e+00, 'y2:0': 1.5647e+01, 'y2:1': 1.4792e+01, 'y2:2': 1.5166e+01}\n", "ABC INFO: t: 4, eps: 2.39675847e+00.\n", "ABC INFO: Accepted: 100 / 931 = 1.0741e-01, ESS: 8.6099e+01.\n", "ABC.Distance DEBUG: Scale weights[5] = {'y1': 1.4596e+00, 'y2:0': 1.5166e+01, 'y2:1': 1.5478e+01, 'y2:2': 1.3777e+01}\n", "ABC INFO: t: 5, eps: 2.14635356e+00.\n", "ABC INFO: Accepted: 100 / 1278 = 7.8247e-02, ESS: 9.1582e+01.\n", "ABC.Distance DEBUG: Scale weights[6] = {'y1': 2.1129e+00, 'y2:0': 1.5285e+01, 'y2:1': 1.4913e+01, 'y2:2': 1.4321e+01}\n", "ABC INFO: Stop: Total simulations budget.\n", "ABC.History INFO: Done \n", "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "L1+StatLR\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 2.87686490e+00.\n", "ABC INFO: Accepted: 100 / 205 = 4.8780e-01, ESS: 1.0000e+02.\n", "ABC INFO: t: 1, eps: 1.56873559e+00.\n", "ABC INFO: Accepted: 100 / 223 = 4.4843e-01, ESS: 9.9030e+01.\n", "ABC INFO: t: 2, eps: 9.57269210e-01.\n", "ABC INFO: Accepted: 100 / 224 = 4.4643e-01, ESS: 9.9415e+01.\n", "ABC INFO: t: 3, eps: 6.07547820e-01.\n", "ABC INFO: Accepted: 100 / 189 = 5.2910e-01, ESS: 9.8959e+01.\n", "ABC INFO: t: 4, eps: 4.14336762e-01.\n", "ABC INFO: Accepted: 100 / 229 = 4.3668e-01, ESS: 9.3448e+01.\n", "ABC INFO: t: 5, eps: 3.05346717e-01.\n", "ABC INFO: Accepted: 100 / 359 = 2.7855e-01, ESS: 8.6204e+01.\n", "ABC.Predictor INFO: Fitted in 0.00s\n", "ABC.Predictor INFO: Pearson correlations: 0.855\n", "ABC.Predictor DEBUG: Linear regression coefficients (n_target, n_feature):\n", "[[ 0.85345358 0.00434316 -0.00268666 -0.03438184]]\n", "ABC INFO: t: 6, eps: 3.01123061e-01.\n", "ABC INFO: Accepted: 100 / 337 = 2.9674e-01, ESS: 8.7691e+01.\n", "ABC INFO: t: 7, eps: 1.71022914e-01.\n", "ABC INFO: Accepted: 100 / 479 = 2.0877e-01, ESS: 6.5137e+01.\n", "ABC INFO: t: 8, eps: 7.95773325e-02.\n", "ABC INFO: Accepted: 100 / 1142 = 8.7566e-02, ESS: 8.8637e+01.\n", "ABC INFO: Stop: Total simulations budget.\n", "ABC.History INFO: Done \n", "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "L1+Ada.+MAD+SensiLR\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Scale weights[0] = {'y1': 4.6828e-01, 'y2:0': 1.4908e+01, 'y2:1': 1.6688e+01, 'y2:2': 1.8701e+01}\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 4.79871628e+00.\n", "ABC INFO: Accepted: 100 / 250 = 4.0000e-01, ESS: 1.0000e+02.\n", "ABC.Distance DEBUG: Scale weights[1] = {'y1': 3.7404e-01, 'y2:0': 1.3719e+01, 'y2:1': 1.6838e+01, 'y2:2': 1.5203e+01}\n", "ABC INFO: t: 1, eps: 3.04687823e+00.\n", "ABC INFO: Accepted: 100 / 362 = 2.7624e-01, ESS: 9.3661e+01.\n", "ABC.Distance DEBUG: Scale weights[2] = {'y1': 6.3353e-01, 'y2:0': 1.6098e+01, 'y2:1': 1.5150e+01, 'y2:2': 1.4629e+01}\n", "ABC INFO: t: 2, eps: 2.80424688e+00.\n", "ABC INFO: Accepted: 100 / 651 = 1.5361e-01, ESS: 9.5979e+01.\n", "ABC.Distance DEBUG: Scale weights[3] = {'y1': 7.3991e-01, 'y2:0': 1.4131e+01, 'y2:1': 1.6120e+01, 'y2:2': 1.5415e+01}\n", "ABC.Predictor INFO: Fitted in 0.00s\n", "ABC.Predictor INFO: Pearson correlations: 0.999\n", "ABC.Predictor DEBUG: Linear regression coefficients (n_target, n_feature):\n", "[[ 9.98648081e-01 -3.59852955e-03 3.41440040e-03 3.49105721e-04]]\n", "ABC.Distance DEBUG: Optimal FD delta: [0.1 0.1 0.1 0.1]\n", "ABC.Distance DEBUG: Info weights[3] = {'y1': 9.9345e-01, 'y2:0': 3.3450e-03, 'y2:1': 2.8975e-03, 'y2:2': 3.0555e-04}\n", "ABC INFO: t: 3, eps: 6.27981174e-01.\n", "ABC INFO: Accepted: 100 / 223 = 4.4843e-01, ESS: 9.9388e+01.\n", "ABC.Distance DEBUG: Scale weights[4] = {'y1': 1.0916e+00, 'y2:0': 1.5020e+01, 'y2:1': 1.6405e+01, 'y2:2': 1.6376e+01}\n", "ABC INFO: t: 4, eps: 4.10373777e-01.\n", "ABC INFO: Accepted: 100 / 212 = 4.7170e-01, ESS: 9.6175e+01.\n", "ABC.Distance DEBUG: Scale weights[5] = {'y1': 2.5702e+00, 'y2:0': 1.4002e+01, 'y2:1': 1.5511e+01, 'y2:2': 1.3470e+01}\n", "ABC INFO: t: 5, eps: 4.83755744e-01.\n", "ABC INFO: Accepted: 100 / 229 = 4.3668e-01, ESS: 9.8700e+01.\n", "ABC.Distance DEBUG: Scale weights[6] = {'y1': 4.9205e+00, 'y2:0': 1.5758e+01, 'y2:1': 1.4302e+01, 'y2:2': 1.2520e+01}\n", "ABC INFO: t: 6, eps: 4.88461606e-01.\n", "ABC INFO: Accepted: 100 / 294 = 3.4014e-01, ESS: 9.3014e+01.\n", "ABC.Distance DEBUG: Scale weights[7] = {'y1': 6.8078e+00, 'y2:0': 1.5560e+01, 'y2:1': 1.5163e+01, 'y2:2': 1.5084e+01}\n", "ABC INFO: t: 7, eps: 3.28511752e-01.\n", "ABC INFO: Accepted: 100 / 470 = 2.1277e-01, ESS: 8.8489e+01.\n", "ABC.Distance DEBUG: Scale weights[8] = {'y1': 9.2931e+00, 'y2:0': 1.5087e+01, 'y2:1': 1.4246e+01, 'y2:2': 1.4925e+01}\n", "ABC INFO: t: 8, eps: 2.49471607e-01.\n", "ABC INFO: Accepted: 100 / 836 = 1.1962e-01, ESS: 8.5409e+01.\n", "ABC.Distance DEBUG: Scale weights[9] = {'y1': 9.8016e+00, 'y2:0': 1.3972e+01, 'y2:1': 1.4274e+01, 'y2:2': 1.4674e+01}\n", "ABC INFO: Stop: Total simulations budget.\n", "ABC.History INFO: Done \n" ] } ], "source": [ "# runs\n", "\n", "db_file = tempfile.mkstemp(suffix=\".db\")[1]\n", "\n", "scale_log_file = tempfile.mkstemp()[1]\n", "info_log_file = tempfile.mkstemp()[1]\n", "info_sample_log_file = tempfile.mkstemp()[1]\n", "\n", "hs = []\n", "for distance_id, distance in distances.items():\n", " print(distance_id)\n", " if isinstance(distance, AdaptivePNormDistance):\n", " distance.scale_log_file = f\"{scale_log_file}_{distance_id}.json\"\n", " if isinstance(distance, InfoWeightedPNormDistance):\n", " distance.info_log_file = f\"{info_log_file}_{distance_id}.json\"\n", " distance.info_sample_log_file = f\"{info_sample_log_file}_{distance_id}\"\n", "\n", " abc = pyabc.ABCSMC(model, prior, distance, population_size=pop_size)\n", " h = abc.new(db=\"sqlite:///\" + db_file, observed_sum_stat=data)\n", " abc.run(max_total_nr_simulations=total_sims)\n", " hs.append(h)" ] }, { "cell_type": "markdown", "id": "4433f3fb-d582-46bc-a245-979ff04ad6ad", "metadata": {}, "source": [ "The comparison of the obtained posterior approximations with the true posterior reveals that L1+Ada.+MAD gave a worse fit compared to the other approaches. This is because it only applies scale-normalization, but does not account for informativeness of data, and thus spends a lot of time on fitting $y_2$." ] }, { "cell_type": "code", "execution_count": 5, "id": "933a4514-f9fd-4d6e-aeae-e16f5de8da2c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot ABC posterior approximations\n", "\n", "fig, axes = plt.subplots(ncols=len(prior_bounds), figsize=(6, 4))\n", "if len(prior_bounds) == 1:\n", " axes = [axes]\n", "\n", "# plot ground truth\n", "\n", "def unnorm_1d_normal_pdf(p, y_obs, sigma, p_to_y = None):\n", " \"\"\"Non-normalized 1-d normal density.\n", " \n", " Parameters\n", " ----------\n", " p: Parameter to evaluate at.\n", " y_obs: Observed data.\n", " sigma: Noise standard deviation.\n", " p_to_y: Function to deterministically transform p to simulated data.\n", " \n", " Returns\n", " -------\n", " pd: Probability density/densities at p.\n", " \"\"\"\n", " if p_to_y is None:\n", " p_to_y = lambda p: p\n", " y = p_to_y(p)\n", " pd = np.exp(- (y - y_obs)**2 / (2 * sigma**2))\n", " return pd\n", "\n", "for i_par, par in enumerate(gt_par.keys()):\n", " # define parameter-simulation transformation\n", " p_to_y = lambda p: p+1\n", " # observed data corresponding to parameter\n", " y_obs = p_to_y(gt_par[par])\n", " # bounds\n", " xmin, xmax = prior_bounds[par]\n", " # standard deviation\n", " sigma = sigmas[par]\n", "\n", " # pdf as function of only p\n", " pdf = partial(\n", " unnorm_1d_normal_pdf, y_obs=y_obs, sigma=sigma, p_to_y=p_to_y,\n", " )\n", "\n", " # integrate density\n", " norm = sp.integrate.quad(pdf, xmin, xmax)[0]\n", "\n", " # plot density\n", " xs = np.linspace(xmin, xmax, 300)\n", " axes[i_par].plot(\n", " xs, pdf(xs) / norm, linestyle=\"dashed\",\n", " color=\"grey\",label=\"ground truth\",\n", " )\n", "\n", "# plot ABC approximations\n", "\n", "for i_par, par in enumerate(prior_bounds.keys()):\n", " for distance_id, h in zip(distances.keys(), hs):\n", " pyabc.visualization.plot_kde_1d_highlevel(\n", " h, x=par, xname=par,\n", " xmin=prior_bounds[par][0], xmax=prior_bounds[par][1],\n", " ax=axes[i_par], label=distance_id,\n", " numx=500,\n", " )\n", "\n", "# prettify\n", "for ax in axes[1:]:\n", " ax.set_ylabel(None)\n", "fig.tight_layout(rect=(0, 0.1, 1, 1))\n", "axes[-1].legend()" ] }, { "cell_type": "markdown", "id": "472ddc82-fae8-4661-83c7-d3c184547e5b", "metadata": {}, "source": [ "Via the log files, we can further examine the employed weights, firstly scale-normalizing weights based on MAD, and secondly sensitivity weights quantifying informativeness. Indeed, while both L1+Ada.+MAD and L1+Ada.+MAD+SensiLR assign large weights to $y_2$, the additional sensitivity weights employed by L1+Ada.+MAD+SensiLR counteract this by assigning a large weight to $y_1$." ] }, { "cell_type": "code", "execution_count": 6, "id": "024b2905-cb78-4850-9a6b-37335032daed", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot weights\n", "\n", "fig, axes = plt.subplots(nrows=2, ncols=len(gt_par), figsize=(4, 8))\n", "\n", "# scale weights\n", "\n", "scale_distance_ids = [\n", " distance_id for distance_id in distances.keys()\n", " if \"Ada.\" in distance_id and \"Stat\" not in distance_id\n", "]\n", "scale_log_files = []\n", "for i_dist, distance_id in enumerate(scale_distance_ids):\n", " scale_log_files.append(f\"{scale_log_file}_{distance_id}.json\")\n", "\n", "pyabc.visualization.plot_distance_weights(\n", " scale_log_files,\n", " labels=scale_distance_ids,\n", " colors=[colors[distance_id] for distance_id in scale_distance_ids],\n", " xlabel=\"Model output\",\n", " title=\"Scale weights\",\n", " ax=axes[0],\n", " keys=dict2arrlabels(data, keys=data.keys()),\n", ")\n", "\n", "# info weights\n", "\n", "info_distance_ids = [\n", " distance_id for distance_id in distances.keys()\n", " if \"Sensi\" in distance_id\n", "]\n", "info_log_files = []\n", "for i_dist, distance_id in enumerate(info_distance_ids):\n", " info_log_files.append(f\"{info_log_file}_{distance_id}.json\")\n", "\n", "pyabc.visualization.plot_distance_weights(\n", " info_log_files,\n", " labels=info_distance_ids,\n", " colors=[colors[distance_id] for distance_id in info_distance_ids],\n", " xlabel=\"Model output\",\n", " title=\"Sensitivity weights\",\n", " ax=axes[1],\n", " keys=dict2arrlabels(data, keys=data.keys()),\n", ")\n", "\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "id": "06ed26e9-23b2-4493-9b6c-df5a623cc07d", "metadata": {}, "source": [ "To further understand the employed sensitivity matrix, we can visualize the connections between model outputs and parameters (in this case a single one) via a \"Sankey\" flow diagram. In this case, this gives no further information beyond the above weight diagram." ] }, { "cell_type": "code", "execution_count": 7, "id": "a821a491-5276-4f1c-bc7b-8b9c73ee98b4", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ABC.Predictor INFO: Fitted in 0.00s\n", "ABC.Predictor INFO: Pearson correlations: 0.999\n", "ABC.Predictor DEBUG: Linear regression coefficients (n_target, n_feature):\n", "[[ 9.98648081e-01 -3.59852955e-03 3.41440040e-03 3.49105721e-04]]\n", "ABC.Distance DEBUG: Optimal FD delta: [0.01 0.1 0.1 0.1 ]\n" ] }, { "data": { "image/svg+xml": [ "y1y2:0y2:1y2:2p1Data-parameter sensitivities" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot flow diagram\n", "\n", "fig = pyabc.visualization.plot_sensitivity_sankey(\n", " info_sample_log_file=f\"{info_sample_log_file}_L1+Ada.+MAD+SensiLR\",\n", " t=f\"{info_log_file}_L1+Ada.+MAD+SensiLR.json\",\n", " h=hs[-1],\n", " predictor=LinearPredictor(),\n", ")\n", "\n", "# here just showing a non-interactive plot to reduce storage\n", "img_file = tempfile.mkstemp(suffix=(\".svg\"))[1]\n", "fig.write_image(img_file)\n", "display(SVG(img_file))" ] }, { "cell_type": "markdown", "id": "27e864e7-e44e-4f90-94e2-f6ab024d614b", "metadata": {}, "source": [ "## Challenging problem features" ] }, { "cell_type": "markdown", "id": "daec319b-b31c-46f2-bf2e-765dfa954b7e", "metadata": {}, "source": [ "Now, we turn to a slightly more challenging problem:\n", "\n", "* $y_1\\sim\\mathcal{N}(\\theta_1,0.1^2)$ is informative of $\\theta_1$, with a relatively wide corresponding prior $\\theta_1\\sim U[-7, 7]$,\n", "* $y_2\\sim\\mathcal{N}(\\theta_2,100^2)$ is informative of $\\theta_2$, with corresponding prior $\\theta_2\\sim U[-700, 700]$,\n", "* $y_3\\sim\\mathcal{N}(\\theta_3, 4 \\cdot 100^2)^{\\otimes 4}$ is a four-dimensional vector informative of $\\theta_3$, with corresponding prior $\\theta_3\\sim U[-700, 700]$,\n", "* $y_4\\sim\\mathcal{N}(\\theta_4^2, 0.1^2)$ is informative of $\\theta_4$, with corresponding symmetric prior $\\theta_4\\sim U[-1, 1]$, however is quadratic in the parameter, resulting in a bimodal posterior distribution for $y_{\\text{obs},4}\\neq 0$,\n", "* $y_5\\sim\\mathcal{N}(0, 10)^{\\otimes 10}$ is an uninformative 10-dimensional vector.\n", "\n", "The problem encompasses multiple challenging features established methods have problems with:\n", "\n", "* A substantial part of the data, $y_5$, is uninformative, such that approaches not accounting for informativeness of data may converge slower.\n", "* Both data and parameters are on different scales, such that approaches comparing data, or, via regression-based summary statistics, parameters, without normalization may be biased towards large-scale variables. Further, e.g. the prior of $\\theta_1$ is relatively wide, such that pre-calibrated weighting is sub-optimal, as discussed in \\citet{Prangle2017}.\n", "* $y_4$ is quadratic in $\\theta_4$ and symmetric over the prior, such that the inverse first-order regression approaches as in FearnheadPra2012} cannot capture a meaningful relationship.\n", "* While the distributions of $y_3$ and $y_4$ are such that the posterior distributions of $\\theta_3$, $\\theta_4$ are identical, in solely scale-normalized approaches such as [Fearnhead and Prangle 2012](https://doi.org/10.1111/j.1467-9868.2011.01010.x), the impact of $y_4$ on the distance value is roughly four times as high as that of $y_3$, leading to potentially uneven convergence." ] }, { "cell_type": "code", "execution_count": 8, "id": "597c5a35-8ef8-4357-b4dc-95a215f413ae", "metadata": {}, "outputs": [], "source": [ "# problem definition\n", "\n", "sigmas = {\"p1\": 1e-1, \"p2\": 1e2, \"p3\": 1e2, \"p4\": 1e-1}\n", "\n", "def model(p):\n", " return {\n", " \"y1\": p[\"p1\"] + sigmas[\"p1\"] * np.random.normal(),\n", " \"y2\": p[\"p2\"] + sigmas[\"p2\"] * np.random.normal(),\n", " \"y3\": p[\"p3\"] + np.sqrt(4 * sigmas[\"p3\"]**2) * np.random.normal(size=4),\n", " \"y4\": p[\"p4\"] ** 2 + sigmas[\"p4\"] * np.random.normal(),\n", " \"y5\": 1e1 * np.random.normal(size=10),\n", " }\n", "\n", "prior_bounds = {\n", " \"p1\": (-7e0, 7e0),\n", " \"p2\": (-7e2, 7e2),\n", " \"p3\": (-7e2, 7e2),\n", " \"p4\": (-1e0, 1e0),\n", "}\n", "\n", "prior = pyabc.Distribution(\n", " **{\n", " key: pyabc.RV(\"uniform\", lb, ub - lb)\n", " for key, (lb, ub) in prior_bounds.items()\n", " },\n", ")\n", "\n", "gt_par = {\"p1\": 0, \"p2\": 0, \"p3\": 0, \"p4\": 0.5}\n", "data = {\"y1\": 0, \"y2\": 0, \"y3\": 0 * np.ones(4), \"y4\": 0.5**2, \"y5\": 0 * np.ones(10)}" ] }, { "cell_type": "markdown", "id": "2e590cd1-4a6e-4101-a4b7-d650a317b7a8", "metadata": {}, "source": [ "To tackle these problems, we suggest to firstly consistenly employ scale normalization, both on the raw model outputs and on the level of summary statistics. Secondly, we suggest to instead of only inferring a mapping $s: y \\mapsto \\theta$, we target augmented parameter vectors, $s: y \\mapsto \\lambda(\\theta)$, with e.g. $\\lambda(\\theta) = (\\theta^1,\\ldots,\\theta^4)$. This practically allows to break symmetry, e.g. if only $\\theta^2$ can be expressed as a function of the data. Conceptually, this further allows to obtain a more accurate description of the posterior distribution, as the summary statistics may be regarded as approximations to $s(y) = \\mathbb{E}[\\lambda(\\theta)|y]$, using which as summary statistics preserves the corresponding posterior moments, i.e.\n", "\n", "$$\\lim_{\\varepsilon\\rightarrow 0}\\mathbb{E}_{\\pi_{\\text{ABC},\\varepsilon}}[\\lambda(\\Theta)|s(y_\\text{obs})] = \\mathbb{E}[\\lambda(\\Theta)|Y=y_\\text{obs}].$$\n", "\n", "Methods employing scale normalization, accounting for informativeness, and augmented regression targets, are L1+Ada.+MAD+StatLR+P4, which uses regression-based summary statistics, and L1+Ada.+MAD+SensiLR+P4, which uses sensitivity weights.\n", "For comparison, we consider L1+Ada.+MAD only normalizing scales, and L1+StatLR, using non-scale normaled summary statistics, as well as L1+Ada.+MAD+StatLR and L1+Ada.+MAD+SensiLR using only a subset of methods." ] }, { "cell_type": "code", "execution_count": 9, "id": "cbc550e8-04b4-465d-8be0-01c5e15afda9", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Fit scale ixs: \n", "ABC.Sumstat DEBUG: Fit model ixs: \n", "ABC.Sumstat DEBUG: Fit model ixs: \n", "ABC.Distance DEBUG: Fit scale ixs: \n", "ABC.Sumstat DEBUG: Fit model ixs: \n", "ABC.Distance DEBUG: Fit scale ixs: \n", "ABC.Distance DEBUG: Fit scale ixs: \n", "ABC.Distance DEBUG: Fit info ixs: \n", "ABC.Distance DEBUG: Fit scale ixs: \n", "ABC.Distance DEBUG: Fit info ixs: \n" ] } ], "source": [ "# analysis definition\n", "\n", "pop_size = 1000\n", "total_sims = 50000\n", "par_trafos = [lambda x: x, lambda x: x**2, lambda x: x**3, lambda x: x**4]\n", "fit_sims = 0.4 * total_sims\n", "\n", "YPredictor = LinearPredictor\n", "#YPredictor = MLPPredictor\n", "\n", "distances = {\n", " \"L1+Ada.+MAD\": AdaptivePNormDistance(\n", " p=1,\n", " scale_function=mad,\n", " ),\n", " \"L1+StatLR\": PNormDistance(\n", " p=1,\n", " sumstat=PredictorSumstat(\n", " predictor=YPredictor(normalize_features=False, normalize_labels=False),\n", " fit_ixs=EventIxs(sims=fit_sims),\n", " ),\n", " ),\n", " \"L1+Ada.+MAD+StatLR\": AdaptivePNormDistance(\n", " p=1,\n", " scale_function=mad,\n", " sumstat=PredictorSumstat(\n", " predictor=YPredictor(),\n", " fit_ixs=EventIxs(sims=fit_sims),\n", " ),\n", " ),\n", " \"L1+Ada.+MAD+StatLR+P4\": AdaptivePNormDistance(\n", " p=1,\n", " scale_function=mad,\n", " sumstat=PredictorSumstat(\n", " predictor=YPredictor(),\n", " fit_ixs=EventIxs(sims=fit_sims),\n", " par_trafo=ParTrafo(trafos=par_trafos),\n", " ),\n", " ),\n", " \"L1+Ada.+MAD+SensiLR\": InfoWeightedPNormDistance(\n", " p=1,\n", " scale_function=mad,\n", " predictor=YPredictor(),\n", " fit_info_ixs=EventIxs(sims=fit_sims),\n", " feature_normalization=\"mad\",\n", " ),\n", " \"L1+Ada.+MAD+SensiLR+P4\": InfoWeightedPNormDistance(\n", " p=1,\n", " scale_function=mad,\n", " predictor=YPredictor(),\n", " fit_info_ixs=EventIxs(sims=fit_sims),\n", " feature_normalization=\"mad\",\n", " par_trafo=ParTrafo(trafos=par_trafos),\n", " ),\n", "}\n", "\n", "colors = {\n", " distance_id: f\"C{i}\"\n", " for i, distance_id in enumerate(distances)\n", "}" ] }, { "cell_type": "markdown", "id": "c82b9b01-9ab2-4208-89cf-d9c05d43e9c7", "metadata": {}, "source": [ "For the analysis, we suggest the use of sufficiently large population sizes, as the process model is more complex." ] }, { "cell_type": "code", "execution_count": 10, "id": "a44da266-8980-4606-b857-84e8b744b568", "metadata": { "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "L1+Ada.+MAD\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Scale weights[0] = {'y1': 2.9294e-01, 'y2': 2.7377e-03, 'y3:0': 2.8626e-03, 'y3:1': 2.9173e-03, 'y3:2': 2.9049e-03, 'y3:3': 2.9623e-03, 'y4': 4.3981e+00, 'y5:0': 1.4131e-01, 'y5:1': 1.5015e-01, 'y5:2': 1.4726e-01, 'y5:3': 1.5484e-01, 'y5:4': 1.4182e-01, 'y5:5': 1.4668e-01, 'y5:6': 1.5088e-01, 'y5:7': 1.4703e-01, 'y5:8': 1.4922e-01, 'y5:9': 1.3950e-01}\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 1.90563584e+01.\n", "ABC INFO: Accepted: 1000 / 2018 = 4.9554e-01, ESS: 1.0000e+03.\n", "ABC.Distance DEBUG: Scale weights[1] = {'y1': 2.8470e-01, 'y2': 2.9895e-03, 'y3:0': 2.8676e-03, 'y3:1': 2.7813e-03, 'y3:2': 2.8152e-03, 'y3:3': 2.8497e-03, 'y4': 4.5285e+00, 'y5:0': 1.4742e-01, 'y5:1': 1.4402e-01, 'y5:2': 1.5378e-01, 'y5:3': 1.4295e-01, 'y5:4': 1.4342e-01, 'y5:5': 1.4931e-01, 'y5:6': 1.4800e-01, 'y5:7': 1.4684e-01, 'y5:8': 1.5270e-01, 'y5:9': 1.5023e-01}\n", "ABC INFO: t: 1, eps: 1.65481821e+01.\n", "ABC INFO: Accepted: 1000 / 2915 = 3.4305e-01, ESS: 7.9901e+02.\n", "ABC.Distance DEBUG: Scale weights[2] = {'y1': 3.4158e-01, 'y2': 3.3718e-03, 'y3:0': 3.7079e-03, 'y3:1': 3.8657e-03, 'y3:2': 3.6288e-03, 'y3:3': 3.7560e-03, 'y4': 5.6115e+00, 'y5:0': 1.4786e-01, 'y5:1': 1.4220e-01, 'y5:2': 1.4858e-01, 'y5:3': 1.4810e-01, 'y5:4': 1.5262e-01, 'y5:5': 1.4673e-01, 'y5:6': 1.4934e-01, 'y5:7': 1.4790e-01, 'y5:8': 1.4400e-01, 'y5:9': 1.4952e-01}\n", "ABC INFO: t: 2, eps: 1.62250426e+01.\n", "ABC INFO: Accepted: 1000 / 4420 = 2.2624e-01, ESS: 6.5218e+02.\n", "ABC.Distance DEBUG: Scale weights[3] = {'y1': 3.4803e-01, 'y2': 3.4560e-03, 'y3:0': 4.2484e-03, 'y3:1': 4.3525e-03, 'y3:2': 4.2639e-03, 'y3:3': 4.4310e-03, 'y4': 5.9792e+00, 'y5:0': 1.5168e-01, 'y5:1': 1.4306e-01, 'y5:2': 1.5072e-01, 'y5:3': 1.4940e-01, 'y5:4': 1.4796e-01, 'y5:5': 1.4404e-01, 'y5:6': 1.4895e-01, 'y5:7': 1.5217e-01, 'y5:8': 1.5272e-01, 'y5:9': 1.4671e-01}\n", "ABC INFO: t: 3, eps: 1.54467098e+01.\n", "ABC INFO: Accepted: 1000 / 7079 = 1.4126e-01, ESS: 7.6828e+02.\n", "ABC.Distance DEBUG: Scale weights[4] = {'y1': 3.8851e-01, 'y2': 3.5183e-03, 'y3:0': 4.8134e-03, 'y3:1': 4.7860e-03, 'y3:2': 4.9635e-03, 'y3:3': 4.8290e-03, 'y4': 6.1102e+00, 'y5:0': 1.4576e-01, 'y5:1': 1.4508e-01, 'y5:2': 1.4572e-01, 'y5:3': 1.5013e-01, 'y5:4': 1.4984e-01, 'y5:5': 1.5022e-01, 'y5:6': 1.5114e-01, 'y5:7': 1.4977e-01, 'y5:8': 1.4550e-01, 'y5:9': 1.4246e-01}\n", "ABC INFO: t: 4, eps: 1.46981636e+01.\n", "ABC INFO: Accepted: 1000 / 10506 = 9.5184e-02, ESS: 6.4057e+02.\n", "ABC.Distance DEBUG: Scale weights[5] = {'y1': 4.1201e-01, 'y2': 3.7667e-03, 'y3:0': 5.3283e-03, 'y3:1': 5.3384e-03, 'y3:2': 5.4103e-03, 'y3:3': 5.3343e-03, 'y4': 6.3827e+00, 'y5:0': 1.4821e-01, 'y5:1': 1.4911e-01, 'y5:2': 1.4648e-01, 'y5:3': 1.4632e-01, 'y5:4': 1.4849e-01, 'y5:5': 1.4841e-01, 'y5:6': 1.4589e-01, 'y5:7': 1.4635e-01, 'y5:8': 1.4786e-01, 'y5:9': 1.4916e-01}\n", "ABC INFO: t: 5, eps: 1.41715617e+01.\n", "ABC INFO: Accepted: 1000 / 17467 = 5.7251e-02, ESS: 4.1359e+02.\n", "ABC.Distance DEBUG: Scale weights[6] = {'y1': 4.5671e-01, 'y2': 3.9722e-03, 'y3:0': 5.5490e-03, 'y3:1': 5.5915e-03, 'y3:2': 5.6185e-03, 'y3:3': 5.6091e-03, 'y4': 6.2272e+00, 'y5:0': 1.4800e-01, 'y5:1': 1.4988e-01, 'y5:2': 1.4662e-01, 'y5:3': 1.4592e-01, 'y5:4': 1.4934e-01, 'y5:5': 1.4760e-01, 'y5:6': 1.4867e-01, 'y5:7': 1.4818e-01, 'y5:8': 1.4862e-01, 'y5:9': 1.4893e-01}\n", "ABC INFO: t: 6, eps: 1.35740321e+01.\n", "ABC INFO: Accepted: 1000 / 27750 = 3.6036e-02, ESS: 6.6695e+02.\n", "ABC.Distance DEBUG: Scale weights[7] = {'y1': 4.9653e-01, 'y2': 4.1405e-03, 'y3:0': 5.7993e-03, 'y3:1': 5.8629e-03, 'y3:2': 5.8766e-03, 'y3:3': 5.8056e-03, 'y4': 6.3017e+00, 'y5:0': 1.4710e-01, 'y5:1': 1.4942e-01, 'y5:2': 1.4619e-01, 'y5:3': 1.4899e-01, 'y5:4': 1.4903e-01, 'y5:5': 1.4791e-01, 'y5:6': 1.4870e-01, 'y5:7': 1.4773e-01, 'y5:8': 1.4677e-01, 'y5:9': 1.4654e-01}\n", "ABC INFO: Stop: Total simulations budget.\n", "ABC.History INFO: Done \n", "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "L1+StatLR\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 1.81512613e+03.\n", "ABC INFO: Accepted: 1000 / 2065 = 4.8426e-01, ESS: 1.0000e+03.\n", "ABC INFO: t: 1, eps: 1.27573430e+03.\n", "ABC INFO: Accepted: 1000 / 2163 = 4.6232e-01, ESS: 8.4246e+02.\n", "ABC INFO: t: 2, eps: 1.01199987e+03.\n", "ABC INFO: Accepted: 1000 / 3008 = 3.3245e-01, ESS: 6.8605e+02.\n", "ABC INFO: t: 3, eps: 8.38463037e+02.\n", "ABC INFO: Accepted: 1000 / 4407 = 2.2691e-01, ESS: 6.9940e+02.\n", "ABC INFO: t: 4, eps: 7.16759482e+02.\n", "ABC INFO: Accepted: 1000 / 6141 = 1.6284e-01, ESS: 5.4982e+02.\n", "ABC INFO: t: 5, eps: 6.24981827e+02.\n", "ABC INFO: Accepted: 1000 / 9703 = 1.0306e-01, ESS: 4.7455e+02.\n", "ABC.Predictor INFO: Fitted in 0.01s\n", "ABC.Predictor INFO: Pearson correlations: 1.000 0.886 0.815 0.097\n", "ABC.Predictor DEBUG: Linear regression coefficients (n_target, n_feature):\n", "[[ 9.99261882e-01 -2.02321439e-06 1.31433366e-06 -1.02471763e-05\n", " 6.03041020e-06 2.44448630e-06 1.11233986e-03 2.86938000e-05\n", " 4.62949008e-05 -1.47375622e-04 1.07937746e-04 1.20979546e-04\n", " 1.12870254e-04 8.56516758e-05 -1.83345738e-04 -6.27656419e-06\n", " -7.36791751e-05]\n", " [-8.90658141e-02 7.90034834e-01 -9.68880155e-04 -1.50247549e-03\n", " 5.62952727e-03 6.64435835e-03 1.34481213e+01 -1.41244384e-01\n", " -9.79291457e-02 -6.09723366e-02 -5.54299132e-02 -6.71159793e-02\n", " 1.32018814e-01 -1.39732829e-01 3.28816331e-03 7.21479456e-02\n", " -4.14487829e-02]\n", " [-6.40806297e-01 2.65843829e-03 1.64800569e-01 1.65838067e-01\n", " 1.66051504e-01 1.66044169e-01 5.45851877e+00 2.50318673e-02\n", " -4.11312360e-02 3.73507719e-02 -1.19725048e-01 1.14815514e-01\n", " -5.58334230e-02 -5.73220879e-03 -1.04073562e-01 9.38231547e-02\n", " -1.86993037e-02]\n", " [ 4.04954057e-03 -1.53390296e-04 -6.30799858e-06 -6.70342648e-05\n", " -2.07515714e-05 -4.99358021e-05 -6.04129514e-02 9.06524318e-05\n", " 2.67532399e-04 -1.00936902e-04 1.43159873e-03 -2.13917378e-04\n", " -2.80451656e-04 1.48873861e-04 -3.66426734e-04 -7.67511333e-05\n", " 1.39372242e-04]]\n", "ABC INFO: t: 6, eps: 1.07656135e+02.\n", "ABC INFO: Accepted: 1000 / 5862 = 1.7059e-01, ESS: 6.8986e+02.\n", "ABC INFO: t: 7, eps: 7.83587949e+01.\n", "ABC INFO: Accepted: 1000 / 8071 = 1.2390e-01, ESS: 5.1651e+02.\n", "ABC INFO: t: 8, eps: 5.55745743e+01.\n", "ABC INFO: Accepted: 1000 / 15140 = 6.6050e-02, ESS: 1.4642e+02.\n", "ABC INFO: Stop: Total simulations budget.\n", "ABC.History INFO: Done \n", "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "L1+Ada.+MAD+StatLR\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Scale weights[0] = {'y1': 2.8360e-01, 'y2': 2.8449e-03, 'y3:0': 2.8090e-03, 'y3:1': 2.8704e-03, 'y3:2': 3.0113e-03, 'y3:3': 2.7977e-03, 'y4': 4.4981e+00, 'y5:0': 1.3920e-01, 'y5:1': 1.5504e-01, 'y5:2': 1.4481e-01, 'y5:3': 1.3933e-01, 'y5:4': 1.4622e-01, 'y5:5': 1.5380e-01, 'y5:6': 1.5324e-01, 'y5:7': 1.4794e-01, 'y5:8': 1.4410e-01, 'y5:9': 1.4428e-01}\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 1.89788629e+01.\n", "ABC INFO: Accepted: 1000 / 2092 = 4.7801e-01, ESS: 1.0000e+03.\n", "ABC.Distance DEBUG: Scale weights[1] = {'y1': 2.9700e-01, 'y2': 2.8961e-03, 'y3:0': 2.7278e-03, 'y3:1': 2.9267e-03, 'y3:2': 2.9031e-03, 'y3:3': 2.8338e-03, 'y4': 4.6206e+00, 'y5:0': 1.4612e-01, 'y5:1': 1.4235e-01, 'y5:2': 1.4921e-01, 'y5:3': 1.5118e-01, 'y5:4': 1.4642e-01, 'y5:5': 1.4915e-01, 'y5:6': 1.4164e-01, 'y5:7': 1.4511e-01, 'y5:8': 1.5077e-01, 'y5:9': 1.4455e-01}\n", "ABC INFO: t: 1, eps: 1.65234215e+01.\n", "ABC INFO: Accepted: 1000 / 2906 = 3.4412e-01, ESS: 8.1919e+02.\n", "ABC.Distance DEBUG: Scale weights[2] = {'y1': 3.3395e-01, 'y2': 3.2839e-03, 'y3:0': 3.7548e-03, 'y3:1': 3.7551e-03, 'y3:2': 3.7084e-03, 'y3:3': 3.8617e-03, 'y4': 5.2658e+00, 'y5:0': 1.4869e-01, 'y5:1': 1.4634e-01, 'y5:2': 1.5073e-01, 'y5:3': 1.5067e-01, 'y5:4': 1.5077e-01, 'y5:5': 1.5069e-01, 'y5:6': 1.4723e-01, 'y5:7': 1.4294e-01, 'y5:8': 1.4836e-01, 'y5:9': 1.4844e-01}\n", "ABC INFO: t: 2, eps: 1.62712315e+01.\n", "ABC INFO: Accepted: 1000 / 4565 = 2.1906e-01, ESS: 7.5369e+02.\n", "ABC.Distance DEBUG: Scale weights[3] = {'y1': 3.5945e-01, 'y2': 3.3952e-03, 'y3:0': 4.1892e-03, 'y3:1': 4.2511e-03, 'y3:2': 4.1854e-03, 'y3:3': 4.1843e-03, 'y4': 5.6099e+00, 'y5:0': 1.5179e-01, 'y5:1': 1.4674e-01, 'y5:2': 1.4691e-01, 'y5:3': 1.4689e-01, 'y5:4': 1.4601e-01, 'y5:5': 1.5123e-01, 'y5:6': 1.4625e-01, 'y5:7': 1.5410e-01, 'y5:8': 1.4710e-01, 'y5:9': 1.4584e-01}\n", "ABC INFO: t: 3, eps: 1.52930894e+01.\n", "ABC INFO: Accepted: 1000 / 6926 = 1.4438e-01, ESS: 7.2490e+02.\n", "ABC.Distance DEBUG: Scale weights[4] = {'y1': 3.9954e-01, 'y2': 3.6629e-03, 'y3:0': 4.8313e-03, 'y3:1': 5.0066e-03, 'y3:2': 4.8489e-03, 'y3:3': 4.8810e-03, 'y4': 5.7531e+00, 'y5:0': 1.4545e-01, 'y5:1': 1.4758e-01, 'y5:2': 1.4679e-01, 'y5:3': 1.4475e-01, 'y5:4': 1.4526e-01, 'y5:5': 1.4903e-01, 'y5:6': 1.4593e-01, 'y5:7': 1.4829e-01, 'y5:8': 1.4632e-01, 'y5:9': 1.4916e-01}\n", "ABC INFO: t: 4, eps: 1.47558356e+01.\n", "ABC INFO: Accepted: 1000 / 10375 = 9.6386e-02, ESS: 6.0913e+02.\n", "ABC.Predictor INFO: Fitted in 0.01s\n", "ABC.Predictor INFO: Pearson correlations: 0.999 0.956 0.897 0.079\n", "ABC.Predictor DEBUG: Linear regression coefficients (n_target, n_feature):\n", "[[ 9.99515408e-01 -3.86759789e-05 1.42968606e-04 1.14880201e-04\n", " -3.65423452e-05 -3.19570392e-04 -2.27018354e-04 2.16987203e-04\n", " -8.14777125e-05 2.20974395e-04 4.98663027e-04 -4.35641344e-04\n", " 1.13276228e-04 -9.08217962e-05 -4.61978306e-05 -1.88724079e-04\n", " -1.25277706e-04]\n", " [ 1.71800329e-03 9.56312748e-01 -1.55403499e-03 2.32582239e-03\n", " -5.77802127e-03 4.29149503e-03 -1.09836410e-03 -1.98100008e-03\n", " 1.90948771e-03 1.08171739e-03 5.95593391e-03 2.75841570e-03\n", " 8.75552240e-04 -1.94831619e-03 -1.30369978e-03 -2.62790094e-03\n", " -5.19154675e-03]\n", " [ 2.53850125e-02 -3.16563739e-03 2.86391423e-01 2.85956856e-01\n", " 2.75099732e-01 2.81032423e-01 -1.13708251e-02 2.77865179e-03\n", " -2.66920520e-03 2.13589647e-03 -4.71644712e-03 -7.16245013e-03\n", " 4.82919419e-04 -3.82892650e-03 9.34521103e-03 -1.80994464e-03\n", " 6.96733560e-04]\n", " [-5.88018322e-02 2.92127417e-02 1.39159863e-02 -9.32495748e-03\n", " -6.03665193e-03 6.19094227e-03 1.97792399e-02 1.90802328e-02\n", " 5.01209357e-03 -2.44874653e-03 -7.42443481e-04 -4.26378578e-03\n", " -1.17238653e-02 2.73835730e-02 2.76767367e-03 8.81457864e-03\n", " 1.64323131e-02]]\n", "ABC.Distance DEBUG: Scale weights[5] = {'s_p1': 1.3640e+00, 's_p2': 1.4125e+00, 's_p3': 1.6263e+00, 's_p4': 1.8090e+01}\n", "ABC INFO: t: 5, eps: 3.64152309e+00.\n", "ABC INFO: Accepted: 1000 / 2782 = 3.5945e-01, ESS: 2.9263e+01.\n", "ABC.Distance DEBUG: Scale weights[6] = {'s_p1': 1.4036e+00, 's_p2': 1.4303e+00, 's_p3': 1.9125e+00, 's_p4': 1.7601e+01}\n", "ABC INFO: t: 6, eps: 3.33772850e+00.\n", "ABC INFO: Accepted: 1000 / 3694 = 2.7071e-01, ESS: 7.2711e+02.\n", "ABC.Distance DEBUG: Scale weights[7] = {'s_p1': 2.2250e+00, 's_p2': 1.7086e+00, 's_p3': 1.1984e+00, 's_p4': 2.2854e+01}\n", "ABC INFO: t: 7, eps: 3.02525303e+00.\n", "ABC INFO: Accepted: 1000 / 3413 = 2.9300e-01, ESS: 1.6228e+02.\n", "ABC.Distance DEBUG: Scale weights[8] = {'s_p1': 2.4544e+00, 's_p2': 1.7996e+00, 's_p3': 1.9632e+00, 's_p4': 2.5003e+01}\n", "ABC INFO: t: 8, eps: 3.09365488e+00.\n", "ABC INFO: Accepted: 1000 / 4402 = 2.2717e-01, ESS: 5.9452e+02.\n", "ABC.Distance DEBUG: Scale weights[9] = {'s_p1': 4.0623e+00, 's_p2': 2.1868e+00, 's_p3': 1.3733e+00, 's_p4': 2.7188e+01}\n", "ABC INFO: t: 9, eps: 2.88332225e+00.\n", "ABC INFO: Accepted: 1000 / 4811 = 2.0786e-01, ESS: 5.1986e+02.\n", "ABC.Distance DEBUG: Scale weights[10] = {'s_p1': 4.4089e+00, 's_p2': 2.3425e+00, 's_p3': 1.9345e+00, 's_p4': 2.6712e+01}\n", "ABC INFO: t: 10, eps: 2.71753911e+00.\n", "ABC INFO: Accepted: 1000 / 5556 = 1.7999e-01, ESS: 5.5855e+02.\n", "ABC.Distance DEBUG: Scale weights[11] = {'s_p1': 6.9993e+00, 's_p2': 2.7107e+00, 's_p3': 1.7287e+00, 's_p4': 2.8761e+01}\n", "ABC INFO: Stop: Total simulations budget.\n", "ABC.History INFO: Done \n", "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "L1+Ada.+MAD+StatLR+P4\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Scale weights[0] = {'y1': 2.8077e-01, 'y2': 2.8126e-03, 'y3:0': 2.7881e-03, 'y3:1': 2.7861e-03, 'y3:2': 2.8809e-03, 'y3:3': 2.8890e-03, 'y4': 4.1594e+00, 'y5:0': 1.4783e-01, 'y5:1': 1.4070e-01, 'y5:2': 1.5137e-01, 'y5:3': 1.5022e-01, 'y5:4': 1.4811e-01, 'y5:5': 1.5462e-01, 'y5:6': 1.4502e-01, 'y5:7': 1.4772e-01, 'y5:8': 1.5449e-01, 'y5:9': 1.5510e-01}\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 1.90970210e+01.\n", "ABC INFO: Accepted: 1000 / 2014 = 4.9652e-01, ESS: 1.0000e+03.\n", "ABC.Distance DEBUG: Scale weights[1] = {'y1': 2.8982e-01, 'y2': 2.9374e-03, 'y3:0': 2.9085e-03, 'y3:1': 3.0154e-03, 'y3:2': 2.9217e-03, 'y3:3': 2.9557e-03, 'y4': 4.5449e+00, 'y5:0': 1.5060e-01, 'y5:1': 1.4618e-01, 'y5:2': 1.4638e-01, 'y5:3': 1.5011e-01, 'y5:4': 1.4354e-01, 'y5:5': 1.4498e-01, 'y5:6': 1.5106e-01, 'y5:7': 1.4521e-01, 'y5:8': 1.4523e-01, 'y5:9': 1.4900e-01}\n", "ABC INFO: t: 1, eps: 1.67806175e+01.\n", "ABC INFO: Accepted: 1000 / 2743 = 3.6456e-01, ESS: 5.8332e+02.\n", "ABC.Distance DEBUG: Scale weights[2] = {'y1': 3.3447e-01, 'y2': 3.4306e-03, 'y3:0': 3.5759e-03, 'y3:1': 3.7008e-03, 'y3:2': 3.7112e-03, 'y3:3': 3.6142e-03, 'y4': 5.5397e+00, 'y5:0': 1.4838e-01, 'y5:1': 1.4479e-01, 'y5:2': 1.4672e-01, 'y5:3': 1.4907e-01, 'y5:4': 1.5227e-01, 'y5:5': 1.4507e-01, 'y5:6': 1.5143e-01, 'y5:7': 1.5095e-01, 'y5:8': 1.5101e-01, 'y5:9': 1.4795e-01}\n", "ABC INFO: t: 2, eps: 1.63074220e+01.\n", "ABC INFO: Accepted: 1000 / 4449 = 2.2477e-01, ESS: 8.0066e+02.\n", "ABC.Distance DEBUG: Scale weights[3] = {'y1': 3.4771e-01, 'y2': 3.4150e-03, 'y3:0': 4.2136e-03, 'y3:1': 4.1559e-03, 'y3:2': 4.2964e-03, 'y3:3': 4.1997e-03, 'y4': 5.7274e+00, 'y5:0': 1.5001e-01, 'y5:1': 1.4493e-01, 'y5:2': 1.5045e-01, 'y5:3': 1.5227e-01, 'y5:4': 1.4597e-01, 'y5:5': 1.4765e-01, 'y5:6': 1.5191e-01, 'y5:7': 1.4534e-01, 'y5:8': 1.5024e-01, 'y5:9': 1.4617e-01}\n", "ABC INFO: t: 3, eps: 1.53674078e+01.\n", "ABC INFO: Accepted: 1000 / 6436 = 1.5538e-01, ESS: 7.2059e+02.\n", "ABC.Distance DEBUG: Scale weights[4] = {'y1': 3.8614e-01, 'y2': 3.8536e-03, 'y3:0': 4.7719e-03, 'y3:1': 4.8699e-03, 'y3:2': 4.8246e-03, 'y3:3': 4.8221e-03, 'y4': 6.0614e+00, 'y5:0': 1.5387e-01, 'y5:1': 1.4580e-01, 'y5:2': 1.4963e-01, 'y5:3': 1.4744e-01, 'y5:4': 1.5159e-01, 'y5:5': 1.4894e-01, 'y5:6': 1.4487e-01, 'y5:7': 1.4763e-01, 'y5:8': 1.4807e-01, 'y5:9': 1.4720e-01}\n", "ABC INFO: t: 4, eps: 1.48909781e+01.\n", "ABC INFO: Accepted: 1000 / 9961 = 1.0039e-01, ESS: 5.8022e+02.\n", "ABC.Predictor INFO: Fitted in 0.03s\n", "ABC.Predictor INFO: Pearson correlations: 1.000 0.958 0.882 0.112 0.108 0.052 0.134 0.923 0.881 0.846 0.722 0.130 0.102 0.052 0.164 0.869\n", "ABC.Predictor DEBUG: Linear regression coefficients (n_target, n_feature):\n", "[[ 9.99506372e-01 -4.10370676e-04 -6.99626429e-05 3.89830268e-04\n", " -3.51303005e-04 1.02401171e-04 -4.24905318e-04 -2.78988665e-04\n", " 2.16993443e-04 -1.88829112e-04 -2.27726764e-05 1.74126507e-04\n", " 3.89331950e-04 3.27453536e-04 -2.25480587e-04 4.15335305e-04\n", " 2.18652836e-04]\n", " [-8.90559228e-04 9.57354684e-01 3.18105565e-03 -5.18412786e-04\n", " -1.15223896e-03 7.95214492e-04 -2.64224858e-04 -3.64033502e-03\n", " 2.84788378e-03 2.13311445e-03 3.35486390e-03 1.79774948e-03\n", " -1.83442678e-04 2.06400616e-03 -1.82072070e-03 3.32108558e-03\n", " 3.32373602e-03]\n", " [-4.62342003e-03 1.12044259e-02 2.74386957e-01 2.85667544e-01\n", " 2.93111163e-01 2.83972926e-01 -1.37769181e-02 8.90328434e-04\n", " -3.35715644e-03 2.17639816e-03 -1.84512651e-04 1.21181440e-03\n", " -3.66354889e-03 4.48226594e-03 -6.12851132e-03 -6.79633686e-03\n", " -4.80980803e-03]\n", " [-6.26188718e-02 -2.58195598e-02 -3.23882041e-04 5.97589110e-03\n", " -2.80341717e-02 -1.21203285e-03 -8.26561359e-02 1.20571345e-02\n", " -9.18934298e-03 1.64551366e-02 3.02851614e-03 -6.00382429e-03\n", " -6.78491201e-04 -2.95422627e-03 -5.32494631e-03 -4.32510392e-03\n", " -2.26084558e-03]\n", " [ 7.37800713e-02 -5.71407963e-02 -2.49647813e-04 1.73687296e-02\n", " -9.11963136e-03 1.31843383e-03 -3.47534882e-02 -9.54790249e-03\n", " 1.59536226e-02 4.13712655e-03 2.04826360e-03 1.10087700e-04\n", " 1.33075527e-02 4.18016831e-03 -2.09131975e-02 -5.72902466e-03\n", " -1.66708192e-02]\n", " [-9.35047355e-03 2.76829221e-02 -2.55640305e-02 3.10416384e-03\n", " 1.13659540e-02 -1.28985152e-02 1.77324594e-02 -1.43142485e-03\n", " 2.62622754e-03 -2.61114938e-03 -3.59926875e-03 -2.65933870e-03\n", " -8.26217254e-03 -1.66845679e-03 -2.14225078e-02 -7.49277775e-03\n", " -1.34046064e-02]\n", " [-1.30736233e-03 6.02784144e-04 3.08437582e-02 4.65510251e-02\n", " 3.53621842e-02 5.03684678e-02 -2.26242842e-02 1.79143920e-02\n", " -3.65062515e-03 1.58836347e-05 -1.48461027e-02 -1.30430115e-03\n", " 1.19414015e-02 6.53403013e-03 4.39638259e-03 -1.43426933e-02\n", " -3.78200584e-03]\n", " [ 1.95197251e-03 3.40373522e-03 3.63039238e-03 -5.49370826e-03\n", " -3.35316337e-03 1.31956620e-03 9.22695048e-01 -4.18856734e-03\n", " -5.91678917e-03 -1.82199864e-03 1.70748850e-03 4.02874632e-03\n", " 3.82421059e-03 -2.14695431e-03 -7.57102972e-04 -1.58945722e-03\n", " 2.12243305e-03]\n", " [ 8.82206272e-01 2.55773326e-02 5.50111167e-03 4.47745769e-05\n", " -1.24964485e-03 2.38934533e-03 -7.47806992e-03 -5.91132344e-03\n", " -6.08207766e-03 9.97143208e-03 1.60818033e-03 1.93882818e-03\n", " 6.84414070e-03 5.02913215e-03 1.86688037e-03 -9.09344091e-03\n", " -1.77960376e-04]\n", " [-6.37502120e-03 8.45829185e-01 -4.96810834e-03 -7.03042018e-03\n", " -4.33387888e-03 6.59019767e-03 -1.23297225e-02 -1.45843620e-03\n", " -2.59572890e-03 5.87074157e-03 -1.96325952e-03 2.14247583e-03\n", " 1.30955454e-03 2.66857330e-03 -6.31877169e-04 1.17149364e-04\n", " 9.22070118e-03]\n", " [-8.36608646e-03 1.94890977e-02 2.22160584e-01 2.35750305e-01\n", " 2.52856687e-01 2.17580903e-01 -2.77142317e-02 7.58855411e-03\n", " 1.19144965e-04 5.78515172e-03 -4.95023849e-03 -5.58887065e-03\n", " -2.45991934e-03 6.30305154e-03 -9.63198630e-03 4.94768838e-03\n", " -6.36851220e-03]\n", " [-5.70129141e-02 -1.83686745e-02 4.85009270e-03 -3.90835625e-03\n", " -3.10433223e-02 3.56848211e-03 -1.10066400e-01 9.62050935e-03\n", " -5.20114380e-03 1.46952230e-02 6.40335841e-04 -2.35001406e-03\n", " -7.20011543e-05 -3.00475669e-03 4.14010056e-03 -9.39651291e-03\n", " -2.95253628e-03]\n", " [ 7.01723772e-02 -5.77618676e-02 9.61883267e-04 1.74537618e-02\n", " -4.65487215e-03 -7.31046946e-03 -2.34802454e-02 -6.34236515e-03\n", " 9.21428809e-03 2.79996570e-03 -1.35043477e-03 -2.44552494e-03\n", " 1.32397824e-02 5.36473518e-03 -2.46268284e-02 -3.35497840e-03\n", " -1.58695766e-02]\n", " [-8.62090721e-03 2.17672736e-02 -2.27270662e-02 7.97276681e-03\n", " 5.48870239e-03 -1.42927808e-02 2.25169005e-02 -7.72460558e-03\n", " -2.66329732e-04 -3.94771521e-03 -9.88757490e-03 -5.78267925e-04\n", " -3.76154409e-03 7.90133931e-04 -2.26883358e-02 -7.99515279e-03\n", " -1.38255104e-02]\n", " [ 1.87066301e-03 -1.69228385e-02 3.98332241e-02 5.58054565e-02\n", " 5.10492456e-02 5.84204588e-02 -1.04923988e-02 1.75580050e-02\n", " 9.30735356e-03 7.28934171e-03 -1.43211571e-02 -5.20625309e-03\n", " 9.51561684e-03 8.31446875e-03 -5.07189840e-03 -1.65328391e-02\n", " -1.12610819e-04]\n", " [-6.54084437e-04 2.99057116e-03 5.32906781e-03 -2.34674599e-03\n", " -7.25199515e-03 -2.38758706e-03 8.68789158e-01 -4.44191842e-03\n", " -3.94463671e-03 4.42286138e-04 1.08813509e-03 -4.27342250e-03\n", " 2.83960350e-03 -8.37233368e-03 9.74338105e-04 4.01638226e-03\n", " -1.11220935e-03]]\n", "ABC.Distance DEBUG: Scale weights[5] = {'s_p1_0': 1.3273e+00, 's_p2_0': 1.4116e+00, 's_p3_0': 1.6600e+00, 's_p4_0': 1.3306e+01, 's_p1_1': 1.3270e+01, 's_p2_1': 2.8061e+01, 's_p3_1': 1.0951e+01, 's_p4_1': 1.7339e+00, 's_p1_2': 1.5158e+00, 's_p2_2': 1.6033e+00, 's_p3_2': 2.0330e+00, 's_p4_2': 1.1597e+01, 's_p1_3': 1.3933e+01, 's_p2_3': 2.8433e+01, 's_p3_3': 8.9102e+00, 's_p4_3': 1.8476e+00}\n", "ABC INFO: t: 5, eps: 1.45829559e+01.\n", "ABC INFO: Accepted: 1000 / 3232 = 3.0941e-01, ESS: 7.4765e+02.\n", "ABC.Distance DEBUG: Scale weights[6] = {'s_p1_0': 1.4918e+00, 's_p2_0': 1.5626e+00, 's_p3_0': 1.8493e+00, 's_p4_0': 1.3664e+01, 's_p1_1': 1.3735e+01, 's_p2_1': 2.8792e+01, 's_p3_1': 1.2282e+01, 's_p4_1': 1.7527e+00, 's_p1_2': 1.6843e+00, 's_p2_2': 1.7714e+00, 's_p3_2': 2.2726e+00, 's_p4_2': 1.1811e+01, 's_p1_3': 1.4694e+01, 's_p2_3': 2.9073e+01, 's_p3_3': 9.9983e+00, 's_p4_3': 1.8622e+00}\n", "ABC INFO: t: 6, eps: 1.32270251e+01.\n", "ABC INFO: Accepted: 1000 / 3839 = 2.6048e-01, ESS: 5.1224e+02.\n", "ABC.Distance DEBUG: Scale weights[7] = {'s_p1_0': 1.9117e+00, 's_p2_0': 1.7880e+00, 's_p3_0': 1.9630e+00, 's_p4_0': 1.5269e+01, 's_p1_1': 1.7408e+01, 's_p2_1': 3.1300e+01, 's_p3_1': 1.2858e+01, 's_p4_1': 1.7606e+00, 's_p1_2': 2.1410e+00, 's_p2_2': 2.0173e+00, 's_p3_2': 2.3775e+00, 's_p4_2': 1.3116e+01, 's_p1_3': 1.8717e+01, 's_p2_3': 3.1069e+01, 's_p3_3': 1.0383e+01, 's_p4_3': 1.8641e+00}\n", "ABC INFO: t: 7, eps: 1.24704131e+01.\n", "ABC INFO: Accepted: 1000 / 5797 = 1.7250e-01, ESS: 6.1449e+02.\n", "ABC.Distance DEBUG: Scale weights[8] = {'s_p1_0': 2.3480e+00, 's_p2_0': 1.8099e+00, 's_p3_0': 1.8957e+00, 's_p4_0': 1.5896e+01, 's_p1_1': 1.9128e+01, 's_p2_1': 3.0651e+01, 's_p3_1': 1.2577e+01, 's_p4_1': 1.8289e+00, 's_p1_2': 2.6383e+00, 's_p2_2': 2.0353e+00, 's_p3_2': 2.3133e+00, 's_p4_2': 1.3469e+01, 's_p1_3': 2.0385e+01, 's_p2_3': 3.1081e+01, 's_p3_3': 1.0238e+01, 's_p4_3': 1.9455e+00}\n", "ABC INFO: t: 8, eps: 1.10416307e+01.\n", "ABC INFO: Accepted: 1000 / 7446 = 1.3430e-01, ESS: 6.8077e+02.\n", "ABC.Distance DEBUG: Scale weights[9] = {'s_p1_0': 3.0664e+00, 's_p2_0': 2.1392e+00, 's_p3_0': 2.0154e+00, 's_p4_0': 1.7000e+01, 's_p1_1': 2.1087e+01, 's_p2_1': 3.2306e+01, 's_p3_1': 1.3134e+01, 's_p4_1': 1.9369e+00, 's_p1_2': 3.4174e+00, 's_p2_2': 2.4183e+00, 's_p3_2': 2.4827e+00, 's_p4_2': 1.4248e+01, 's_p1_3': 2.2824e+01, 's_p2_3': 3.2050e+01, 's_p3_3': 1.0701e+01, 's_p4_3': 2.0545e+00}\n", "ABC INFO: t: 9, eps: 1.05113788e+01.\n", "ABC INFO: Accepted: 1000 / 11033 = 9.0637e-02, ESS: 2.3208e+02.\n", "ABC.Distance DEBUG: Scale weights[10] = {'s_p1_0': 3.9477e+00, 's_p2_0': 2.3339e+00, 's_p3_0': 2.1431e+00, 's_p4_0': 1.7466e+01, 's_p1_1': 2.2624e+01, 's_p2_1': 3.2675e+01, 's_p3_1': 1.3811e+01, 's_p4_1': 1.9103e+00, 's_p1_2': 4.3988e+00, 's_p2_2': 2.6275e+00, 's_p3_2': 2.6231e+00, 's_p4_2': 1.4303e+01, 's_p1_3': 2.4448e+01, 's_p2_3': 3.1887e+01, 's_p3_3': 1.1242e+01, 's_p4_3': 2.0308e+00}\n", "ABC INFO: Stop: Total simulations budget.\n", "ABC.History INFO: Done \n", "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "L1+Ada.+MAD+SensiLR\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Scale weights[0] = {'y1': 2.7707e-01, 'y2': 2.6862e-03, 'y3:0': 2.9186e-03, 'y3:1': 2.7353e-03, 'y3:2': 2.7297e-03, 'y3:3': 2.7408e-03, 'y4': 4.3451e+00, 'y5:0': 1.4542e-01, 'y5:1': 1.4500e-01, 'y5:2': 1.4893e-01, 'y5:3': 1.4706e-01, 'y5:4': 1.5039e-01, 'y5:5': 1.5847e-01, 'y5:6': 1.6396e-01, 'y5:7': 1.4962e-01, 'y5:8': 1.4731e-01, 'y5:9': 1.4335e-01}\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 1.88845213e+01.\n", "ABC INFO: Accepted: 1000 / 2075 = 4.8193e-01, ESS: 1.0000e+03.\n", "ABC.Distance DEBUG: Scale weights[1] = {'y1': 2.8298e-01, 'y2': 2.9160e-03, 'y3:0': 2.8455e-03, 'y3:1': 2.9108e-03, 'y3:2': 2.8274e-03, 'y3:3': 2.9511e-03, 'y4': 4.6351e+00, 'y5:0': 1.4603e-01, 'y5:1': 1.4764e-01, 'y5:2': 1.5305e-01, 'y5:3': 1.4800e-01, 'y5:4': 1.5216e-01, 'y5:5': 1.4926e-01, 'y5:6': 1.5010e-01, 'y5:7': 1.4313e-01, 'y5:8': 1.4485e-01, 'y5:9': 1.4863e-01}\n", "ABC INFO: t: 1, eps: 1.65719057e+01.\n", "ABC INFO: Accepted: 1000 / 3084 = 3.2425e-01, ESS: 7.6658e+02.\n", "ABC.Distance DEBUG: Scale weights[2] = {'y1': 3.2246e-01, 'y2': 3.4994e-03, 'y3:0': 3.6661e-03, 'y3:1': 3.8406e-03, 'y3:2': 3.6982e-03, 'y3:3': 3.8082e-03, 'y4': 5.6868e+00, 'y5:0': 1.4534e-01, 'y5:1': 1.4631e-01, 'y5:2': 1.4619e-01, 'y5:3': 1.5213e-01, 'y5:4': 1.4716e-01, 'y5:5': 1.4659e-01, 'y5:6': 1.4577e-01, 'y5:7': 1.4569e-01, 'y5:8': 1.5005e-01, 'y5:9': 1.4723e-01}\n", "ABC INFO: t: 2, eps: 1.62548492e+01.\n", "ABC INFO: Accepted: 1000 / 4681 = 2.1363e-01, ESS: 7.6954e+02.\n", "ABC.Distance DEBUG: Scale weights[3] = {'y1': 3.4030e-01, 'y2': 3.5408e-03, 'y3:0': 4.1942e-03, 'y3:1': 4.1495e-03, 'y3:2': 4.2106e-03, 'y3:3': 4.1275e-03, 'y4': 5.7985e+00, 'y5:0': 1.4545e-01, 'y5:1': 1.4458e-01, 'y5:2': 1.5223e-01, 'y5:3': 1.4814e-01, 'y5:4': 1.4645e-01, 'y5:5': 1.4576e-01, 'y5:6': 1.4706e-01, 'y5:7': 1.4793e-01, 'y5:8': 1.4813e-01, 'y5:9': 1.4934e-01}\n", "ABC INFO: t: 3, eps: 1.53441024e+01.\n", "ABC INFO: Accepted: 1000 / 6092 = 1.6415e-01, ESS: 4.8992e+02.\n", "ABC.Distance DEBUG: Scale weights[4] = {'y1': 3.7786e-01, 'y2': 3.8322e-03, 'y3:0': 4.8910e-03, 'y3:1': 4.9793e-03, 'y3:2': 4.9898e-03, 'y3:3': 5.0362e-03, 'y4': 5.7256e+00, 'y5:0': 1.4743e-01, 'y5:1': 1.5141e-01, 'y5:2': 1.4759e-01, 'y5:3': 1.4885e-01, 'y5:4': 1.5434e-01, 'y5:5': 1.4839e-01, 'y5:6': 1.5159e-01, 'y5:7': 1.4788e-01, 'y5:8': 1.5045e-01, 'y5:9': 1.4711e-01}\n", "ABC INFO: t: 4, eps: 1.51105144e+01.\n", "ABC INFO: Accepted: 1000 / 9533 = 1.0490e-01, ESS: 6.2200e+02.\n", "ABC.Distance DEBUG: Scale weights[5] = {'y1': 3.9213e-01, 'y2': 3.6439e-03, 'y3:0': 5.3029e-03, 'y3:1': 5.3070e-03, 'y3:2': 5.3043e-03, 'y3:3': 5.1848e-03, 'y4': 6.0026e+00, 'y5:0': 1.4928e-01, 'y5:1': 1.4776e-01, 'y5:2': 1.4702e-01, 'y5:3': 1.5112e-01, 'y5:4': 1.4486e-01, 'y5:5': 1.4810e-01, 'y5:6': 1.4829e-01, 'y5:7': 1.4943e-01, 'y5:8': 1.5241e-01, 'y5:9': 1.4861e-01}\n", "ABC.Predictor INFO: Fitted in 0.01s\n", "ABC.Predictor INFO: Pearson correlations: 1.000 0.960 0.892 0.072\n", "ABC.Predictor DEBUG: Linear regression coefficients (n_target, n_feature):\n", "[[ 9.99528173e-01 -4.58092644e-07 3.38701384e-04 2.79414195e-05\n", " -1.20692224e-04 -7.90465325e-04 9.10058043e-05 -4.30399858e-05\n", " 1.76979879e-04 3.72148189e-04 1.79634049e-04 5.06658271e-04\n", " 1.74741649e-04 -3.85305074e-04 -1.51585425e-04 -1.22041478e-05\n", " -2.80113431e-04]\n", " [-8.16361016e-03 9.59321905e-01 4.48736292e-03 -5.60624970e-04\n", " -3.34494969e-03 4.03190376e-04 -7.32258834e-03 -4.55157888e-03\n", " -3.22947516e-04 -4.32617537e-03 1.10243367e-03 4.60644768e-03\n", " -3.70547877e-03 4.64397208e-04 3.79471867e-03 -4.65088797e-04\n", " 1.00594500e-03]\n", " [-1.10354921e-02 1.08490764e-02 2.71191985e-01 2.76110771e-01\n", " 2.92744787e-01 2.94343325e-01 -9.48900919e-03 4.69944697e-04\n", " 1.03401791e-02 7.92096835e-04 5.55259513e-04 -2.05104987e-03\n", " 4.41043952e-03 -9.70822161e-04 5.45620307e-03 2.47759219e-04\n", " -3.01654257e-03]\n", " [ 4.34175539e-02 1.38174719e-02 -2.43021664e-02 2.95916022e-02\n", " -1.87411472e-03 8.92354987e-03 4.06628622e-02 6.71295552e-03\n", " -3.52489615e-03 1.64473037e-03 -9.85775979e-03 1.96956506e-02\n", " 4.50938429e-03 -5.79189537e-03 1.14177245e-02 -2.12376196e-03\n", " -5.57922826e-04]]\n", "ABC.Distance DEBUG: Optimal FD delta: [0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.01 0.1 0.1 0.1 0.1 0.1 0.1\n", " 0.1 0.01 0.1 ]\n", "ABC.Distance DEBUG: Info weights[5] = {'y1': 1.2262e+00, 'y2': 1.0339e+00, 'y3:0': 3.3462e-01, 'y3:1': 3.5974e-01, 'y3:2': 2.5367e-01, 'y3:3': 2.8884e-01, 'y4': 1.7384e-01, 'y5:0': 3.2926e-02, 'y5:1': 2.4229e-02, 'y5:2': 1.1991e-02, 'y5:3': 4.3166e-02, 'y5:4': 9.1526e-02, 'y5:5': 2.6492e-02, 'y5:6': 2.6260e-02, 'y5:7': 5.6959e-02, 'y5:8': 9.6415e-03, 'y5:9': 6.0618e-03}\n", "ABC INFO: t: 5, eps: 3.47183121e+00.\n", "ABC INFO: Accepted: 1000 / 3464 = 2.8868e-01, ESS: 6.6030e+02.\n", "ABC.Distance DEBUG: Scale weights[6] = {'y1': 4.2879e-01, 'y2': 4.1838e-03, 'y3:0': 5.7918e-03, 'y3:1': 5.6599e-03, 'y3:2': 5.4093e-03, 'y3:3': 5.8011e-03, 'y4': 6.1425e+00, 'y5:0': 1.4619e-01, 'y5:1': 1.4344e-01, 'y5:2': 1.4549e-01, 'y5:3': 1.4741e-01, 'y5:4': 1.4828e-01, 'y5:5': 1.5322e-01, 'y5:6': 1.4584e-01, 'y5:7': 1.4160e-01, 'y5:8': 1.5229e-01, 'y5:9': 1.4761e-01}\n", "ABC INFO: t: 6, eps: 3.19989925e+00.\n", "ABC INFO: Accepted: 1000 / 3268 = 3.0600e-01, ESS: 8.0832e+02.\n", "ABC.Distance DEBUG: Scale weights[7] = {'y1': 8.7909e-01, 'y2': 5.6855e-03, 'y3:0': 5.4663e-03, 'y3:1': 5.2478e-03, 'y3:2': 5.4038e-03, 'y3:3': 5.3134e-03, 'y4': 5.7039e+00, 'y5:0': 1.4752e-01, 'y5:1': 1.4974e-01, 'y5:2': 1.4483e-01, 'y5:3': 1.5303e-01, 'y5:4': 1.4977e-01, 'y5:5': 1.4393e-01, 'y5:6': 1.4629e-01, 'y5:7': 1.4487e-01, 'y5:8': 1.4171e-01, 'y5:9': 1.5060e-01}\n", "ABC INFO: t: 7, eps: 3.34532960e+00.\n", "ABC INFO: Accepted: 1000 / 3538 = 2.8265e-01, ESS: 6.8462e+02.\n", "ABC.Distance DEBUG: Scale weights[8] = {'y1': 1.1505e+00, 'y2': 6.6000e-03, 'y3:0': 5.5011e-03, 'y3:1': 5.7120e-03, 'y3:2': 5.5755e-03, 'y3:3': 5.5854e-03, 'y4': 5.9549e+00, 'y5:0': 1.4993e-01, 'y5:1': 1.4909e-01, 'y5:2': 1.5224e-01, 'y5:3': 1.4733e-01, 'y5:4': 1.5118e-01, 'y5:5': 1.4891e-01, 'y5:6': 1.5109e-01, 'y5:7': 1.4416e-01, 'y5:8': 1.5078e-01, 'y5:9': 1.4639e-01}\n", "ABC INFO: t: 8, eps: 3.22838771e+00.\n", "ABC INFO: Accepted: 1000 / 3732 = 2.6795e-01, ESS: 6.7016e+02.\n", "ABC.Distance DEBUG: Scale weights[9] = {'y1': 1.9829e+00, 'y2': 7.9518e-03, 'y3:0': 5.5596e-03, 'y3:1': 5.6247e-03, 'y3:2': 5.4491e-03, 'y3:3': 5.4073e-03, 'y4': 5.6879e+00, 'y5:0': 1.5277e-01, 'y5:1': 1.4205e-01, 'y5:2': 1.4714e-01, 'y5:3': 1.4509e-01, 'y5:4': 1.5013e-01, 'y5:5': 1.4892e-01, 'y5:6': 1.5112e-01, 'y5:7': 1.4709e-01, 'y5:8': 1.5069e-01, 'y5:9': 1.4760e-01}\n", "ABC INFO: t: 9, eps: 3.21326217e+00.\n", "ABC INFO: Accepted: 1000 / 4684 = 2.1349e-01, ESS: 6.7510e+02.\n", "ABC.Distance DEBUG: Scale weights[10] = {'y1': 2.8658e+00, 'y2': 7.8365e-03, 'y3:0': 5.3990e-03, 'y3:1': 5.4563e-03, 'y3:2': 5.6418e-03, 'y3:3': 5.4384e-03, 'y4': 6.2526e+00, 'y5:0': 1.4679e-01, 'y5:1': 1.4627e-01, 'y5:2': 1.4339e-01, 'y5:3': 1.4857e-01, 'y5:4': 1.4847e-01, 'y5:5': 1.4619e-01, 'y5:6': 1.4558e-01, 'y5:7': 1.4979e-01, 'y5:8': 1.5285e-01, 'y5:9': 1.4914e-01}\n", "ABC INFO: t: 10, eps: 2.98269522e+00.\n", "ABC INFO: Accepted: 1000 / 5357 = 1.8667e-01, ESS: 1.3654e+02.\n", "ABC.Distance DEBUG: Scale weights[11] = {'y1': 4.3162e+00, 'y2': 8.7796e-03, 'y3:0': 5.5469e-03, 'y3:1': 5.5586e-03, 'y3:2': 5.5649e-03, 'y3:3': 5.6428e-03, 'y4': 5.5100e+00, 'y5:0': 1.4686e-01, 'y5:1': 1.4739e-01, 'y5:2': 1.4729e-01, 'y5:3': 1.4921e-01, 'y5:4': 1.4830e-01, 'y5:5': 1.5037e-01, 'y5:6': 1.4822e-01, 'y5:7': 1.4475e-01, 'y5:8': 1.4505e-01, 'y5:9': 1.4859e-01}\n", "ABC INFO: Stop: Total simulations budget.\n", "ABC.History INFO: Done \n", "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "L1+Ada.+MAD+SensiLR+P4\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Scale weights[0] = {'y1': 2.9515e-01, 'y2': 2.9228e-03, 'y3:0': 2.8040e-03, 'y3:1': 2.8466e-03, 'y3:2': 2.9885e-03, 'y3:3': 2.7908e-03, 'y4': 4.6492e+00, 'y5:0': 1.4109e-01, 'y5:1': 1.5018e-01, 'y5:2': 1.5061e-01, 'y5:3': 1.4368e-01, 'y5:4': 1.5586e-01, 'y5:5': 1.5172e-01, 'y5:6': 1.4601e-01, 'y5:7': 1.4309e-01, 'y5:8': 1.4618e-01, 'y5:9': 1.4110e-01}\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 1.90370823e+01.\n", "ABC INFO: Accepted: 1000 / 2062 = 4.8497e-01, ESS: 1.0000e+03.\n", "ABC.Distance DEBUG: Scale weights[1] = {'y1': 2.8181e-01, 'y2': 2.7431e-03, 'y3:0': 2.8163e-03, 'y3:1': 2.8346e-03, 'y3:2': 2.8045e-03, 'y3:3': 2.8256e-03, 'y4': 4.6809e+00, 'y5:0': 1.4608e-01, 'y5:1': 1.4597e-01, 'y5:2': 1.4613e-01, 'y5:3': 1.4680e-01, 'y5:4': 1.5315e-01, 'y5:5': 1.4733e-01, 'y5:6': 1.4561e-01, 'y5:7': 1.5146e-01, 'y5:8': 1.5494e-01, 'y5:9': 1.5565e-01}\n", "ABC INFO: t: 1, eps: 1.66816691e+01.\n", "ABC INFO: Accepted: 1000 / 2744 = 3.6443e-01, ESS: 7.5528e+02.\n", "ABC.Distance DEBUG: Scale weights[2] = {'y1': 3.3147e-01, 'y2': 3.5889e-03, 'y3:0': 3.6830e-03, 'y3:1': 3.7496e-03, 'y3:2': 3.8873e-03, 'y3:3': 3.7363e-03, 'y4': 5.8496e+00, 'y5:0': 1.4555e-01, 'y5:1': 1.5127e-01, 'y5:2': 1.4873e-01, 'y5:3': 1.4557e-01, 'y5:4': 1.4132e-01, 'y5:5': 1.4883e-01, 'y5:6': 1.4500e-01, 'y5:7': 1.5185e-01, 'y5:8': 1.4885e-01, 'y5:9': 1.5134e-01}\n", "ABC INFO: t: 2, eps: 1.64342272e+01.\n", "ABC INFO: Accepted: 1000 / 4382 = 2.2821e-01, ESS: 7.0985e+02.\n", "ABC.Distance DEBUG: Scale weights[3] = {'y1': 3.4101e-01, 'y2': 3.6199e-03, 'y3:0': 4.2096e-03, 'y3:1': 4.2142e-03, 'y3:2': 4.2356e-03, 'y3:3': 4.3150e-03, 'y4': 6.1319e+00, 'y5:0': 1.4916e-01, 'y5:1': 1.4335e-01, 'y5:2': 1.4834e-01, 'y5:3': 1.5323e-01, 'y5:4': 1.4797e-01, 'y5:5': 1.4518e-01, 'y5:6': 1.4611e-01, 'y5:7': 1.4832e-01, 'y5:8': 1.4561e-01, 'y5:9': 1.5067e-01}\n", "ABC INFO: t: 3, eps: 1.55803586e+01.\n", "ABC INFO: Accepted: 1000 / 6582 = 1.5193e-01, ESS: 6.8813e+02.\n", "ABC.Distance DEBUG: Scale weights[4] = {'y1': 3.8074e-01, 'y2': 3.8903e-03, 'y3:0': 4.7745e-03, 'y3:1': 4.6480e-03, 'y3:2': 4.7519e-03, 'y3:3': 4.6807e-03, 'y4': 6.1727e+00, 'y5:0': 1.4632e-01, 'y5:1': 1.4536e-01, 'y5:2': 1.4742e-01, 'y5:3': 1.4601e-01, 'y5:4': 1.4732e-01, 'y5:5': 1.4923e-01, 'y5:6': 1.4505e-01, 'y5:7': 1.4653e-01, 'y5:8': 1.4821e-01, 'y5:9': 1.4740e-01}\n", "ABC INFO: t: 4, eps: 1.48077363e+01.\n", "ABC INFO: Accepted: 1000 / 10167 = 9.8357e-02, ESS: 5.7857e+02.\n", "ABC.Distance DEBUG: Scale weights[5] = {'y1': 4.2770e-01, 'y2': 4.0296e-03, 'y3:0': 5.2047e-03, 'y3:1': 5.3214e-03, 'y3:2': 5.4221e-03, 'y3:3': 5.2252e-03, 'y4': 6.4655e+00, 'y5:0': 1.4598e-01, 'y5:1': 1.4573e-01, 'y5:2': 1.4675e-01, 'y5:3': 1.4958e-01, 'y5:4': 1.4612e-01, 'y5:5': 1.4952e-01, 'y5:6': 1.4774e-01, 'y5:7': 1.4844e-01, 'y5:8': 1.4886e-01, 'y5:9': 1.4630e-01}\n", "ABC.Predictor INFO: Fitted in 0.01s\n", "ABC.Predictor INFO: Pearson correlations: 1.000 0.957 0.894 0.103 0.080 0.057 0.077 0.922 0.874 0.844 0.702 0.118 0.086 0.048 0.075 0.871\n", "ABC.Predictor DEBUG: Linear regression coefficients (n_target, n_feature):\n", "[[ 9.99502539e-01 -1.93422296e-04 5.38128670e-04 -2.78272962e-04\n", " -3.64400057e-04 5.20488788e-04 -2.75772885e-04 3.29200383e-04\n", " -2.16924232e-04 3.96429528e-04 2.05301004e-04 -1.58054070e-04\n", " 2.52347551e-04 -2.66167901e-04 -3.41627677e-04 -8.48553540e-05\n", " -2.83522902e-05]\n", " [ 1.22609981e-03 9.56693166e-01 1.34578866e-03 -1.75636077e-03\n", " -5.61365414e-03 1.38204788e-03 2.79901635e-03 4.04343720e-03\n", " 9.28082533e-04 -1.45912565e-03 3.49118766e-03 1.87129512e-03\n", " 1.98694536e-03 2.38042034e-04 2.82936251e-03 2.61300293e-03\n", " 8.63342824e-04]\n", " [ 6.97733388e-04 1.42899017e-03 2.97121475e-01 2.80317270e-01\n", " 2.88297308e-01 2.73882623e-01 -1.79522779e-03 -4.88825537e-04\n", " -4.84904533e-03 -5.48304208e-03 -1.56598223e-03 5.21996342e-03\n", " 5.90480759e-03 1.71287180e-03 6.27001079e-03 -7.60741132e-03\n", " 5.38254641e-03]\n", " [ 1.86342914e-02 1.49850863e-02 -2.11680567e-02 -2.36141370e-02\n", " -2.92081094e-02 -2.02124314e-02 -5.84719624e-02 9.40286176e-03\n", " -9.53711146e-03 6.88167343e-03 -6.22476491e-03 -1.89685540e-02\n", " -9.92165182e-03 -3.24649283e-03 -1.05839665e-02 -5.74367762e-03\n", " -5.40630652e-03]\n", " [ 6.19976357e-02 3.54147247e-02 1.90022234e-02 9.05898665e-03\n", " 3.82018573e-03 -1.86956484e-02 9.54110145e-03 1.58515480e-02\n", " -8.56265416e-03 7.47177764e-03 1.53222971e-02 1.20975133e-03\n", " -2.43841590e-03 4.02911501e-03 6.54005290e-06 -8.73388260e-04\n", " -4.43929688e-03]\n", " [ 4.74106601e-03 2.11271153e-02 3.68741823e-02 -1.54524485e-03\n", " -2.10830327e-03 1.93862053e-02 -2.56674759e-03 1.83971848e-04\n", " 3.29892551e-03 -1.09803892e-02 9.50504961e-03 4.57211750e-03\n", " 5.72192780e-03 -8.74475932e-03 -8.97192256e-03 -5.13451305e-04\n", " -9.99264711e-03]\n", " [-2.02845285e-02 -6.38385712e-02 -2.09746621e-03 -5.31799426e-03\n", " -3.32279828e-03 -7.82148314e-03 -1.59573277e-02 3.65841973e-03\n", " -1.02623786e-02 8.25198870e-03 -1.48725939e-02 6.14443464e-03\n", " 1.24004930e-02 -6.42325732e-03 -1.55410705e-02 1.81759017e-03\n", " 1.84227591e-03]\n", " [-2.76978715e-03 4.97347648e-03 1.11083990e-03 4.37780705e-04\n", " 4.48517765e-03 6.48282544e-04 9.21489621e-01 -1.54673665e-03\n", " 1.94443646e-04 8.90100407e-04 1.05346671e-03 -2.13112390e-03\n", " 6.00478964e-03 8.70609213e-04 4.60594062e-03 -5.65607796e-03\n", " -2.57597826e-04]\n", " [ 8.73319171e-01 6.55444889e-04 7.83556124e-03 -4.45019822e-03\n", " 1.01516097e-02 9.38162514e-03 -2.19304526e-02 1.07384673e-03\n", " 1.90855693e-03 8.62610252e-04 -2.09702558e-03 -8.10359481e-03\n", " -6.67290695e-04 -4.57633752e-03 1.02865712e-02 2.31683330e-03\n", " -2.40384572e-03]\n", " [ 2.20721993e-02 8.42882585e-01 6.16174297e-03 -3.58262665e-03\n", " -2.22856725e-02 7.92678688e-03 6.92701763e-03 9.58321274e-03\n", " 2.96823421e-03 -1.25577793e-03 3.59061773e-04 5.87249506e-03\n", " -7.64333716e-03 7.05466409e-03 7.41305008e-03 5.63469262e-03\n", " 6.73543224e-04]\n", " [-1.07758165e-02 2.23813696e-02 2.35224957e-01 2.11983649e-01\n", " 2.26523541e-01 2.19666447e-01 -3.69013309e-03 -5.54700848e-03\n", " -5.11880067e-04 1.80424513e-03 -7.33856418e-04 1.29538951e-02\n", " 6.33007119e-03 8.06957732e-03 1.35996359e-02 4.15445724e-03\n", " 5.57121040e-03]\n", " [ 2.56581042e-02 7.50768486e-03 -2.32518089e-02 -2.84231428e-02\n", " -1.44127370e-02 -1.16752093e-02 -8.96396788e-02 1.73735904e-02\n", " 2.98404362e-03 5.61770558e-03 3.06813868e-03 -1.44469035e-02\n", " -1.41435502e-02 -3.35284422e-03 -4.99373023e-03 -1.53659936e-02\n", " -1.71846681e-03]\n", " [ 6.85717558e-02 3.66800260e-02 1.39254617e-02 1.01595295e-02\n", " -3.59304673e-03 -1.59117868e-02 1.00044533e-02 1.66555162e-02\n", " -2.39792234e-03 7.86289108e-03 1.81313271e-02 1.24330277e-03\n", " -6.05568449e-03 5.32854717e-03 3.33437644e-03 1.79666604e-03\n", " -5.45706411e-03]\n", " [ 5.21988144e-03 2.23199420e-02 1.83199425e-02 2.56450366e-03\n", " 3.04297238e-03 1.55015932e-02 3.99832515e-03 6.46758992e-03\n", " 3.74799300e-03 -9.73298110e-03 4.88130383e-03 3.72336041e-03\n", " 1.22049212e-02 -1.05176662e-02 -1.17146179e-02 6.09597565e-04\n", " -6.59170415e-03]\n", " [-3.61081481e-02 -5.58208004e-02 -5.35585906e-03 -1.82876459e-03\n", " -9.34228588e-04 3.56734365e-04 -1.54124166e-02 -3.75362547e-03\n", " -2.17199609e-03 8.80632443e-03 -1.66151682e-02 3.43746434e-03\n", " 6.51614679e-03 -1.19214597e-02 -1.06969471e-02 -1.60769686e-03\n", " 7.32059765e-03]\n", " [ 2.39967768e-03 -3.84397235e-03 6.40911293e-04 -1.48758975e-03\n", " 3.86621378e-03 2.29760411e-03 8.70800760e-01 -2.81812126e-03\n", " -2.07555748e-03 2.33175589e-03 1.97700750e-03 -4.62633215e-03\n", " -1.60231232e-03 3.78858173e-03 1.02850428e-03 -1.25607858e-02\n", " -3.25529886e-03]]\n", "ABC.Distance DEBUG: Optimal FD delta: [0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1]\n", "ABC.Distance DEBUG: Info weights[5] = {'y1': 3.1271e+00, 'y2': 3.2786e+00, 'y3:0': 1.2268e+00, 'y3:1': 8.0065e-01, 'y3:2': 7.5554e-01, 'y3:3': 1.0245e+00, 'y4': 2.6664e+00, 'y5:0': 3.5140e-01, 'y5:1': 2.1763e-01, 'y5:2': 3.5710e-01, 'y5:3': 4.3954e-01, 'y5:4': 2.8029e-01, 'y5:5': 3.6936e-01, 'y5:6': 3.1661e-01, 'y5:7': 3.8748e-01, 'y5:8': 1.5404e-01, 'y5:9': 2.4689e-01}\n", "ABC INFO: t: 5, eps: 1.46852265e+01.\n", "ABC INFO: Accepted: 1000 / 4788 = 2.0886e-01, ESS: 6.6571e+02.\n", "ABC.Distance DEBUG: Scale weights[6] = {'y1': 4.4325e-01, 'y2': 4.0733e-03, 'y3:0': 5.5294e-03, 'y3:1': 5.4443e-03, 'y3:2': 5.6522e-03, 'y3:3': 5.5228e-03, 'y4': 6.2858e+00, 'y5:0': 1.4948e-01, 'y5:1': 1.5177e-01, 'y5:2': 1.4518e-01, 'y5:3': 1.5009e-01, 'y5:4': 1.4988e-01, 'y5:5': 1.4563e-01, 'y5:6': 1.5015e-01, 'y5:7': 1.4674e-01, 'y5:8': 1.4756e-01, 'y5:9': 1.4556e-01}\n", "ABC INFO: t: 6, eps: 1.33029749e+01.\n", "ABC INFO: Accepted: 1000 / 4680 = 2.1368e-01, ESS: 6.8952e+02.\n", "ABC.Distance DEBUG: Scale weights[7] = {'y1': 7.3375e-01, 'y2': 5.6712e-03, 'y3:0': 5.3075e-03, 'y3:1': 5.2708e-03, 'y3:2': 5.1898e-03, 'y3:3': 5.1731e-03, 'y4': 6.7822e+00, 'y5:0': 1.4759e-01, 'y5:1': 1.4860e-01, 'y5:2': 1.4526e-01, 'y5:3': 1.4912e-01, 'y5:4': 1.4282e-01, 'y5:5': 1.5020e-01, 'y5:6': 1.4932e-01, 'y5:7': 1.4778e-01, 'y5:8': 1.5219e-01, 'y5:9': 1.4692e-01}\n", "ABC INFO: t: 7, eps: 1.34780152e+01.\n", "ABC INFO: Accepted: 1000 / 5494 = 1.8202e-01, ESS: 4.7720e+02.\n", "ABC.Distance DEBUG: Scale weights[8] = {'y1': 9.6986e-01, 'y2': 6.8574e-03, 'y3:0': 5.5035e-03, 'y3:1': 5.4118e-03, 'y3:2': 5.4408e-03, 'y3:3': 5.6220e-03, 'y4': 7.0448e+00, 'y5:0': 1.5111e-01, 'y5:1': 1.4968e-01, 'y5:2': 1.4786e-01, 'y5:3': 1.4848e-01, 'y5:4': 1.4709e-01, 'y5:5': 1.4734e-01, 'y5:6': 1.4757e-01, 'y5:7': 1.4919e-01, 'y5:8': 1.4807e-01, 'y5:9': 1.4631e-01}\n", "ABC INFO: t: 8, eps: 1.31930228e+01.\n", "ABC INFO: Accepted: 1000 / 6794 = 1.4719e-01, ESS: 6.4437e+02.\n", "ABC.Distance DEBUG: Scale weights[9] = {'y1': 1.5512e+00, 'y2': 7.3295e-03, 'y3:0': 5.1699e-03, 'y3:1': 5.2961e-03, 'y3:2': 5.3251e-03, 'y3:3': 5.2167e-03, 'y4': 6.7131e+00, 'y5:0': 1.4712e-01, 'y5:1': 1.4707e-01, 'y5:2': 1.4566e-01, 'y5:3': 1.4994e-01, 'y5:4': 1.4823e-01, 'y5:5': 1.4954e-01, 'y5:6': 1.4531e-01, 'y5:7': 1.4479e-01, 'y5:8': 1.4901e-01, 'y5:9': 1.4919e-01}\n", "ABC INFO: t: 9, eps: 1.25985309e+01.\n", "ABC INFO: Accepted: 1000 / 8043 = 1.2433e-01, ESS: 6.9170e+02.\n", "ABC.Distance DEBUG: Scale weights[10] = {'y1': 1.9748e+00, 'y2': 8.1948e-03, 'y3:0': 5.4270e-03, 'y3:1': 5.5257e-03, 'y3:2': 5.5349e-03, 'y3:3': 5.4652e-03, 'y4': 6.8710e+00, 'y5:0': 1.5052e-01, 'y5:1': 1.4727e-01, 'y5:2': 1.4841e-01, 'y5:3': 1.4777e-01, 'y5:4': 1.4775e-01, 'y5:5': 1.4712e-01, 'y5:6': 1.4966e-01, 'y5:7': 1.4827e-01, 'y5:8': 1.4875e-01, 'y5:9': 1.4670e-01}\n", "ABC INFO: Stop: Total simulations budget.\n", "ABC.History INFO: Done \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 3min 38s, sys: 15.6 s, total: 3min 53s\n", "Wall time: 8min 43s\n" ] } ], "source": [ "%%time\n", "\n", "# runs\n", "\n", "db_file = tempfile.mkstemp(suffix=\".db\")[1]\n", "\n", "scale_log_file = tempfile.mkstemp()[1]\n", "info_log_file = tempfile.mkstemp()[1]\n", "info_sample_log_file = tempfile.mkstemp()[1]\n", "\n", "hs = []\n", "for distance_id, distance in distances.items():\n", " print(distance_id)\n", " if isinstance(distance, AdaptivePNormDistance):\n", " distance.scale_log_file = f\"{scale_log_file}_{distance_id}.json\"\n", " if isinstance(distance, InfoWeightedPNormDistance):\n", " distance.info_log_file = f\"{info_log_file}_{distance_id}.json\"\n", " distance.info_sample_log_file = f\"{info_sample_log_file}_{distance_id}\"\n", "\n", " abc = pyabc.ABCSMC(model, prior, distance, population_size=pop_size)\n", " h = abc.new(db=\"sqlite:///\" + db_file, observed_sum_stat=data)\n", " abc.run(max_total_nr_simulations=total_sims)\n", " hs.append(h)" ] }, { "cell_type": "markdown", "id": "59f2c1d4-436c-45e1-956b-149361c694e2", "metadata": {}, "source": [ "While overall all approaches would benefit from a continued analysis, the approaches L1+Ada.+MAD+StatLR+P4 and L1+Ada.+MAD+SensiLR+P4 employing scale normalization, accounting for informativeness, and using augmented regression targets, approximate the true posterior distribution best.\n", "Using only scale normalization captures the overall dynamics, however givese large uncertainties, as unnecessary emphasis is put on $y_5$.\n", "Approaches only using $\\theta$ as regression targets however fail to capture the dynamics of $\\theta_4$, as the regression model cannot unravel a meaningful relationship between data and parameters." ] }, { "cell_type": "code", "execution_count": 11, "id": "22aeae10-4dd4-4212-afe3-71ba2f20bb87", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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U6dzdXWVn3766dEJEyZ0joiIiNFoNDzxxBMZAC+88ELKU0891b5bt27RWq32jM/FDBw4sHjcuHHZ3bp163rZZZd1iY2NLapuusmTJ2dPnTo1IDo6utqGXB988MGMNWvWuEdGRsasWbPGzWQy2cFxImm1WhkZGVnRyHJrVVpaqvH3948tf/3nP//xX7Fihau/v3/sggULvB999NEO4eHhp3XTWp3p06e3HTVqVJU7lRMnTsyZM2dO29r22b/+9a+Uvn37Rvfu3TuqS5cupeXDv//+e89HHnmk2p4BauPt7W1/9dVX01xcXCqOpYKCAs3KlSs9J0yYkFs+zMPDw967d+/CmTNnekJFtfWYsLCwbq+//nrgDz/8cLBXr16l1SyixanP/Wy323n77bf9w8LCukVFRcW89NJLwdOmTTsCp59zNe3b6s7NRx99tEN5+Xr06BF16nKnTJmSW1JSolm4cGGb+touTUmde/Vz7u3fv99lwIABkRERETHdunWL6dGjR/HNN9+cExAQYIuPjy/s0qVL17vvvjvkjjvuyN6+fbtbREREzPTp0306duxYCo47oZWnAzhy5Iix8r45tfc2jUbD008/nfLOO+8EnO02ao7UsaiOxdZMHd8Ne3zHx8eXPv/888mXXnppRERERMywYcMiEhMTa21U9tFHHw0p78a6T58+hRdddNFptaVnzZrlU3m/VW4kGKBDhw6WsWPHZr/zzjut4jpdHafqOG1uxIXaVkVzsH379qNxcXFNWssgLy9P4+npaS8oKND0798/8tNPPz02cODA4jN/UlEURVEURVEURVGU87F9+/Z2cXFxYfUxL9UGzwVuypQpHQ4cOGAym81i4sSJWSq5oyiKoiiKoiiKoigtj0rwXODmz59/5MxTKYqiKIqiKIqiKIrSnKk2eBRFURRFURRFURRFUVo4leBpWna73V6vXXYriqIoiqIoiqIoitL8OfMB9vqan0rwNK1dGRkZnirJoyiKoiiKoiiKoigXDrvdLjIyMjyBXfU1T9UGTxOyWq13pKWlfZmWltYNlWxTFEVRFEVRFEVRlAuFHdhltVrvqK8Zqm7SFUVRFEVRFEVRFEVRWjhVa0RRFEVRFEVRFEVRFKWFUwkeRVEURVEURVEURVGUFk4leBRFURRFURRFURRFUVo4leBRFEVRFEVRFEVRFEVp4VSCR1EURVEURVEURVEUpYX7f4oEG3OYY120AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(ncols=len(prior_bounds), figsize=(16, 4))\n", "\n", "# plot ground truth\n", "\n", "for i_par, par in enumerate(gt_par.keys()):\n", " # define parameter-simulation transformation\n", " p_to_y = lambda p: p\n", " if par == \"p4\":\n", " p_to_y = lambda p: p**2\n", " # observed data corresponding to parameter\n", " y_obs = p_to_y(gt_par[par])\n", " # bounds\n", " xmin, xmax = prior_bounds[par]\n", " # standard deviation\n", " sigma = sigmas[par]\n", "\n", " # pdf as function of only p\n", " pdf = partial(\n", " unnorm_1d_normal_pdf, y_obs=y_obs, sigma=sigma, p_to_y=p_to_y,\n", " )\n", "\n", " # integrate density\n", " norm = sp.integrate.quad(pdf, xmin, xmax)[0]\n", "\n", " # plot density\n", " xs = np.linspace(xmin, xmax, 300)\n", " axes[i_par].plot(\n", " xs, pdf(xs) / norm, linestyle=\"dashed\",\n", " color=\"grey\",label=\"ground truth\",\n", " )\n", "\n", "# plot ABC approximations\n", "\n", "for i_par, par in enumerate(prior_bounds.keys()):\n", " for distance_id, h in zip(distances.keys(), hs):\n", " pyabc.visualization.plot_kde_1d_highlevel(\n", " h, x=par, xname=par,\n", " xmin=prior_bounds[par][0], xmax=prior_bounds[par][1],\n", " ax=axes[i_par], label=distance_id,\n", " kde=pyabc.GridSearchCV() if par == \"p4\" else None,\n", " numx=500,\n", " )\n", "\n", "# prettify\n", "for ax in axes[1:]:\n", " ax.set_ylabel(None)\n", "fig.tight_layout(rect=(0, 0.1, 1, 1))\n", "axes[-1].legend(bbox_to_anchor=(1, -0.2), loc=\"upper right\", ncol=len(distances)+1)" ] }, { "cell_type": "markdown", "id": "0e007295-f9f2-4bed-b6c3-9b6fe6be7ba4", "metadata": {}, "source": [ "While the scale weights accurately depict the scales the various model output types vary on, the sensitivity weights are high for $y_1$ through $y_4$, with low weights assigned to $y_5$. Very roughly, the sum of sensitivity weights for the four model outputs $y_3$ is roughly equal to e.g. the sensitivity weigh assigned to $y_2$, as desirable. However, the weights assigned are now completely homogeneous, indicating that an increased training sample or more complex regression model may be preferable." ] }, { "cell_type": "code", "execution_count": 12, "id": "e6f9fadb-f8fe-439f-9f0d-e754f7f06179", "metadata": {}, "outputs": [ { "data": { "image/png": "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iB0VxjU/GsMHf/6aMdOjObozj9n3jiN2VFhPN00ppZRSLdAenAsIjfQHYN/WbEZNjdLgRiml2iEwMLDJsY8//piUlBS8vLxYs2ZNm+9ZUFCAt7c3r776arNlFi9ezB//+Mc237slCQkJXH755Q2OJScnM27cuAbHHn74YWJiYqivr3ceS01NJTIykgkTJjBixAhmz57Np59+2uq6KyoquOOOO0hMTGTcuHHMmDGDsrKyjj2Qi507d/LQQw852/rggw82KZOQkEBiYiLjx4/niiuu4OTJ3pm20aUBjohcJyKHReSYiCxyc/4nIrJPRPaIyL9FZIzLuSfs1x0Wkdld2c6WlFjP4enlgXjA3o+yyNinKyYrpfqv7sw9jI+PJzU1ldtvv73ZMqmpqSxevNjtudWrVzNt2jTS0tI6vW1gC45SU1PdnistLSUzMxOAQ4cONTlfX1/P+++/T1xcHNu2bWtwbsGCBezevZujR4+yaNEi5s6d6/YeCQkJTY698sorDBo0iH379rF//37eeOONVs8qao1Jkybxpz/96YLlPvroI/bu3cuVV17Jc88912n1d6YuC3BExBNYBlwPjAFucw1g7N41xiQaY5KBPwBL7deOAW4FxgLXAf/Xfr9u5ci5uf4niXzngfEYY/jHq/s4ddDa3U1RSqlu0Z25hwkJCYwfPx4Pj/b9KEpLS+Oll14iOzubrKws5/ElS5YwcuRIZsyYweHDh53HV6xYweTJk0lKSmLevHlUVFS0u+3z589n1apVznbcdtttDc5v3bqVsWPH8sADD7QYgF111VXcd999LF++vFX15uTkEBMT43w/atQofH19AXj77beZMmUKycnJ3H///dTV1QG23rMnn3ySpKQkpk2bxpkzZwBbgDhu3DiSkpKYOXOms9033nhjKz8F+Na3vkV2dnary3enrszBmQIcM8acABCRlcDNwEFHAWNMiUv5AMDYX98MrDTGVAHpInLMfr/PurC9TeRllDTIufn2naP515uH+PR/jxN3aTjioUl7Sqm+5ZO/HqEgs+UhjYAQH9b/aQ/+IT5UnK0mLMqfHR+ks+ODdLflI+ICuXz+yK5obrMyMzPJyclhypQpzmDjkUceYdeuXaxcuZI9e/ZQW1tLSkoKEydOBGDu3Lnce++9ADz11FO88cYb/PznP29X/fPmzeOHP/whjz76KOvX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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot weights\n", "\n", "fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(8, 8))\n", "\n", "# scale weights\n", "\n", "scale_distance_ids = [\n", " distance_id for distance_id in distances.keys()\n", " if \"Ada.\" in distance_id and \"Stat\" not in distance_id\n", "]\n", "scale_log_files = []\n", "for i_dist, distance_id in enumerate(scale_distance_ids):\n", " scale_log_files.append(f\"{scale_log_file}_{distance_id}.json\")\n", "\n", "pyabc.visualization.plot_distance_weights(\n", " scale_log_files,\n", " labels=scale_distance_ids,\n", " colors=[colors[distance_id] for distance_id in scale_distance_ids],\n", " xlabel=\"Model output\",\n", " title=\"Scale weights\",\n", " ax=axes[0],\n", " keys=dict2arrlabels(data, keys=data.keys()),\n", ")\n", "\n", "# info weights\n", "\n", "info_distance_ids = [\n", " distance_id for distance_id in distances.keys()\n", " if \"Sensi\" in distance_id\n", "]\n", "info_log_files = []\n", "for i_dist, distance_id in enumerate(info_distance_ids):\n", " info_log_files.append(f\"{info_log_file}_{distance_id}.json\")\n", "\n", "pyabc.visualization.plot_distance_weights(\n", " info_log_files,\n", " labels=info_distance_ids,\n", " colors=[colors[distance_id] for distance_id in info_distance_ids],\n", " xlabel=\"Model output\",\n", " title=\"Sensitivity weights\",\n", " ax=axes[1],\n", " keys=dict2arrlabels(data, keys=data.keys()),\n", ")\n", "\n", "fig.tight_layout()" ] }, { "cell_type": "code", "execution_count": 13, "id": "b9baff36-7d84-4edd-acdc-a4e14324a7e8", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ABC.Predictor INFO: Fitted in 0.01s\n", "INFO:ABC.Predictor:Fitted in 0.01s\n", "ABC.Predictor INFO: Pearson correlations: 1.000 0.957 0.894 0.103 0.080 0.057 0.077 0.922 0.874 0.844 0.702 0.118 0.086 0.048 0.075 0.871\n", "INFO:ABC.Predictor:Pearson correlations: 1.000 0.957 0.894 0.103 0.080 0.057 0.077 0.922 0.874 0.844 0.702 0.118 0.086 0.048 0.075 0.871\n", "ABC.Predictor DEBUG: Linear regression coefficients (n_target, n_feature):\n", "[[ 9.99502539e-01 -1.93422296e-04 5.38128670e-04 -2.78272962e-04\n", " -3.64400057e-04 5.20488788e-04 -2.75772885e-04 3.29200383e-04\n", " -2.16924232e-04 3.96429528e-04 2.05301004e-04 -1.58054070e-04\n", " 2.52347551e-04 -2.66167901e-04 -3.41627677e-04 -8.48553540e-05\n", " -2.83522902e-05]\n", " [ 1.22609981e-03 9.56693166e-01 1.34578866e-03 -1.75636077e-03\n", " -5.61365414e-03 1.38204788e-03 2.79901635e-03 4.04343720e-03\n", " 9.28082533e-04 -1.45912565e-03 3.49118766e-03 1.87129512e-03\n", " 1.98694536e-03 2.38042034e-04 2.82936251e-03 2.61300293e-03\n", " 8.63342824e-04]\n", " [ 6.97733388e-04 1.42899017e-03 2.97121475e-01 2.80317270e-01\n", " 2.88297308e-01 2.73882623e-01 -1.79522779e-03 -4.88825537e-04\n", " -4.84904533e-03 -5.48304208e-03 -1.56598223e-03 5.21996342e-03\n", " 5.90480759e-03 1.71287180e-03 6.27001079e-03 -7.60741132e-03\n", " 5.38254641e-03]\n", " [ 1.86342914e-02 1.49850863e-02 -2.11680567e-02 -2.36141370e-02\n", " -2.92081094e-02 -2.02124314e-02 -5.84719624e-02 9.40286176e-03\n", " -9.53711146e-03 6.88167343e-03 -6.22476491e-03 -1.89685540e-02\n", " -9.92165182e-03 -3.24649283e-03 -1.05839665e-02 -5.74367762e-03\n", " -5.40630652e-03]\n", " [ 6.19976357e-02 3.54147247e-02 1.90022234e-02 9.05898665e-03\n", " 3.82018573e-03 -1.86956484e-02 9.54110145e-03 1.58515480e-02\n", " -8.56265416e-03 7.47177764e-03 1.53222971e-02 1.20975133e-03\n", " -2.43841590e-03 4.02911501e-03 6.54005290e-06 -8.73388260e-04\n", " -4.43929688e-03]\n", " [ 4.74106601e-03 2.11271153e-02 3.68741823e-02 -1.54524485e-03\n", " -2.10830327e-03 1.93862053e-02 -2.56674759e-03 1.83971848e-04\n", " 3.29892551e-03 -1.09803892e-02 9.50504961e-03 4.57211750e-03\n", " 5.72192780e-03 -8.74475932e-03 -8.97192256e-03 -5.13451305e-04\n", " -9.99264711e-03]\n", " [-2.02845285e-02 -6.38385712e-02 -2.09746621e-03 -5.31799426e-03\n", " -3.32279828e-03 -7.82148314e-03 -1.59573277e-02 3.65841973e-03\n", " -1.02623786e-02 8.25198870e-03 -1.48725939e-02 6.14443464e-03\n", " 1.24004930e-02 -6.42325732e-03 -1.55410705e-02 1.81759017e-03\n", " 1.84227591e-03]\n", " [-2.76978715e-03 4.97347648e-03 1.11083990e-03 4.37780705e-04\n", " 4.48517765e-03 6.48282544e-04 9.21489621e-01 -1.54673665e-03\n", " 1.94443646e-04 8.90100407e-04 1.05346671e-03 -2.13112390e-03\n", " 6.00478964e-03 8.70609213e-04 4.60594062e-03 -5.65607796e-03\n", " -2.57597826e-04]\n", " [ 8.73319171e-01 6.55444889e-04 7.83556124e-03 -4.45019822e-03\n", " 1.01516097e-02 9.38162514e-03 -2.19304526e-02 1.07384673e-03\n", " 1.90855693e-03 8.62610252e-04 -2.09702558e-03 -8.10359481e-03\n", " -6.67290695e-04 -4.57633752e-03 1.02865712e-02 2.31683330e-03\n", " -2.40384572e-03]\n", " [ 2.20721993e-02 8.42882585e-01 6.16174297e-03 -3.58262665e-03\n", " -2.22856725e-02 7.92678688e-03 6.92701763e-03 9.58321274e-03\n", " 2.96823421e-03 -1.25577793e-03 3.59061773e-04 5.87249506e-03\n", " -7.64333716e-03 7.05466409e-03 7.41305008e-03 5.63469262e-03\n", " 6.73543224e-04]\n", " [-1.07758165e-02 2.23813696e-02 2.35224957e-01 2.11983649e-01\n", " 2.26523541e-01 2.19666447e-01 -3.69013309e-03 -5.54700848e-03\n", " -5.11880067e-04 1.80424513e-03 -7.33856418e-04 1.29538951e-02\n", " 6.33007119e-03 8.06957732e-03 1.35996359e-02 4.15445724e-03\n", " 5.57121040e-03]\n", " [ 2.56581042e-02 7.50768486e-03 -2.32518089e-02 -2.84231428e-02\n", " -1.44127370e-02 -1.16752093e-02 -8.96396788e-02 1.73735904e-02\n", " 2.98404362e-03 5.61770558e-03 3.06813868e-03 -1.44469035e-02\n", " -1.41435502e-02 -3.35284422e-03 -4.99373023e-03 -1.53659936e-02\n", " -1.71846681e-03]\n", " [ 6.85717558e-02 3.66800260e-02 1.39254617e-02 1.01595295e-02\n", " -3.59304673e-03 -1.59117868e-02 1.00044533e-02 1.66555162e-02\n", " -2.39792234e-03 7.86289108e-03 1.81313271e-02 1.24330277e-03\n", " -6.05568449e-03 5.32854717e-03 3.33437644e-03 1.79666604e-03\n", " -5.45706411e-03]\n", " [ 5.21988144e-03 2.23199420e-02 1.83199425e-02 2.56450366e-03\n", " 3.04297238e-03 1.55015932e-02 3.99832515e-03 6.46758992e-03\n", " 3.74799300e-03 -9.73298110e-03 4.88130383e-03 3.72336041e-03\n", " 1.22049212e-02 -1.05176662e-02 -1.17146179e-02 6.09597565e-04\n", " -6.59170415e-03]\n", " [-3.61081481e-02 -5.58208004e-02 -5.35585906e-03 -1.82876459e-03\n", " -9.34228588e-04 3.56734365e-04 -1.54124166e-02 -3.75362547e-03\n", " -2.17199609e-03 8.80632443e-03 -1.66151682e-02 3.43746434e-03\n", " 6.51614679e-03 -1.19214597e-02 -1.06969471e-02 -1.60769686e-03\n", " 7.32059765e-03]\n", " [ 2.39967768e-03 -3.84397235e-03 6.40911293e-04 -1.48758975e-03\n", " 3.86621378e-03 2.29760411e-03 8.70800760e-01 -2.81812126e-03\n", " -2.07555748e-03 2.33175589e-03 1.97700750e-03 -4.62633215e-03\n", " -1.60231232e-03 3.78858173e-03 1.02850428e-03 -1.25607858e-02\n", " -3.25529886e-03]]\n", "DEBUG:ABC.Predictor:Linear regression coefficients (n_target, n_feature):\n", "[[ 9.99502539e-01 -1.93422296e-04 5.38128670e-04 -2.78272962e-04\n", " -3.64400057e-04 5.20488788e-04 -2.75772885e-04 3.29200383e-04\n", " -2.16924232e-04 3.96429528e-04 2.05301004e-04 -1.58054070e-04\n", " 2.52347551e-04 -2.66167901e-04 -3.41627677e-04 -8.48553540e-05\n", " -2.83522902e-05]\n", " [ 1.22609981e-03 9.56693166e-01 1.34578866e-03 -1.75636077e-03\n", " -5.61365414e-03 1.38204788e-03 2.79901635e-03 4.04343720e-03\n", " 9.28082533e-04 -1.45912565e-03 3.49118766e-03 1.87129512e-03\n", " 1.98694536e-03 2.38042034e-04 2.82936251e-03 2.61300293e-03\n", " 8.63342824e-04]\n", " [ 6.97733388e-04 1.42899017e-03 2.97121475e-01 2.80317270e-01\n", " 2.88297308e-01 2.73882623e-01 -1.79522779e-03 -4.88825537e-04\n", " -4.84904533e-03 -5.48304208e-03 -1.56598223e-03 5.21996342e-03\n", " 5.90480759e-03 1.71287180e-03 6.27001079e-03 -7.60741132e-03\n", " 5.38254641e-03]\n", " [ 1.86342914e-02 1.49850863e-02 -2.11680567e-02 -2.36141370e-02\n", " -2.92081094e-02 -2.02124314e-02 -5.84719624e-02 9.40286176e-03\n", " -9.53711146e-03 6.88167343e-03 -6.22476491e-03 -1.89685540e-02\n", " -9.92165182e-03 -3.24649283e-03 -1.05839665e-02 -5.74367762e-03\n", " -5.40630652e-03]\n", " [ 6.19976357e-02 3.54147247e-02 1.90022234e-02 9.05898665e-03\n", " 3.82018573e-03 -1.86956484e-02 9.54110145e-03 1.58515480e-02\n", " -8.56265416e-03 7.47177764e-03 1.53222971e-02 1.20975133e-03\n", " -2.43841590e-03 4.02911501e-03 6.54005290e-06 -8.73388260e-04\n", " -4.43929688e-03]\n", " [ 4.74106601e-03 2.11271153e-02 3.68741823e-02 -1.54524485e-03\n", " -2.10830327e-03 1.93862053e-02 -2.56674759e-03 1.83971848e-04\n", " 3.29892551e-03 -1.09803892e-02 9.50504961e-03 4.57211750e-03\n", " 5.72192780e-03 -8.74475932e-03 -8.97192256e-03 -5.13451305e-04\n", " -9.99264711e-03]\n", " [-2.02845285e-02 -6.38385712e-02 -2.09746621e-03 -5.31799426e-03\n", " -3.32279828e-03 -7.82148314e-03 -1.59573277e-02 3.65841973e-03\n", " -1.02623786e-02 8.25198870e-03 -1.48725939e-02 6.14443464e-03\n", " 1.24004930e-02 -6.42325732e-03 -1.55410705e-02 1.81759017e-03\n", " 1.84227591e-03]\n", " [-2.76978715e-03 4.97347648e-03 1.11083990e-03 4.37780705e-04\n", " 4.48517765e-03 6.48282544e-04 9.21489621e-01 -1.54673665e-03\n", " 1.94443646e-04 8.90100407e-04 1.05346671e-03 -2.13112390e-03\n", " 6.00478964e-03 8.70609213e-04 4.60594062e-03 -5.65607796e-03\n", " -2.57597826e-04]\n", " [ 8.73319171e-01 6.55444889e-04 7.83556124e-03 -4.45019822e-03\n", " 1.01516097e-02 9.38162514e-03 -2.19304526e-02 1.07384673e-03\n", " 1.90855693e-03 8.62610252e-04 -2.09702558e-03 -8.10359481e-03\n", " -6.67290695e-04 -4.57633752e-03 1.02865712e-02 2.31683330e-03\n", " -2.40384572e-03]\n", " [ 2.20721993e-02 8.42882585e-01 6.16174297e-03 -3.58262665e-03\n", " -2.22856725e-02 7.92678688e-03 6.92701763e-03 9.58321274e-03\n", " 2.96823421e-03 -1.25577793e-03 3.59061773e-04 5.87249506e-03\n", " -7.64333716e-03 7.05466409e-03 7.41305008e-03 5.63469262e-03\n", " 6.73543224e-04]\n", " [-1.07758165e-02 2.23813696e-02 2.35224957e-01 2.11983649e-01\n", " 2.26523541e-01 2.19666447e-01 -3.69013309e-03 -5.54700848e-03\n", " -5.11880067e-04 1.80424513e-03 -7.33856418e-04 1.29538951e-02\n", " 6.33007119e-03 8.06957732e-03 1.35996359e-02 4.15445724e-03\n", " 5.57121040e-03]\n", " [ 2.56581042e-02 7.50768486e-03 -2.32518089e-02 -2.84231428e-02\n", " -1.44127370e-02 -1.16752093e-02 -8.96396788e-02 1.73735904e-02\n", " 2.98404362e-03 5.61770558e-03 3.06813868e-03 -1.44469035e-02\n", " -1.41435502e-02 -3.35284422e-03 -4.99373023e-03 -1.53659936e-02\n", " -1.71846681e-03]\n", " [ 6.85717558e-02 3.66800260e-02 1.39254617e-02 1.01595295e-02\n", " -3.59304673e-03 -1.59117868e-02 1.00044533e-02 1.66555162e-02\n", " -2.39792234e-03 7.86289108e-03 1.81313271e-02 1.24330277e-03\n", " -6.05568449e-03 5.32854717e-03 3.33437644e-03 1.79666604e-03\n", " -5.45706411e-03]\n", " [ 5.21988144e-03 2.23199420e-02 1.83199425e-02 2.56450366e-03\n", " 3.04297238e-03 1.55015932e-02 3.99832515e-03 6.46758992e-03\n", " 3.74799300e-03 -9.73298110e-03 4.88130383e-03 3.72336041e-03\n", " 1.22049212e-02 -1.05176662e-02 -1.17146179e-02 6.09597565e-04\n", " -6.59170415e-03]\n", " [-3.61081481e-02 -5.58208004e-02 -5.35585906e-03 -1.82876459e-03\n", " -9.34228588e-04 3.56734365e-04 -1.54124166e-02 -3.75362547e-03\n", " -2.17199609e-03 8.80632443e-03 -1.66151682e-02 3.43746434e-03\n", " 6.51614679e-03 -1.19214597e-02 -1.06969471e-02 -1.60769686e-03\n", " 7.32059765e-03]\n", " [ 2.39967768e-03 -3.84397235e-03 6.40911293e-04 -1.48758975e-03\n", " 3.86621378e-03 2.29760411e-03 8.70800760e-01 -2.81812126e-03\n", " -2.07555748e-03 2.33175589e-03 1.97700750e-03 -4.62633215e-03\n", " -1.60231232e-03 3.78858173e-03 1.02850428e-03 -1.25607858e-02\n", " -3.25529886e-03]]\n", "ABC.Distance DEBUG: Optimal FD delta: [0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1]\n", "DEBUG:ABC.Distance:Optimal FD delta: [0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1]\n" ] }, { "data": { "image/svg+xml": [ "y1y2y3:0y3:1y3:2y3:3y4y5:0y5:1y5:2y5:3y5:4y5:5y5:6y5:7y5:8y5:9p1_0p2_0p3_0p4_0p1_1p2_1p3_1p4_1p1_2p2_2p3_2p4_2p1_3p2_3p3_3p4_3Data-parameter sensitivities" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot flow diagram\n", "\n", "fig = pyabc.visualization.plot_sensitivity_sankey(\n", " info_sample_log_file=f\"{info_sample_log_file}_L1+Ada.+MAD+SensiLR+P4\",\n", " t=f\"{info_log_file}_L1+Ada.+MAD+SensiLR+P4.json\",\n", " h=hs[-1],\n", " predictor=LinearPredictor(),\n", " par_trafo=ParTrafo(trafos=par_trafos),\n", " height=900,\n", ")\n", "\n", "# here just showing a non-interactive plot to reduce storage\n", "img_file = tempfile.mkstemp(suffix=(\".svg\"))[1]\n", "fig.write_image(img_file)\n", "display(SVG(img_file))" ] }, { "cell_type": "raw", "id": "13d023e4-9e48-432d-9616-78a3ebca0899", "metadata": { "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ "This was a little introduction to approaches accounting for heterogeneous data scales by adaptive scale normalization, and data informativeness by using regression models to either construct low-dimensionsal summary statistics, or inform sensitivity weights.\n", "Beyond linear regression employed in this notebook, various other regression methods are possible, including e.g. Gaussian processes or neural networks to capture non-linear relationships better. These are also implemented in pyABC.\n", "\n", "It should be noted that the use of regression models may be sensitive to in particular training sample size, especially for more complex regression models, such that some care may need to be taken there. For example, also model selection with out-of-sample validation is provided via :class:`ModelSelectionPredictor `." ] } ], "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.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }