Skip to content

Latest commit

 

History

History
258 lines (205 loc) · 8.74 KB

CHANGES.rst

File metadata and controls

258 lines (205 loc) · 8.74 KB

Change History

v0.9.3 2024-07-09

  • fixed issues with numpy > = 2.0 (see #140, numpy.NaN deprecated and removed)
  • fixed issues with refactor of scipy.stats (see #139)

v0.9.2 2024-03-05

  • added testing for python 3.12
  • fixed issue with matplotlib >= 3.8.0 (see #129)
  • added missing documents to dream manual (Convergence tests, Parallel coordinates plot)
  • added numba.njit-accelerated fallback bounds.apply methods to dream (still uses compiled C DLL if available)
  • provide MAX_CORR attribute on the CorrelationView; clear the figure if the number of variables exceeds MAX_CORR

v0.9.1 2023-04-10

  • added support for python 3.11, scipy 1.10, numpy 1.24, wx 4.1.1
  • fixed covariance calculation for n-D datasets
  • fixed batch mode I/O redirection cleanup
  • fixed issue with DREAM bounds checker when running in parallel
  • default to single precision derivatives with lm (fixes issue in SasView where OpenCL models failed with Levenberg-Marquardt)
  • improved support for repeat fitting within scripts and notebooks (start_mapper should now work after stop_mapper)

v0.9.0 2022-03-15

  • use MPFit in place of scipy.leastsq for bounds-constrained Levenberg-Marquardt

Breaking change: * simultaneous fit now scales individual nllfs by squared weight rather than weight

v0.8.1 2021-11-18

  • "apply parameters" action added to GUI menu (does the same as --pars flag in CLI)
  • operators refactored (no more eval)
  • BoundedNormal keywords renamed (sigma, mu) -> (std, mean)
  • support for numba usage in models
  • fixed Parameters view jumping to top after toggling fit (linux, Mac)
  • fixed Summary view sliders disappearing in linux
  • fixed uncertainty plots regenerating at each parameter update
  • improved documentation of uncertainty analysis

Breaking change: * python 2.7 support discontinued

v0.8.0 2020-12-16

  • add stopping conditions to DREAM, using --alpha=p-value to reject convergence
  • require --overwrite or --resume when reusing a store directory
  • enable outlier trimming in DREAM with --outliers=iqr
  • add fitted slope and loglikelihood distribution to the loglikelihood plot
  • display seed value used for fit so it can be rerun with --seed
  • save MCMC files using gzip
  • remove R stat from saved state
  • restore --pars option, which was broken in 0.7.17
  • terminate the MPI session when the fit is complete instead of waiting for the allocation to expire
  • allow a series of fits in the same MPI session
  • support newest matplotlib

v0.7.18 2020-11-16

  • restore python 2.7 support

v0.7.17 2020-11-06

  • restore DREAM fitter efficiency (it should now require fewer burn-in steps)
  • errplot.reload_errors allows full path to model file
  • clip values within bounds at start of fit so constraints aren't infinite
  • allow --entropy=gmm|mvn|wnn|llf to specify entropy estimation algorithm
  • allow duplicate parameter names in model on reload
  • expand tilde in path names
  • GUI: restore parallel processing
  • GUI: suppress uncertainty updates during fit to avoid memory leak
  • disable broken fitters: particle swarm, random lines, snobfit
  • minor doc changes

v0.7.16 2020-06-11

  • improved handling of parameters for to_dict() json pickling

v0.7.15 2020-06-09

  • parallel fitting suppressed in GUI for now---need to reuse thread pool
  • support limits=(min, max) for pm and pmp parameter ranges
  • cleaner handling of single/multiple fit specification
  • fix --entropy command line option
  • better support for pathlib with virtual file system

v0.7.14 2020-01-03

  • support for --checkpoint=n, which updates the .mc files every n hours
  • fix bug for stuck fits on --resume: probabilities contain NaN
  • better error message for missing store directory
  • Python 3.8 support (time.clock no longer exists)

v0.7.13 2019-10-15

  • fix pickle problem for parameterized functions
  • support multi-valued functions in Curve, shown with a coupled ODE example
  • update support for newer numpy and matplotlib

v0.7.12 2019-07-30

  • --parallel defaults to using one process per CPU.
  • --pop=-k sets population size to k rather than k times num parameters
  • --resume=- resumes from --store=/path/to/store
  • use expanded canvas for parameter histograms to make plots more readable
  • use regular spaced tics for parameter histograms rather than 1- and 2-sigma
  • improve consistency between values of cov, stderr and chisq
  • fix handling of degenerate ranges on parameter output
  • add entropy calculator using gaussian mixture models (default is still Kramer)
  • vfs module allows loading of model and data from zip file (not yet enabled)
  • warn when model has no fitted parameters
  • update mpfit to support python 3
  • support various versions of scipy and numpy

v0.7.11 2018-09-24

  • add support for parameter serialization

v0.7.10 2018-06-15

  • restructure parameter table in gui

v0.7.9 2018-06-14

  • full support for python 3 in wx GUI
  • allow added or missing parameters in reloaded .par file
  • add dream state to return from fit() call

v0.7.8 2018-05-18

  • fix source distribution (bin directory was missing)

v0.7.7 2018-05-17

  • merge in amdahl branch for improved performance
  • update plot so that the displayed "chisq" is consistent with nllf
  • slight modification to the DREAM DE crossover ratio so that no crossover weight ever goes to zero.
  • par.dev(std) now uses the initial value of the parameter as the center of the distribution for a gaussian prior on par, as stated in the documentation. In older releases it was incorrectly defaulting to mean=0 if the mean was not specified.
  • save parameters and uncertainties as JSON as well as text
  • convert discrete variables to integer prior to computing DREAM statistics
  • allow relative imports from model files
  • support latest numpy/matplotlib stack
  • initial support for wxPhoenix/python 4 GUI (fit ranges can't yet be set)

v0.7.6 2016-08-05

  • add --view option to command line which gets propagated to the model plotter
  • add support for probability p(x) for vector x using VectorPDF(f,x0)
  • rename DirectPDF to DirectProblem, and allow it to run in GUI
  • data reader supports multi-part files, with parts separated by blank lines
  • add gaussian mixture and laplace examples
  • bug fix: plots were failing if model name contains a '.'
  • miscellaneous code cleanup

v0.7.5.10 2016-05-04

  • gui: undo code cleaning operation which broke the user interface

v0.7.5.9 2016-04-22

  • 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

v0.7.5.8 2016-04-18

  • 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

v0.7.5.7 2015-09-21

  • 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

v0.7.5.6 2015-06-03

  • tweak uncertainty calculations so they don't fail on bad models

v0.7.5.5 2015-05-07

  • documentation updates

v0.7.5.4 2014-12-05

  • 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

v0.7.5.3 2014-11-21

  • use --time to stop after a given number of hours
  • Levenberg-Marquardt: fix "must be 1-d or 2-d" bug
  • improve curvefit interface

v0.7.5.2 2014-09-26

  • pull numdifftools dependency into the repository

v0.7.5.1 2014-09-25

  • improve the load_model interface

v0.7.5 2014-09-10

  • Pure python release