Bumps provides data fitting and Bayesian uncertainty modeling for inverse problems. It has a variety of optimization algorithms available for locating the most like value for function parameters given data, and for exploring the uncertainty around the minimum.
Installation is with the usual python installation command:
pip install bumps
Once the system is installed, you can verify that it is working with:
bumps doc/examples/peaks/model.py --chisq
Documentation is available at readthedocs
- gui: undo code cleaning operation which broke the user interface
- population initializers allow indefinite bounds
- use single precision criterion for levenberg-marquardt and bfgs
- implement simple, faster, less accurate Hessian & Jacobian
- compute uncertainty estimate from Jacobian if problem is sum of squares
- gui: fit selection window acts like a dialog
- accept model.par output from a different model
- show residuals with curve fit output
- only show correlations for selected variables
- show tics on correlations if small number
- improve handling of uncertainty estimate from curvature
- tweak dream algorithm -- maybe improve the acceptance ratio?
- allow model to set visible variables in output
- improve handling of arbitrary probability density functions
- simplify loading of pymc models
- update to numdifftools 0.9.14
- bug fix: improved handling of ill-conditioned fits
- bug fix: avoid copying mcmc chain during run
- bug fix: more robust handling of --time limit
- bug fix: support newer versions of matplotlib and numpy
- miscellaneous tweaks and fixes
- add entropy calculator (still unreliable for high dimensional problems)
- adjust scaling of likelihood (the green line) to match histogram area
- use --samples to specify the number of samples from the distribution
- mark this and future releases with a DOI at zenodo.org
- tweak uncertainty calculations so they don't fail on bad models
- documentation updates
- use relative rather than absolute noise in dream, which lets us fit target values in the order of 1e-6 or less.
- fix covariance population initializer
- use --time to stop after a given number of hours
- Levenberg-Marquardt: fix "must be 1-d or 2-d" bug
- improve curvefit interface
- pull numdifftools dependency into the repository
- improve the load_model interface
- Pure python release