{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Adaptive distances" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ "In this notebook, we illustrate the use of adaptive distances implemented in pyABC. \"Adaptive\" means that the distance function is not pre-defined (e.g. after pre-processing), but adjusts over time during the ABC run. Here, we provide adaptation for data scale normalization and outliers. General adaptation concepts can be easily implemented via the :class:`Distance ` class' ``initialize()`` and ``update()`` methods. Adaptive distances are implemented as extensions of the :class:`PNormDistance `." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It uses a distance between simulations $s$ and observed data $s_\\text{obs}$ (or summary statistics representations thereof)\n", "\n", "$$d(s, s_\\text{obs}) = \\left [\\sum_{j} \\left| w_j ( s_j-s_{\\text{obs},j} ) \\right|^{p} \\right ]^{1/p}$$\n", "\n", "with weights $w$ and exponent $p\\geq 1$. E.g., $p=2$ gives a weighted Euclidean distance, $p=1$ a Manhattan distance, $p=\\inf$ a maximum distance." ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ "The notebook can be downloaded :download:`here `." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Scale normalization" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ "The :class:`AdaptivePNormDistance ` offers methods to, in each generation (or, if desired, only in selected generations), recalculate the weights in order to rescale the impact of each coordinate. This can be useful if different summary statistics vary on different scales, in which case statistics with higher sample variance would dominate the distance value and thus the analysis, while proper rescaling ensures that each statistic has a roughly similar impact." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The concept is based on this seminal work by [Dennis Prangle 2017](https://doi.org/10.1214/16-BA1002):\n", "\n", " Dennis Prangle.\n", " Adapting the ABC distance function.\n", " Bayesian Analysis 12.1 (2017): 289-309." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For illustration, we consider a simple Gaussian model:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# install if not done yet\n", "!pip install pyabc --quiet" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import logging\n", "import tempfile\n", "\n", "import matplotlib.pyplot as pyplot\n", "import numpy as np\n", "\n", "import pyabc" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "pyabc.settings.set_figure_params(\"pyabc\") # for beautified plots\n", "\n", "\n", "# for debugging\n", "df_logger = logging.getLogger(\"ABC.Distance\")\n", "df_logger.setLevel(logging.DEBUG)\n", "\n", "# model definition\n", "def model(p):\n", " return {\n", " \"s1\": p[\"theta\"] + 1 + 0.1 * np.random.normal(),\n", " \"s2\": 2 + 10 * np.random.normal(),\n", " }\n", "\n", "\n", "# true model parameter\n", "theta_true = 3\n", "\n", "# observed summary statistics\n", "observation = {\"s1\": theta_true + 1, \"s2\": 2}\n", "\n", "# prior distribution\n", "prior = pyabc.Distribution(theta=pyabc.RV(\"uniform\", 0, 10))\n", "\n", "# database\n", "db_path = pyabc.create_sqlite_db_id(file_=\"adaptive_distance.db\")\n", "\n", "\n", "def plot_history(history):\n", " \"\"\"Plot 1d posteriors over time.\"\"\"\n", " fig, ax = pyplot.subplots()\n", " for t in range(history.max_t + 1):\n", " df, w = history.get_distribution(m=0, t=t)\n", " pyabc.visualization.plot_kde_1d(\n", " df,\n", " w,\n", " xmin=0,\n", " xmax=10,\n", " x=\"theta\",\n", " ax=ax,\n", " label=f\"PDF t={t}\",\n", " refval={\"theta\": theta_true},\n", " refval_color=\"grey\",\n", " )\n", " ax.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Summary statistic s2 has a high variance compared to summary statistic s1. In addition, s1 is informative about the model parameters $\\theta$, s2 is not. We expect that the proposal distribution for $\\theta$ iteratively centers around the true value $\\theta=3$. Thus, the variability for the sampled s1 decreases iteratively, while the variability of the sampled s2 stays approximately constant. If both summary statistics are weighted similarly in the calculation of the distance between sample and observation, there is hence an undesirable high impact of s2, so that convergence can be slowed down. In contrast, if we weight s1 higher, we may hope that our estimation of $\\theta$ is improved." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These informal expectations being stated, let us continue with the implementation. First, we consider a non-adaptive Euclidean distance with uniform weights (i.e. $w\\equiv 1$):" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "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", "ABC INFO: t: 0, eps: 7.22523380e+00.\n", "ABC INFO: Accepted: 100 / 220 = 4.5455e-01, ESS: 1.0000e+02.\n", "ABC INFO: t: 1, eps: 4.66705713e+00.\n", "ABC INFO: Accepted: 100 / 346 = 2.8902e-01, ESS: 9.5308e+01.\n", "ABC INFO: t: 2, eps: 3.48952553e+00.\n", "ABC INFO: Accepted: 100 / 455 = 2.1978e-01, ESS: 9.6360e+01.\n", "ABC INFO: t: 3, eps: 2.33329093e+00.\n", "ABC INFO: Accepted: 100 / 694 = 1.4409e-01, ESS: 9.7454e+01.\n", "ABC INFO: t: 4, eps: 1.75450228e+00.\n", "ABC INFO: Accepted: 100 / 971 = 1.0299e-01, ESS: 9.6018e+01.\n", "ABC INFO: t: 5, eps: 1.24596161e+00.\n", "ABC INFO: Accepted: 100 / 1347 = 7.4239e-02, ESS: 9.6775e+01.\n", "ABC INFO: t: 6, eps: 9.14401554e-01.\n", "ABC INFO: Accepted: 100 / 1823 = 5.4855e-02, ESS: 9.4755e+01.\n", "ABC INFO: Stop: Maximum number of generations.\n", "ABC.History INFO: Done \n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "distance = pyabc.PNormDistance(p=2)\n", "\n", "abc = pyabc.ABCSMC(model, prior, distance)\n", "\n", "abc.new(db_path, observation)\n", "\n", "h_uni = abc.run(max_nr_populations=7)\n", "\n", "plot_history(h_uni)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Second, we consider an adaptive Euclidean distance:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Fit scale ixs: \n", "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n", "ABC.Distance DEBUG: Scale weights[0] = {'s1': 4.0506e-01, 's2': 1.5023e-01}\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 1.85312043e+00.\n", "ABC INFO: Accepted: 100 / 186 = 5.3763e-01, ESS: 1.0000e+02.\n", "ABC.Distance DEBUG: Scale weights[1] = {'s1': 4.1169e-01, 's2': 1.4321e-01}\n", "ABC INFO: t: 1, eps: 1.09137591e+00.\n", "ABC INFO: Accepted: 100 / 244 = 4.0984e-01, ESS: 9.6941e+01.\n", "ABC.Distance DEBUG: Scale weights[2] = {'s1': 7.7012e-01, 's2': 1.7499e-01}\n", "ABC INFO: t: 2, eps: 1.15608334e+00.\n", "ABC INFO: Accepted: 100 / 408 = 2.4510e-01, ESS: 9.8461e+01.\n", "ABC.Distance DEBUG: Scale weights[3] = {'s1': 9.2552e-01, 's2': 1.4981e-01}\n", "ABC INFO: t: 3, eps: 8.19463892e-01.\n", "ABC INFO: Accepted: 100 / 518 = 1.9305e-01, ESS: 9.9834e+01.\n", "ABC.Distance DEBUG: Scale weights[4] = {'s1': 1.5088e+00, 's2': 1.5096e-01}\n", "ABC INFO: t: 4, eps: 7.56913093e-01.\n", "ABC INFO: Accepted: 100 / 421 = 2.3753e-01, ESS: 9.9813e+01.\n", "ABC.Distance DEBUG: Scale weights[5] = {'s1': 2.7339e+00, 's2': 1.6884e-01}\n", "ABC INFO: t: 5, eps: 7.69810319e-01.\n", "ABC INFO: Accepted: 100 / 598 = 1.6722e-01, ESS: 9.5260e+01.\n", "ABC.Distance DEBUG: Scale weights[6] = {'s1': 4.5467e+00, 's2': 1.4820e-01}\n", "ABC INFO: t: 6, eps: 6.61698599e-01.\n", "ABC INFO: Accepted: 100 / 766 = 1.3055e-01, ESS: 8.7804e+01.\n", "ABC.Distance DEBUG: Scale weights[7] = {'s1': 7.4910e+00, 's2': 1.4632e-01}\n", "ABC INFO: Stop: Maximum number of generations.\n", "ABC.History INFO: Done \n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "scale_log_file = tempfile.mkstemp(suffix=\".json\")[1]\n", "\n", "distance_adaptive = pyabc.AdaptivePNormDistance(\n", " p=2,\n", " scale_function=pyabc.distance.mad, # method by which to scale\n", " scale_log_file=scale_log_file,\n", ")\n", "\n", "abc = pyabc.ABCSMC(model, prior, distance_adaptive)\n", "\n", "abc.new(db_path, observation)\n", "\n", "h_ada = abc.run(max_nr_populations=7)\n", "\n", "plot_history(h_ada)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the debug output of `abc.run` above, it can be seen how the weights evolve over time. In the posterior plot, we observe how, compared to the non-adaptive distance, the densitities tend to be narrower around the true parameter $\\theta=3$. In addition, despite the better convergence, the required number of samples in total is lower, as can be seen from the below sample numbers plot, as not so much time was wasted trying to match an uninformative summary statistic." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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6N+/P+edd17B9nPPPReADh06sGjRol2Oz8vLY9KkScycOZNmzZrRt29fRowYwaWXXvoTPqmiaaojEZEUad26NZ999lnB+vDhwxk3bhz5I4vdnUceeYTs7Gyys7NZuHAhp59+OgD77LNPwXFVq1YlLy8Pd6d169YF+8+ePZsxY8YU7LfffvsVLF999dVcddVVzJ49myeffHKvZ9PIb09+WwrLzMykXbt2HHLIIVSrVo1evXrt9N5TQQFKRCRFunTpwubNm3n88ccLyjZt2lSw3L17dx5//HFyc3OBqJvshx9+KLa+I444ghUrVjB58mQgmsppzpw5Re67bt06mjSJnsAZOXLHZDv7778/GzZs2GX/2rVrU7du3YL7Sy+++GLB1VQyjjvuONauXVsQfMePH0+rVq2SPj4ZmotPRCqs0h5BaWa8/fbbXHvttdx///00aNCA/fbbj6FDhwJw2WWXsWjRItq3b4+706BBA95+++1i68vIyOD111/nmmuuYd26deTl5TFw4EBat269y76DBw/mvPPOo27dunTp0qXg3tbZZ59Nnz59eOedd3jkkUd2OmbkyJEMGDCATZs2ccghh/D8888n/V6rVq3KAw88QNeuXXF3OnTowO9+97ukj0+G5Y8UqUiysrJ8+vTpe1WHhplLqmiYeemZN28eRx11VFk3Q3ajmP+jypNRV0REyj8FKBERiSUFKBERiSUFKBERiSUFKBERiSUFKBERiSU9ByUiFdfg2imub12Ju1SmdBtVq1albdu2ADRr1izls7YrQImIpEhlS7ex7777kp2dnbL6ClMXn4hIilSmdBulQQFKRCRFKlO6DYDNmzeTlZVFp06ddjtl00+lLj4RkTSpyOk2IOq+bNKkCQsWLKBLly60bduWQw89dA8/peIpQImIpEjr1q154403CtaHDx/OypUrycqK0uLlp9vo3r37TsdNmDBht+k28mczL6xwuo3rrruOnj17MmHCBAYPHrxX76WkdBtAwezphxxyCJ07d2bmzJkpDVDq4hMRSZHKlG5jzZo1bNmyBYCVK1fy8ccfK92GiEjSkhgWnkqVKd3GvHnz+P3vf0+VKlXYvn07gwYNSnmAUrqNYijdhqSK0m2UHqXbiD+l2xARkXJPAUpERGJJAUpERGJJAUpERGJJAUpERGJJAUpERGJJz0GJSIXVdmTblNY3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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "histories = [h_uni, h_ada]\n", "labels = [\"Uniform weights\", \"Adaptive weights\"]\n", "pyabc.visualization.plot_sample_numbers(histories, labels)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Indeed, the acceptance rates for the adaptive distance function are consistently higher:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pyabc.visualization.plot_acceptance_rates_trajectory(histories, labels)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The log file stores the weights of each generation, allowing for further analysis. We can see that indeed ss1 is assigned a higher weight than ss2, the ratio increasing over time." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ts = list(range(h_ada.max_t + 1))\n", "labels = [f\"t={t}\" for t in ts]\n", "\n", "pyabc.visualization.plot_distance_weights(\n", " log_files=scale_log_file,\n", " ts=ts,\n", " labels=labels,\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In detail, the adaptive distance feature works as follows: In each iteration of the ABCSMC run, after having obtained the desired number of accepted particles (and once at the beginning using a calibration sample from the prior), the method `update()` is called. It is given a set of summary statistics which can be used to e.g. compute weights for the distance measure in the next iteration. In order to avoid bias, via `configure_sampler()`, the distance function tells the sampler to not only record accepted particles, but all that were generated during the sampling process.\n", "\n", "Above, the acceptance step uses in each generation only the distance based on the current weights. Sometimes it may be preferable to have nested acceptance regions, by also checking all previous acceptance criteria. This can be realized by passing a `acceptor=pyabc.UniformAcceptor(use_complete_history=True)` to the `ABCSMC` class.\n", "\n", "For scale normalization, we used as a measure of sample variability above the median absolute deviation (MAD), a robust alternative to the standard deviation. Other measures are possible and implemented in `pyabc.distance.scale`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Robustify against model error\n", "\n", "One problem not addressed by the previous adaptive weighting scheme is that if there are outliers in the data, things can go wrong. We informally denote by an outlier a data point corrupted by large errors that cannot be expected under the given experimental setup, already accounting for measurement\n", "noise. To circumvent this, robust methods have been developed that are less sensitive to outliers and can even detect and down-weight such points. The methods presented in the following are based on [this work](https://www.biorxiv.org/content/10.1101/2021.07.29.454327v1):\n", "\n", " Yannik Schaelte, Emad Alamoudi, Jan Hasenauer.\n", " Robust adaptive distance functions for approximate Bayesian inference on outlier-corrupted data.\n", " bioRxiv 2021.07.29.454327; doi: https://doi.org/10.1101/2021.07.29.454327.\n", " \n", "As an example, consider the previous model, but with an additional summary statistic of small variance, whose observation however is an outlier, i.e. a deviant value that cannot be explained under the model. This is a scenario that can typically occur in data where some coordinates hardly depend on the inputs, some may however be subject to errors not accounted for by the model due to e.g. external perturbations, or human errors such as wrong or missing labels. Also other outlier scenarios are possible, for a more extensive discussion see the publication." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "import logging\n", "import os\n", "import tempfile\n", "\n", "import matplotlib.pyplot as pyplot\n", "import numpy as np\n", "\n", "import pyabc.visualization\n", "\n", "# for debugging\n", "df_logger = logging.getLogger(\"Distance\")\n", "df_logger.setLevel(logging.DEBUG)\n", "\n", "# model definition\n", "def model(p):\n", " return {\n", " \"s1\": p[\"theta\"] + 1 + 0.1 * np.random.normal(),\n", " \"s2\": 2 + 10 * np.random.normal(),\n", " \"s3\": 2 + 0.1 * np.random.normal(),\n", " }\n", "\n", "\n", "# true model parameter\n", "theta_true = 3\n", "\n", "# observed summary statistics\n", "observation = {\"s1\": theta_true + 1, \"s2\": 2, \"s3\": 5}\n", "\n", "# prior distribution\n", "prior = pyabc.Distribution(theta=pyabc.RV(\"uniform\", 0, 10))\n", "\n", "# database\n", "db_path = pyabc.create_sqlite_db_id(file_=\"adaptive_distance.db\")\n", "\n", "\n", "def plot_history(history):\n", " \"\"\"Plot 1d posteriors over time.\"\"\"\n", " fig, ax = pyplot.subplots()\n", " for t in range(history.max_t + 1):\n", " df, w = history.get_distribution(m=0, t=t)\n", " pyabc.visualization.plot_kde_1d(\n", " df,\n", " w,\n", " xmin=0,\n", " xmax=10,\n", " x=\"theta\",\n", " ax=ax,\n", " label=f\"PDF t={t}\",\n", " refval={\"theta\": theta_true},\n", " refval_color=\"grey\",\n", " )\n", " ax.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An distance with uniform weights suffers from the same problems as before." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "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", "ABC INFO: t: 0, eps: 9.31126540e+00.\n", "ABC INFO: Accepted: 100 / 178 = 5.6180e-01, ESS: 1.0000e+02.\n", "ABC INFO: t: 1, eps: 6.07711707e+00.\n", "ABC INFO: Accepted: 100 / 294 = 3.4014e-01, ESS: 9.9413e+01.\n", "ABC INFO: t: 2, eps: 4.44033524e+00.\n", "ABC INFO: Accepted: 100 / 514 = 1.9455e-01, ESS: 9.0756e+01.\n", "ABC INFO: t: 3, eps: 3.77765379e+00.\n", "ABC INFO: Accepted: 100 / 883 = 1.1325e-01, ESS: 9.8725e+01.\n", "ABC INFO: t: 4, eps: 3.44285127e+00.\n", "ABC INFO: Accepted: 100 / 1294 = 7.7280e-02, ESS: 9.8736e+01.\n", "ABC INFO: t: 5, eps: 3.21037568e+00.\n", "ABC INFO: Accepted: 100 / 1650 = 6.0606e-02, ESS: 9.5246e+01.\n", "ABC INFO: t: 6, eps: 3.10653692e+00.\n", "ABC INFO: Accepted: 100 / 3168 = 3.1566e-02, ESS: 9.9012e+01.\n", "ABC INFO: Stop: Maximum number of generations.\n", "ABC.History INFO: Done \n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "distance = pyabc.PNormDistance(p=2)\n", "\n", "abc = pyabc.ABCSMC(model, prior, distance)\n", "abc.new(db_path, observation)\n", "h_uni = abc.run(max_nr_populations=7)\n", "\n", "plot_history(h_uni)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we consider again a Euclidean distance with adaptive weights." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Fit scale ixs: \n", "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n", "ABC.Distance DEBUG: Scale weights[0] = {'s1': 4.4129e-01, 's2': 1.4416e-01, 's3': 1.3201e+01}\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 3.94712144e+01.\n", "ABC INFO: Accepted: 100 / 227 = 4.4053e-01, ESS: 1.0000e+02.\n", "ABC.Distance DEBUG: Scale weights[1] = {'s1': 3.7888e-01, 's2': 1.4278e-01, 's3': 1.5343e+01}\n", "ABC INFO: t: 1, eps: 4.49076898e+01.\n", "ABC INFO: Accepted: 100 / 450 = 2.2222e-01, ESS: 9.6518e+01.\n", "ABC.Distance DEBUG: Scale weights[2] = {'s1': 4.3149e-01, 's2': 1.6258e-01, 's3': 1.3212e+01}\n", "ABC INFO: t: 2, eps: 3.80560279e+01.\n", "ABC INFO: Accepted: 100 / 995 = 1.0050e-01, ESS: 9.8947e+01.\n", "ABC.Distance DEBUG: Scale weights[3] = {'s1': 4.2335e-01, 's2': 1.3983e-01, 's3': 1.4754e+01}\n", "ABC INFO: t: 3, eps: 4.19690989e+01.\n", "ABC INFO: Accepted: 100 / 1672 = 5.9809e-02, ESS: 9.6784e+01.\n", "ABC.Distance DEBUG: Scale weights[4] = {'s1': 4.2762e-01, 's2': 1.4936e-01, 's3': 1.4532e+01}\n", "ABC INFO: t: 4, eps: 4.08175193e+01.\n", "ABC INFO: Accepted: 100 / 4007 = 2.4956e-02, ESS: 9.5376e+01.\n", "ABC.Distance DEBUG: Scale weights[5] = {'s1': 4.7683e-01, 's2': 1.4988e-01, 's3': 1.4653e+01}\n", "ABC INFO: t: 5, eps: 4.07820426e+01.\n", "ABC INFO: Accepted: 100 / 7762 = 1.2883e-02, ESS: 9.0509e+01.\n", "ABC.Distance DEBUG: Scale weights[6] = {'s1': 4.9340e-01, 's2': 1.4905e-01, 's3': 1.4503e+01}\n", "ABC INFO: t: 6, eps: 3.99560165e+01.\n", "ABC INFO: Accepted: 100 / 14743 = 6.7829e-03, ESS: 9.5721e+01.\n", "ABC.Distance DEBUG: Scale weights[7] = {'s1': 4.7032e-01, 's2': 1.4797e-01, 's3': 1.4793e+01}\n", "ABC INFO: Stop: Maximum number of generations.\n", "ABC.History INFO: Done \n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "distance_adaptive = pyabc.AdaptivePNormDistance(\n", " p=2,\n", " scale_function=pyabc.distance.mad,\n", ")\n", "\n", "abc = pyabc.ABCSMC(\n", " model,\n", " prior,\n", " distance_adaptive,\n", " acceptor=pyabc.UniformAcceptor(use_complete_history=True),\n", ")\n", "abc.new(db_path, observation)\n", "h_ada = abc.run(max_nr_populations=7)\n", "\n", "plot_history(h_ada)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These results are as expected: The adaptive weights make the situation much worse, as the impact of the low-variance outlier statistic is increased. Our solution is to firstly use outlier-robust metrics such as a Manhattan distance (p=1), instead of the Euclidean distance used above, which emphasizes large errors." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Fit scale ixs: \n", "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n", "ABC.Distance DEBUG: Scale weights[0] = {'s1': 4.0712e-01, 's2': 1.2269e-01, 's3': 1.3265e+01}\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 4.21535023e+01.\n", "ABC INFO: Accepted: 100 / 189 = 5.2910e-01, ESS: 1.0000e+02.\n", "ABC.Distance DEBUG: Scale weights[1] = {'s1': 4.2649e-01, 's2': 1.6058e-01, 's3': 1.2175e+01}\n", "ABC INFO: t: 1, eps: 3.78006682e+01.\n", "ABC INFO: Accepted: 100 / 357 = 2.8011e-01, ESS: 9.0475e+01.\n", "ABC.Distance DEBUG: Scale weights[2] = {'s1': 5.3054e-01, 's2': 1.4700e-01, 's3': 1.3336e+01}\n", "ABC INFO: t: 2, eps: 4.05956252e+01.\n", "ABC INFO: Accepted: 100 / 432 = 2.3148e-01, ESS: 7.9099e+01.\n", "ABC.Distance DEBUG: Scale weights[3] = {'s1': 7.3950e-01, 's2': 1.5320e-01, 's3': 1.4070e+01}\n", "ABC INFO: t: 3, eps: 4.22678419e+01.\n", "ABC INFO: Accepted: 100 / 1027 = 9.7371e-02, ESS: 8.8109e+01.\n", "ABC.Distance DEBUG: Scale weights[4] = {'s1': 7.4137e-01, 's2': 1.5630e-01, 's3': 1.4370e+01}\n", "ABC INFO: t: 4, eps: 4.25125051e+01.\n", "ABC INFO: Accepted: 100 / 1464 = 6.8306e-02, ESS: 8.3178e+01.\n", "ABC.Distance DEBUG: Scale weights[5] = {'s1': 1.0902e+00, 's2': 1.4246e-01, 's3': 1.4010e+01}\n", "ABC INFO: t: 5, eps: 4.12463025e+01.\n", "ABC INFO: Accepted: 100 / 2113 = 4.7326e-02, ESS: 9.0759e+01.\n", "ABC.Distance DEBUG: Scale weights[6] = {'s1': 1.2113e+00, 's2': 1.4881e-01, 's3': 1.5060e+01}\n", "ABC INFO: t: 6, eps: 4.37711081e+01.\n", "ABC INFO: Accepted: 100 / 3166 = 3.1586e-02, ESS: 5.4893e+01.\n", "ABC.Distance DEBUG: Scale weights[7] = {'s1': 1.8082e+00, 's2': 1.5246e-01, 's3': 1.4929e+01}\n", "ABC INFO: Stop: Maximum number of generations.\n", "ABC.History INFO: Done \n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "scale_log_file_l1 = tempfile.mkstemp(suffix=\".json\")[1]\n", "\n", "distance_adaptive = pyabc.AdaptivePNormDistance(\n", " p=1, # new, previously p=2\n", " scale_function=pyabc.distance.mad,\n", " scale_log_file=scale_log_file_l1,\n", ")\n", "\n", "abc = pyabc.ABCSMC(\n", " model,\n", " prior,\n", " distance_adaptive,\n", " acceptor=pyabc.UniformAcceptor(use_complete_history=True),\n", ")\n", "abc.new(db_path, observation)\n", "h_l1 = abc.run(max_nr_populations=7)\n", "\n", "plot_history(h_l1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This visibly improves the estimates again. However, the outlier statistic still seems to have a considerable impact, as the estimates are considerably worse than without s3. This can be tackled by actively identifying and down-weighting outlier data points, by using a different weighting scheme than MAD. We propose to use the PCMAD (Perhaps-Combined MAD), which either uses MAD, or, if the fraction of severe outliers detected is not too high (precisely not more than 1/3, see the publication and the API for details), uses MAD + MADO, where MADO is the median absolute deviation to the observed value." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ABC.Distance DEBUG: Fit scale ixs: \n", "ABC.Sampler INFO: Parallelize sampling on 4 processes.\n", "ABC.History INFO: Start \n", "ABC INFO: Calibration sample t = -1.\n", "ABC.Distance INFO: Features ['s3'] (ixs=[2]) have a high bias.\n", "ABC.Distance DEBUG: Scale weights[0] = {'s1': 2.1253e-01, 's2': 6.0377e-02, 's3': 3.2332e-01}\n", "ABC.Population INFO: Recording also rejected particles: True\n", "ABC INFO: t: 0, eps: 2.00529027e+00.\n", "ABC INFO: Accepted: 100 / 197 = 5.0761e-01, ESS: 1.0000e+02.\n", "ABC.Distance INFO: Features ['s3'] (ixs=[2]) have a high bias.\n", "ABC.Distance DEBUG: Scale weights[1] = {'s1': 2.1935e-01, 's2': 7.6574e-02, 's3': 3.2551e-01}\n", "ABC INFO: t: 1, eps: 1.66449293e+00.\n", "ABC INFO: Accepted: 100 / 269 = 3.7175e-01, ESS: 9.4967e+01.\n", "ABC.Distance INFO: Features ['s3'] (ixs=[2]) have a high bias.\n", "ABC.Distance DEBUG: Scale weights[2] = {'s1': 3.9610e-01, 's2': 7.6976e-02, 's3': 3.2499e-01}\n", "ABC INFO: t: 2, eps: 1.68204559e+00.\n", "ABC INFO: Accepted: 100 / 350 = 2.8571e-01, ESS: 9.9159e+01.\n", "ABC.Distance INFO: Features ['s3'] (ixs=[2]) have a high bias.\n", "ABC.Distance DEBUG: Scale weights[3] = {'s1': 4.8096e-01, 's2': 7.4634e-02, 's3': 3.2618e-01}\n", "ABC INFO: t: 3, eps: 1.48568219e+00.\n", "ABC INFO: Accepted: 100 / 415 = 2.4096e-01, ESS: 9.8663e+01.\n", "ABC.Distance INFO: Features ['s3'] (ixs=[2]) have a high bias.\n", "ABC.Distance DEBUG: Scale weights[4] = {'s1': 9.4408e-01, 's2': 7.6126e-02, 's3': 3.2515e-01}\n", "ABC INFO: t: 4, eps: 1.44345883e+00.\n", "ABC INFO: Accepted: 100 / 527 = 1.8975e-01, ESS: 9.7149e+01.\n", "ABC.Distance INFO: Features ['s3'] (ixs=[2]) have a high bias.\n", "ABC.Distance DEBUG: Scale weights[5] = {'s1': 1.4965e+00, 's2': 7.0672e-02, 's3': 3.2671e-01}\n", "ABC INFO: t: 5, eps: 1.40062882e+00.\n", "ABC INFO: Accepted: 100 / 498 = 2.0080e-01, ESS: 9.3155e+01.\n", "ABC.Distance INFO: Features ['s3'] (ixs=[2]) have a high bias.\n", "ABC.Distance DEBUG: Scale weights[6] = {'s1': 2.9395e+00, 's2': 8.1572e-02, 's3': 3.2606e-01}\n", "ABC INFO: t: 6, eps: 1.42549698e+00.\n", "ABC INFO: Accepted: 100 / 862 = 1.1601e-01, ESS: 9.1377e+01.\n", "ABC.Distance INFO: Features ['s3'] (ixs=[2]) have a high bias.\n", "ABC.Distance DEBUG: Scale weights[7] = {'s1': 3.7888e+00, 's2': 7.2646e-02, 's3': 3.2548e-01}\n", "ABC INFO: Stop: Maximum number of generations.\n", "ABC.History INFO: Done \n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "scale_log_file_pcmad = tempfile.mkstemp(suffix=\".json\")[1]\n", "\n", "distance_adaptive = pyabc.AdaptivePNormDistance(\n", " p=1,\n", " scale_function=pyabc.distance.pcmad, # new, previously mad\n", " scale_log_file=scale_log_file_pcmad,\n", ")\n", "\n", "abc = pyabc.ABCSMC(\n", " model,\n", " prior,\n", " distance_adaptive,\n", " acceptor=pyabc.UniformAcceptor(use_complete_history=True),\n", ")\n", "abc.new(db_path, observation)\n", "h_pcmad = abc.run(max_nr_populations=7)\n", "\n", "plot_history(h_pcmad)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This visibly improves the obtained estimates further. This is due to the respective weights assigned: PCMAD correctly identifies the outlier and assigns a low weight." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pyabc.visualization.plot_distance_weights(\n", " [scale_log_file_l1, scale_log_file_pcmad],\n", " labels=[\"L1+MAD\", \"L1+PCMAD\"],\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This result is further obtained with less samples." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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SVJbk/5cAhARWyStBTqn5bn5a3L3WVKjfEARTsPMWqheY58oaH0VN5xa7zZvv/02l156KdOnT6djx460bduW//zP/2TEiBEFbUu+pk6dStu2bfnkJz8JwN13383ee+/NqFGjGl33m2++yfnnn8+SJUuQxOTJk+nVq1ej661S1ACVJizrJ6kD8CjwsWIery6SLgAuAOjZs2dzNMHqUeg/JC1dPn8ILXsiguHDhzN69Gh+/etfA/DGG2/w2GOPFfW4W7ZsYffda/9zPnXqVNq3b18doC688MKCHXfUqFFcffXVDBkyhHXr1rHbboXtlGuS70FFxBrgT8A/Ax3S9NUA3UmyfJL+7AGQrt+PJItodXmNfeoqr+3490REWUSUdenSpRCnZGa2g2effZa2bdtuFwQOOuggLr74YgC2bt3KlVdeyXHHHcfRRx/Nz372MyAJIoMGDWLkyJF87GMf49/+7d+oyjQxa9YsPv3pT9O/f3+GDh3KsmXLABg0aBCXXHIJZWVl3HbbbfzhD39gwIABHHPMMXz2s5/l7bffpqKigrvvvptbbrmFfv36MW3aNMaNG8fNN98MQHl5OQMHDuToo49mxIgRrF69urruq666iuOPP57DDz+cadOm7XCu8+fPZ8uWLQwZMgSA9u3bs/feexf0ehZzFF+X9M4JSXsBQ4AFJIFqZLrZaOD36fvH0mXS9c9G8i/0GHB2OsrvYJK01y8BM4De6ajAtiQDKYr7McXMbCfmzZvHscceW+f6e++9l/32248ZM2YwY8YMfv7zn7N48WIAZs+eza233sr8+fNZtGgRL7zwAps3b+biiy/m4YcfZtasWXzta1/j6quvrq5v06ZNzJw5k8svv5wTTjiB6dOnM3v2bM4++2xuuukmevXqxYUXXsill15KeXk5J5544nbtGTVqFDfeeCNz5syhb9++XHvttdXrtmzZwksvvcStt966XXmV1157jQ4dOnDGGWdwzDHHcOWVV7J169bGXsLtFLOLryswMX0OtRvwUEQ8Lmk+MEnSdcBs4N50+3uBX0laCKwiCThExDxJDwHzgS3AmLTrEEkXAU8BbYDxETGviOdjZtYgY8aM4fnnn6dt27bMmDGDKVOmMGfOHB5+OBkntnbtWl5//XXatm3L8ccfT/fu3QHo168fFRUVdOjQgVdeeaX6LmXr1q107dq1uv6z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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pyabc.visualization.plot_sample_numbers(\n", " [h_uni, h_ada, h_l1, h_pcmad],\n", " [\"Uniform+L2\", \"Ada.+L2\", \"Ada.+L1\", \"Ada.+L1+PCMAD\"],\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusion\n", "\n", "In general, we recommend the consistent use of an L1 norm over L2, unless squared residuals are needed. This makes the analysis robust to outliers, and further has also shown advantageous on high-dimensional data, where highly deviant points are likely to exist. Further, PCMAD has proven stable and advantageous on multiple test problems, on both outlier-free and outlier-corrupted data. On highly flexible models, it may be unable to reliably detect errors, such that it resorts to MAD. In the implementation in pyABC, PCMAD informs about potential outliers early-on via the logging modules." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Problems\n", "\n", "The scale-normalized outlier-robust distance functions presented above clearly still have several shortcomings. In particular, they do not account for how \"informative\" data points are. This can e.g. be problematic if the data contain large quantities of uninformative data points with background noise that would be enlarged by the here-employed scale normalization. Another problem occurs when many data points are informative of one parameter, but only few of another, in which case one could argue that the impact of the many and the few should be balanced better in order to extract information on both parameters. To some degree, these problems can be tackled by additional `fixed_weights`, which pyABC allows to define manually, but this may be cumbersome, and it may be preferable to a-priori define a set of similarly informative summary statistics, e.g. using the [regression-based summary statistics](https://rss.onlinelibrary.wiley.com/doi/pdfdirect/10.1111/j.1467-9868.2011.01010.x) by Fearnhead and Prangle, which are also implemented in pyABC.\n", "\n", "For an overview of approaches accounting for both scale and informativeness of data, see the notebook on \"Informative distances and summary statistics\"." ] } ], "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": 4 }