- Disable package precompilation.
- Fix for deprecated
out_neighbors
function in the LightGraphs package. - Fix for
colorkey
syntax deprecated in the Gadfly package. - Deprecate vectorization of logit and invlogit methods in favor of dot-syntax.
- Accept functions as first arguments to Logical and Stochastic constructors.
- Enable MCMC parallelization.
- Add discrete convergence diagnostic.
- Initial release for julia 0.6.
- Branched off of Mamba 0.10.1.
- Replace Graphs package dependency with LightGraphs..
- Initial release for julia 0.5.
- Branched off of Mamba 0.9.2.
- Removed 0.9.1 deprecates.
- Added logic to ABC sampler to skip distributional evaluations if candidate draws are not in the prior distribution support.
- Updates for Distributions 0.10.0 package compatibility to fix MvNormal TypeError.
- Added vector indexing to BMC3 and BMG samplers.
- Implemented Binary Individual Adaptation (BIA) sampler.
- Removed 0.8.1 and 0.9.0 deprecates.
- Updates for Distributions 0.9.0 package compatibility to fix ambiguous new definition warnings and StackOverflowError.
- Updated documentation links to new readthedocs.io subdomains.
- Extended ABC sampler to allow specification of a decay rate for monotonically decreasing tolerances (
epsilon
) and perturbations of tolerance by random exponential variates. - Added GK distribution example for ABC sampling.
- Revised stand-alone sampler interfaces (see documentation for full details).
- Deprecated sampling functions
amm!()
,amwg!()
,bhmc!()
,bmc3!()
,bmg!()
,dgs!()
,hmc!()
,mala!()
,nuts!()
,rwm!()
,slice!()
, andslicesimplex!()
; and replaced them withsample!()
. - Moved specifications of tuning parameters and target densities from sampling functions to
SamplerVariate
constructors. - Added target density fields to tuning parameter types.
- Changed the following tuning parameter types/fields.
AMMTune.beta::Real
->Float64
AMMTune.scale::Real
->Float64
and redefined to be on the parameter scale instead of the covariance scale.AMWGTune.target::Real
->Float64
AMMTune.SigmaF::Cholesky{Float64}
->SigmaL::LowerTriangular{Float64}
DGSTune
->DSTune
HMCTune.SigmaF::Cholesky{Float64}
->SigmaL::Union{UniformScaling{Int}, LowerTriangular{Float64}}
MALATune.scale::Float64
->epsilon::Float64
MALATune.SigmaF::Cholesky{Float64}
->SigmaL::Union{UniformScaling{Int}, LowerTriangular{Float64}}
RWMTune.scale::Union{Real, Vector}
->Union{Float64, Vector{Float64}}
SliceTune.width::Union{Real, Vector}
->Union{Float64, Vector{Float64}}
- Deprecated sampling functions
- Renamed
Model
methodsimulate!()
tosample!()
. - Removed 0.7 deprecates.
- Modified
dgs!()
to require parameter support in Matrix columns instead of rows to improve performance.
- Added
AbstractChains
read and write methods. - Fixed restarting of multiple chains in the case of samplers with adaptively tuned parameters.
- Renamed
Model
methodtune()
togettune()
. - Simplified user-defined distributions examples.
- Optimized performance of DGS, MISS, and SliceSimplex samplers and simulation engine.
- Simplified sampler interfaces.
- Implemented an approximate Bayesian computation (ABC) sampler.
- Implemented a random walk Metropolis (RWM) sampler.
- Simplified implementations of sampling function types and constructors.
- Implemented
SamplerTune
andSamplerVariate
types. - Extended contour plots from
ModelChains
toAbstractChains
.
- Parallelize
logpdf()
method forModelChains
. - Update BMG algorithm and interface.
- Simplify BMC3 interface.
- Rename sampler BMMG to BMC3.
- Fix errant reinitialization of samplers when restarting chains with
mcmc()
.
- Deprecated model expression syntax, in favor of model function syntax, for the construction of
Logical
andStochastic
nodes andSampler
objects. - Implemented a Hamiltonian Monte Carlo (HMC) sampler.
- Removed
chain
field fromModel
type.
- Implemented Binary Hamiltonian Monte Carlo (BHMC) and Binary Metropolised Gibbs (BMG) samplers for binary model parameters.
- Implemented pairwise posterior density contour plots.
- Implemented the Metropolis-Adjusted Langevin Algorithm (MALA) sampler.
- Added
first()
,step()
, andlast()
methods for gettingAbstractChains
iteration information. - Implemented indexing of
ModelChains
by model node symbols. - Added
logpdf()
method forModelChains
. - Relaxed requirement that all sampled nodes be monitored for the calculation of DIC and for the simulation of draws from posterior predictive distributions.
- Removed
dependents
field fromModel
type.
- Implemented function syntax for specification of nodes and user-defined
Sampler
constructors. - Changed DSG sampler support field and arguments from Vector to Matrix.
- Added PGF graphics format to
Chains
draw function. - Removed
AbstractDependent
linklength field.
- Added support for model specification of stochastic nodes with
Array{MultivariateDistribution}
structures containing distributions of different lengths. - Added a Slice Simplex (SliceSimplex) sampler for parameters, like probability vectors, defined on simplexes.
- Added
AbstractDependent
logpdf()
methods for evaluating log-densities at specified values. - Renamed
AbstractDependent
methodslink()/invlink()
tounlist()/relist()
. - Implemented an
AbstractStochastic
rand()
method for random sampling of node values. - Implemented
Chains
concatenation methods. - Implemented a
Chains
readcoda()
method for importing CODA files.
- Added support for
Array{MultivariateDistribution}
to the missing values (MISS) sampler. - Added a Binary Modified Metropolised Gibbs (BMMG) sampler for binary model parameters.
- Added bar plots for the summary of
AbstractChains
that contain values simulated for discrete model parameters. - Compatibility updates for julia 0.4 release candidate 2.
- Compatibility updates for julia 0.4 prerelease.
- Stable release for julia 0.4.
- Added support for the specification of
MultivariateDistribution
arrays in stochastic nodes. - Arrays in stochastic nodes must now be declared as a
UnivariateDistribution[]
or as aMultivariateDistribution[]
. In previous package versions, arrays could be declared as a genericDistribution[]
array. This is no longer allowable due to the need to distinguish between arrays of univariate and multivariate distributions. - The following changes were made to internal data structures and generally do not affect the user interface (i.e., model specification, sampling function calls, and sampler output diagnostics and summaries):
- The
VariateType
, which aliasesFloat64
, is deprecated and will be removed in a future version. - The abstract
Variate
type was separated intoScalarVariate
andArrayVariate
types which are subtypes ofReal
andDenseArray
, respectively. AbstractVariate
was defined as theUnion(ScalarVariate,ArrayVariate)
.- The
Logical
type was separated intoScalarLogical
andArrayLogical
types which are subtypes ofScalarVariate
andArrayVariate
, respectively. AbstractLogical
was defined as theUnion(ScalarLogical,ArrayLogical)
.- The
Stochastic
type was separated intoScalarStochastic
andArrayStochastic
types which are subtypes ofScalarVariate
andArrayVariate
, respectively. AbstractStochastic
was defined as theUnion(ScalarStochastic,ArrayStochastic)
.AbstractDependent
was defined as theUnion(AbstractLogical,AbstractStochastic)
.- The
nlink
field of logical and stochastic types was renamed tolinklength
. - An abstract
AbstractChains
type was implemented, themodel
field removed from theChains
type, and a newModelChains
type created to provide themodel
field.
- The
- Added an example of sampling different parameter blocks with different stand-alone samplers (
amwg!
andslice!
). - Removed the
insupport
method for stochastic types.
- Applied Mamba changes through 0.4.12.
- Applied Mamba changes through 0.4.7 and updated compatibility with julia 0.4.0-dev.
- Branched off of Mamba 0.4.4.
- Initial release for the under-development version of julia 0.4. Mamba 0.5.x releases exist to incorporate changes being made in the nightly builds of julia, and should be considered unstable. They may contain compatibility issues or serious bugs. Most users are advised to use Mamba 0.4.x releases for julia 0.3 or to wait for stable Mamba 0.6.x releases for julia 0.4.
- Updated documentation for user-defined distributions.
- Implemented
Chains
method functionchangerate
to calculate parameter state space change rates (per iteration). - Updated
Truncated
constructor forFlat
distributions for compatibility with latest Distributions package. - Simplified documentation instructions for user-defined univariate distributions.
- Optimized code and improved handling of sampler output in the Gelman convergence diagnostic.
- Added
ask
argument to thedraw
plot method.
- Added Heidelberger and Welch, and Raftery and Lewis convergence diagnostics.
- Added documentation and illustrations for all included diagnostics.
- Added documentation for creating user-defined distributions.
- Fixed
BoundsError()
occurring with autocorrelation plots.
- Improved formatting and outputting of posterior summary statistics
- Improved efficiency of DOT formatting of
Model
graphs. - Exported
graph2dot
function to allow in-line processing ofModel
graphs with GraphViz package.
- Added
verbose
argument tomcmc
methods to suppress printing of sampler progress to the console. - Fixed calculation of effective sample size.
- Replaced the
Scale.discrete_color
function deprecated in the Gadfly package withScale.color_discrete
.
- Require julia 0.3.4 to remove version restriction on the Colors package.
- Call new Distributions package methods to get
InverseGamma
shape and scale parameters in the tutorial example.
- Fixed
ERROR: too many parameters for type Truncated
.
- Added support for optional arguments in
Chains
plot method. - Implemented direct grid sampling for discrete univariate stochastic nodes with finite support.
- Updated and documented
predict
function as an official part of the package. - Reorganized
Chains
methods documentation.
- Added support for user add-on packages and functions to allow for their inclusion in
Model
specifications. - Added experimental
predict
(posterior prediction) function. - Required the Cairo package.
- Removed deprecated
MCMC*
types andslicewg
andSliceWG
functions. - Fixed
ERROR: GenericMvNormal not defined
. - Distributions
DiagNormal
andIsoNormal
removed and replaced byMvNormal
. - Distributions
DiagNormalCanon
andIsoNormalCanon
removed and replaced byMvNormalCanon
. - Distributions
DiagTDist
andIsoTDist
removed and replaced byMvTDist
.
- Updated to fix warning and work with the latest versions of the PDMat and Distributions packages.
- Extend
Chains
draw method to allow automatic outputting of multiple plot grids to different files. - Add
Chains
plot method to accommodate vectors of plot types. - Fix variance calculation in
gewekediag()
.
- Fix for convert errors triggered by the Color package beginning with its version 0.3.9.
- Documentation updates only - primarily the addition of results to examples.
- No changes made to the source code.
- Added distributions documentation.
- Added jaws repeated measures analysis of variance example.
- Fixed the
rand
method definition error (type DataType has no field body
) that began occurring with late release candidates and final release of julia 0.3.
- Fixed tuning parameter overwrites occurring with
pmap()
in single-processor mode.
- Added
chains
field toChains
type for tracking purposes. - Fixed
mcmc
to accommodate restarting of chains subsetted by parameters and/or chains. - Fixed plot legends to properly reference the chains being displayed.
- Added support for sampling of positive-definite matrices specified with Wishart or InverseWishart distributions.
- Added a block-diagonal normal (
BDiagNormal
) distribution.
- Implemented restarting of MCMC chains.
- Deprecated
slicewg
andSliceWG
. Replaced with:univar
option toslice
andSlice
.
- Updated documentation.
- Simplified parallel code.
- Automatically load Distributions package.
- Implemented parallel execution of parallel chains on multi-processor systems.
- Removed
MCMC
prefix from type names, and deprecatedMCMC*
types.
- Renamed package from MCMCsim to Mamba.
- Initial public release.