Changelogs » Pyabc

PyUp Safety actively tracks 232,000 Python packages for vulnerabilities and notifies you when to upgrade.



* Refactor and modularize ABCSMC inference module (333).
  * Make fast random choice function robust across dimensions (333).


* Remove bkcharts dependency (328).
  * Add optional progress bar to various samplers (330).
  * Refactor package metadata (330).
  * Refactor CI build, add code quality tests (331).
  * Add warning when many zero-prior samples are generated (331).


* Refactor `__all__` imports and docs API build (312).
  * Fix json export of aggregated adaptive distances (316).
  * Apply additional flake8 checks on code quality (317).
  * Assert model input is of type `pyabc.Parameter` (318).
  * Extend noise notebook to estimated noise parameters (319).
  * Implement optional pickling for multicore samplers; add MacOS
  pipeline tests (320).


* Speed up multivariate normal multiple sampling (299).
  * Set default value for OMP_NUM_THREADS=1, stops warnings (299).
  * Base default number of parallel cores on PYABC_NUM_PROCS (309).
  * Update all notebooks to the latest numpy/scipy (310).


* Update CI test system: latest Ubuntu, python 3.8, simplify R build (296).
  * Add weights logging to adaptive distances (295).
  * Migrate CI tests to GitHub Actions for speed-up, reliability and
  maintainability (297, 298).


* Allow separate calibration population sizes, slightly reformulate PopulationStrategy class (278).
  * Allow specifying initial weights for adaptive distances, then without sampling from the prior (279).
  * Check PEtab test suite in tests (281).


* Exact inference via stochastic acceptor finalized and tested (developed
  throughout the 0.9 series).
  * Support basic PEtab functionality using AMICI ODE simulations (268).
  * Various error fixes (265, 267).
  * Log number of processes used by multiprocessing samplers (263).
  * Implement pyabc.acceptor.ScaledPDFNorm (269).
  * Implement list population size (274, 276).
  * On history loading, automatically find an id of a successful run (273).


* Add optional check whether database is non-existent, to detect typos.
  * Set lower bound in 1-dim KDEs to <= 0 to not wrongly display near-uniform
  distributions. (both 257)
  * Implement redis password protection for sampler and manage routine (256).
  * Make samplers available in global namespace (249).
  * Implement ListTemperature (248).
  * Allow plotting the relative ESS (245).
  * Allow resampling of weighted particles (244).
  * Fix ABCSMC.load with rpy2 (242).


* Add summary statistics callback plot function (231).
  * Add possibility to log employed norms in StochasticAcceptor (231) and
  temperature proposals in Temperature (232).
  * Implement optional early stopping in the MulticoreEvalParallelSampler and
  the SingleCoreSampler, when a maximum simulation number is exceeded
  (default behavior untouched).
  * Log stopping reason in (all 236).
  * Implement Poisson (237) and negative binomial (239) stochastic kernels.
  * Enable password protection for Redis sampler (238).
  * Fix scipy deprecations (234, 241).


* In, allow a default infinite number of iterations, and log the
  ESS in each iteration.
  * Reformulate exponential temperature decay, allowing for a fixed number of
  iterations or fixed ratios.
  * Solve acceptance rate temperature match in log space for numeric stability.
  * Perform temperation of likelihood ratio in log space for numeric stability
  (all 221).
  * Fix wrong maximum density value in binomial kernel.
  * Allow not fixing the final temperature to 1 (all 223).
  * Allow passing id to history directly (225).
  * Pass additional arguments to Acceptor.update.
  * Give optional min_rate argument to AcceptanceRateScheme (all 226).
  * In plot functions, add parameter specifying the reference value color (227).


* Fix extras_require directive.
  * Fix error with histogram plot arguments.
  * Extend test coverage for visualization (all 215).
  * ABCSMC.{new,load,run} all return the history with set id for convenience.
  * Document pickling paradigm of ABCSMC class (see doc/sampler.rst).
  * Always use lazy evaluation in updates (all 216).
  * Restructure run function of ABCSMC class (216, 218).
  * Run notebooks on travis only on pull requests (217).
  * Correct weighting in AcceptanceRateScheme (219).


