- Added new example: the stochastic Lotka-Volterra model
- Fix methods.bo.utils.minimize to be strictly within bounds
- Further performance improvements for rerunning inference using stored data via caches
- Added the general Gaussian noise example model (fixed covariance)
- restrict NetworkX to versions < 2.0
- Easier saving and loading of ElfiModel
- Renamed elfi.set_current_model to elfi.set_default_model
- Renamed elfi.get_current_model to elfi.get_default_model
- Improved performance when rerunning inference using stored data
- Change SMC to use ModelPrior, use to immediately reject invalid proposals
- Fix elfi.Prior and NoneType error #203
- Fix a bug preventing the reuse of ArrayPool data with a new inference
- Added pickling for OutputPool:s
- Added OutputPool.open to read a closed pool from disk
- Refactored Sample and SmcSample classes
- Added elfi.new_model method
- Made elfi.set_client method to accept clients as strings for easier client switching
- Fixed a bug in NpyArray that would lead to an inconsistent state if multiple simultaneous instances were opened.
- Added the ability to move the pool data folder
- Sample.summary is now a method instead of a property
- SmcSample methods takes the keyword argument 'all' to show results of all populations
- Added a section about iterative advancing to documentation
- Changed some of the internal variable names in methods.py. Most notable outputs is now output_names.
- methods.py renamed to parameter_inference.py
- Changes in elfi.methods.results module class names: - OptimizationResult (a new result type) - Result -> Sample - ResultSMC -> SmcSample - ResultBOLFI -> BolfiSample
- Changes in BO/BOLFI: - take advantage of priors - take advantage of seed - improved optimization scheme - bounds must be a dict
- two new toy examples added: Gaussian and the Ricker model
Major update, a lot of code base rewritten.
Most important changes:
- revised syntax for model definition (esp. naming)
- scheduler-independent parallelization interface (currently supports native & ipyparallel)
- methods can now be run iteratively
- persistence to .npy files
- Bayesian optimization as a separate method
- sampling in BOLFI
- MCMC sampling using the No-U-Turn-Sampler (NUTS)
- Result object for BOLFI
- virtual vectorization of external operations
See the updated notebooks and documentation for examples and details.
- Clean up requirements
- Set graphviz and unqlite optional
- PyPI release (pip install elfi)
- The inference problem is now contained in an Inference Task object.
- SMC-ABC has been reimplemented.
- Results from inference are now contained in a Result object.
- Integrated basic visualization.
- Added a notebook demonstrating usage with external simulators and operations.
- Lot's of refactoring and other minor changes.