MODEL: Prospect Valence Learning (PVL) Delta (Ahn et al., 2008, Cognitive Science)
igt_pvl_delta(data = "choose", niter = 3000, nwarmup = 1000, nchain = 4,
ncore = 1, nthin = 1, inits = "random", indPars = "mean",
payscale = 100, saveDir = NULL, email = NULL, modelRegressor = FALSE,
adapt_delta = 0.95, stepsize = 1, max_treedepth = 10)
i == nthin
sample will be used to generate the posterior distribution. Defaults to 1. A higher number can be used when auto-correlation within the MCMC sampling is high.modelData
) can be saved. Leave blank if not interested.modelData
A class "hBayesDM"
object with the following components:
model
allIndPars
"data.frame"
containing the summarized parameter
values (as specified by "indPars"
) for each subject.parVals
"list"
where each element contains posterior samples
over different model parameters. fit
"stanfit"
object containing the fitted model.rawdata
"data.frame"
containing the raw data used to fit the model, as specified by the user.data should be assigned a character value specifying the full path and name of the file, including the file extension (e.g. ".txt"), that contains the behavioral data of all subjects of interest for the current analysis. The file should be a tab-delimited text (.txt) file whose rows represent trial-by-trial observations and columns represent variables. For the Iowa Gambling Task, there should be four columns of data with the labels "subjID", "choice", "gain", and "loss". It is not necessary for the columns to be in this particular order, however it is necessary that they be labelled correctly and contain the information below:
"subjID"
"choice"
"gain"
"loss"
*Note: The data.txt file may contain other columns of data (e.g. "Reaction_Time", "trial_number", etc.), but only the data with the column names listed above will be used for analysis/modeling. As long as the columns above are present and labelled correctly, there is no need to remove other miscellaneous data columns.
nwarmup is a numerical value that specifies how many MCMC samples should not be stored upon the
beginning of each chain. For those familiar with Bayesian methods, this value is equivalent to a burn-in sample.
Due to the nature of MCMC sampling, initial values (where the sampling chain begins) can have a heavy influence
on the generated posterior distributions. The nwarmup
argument can be set to a high number in order to curb the
effects that initial values have on the resulting posteriors.
nchain is a numerical value that specifies how many chains (i.e. independent sampling sequences) should be
used to draw samples from the posterior distribution. Since the posteriors are generated from a sampling
process, it is good practice to run multiple chains to ensure that a representative posterior is attained. When
sampling is completed, the multiple chains may be checked for convergence with the plot(myModel, type = "trace")
command. The chains should resemble a "furry caterpillar".
nthin is a numerical value that specifies the "skipping" behavior of the MCMC samples being chosen
to generate the posterior distributions. By default, nthin
is equal to 1, hence every sample is used to
generate the posterior.
Contol Parameters: adapt_delta, stepsize, and max_treedepth are advanced options that give the user more control over Stan's MCMC sampler. The Stan creators recommend that only advanced users change the default values, as alterations can profoundly change the sampler's behavior. Refer to Hoffman & Gelman (2014, Journal of Machine Learning Research) for more information on the functioning of the sampler control parameters. One can also refer to section 58.2 of the http://mc-stan.org/documentation/ for a less technical description of these arguments.
Hoffman, M. D., & Gelman, A. (2014). The No-U-turn sampler: adaptively setting path lengths in Hamiltonian Monte Carlo. The Journal of Machine Learning Research, 15(1), 1593-1623.
## Not run: ------------------------------------
# # Run the model and store results in "output"
# output <- igt_pvl_delta(data = "example", niter = 2000, nwarmup = 1000, nchain = 3, ncore = 3)
#
# # Visually check convergence of the sampling chains (should like like 'hairy caterpillars')
# plot(output, type = 'trace')
#
# # Check Rhat values (all Rhat values should be less than or equal to 1.1)
# rhat(output)
#
# # Plot the posterior distributions of the hyper-parameters (distributions should be unimodal)
# plot(output)
#
# # Show the WAIC and LOOIC model fit estimates
# printFit(output)
## ---------------------------------------------
Run the code above in your browser using DataLab