* Fix error that prevented using rpy2 based summary statistics with non rpy2 based models (213).


* Introduce acceptor.StochasticAcceptor to encode the stochastic acceptance
  step generalizing the standard uniform criterion.
  * Introduce distance.StochasticKernel to encode noise distributions, with
  several concrete implementations already.
  * Introduce epsilon.Temperature to capture the temperature replacing the
  traditional epsilons. In addition, multiple concrete
  pyabc.epsilon.TemperatureSchemes have been implemented that handle the
  calculation of the next temperature value (all 197).


* Add high-level versions of the kde plotting routines (204).
  * Add unit tests for common epsilon schemes (207).


* Move to cffi>=1.13.1 after that bug was surprisingly quickly fixed (195).
  * Create sub-module for epsilon (189).
  * Add plots for sample and acceptance rate trajectories (193).


* Add create_sqlite_db_id convenience function to create database names.
  * Temporarily require cffi=1.12.2 for rpy2 on travis (all 185).
  * Introduce UniformAcceptor and SimpleFunctionAcceptor classes to streamline
  the traditional acceptance step.
  * Add AcceptorResult and allow weights in the acceptance step (all 184).


* Use latest pypi rpy2 version on travis and rtd since now the relevant
  issues were addressed there (easier build, esp. for users).
  * In pyabc.external, do not require rpy2 to exist.
  * Update rtd build to version 2 (all 179).
  * Render logo text for platform independence.
  * Prevent stochastic transition test from failing that often.
  * Remove deprecated pd.convert_objects call in web server.
  * Allow pandas.Series as summary statistics, by conversion to
  pandas.DataFrame (all 180).


* Add AggregatedDistance function, and a basic self-tuned version
  * Add additional factors to PNormDistance and AggregatedDistance for
  flexibility. Minor API break: argument w renamed to weights.
  * In the adaptive_distances and the aggregated_distances notebooks, add
  examples where some methods can fail.
  * Add plot_total_sample_numbers plot (173).


* Some extensions of external simulators interface (168).
  * Add basic plots of summary statistics (165).
  * Document high-performance infrastructure usage (159).
  * Self-administrative: Add social preview (158), and link to zenodo (157).
  * Fix external deprecations (153).
  * Re-add R related tests (148).


* Update to rpy2 3.1.0 (major change) (140).
  * pandas data frames saved in database via pyarrow parquet, no longer
  msgpack (deprecated), with backward compatibility for old databases (141).
  * Redis workers no longer stop working when encountering model errors (133).
  * Minor edits, esp. color, size, axes options to plotting routines.


* Fix dependency updates (rpy2, sklearn) and travis build.
  * Add option to limit number of particles for adaptive distance updates.
  * Rename confidence -> credible intervals and plots (Bayesian context).
  * Extract from database and plot reference parameter values.
  * Allow to plot MAP value approximations in credible interval plots.
  * Add a general interface to external scripts that allow using pyabc in a
  simple way in particular with other programing languages.


* Reorganize distance module (minor API change: distance_functions -> distance, and some classes shortened accordingly)
  * Allow to pass parameters to Acceptor and Distance.
  * Make time and parameter arguments to distance functions optional.
  * Rewrite lazy evaluation for calibration sample in ABCSMC class.
  * Give default values for arguments, which set no stopping criterion.
  * Add function and plot for effective sample size.


* Run some notebooks as part of the tests.
  * Automatize pypi upload via travis.


* Save number of samples taken in calibration step in database.
  * Fix error with reported number of simulations in EpsMixin based samplers.
  * Fix several warnings.


* Monitor code quality using codacy and codecov.
  * Extend visualization routines: Add histogram, sample number, epsilon trajectory, model probability, and credible interval plots.
  * Test visualization routines on travis.
  * Fix problem with the History.get_weighted_distances function after update to sqlalchemy>=1.3.0.
  * Add random walk based transition for discrete parameters.