Changelog for mcmc-0.8.3.1
Markov chain Monte Carlo sampling - ChangeLog
Unreleased changes
0.8.3.1
- Bug fix MC3: Do not change prir and likelihood values for auto-tuned reciprocals temperatures.
0.8.3.0
- Fix auto tuning with MC3 algorithm.
0.8.1.0
- Automatic intermediate tuning for HMC and NUTS.
- Fix documentation for generic proposals.
- Tooling updates.
- Slight runtime improvements (strictness annotations).
0.8.0.1
- Improve exception handling (also during execution of monitors; also improve the output).
- Increase maximum tuning parameter.
- Minor bug fix: acceptance rates are again reported at end of run.
0.8.0.0
- Use the new bytestring realfloat builder.
- Fix a small memory leak during burn in with auto tuning.
- Save chain after burn in.
- New example (Poisson; see the respective blog post).
- Simplify prior, likelihood, posterior, and Jacobian types.
- Do not export
grabble
. - Remove chain index.
- Remove
lengthT
. - Remove
ProposalOrder
default instance. - Use GHC 9.2.4 by default.
- Reduce package dependencies as much as possible.
0.7.0.1
- Use random-1.2. This means, that the random number generator type has changed
from
GenIO
(System.Random.MWC
) toIOGenM StdGen
(System.Random.Stateful
). - Always try to save chain, not only on
UserInterupt
. - Hamiltonian proposals:
- Split
HSettings
intoHParams
andHStructure
(preparation for NUTS). - Rename
HTune
toHTuningConf
. - No-U-Turn sampler (NUTS).
- Split
- Significant changes to
Proposal
andTuner
.PResult
.ProposalSimple
->PFunction
; Return type is(PResult, Maybe AcceptanceCounts)
.
0.6.2.5
- Provide unsafe loader for MHG algorithm (useful for initializing chains with different prior or likelihood functions from saves).
- Documentation and readme.
- Log normal prior distribution.
- Parallel computation of prior and likelihood. Speculative parallelization; this change is not always beneficial, we will see.
0.6.2.4
- Specify covariance version bounds. Use
covariance-0.2.0.0
(specifically state that sigma is rescaled withrescaleSWith
).
0.6.2.3
- Allow burn in with fast proposals only (
BurnInWithCustomAutoTUning
). Sometimes it is advantageous to hold back slow proposals initially, especially when the state is so far off that it does not make sense to compute complex proposals. - Hamiltonian proposal: Use automatic differentiation specialized to
Double
(roughly 10 percent faster).
0.6.2.2
- Remove dependency
monad-parallel
. Fix stackage build.
0.6.2.1
- Improve
logGammaG
. The calculation of the gamma function involves vectors; the generalized version needs boxed vectors, and is slow. UsingTypeable
, we now check if the type isDouble
, and use the fast version in this case.
0.6.2.0
- Improve leapfrog integrator.
- Update tooling.
- Cleanup proposals.
0.6.1.0
- Revamp Hamiltonian proposal (storable vectors).
- Use mass matrices; allow tuning of all masses (covariance estimation using specialized estimators).
0.6.0.0
- Improve documentation.
- Generalized priors allowing automatic differentiation.
- Hamiltonian proposal.
mcmc-tree
- Moved to another repository: https://github.com/dschrempf/mcmc-date.
0.5.0.0
- Marginal likelihood estimation using thermodynamic integration or stepping stone sampling.
- Various changes of function names (e.g., metropologis -> mhg).
- Updated examples.
- Proper but minimal logging framework.
- Various other changes.
0.4.0.0
- Greatly improve documentation.
- Major design change: Introduction of the
Algorithm
type class; algorithms are data types. SeeMHG
. - Metropolic-coupled Markov chain Monte Carlo algorithm (parallel chains).
- Optimal acceptance rate depends on dimension of proposal.
- Use a circular trace with constant memory usage (big change).
- Therefore, batch monitors use vectors now.
- Always save chain with complete trace (but with sensible length).
- Determine necessary trace length at initialization.
- Rename
Item
toLink
. - Rename
Status
toChain
and separateSettings
andEnvironment
from theChain
. - Many bug fixes.
0.3.0
- New shorter example/test for dating trees.
noData
allows running a chain without likelihood function.- Give proposal parameters
PName
,PDescription
, andPWeight
newtype wrappers. - Give
Tune
a data type. - Allow periodical cleansing of state (
Cleaner
). - Add description string to proposals, so that they can be identified in an easier way.
- Add simplices and proposals on simplices.
slideUniform
renamed toslideUniformSymmetric
.- Merge tools into internal.
- Do not export internal modules.
0.2.4
- Change order of arguments for proposals.
- 'slideStem' was renamed to 'slideBranch'.
- Change ProposalSimple from newtype to type.
- Contravariant instances of parameter and batch monitors. Use
(>$<)
instead of(@.)
and(@#)
. - Add
gammaDirichlet
prior for partitioned dating analyses.
0.2.3
- Contrary proposals.
- Change how monitors are lifted (use normal function, not a lens).
- Priors.
- Remove concurrent monitors (was slow).
- Improve MCMC sampler output.
0.2.2
- Move away from hpack.
0.2.1
- Consistently use ByteString instead of Text.
- Verbosity levels.
- Improved handling of proposals, moves, and monitors.
- Bactrian moves.
- Many small changes.
0.1.3
Many changes; notably it is now possible to continue a Markov chain run.