This is the tutorial site for the software, ggdmc.
The package, evolving from dynamic model of choice (DMC, Heathcote, Lin, et al., 2018), is a generic tool for conducting cognitive models, Bayesian or non-Bayesian. The software emphasize on the challenging hierarchical and likelihood-free modelling, but nontheless, it can work with the conventional modelling method, too.
-
Instead of using Gibbs or HMC, ggdmc uses population-based MCMC (pMCMC) samplers. A notable Gibbs example is the Python-based HDDM (Wiecki, Sofer & Frank, 2013), which does not allow the user to conveniently set the variability parameter in the diffusion decision model (DDM). Note we do not argue for or against which of the sampling techniques is better than others, but simply provide an alternative choice. pMCMC is a differernt sampling technique, because it harnesses a large number of chains to improve sampling efficency.
-
Differing from DMC (Heathcote, Lin, et al., 2018), with only the DE-MCMC (Turner, Sederberg, Brown, & Steyvers, 2013) sampler, ggdmc provides a number of different pMCMC samplers. It is up to the user to decide which sampler works best for their models.
-
ggdmc uses a different variant of migration operator, which safeguards the detailed balance. These are provided via the pm0 and pm1 options in the model fitting routines. It is not imperative to turn on/off the migration operator. But one might still consider to turn it off, because they are essentially a sampler, similar to random-walk Metropolis, which are not efficient when they works alone. Mostly, pMCMC is efficient when a combination of operators is applied together. ggdmc records rejection rates, allowing the user to monitor a sampler's performance.
Here is a quick getting start guide:
- Download ggdmc from CRAN.
- [Windows only] Install Rtools to compile C++ codes in ggdmc.
- Install the package using install.packages function :
install.packages("ggdmc")
using devtools via GitHub
devtools::install_github("yxlin/ggdmc")
or using source tarball you have downloaded from CRAN
install.packages("ggdmc_0.2.8.1.tar.gz", repos = NULL, type="source")