DiffeRential Evolution Adaptive Metropolis algorithm: MATLAB and Python Toolbox
Bayesian inference has found widespread application and use in science and engineering to reconcile Earth system models with data, including prediction in space (interpolation), prediction in time (forecasting), assimilation of observations and deterministic/stochastic model output, and inference of the model parameters. Bayes theorem states that the posterior probability,
- Download and unzip the zip file 'MATLAB_code_DREAM_Suite_V2.0.zip' in a directory 'DREAM-Suite'
- Add the toolbox to your MATLAB search path by running the script 'install_DREAM_Suite.m' available in the root directory
- You are ready to run the examples
- After intalling, you can simply direct to each example folder and execute the local 'example_X.m' file
- Please make sure you read carefully the instructions (i.e., green comments) in 'install_DREAM_Suite.m' and the manual !!!
- Download and unzip the zip file 'Python_code_DREAM_Suite_V2.0.zip' to a directory called 'DREAM-Suite'
- Go to Command Prompt and directory of example_X in the root of DREAM-Suite
- Now you can execute this example by typing 'python example_X.py'.
- Instructions can be found in the file 'DREAM_Suite.py' and in the manual !!!
- Vrugt, Jasper A. (jasper@uci.edu)
- Vrugt, J.A., R. de Punder, and P. Grünwald, A sandwich with water: Bayesian/Frequentist uncertainty quantification under model misspecification, Submitted to Water Resources Research, May 2024, https://essopenarchive.org/users/597576/articles/937008-a-sandwich-with-water-bayesian-frequentist-uncertainty-quantification-under-model-misspecification
- Vrugt, J.A. (2024), Distribution-Based Model Evaluation and Diagnostics: Elicitability, Propriety, and Scoring Rules for Hydrograph Functionals, Water Resources Research, 60, e2023WR036710, https://doi.org/10.1029/2023WR036710
- Vrugt, J.A., D.Y. de Oliveira, G. Schoups, and C.G.H. Diks (2022), On the use of distribution-adaptive likelihood functions: Generalized and universal likelihood functions, scoring rules and multi-criteria ranking, Journal of Hydrology, 615, Part B, 2022, https://doi.org/10.1016/j.jhydrol.2022.128542
- Zhang, J., J.A. Vrugt, X. Shi, G. Lin, L. Wu, and L. Zeng (2020), Improving simulation efficiency of MCMC for inverse modeling of hydrologic systems with a Kalman-inspired proposal distribution, Water Resources Research, 56, e2019WR025474. https://doi.org/10.1029/2019WR025474
- Vrugt, J.A., and K.J. Beven (2018), Embracing equifinality with efficiency: Limits of Acceptability sampling using the DREAM(LOA) algorithm, Journal of Hydrology, 559, pp. 954-971, https://doi.org/10.1016/j.jhydrol.2018.02.026.
- Vrugt, J.A. (2016), Markov chain Monte Carlo simulation using the DREAM software package: Theory, concepts, and MATLAB implementation, Environmental Modeling and Software, 75, pp. 273-316, https://doi.org/10.1016/j.envsoft.2015.08.013
- Sadegh, M., and J.A. Vrugt (2014), Approximate Bayesian computation using Markov chain Monte Carlo simulation: DREAM_(ABC), Water Resources Research, https://doi.org/10.1002/2014WR015386
- Vrugt, J.A., and M. Sadegh (2013), Toward diagnostic model calibration and evaluation: Approximate Bayesian computation, Water Resources Research, 49, pp. 4335–4345, https://doi.org/10.1002/wrcr.20354
- Laloy, E., and J.A. Vrugt (2012), High-dimensional posterior exploration of hydrologic models using multiple-try DREAM_(ZS) and high-performance computing, Water Resources Research, 48, W01526, https://doi.org/10.1029/2011WR010608
- Vrugt, J.A., and C.J.F. ter Braak (2011), DREAM_(D): An adaptive Markov chain Monte Carlo simulation algorithm to solve discrete, noncontinuous, and combinatorial posterior parameter estimation problems, Hydrology and Earth System Sciences, 15, pp. 3701-3713, https://doi.org/10.5194/hess-15-3701-2011
- Vrugt, J.A., C.J.F. ter Braak, H.V. Gupta, and B.A. Robinson (2009), Equifinality of formal (DREAM) and informal (GLUE) Bayesian approaches in hydrologic modeling? Stochastic Environmental Research and Risk Assessment, 23(7), pp. 1011-1026, https://doi.org/10.1007/s00477-008-0274-y
- Vrugt, J.A., C.J.F. ter Braak, C.G.H. Diks, D. Higdon, B.A. Robinson, and J.M. Hyman (2009a), Accelerating Markov chain Monte Carlo simulation by differential evolution with self-adaptive randomized subspace sampling, International Journal of Nonlinear Sciences and Numerical Simulation, 10(3), pp. 271-288
- Vrugt, J.A., C.G.H. Diks and M.P. Clark (2008b), Ensemble Bayesian model averaging using Markov Chain Monte Carlo sampling, Environmental Fluid Mechanics, 8 (5), pp. 579-595, https://doi.org/10.1007/s10652-008-9106-3
- Vrugt, J.A., C.J.F. ter Braak, M.P. Clark, J.M. Hyman, and B.A. Robinson (2008a), Treatment of input uncertainty in hydrologic modeling: Doing hydrology backward with Markov chain Monte Carlo simulation, Water Resources Research, 44, W00B09, https://doi.org/10.1029/2007WR006720
- Ter Braak, C.J.F., and J.A. Vrugt (2008), Differential Evolution Markov Chain with snooker updater and fewer chains, Statistics and Computing, https://doi.org/10.1007/s11222-008-9104-9
- Ter Braak, C.J.F. (2006), A Markov Chain Monte Carlo version of the genetic algorithm differential evolution: easy Bayesian computing for real parameter spaces, Statistics and Computing, 16, pp. 239-249, doi:10.1007/s11222-006-8769-1
- Vrugt, J.A., C.G.H. Diks, H.V. Gupta, W. Bouten, and J.M. Verstraten (2005), Improved treatment of uncertainty in hydrologic modeling: Combining the strengths of global optimization and data assimilation, Water Resources Research, 41, W01017, https://doi.org/10.1029/2004WR003059.
- Vrugt, J.A., S.C. Dekker, and W. Bouten (2003), Identification of rainfall interception model parameters from measurements of throughfall and forest canopy storage, Water Resources Research, 39(9), 1251, https://doi.org/10.1029/2003WR002013.
- 1.0
- Initial Release
- 2.0
- Implemented many new capabilities including distribution-adaptive likelihood functions and scoring rules and performance metrics of Bayesian predictive distribution
- Python implementation
- Source code in MATLAB and Python
- example 1:
$d$ -dimensional banana shaped Gaussian distribution - example 2:
$d$ -dimensional Gaussian distribution - example 3:
$d$ -dimensional multimodal normal mixture distribution - example 4: real-world example rainfall-runoff (hymod in C++/MATLAB/Python)
- example 5: rainfall-runoff (hymod as external executable)
- example 6: hmodel with distribution-adaptive likelihood functions (Vrugt et al., 2022)
- example 7: HYDRUS-1D soil hydraulic model: multiplicative prior
- example 8: Approximate Bayesian Computation: Benchmark function
- example 9: Spectral likelihood function in watershed modeling
- example 10: Gaussian mixture distibution: multivariate prior
- example 11:
$d$ -variate t-distribution: df degrees of freedom & correlation matrix R - example 12: pedometrics problem involving variogram fitting
- example 13: Nash-Cascade hydrograph
- example 14: Approximate Bayesian Computation watershed signatures
- example 15: Approximate Bayesian Computation bivariate normal benchmark test
- example 16: Hydrogeophysical inversion
- example 17: Watershed model, normal, AR(1) and heteroscedastic likelihood
- example 18: Lotka-Volterra model: informal likelihood (GLUE)
- example 19: Bayesian Model Averaging [I recommend MODELAVG toolbox]
- example 20: Limits of acceptability: Soil temperature modeling
- example 21: Limits of acceptability: Soil moisture model HYDRUS-1D
- example 22: Limits of acceptability: Nash-Cascade hydrograph
- example 23: Limits of acceptability: SAC-SMA (old C-code Euler int.)
- example 24: Flow duration curve fitting
- example 25: Bedrock depth from high-res topo data & geomorph model
- example 26: Data assimilation Lorenz-1963 model (SODA: Vrugt et al. 2005)
- example 27: Data assimilation interception model (Vrugt et al. 2003)
- example 28: Rainfall and hmodel parameter estimation from streamflow
- example 29: Gaussian mixture distribution & multiplicative prior
- example 30: Predator prey interactions
- example 31: AR(2)-parameter estimation: Test of distribution-adaptive likelihood functions
- example 32: Distribution-adaptive likelihood functions
- example 33: 2-dimensional rectangular target distribution
- example 34: Haverkamp infiltration equation using HYDRUS-1D data
- example 35: Haverkamp infiltration equation using SWIG database
- example 36: Sediment transport modeling