bmm {bmm} | R Documentation |
Fit Bayesian Measurement Models
Description
Fit a Bayesian measurement model using brms as a backend interface to Stan.
Usage
bmm(
formula,
data,
model,
prior = NULL,
sort_data = getOption("bmm.sort_data", "check"),
silent = getOption("bmm.silent", 1),
backend = getOption("brms.backend", NULL),
file = NULL,
file_compress = TRUE,
file_refit = getOption("bmm.file_refit", FALSE),
...
)
fit_model(
formula,
data,
model,
prior = NULL,
sort_data = getOption("bmm.sort_data", "check"),
silent = getOption("bmm.silent", 1),
backend = getOption("brms.backend", NULL),
...
)
Arguments
formula |
An object of class |
data |
An object of class data.frame, containing data of all variables
used in the model. The names of the variables must match the variable names
passed to the |
model |
A description of the model to be fitted. This is a call to a
|
prior |
One or more |
sort_data |
Logical. If TRUE, the data will be sorted by the predictor
variables for faster sampling. If FALSE, the data will not be sorted, but
sampling will be slower. If "check" (the default), |
silent |
Verbosity level between 0 and 2. If 1 (the default), most of the informational messages of compiler and sampler are suppressed. If 2, even more messages are suppressed. The actual sampling progress is still printed. Set refresh = 0 to turn this off as well. If using backend = "rstan" you can also set open_progress = FALSE to prevent opening additional progress bars. |
backend |
Character. The backend to use for fitting the model. Can be
"rstan" or "cmdstanr". If NULL (the default), "cmdstanr" will be used if
the cmdstanr package is installed, otherwise "rstan" will be used. You can
set the default backend using global |
file |
Either |
file_compress |
Logical or a character string, specifying one of the compression algorithms supported by saveRDS when saving the fitted model object. |
file_refit |
Logical. Modifies when the fit stored via the |
... |
Further arguments passed to |
Value
An object of class brmsfit which contains the posterior draws along with many other useful information about the model. Use methods(class = "brmsfit") for an overview on available methods.
Supported Models
The following models are supported:
imm(resp_error, nt_features, nt_distances, set_size, regex, version)
mixture2p(resp_error)
mixture3p(resp_error, nt_features, set_size, regex)
sdm(resp_error, version)
Type ?modelname to get information about a specific model, e.g. ?imm
bmmformula syntax
see this online article for a detailed description of the syntax and how it differs from the syntax for brmsformula
Default priors, Stan code and Stan data
For more information about the default priors in bmm and about who to extract the Stan code and data generated by bmm and #' brms, see the online article.
Miscellaneous
Type help(package=bmm)
for a full list of available help topics.
fit_model() is a deprecated alias for bmm().
References
Frischkorn, G. T., & Popov, V. (2023). A tutorial for estimating mixture models for visual working memory tasks in brms: Introducing the Bayesian Measurement Modeling (bmm) package for R. https://doi.org/10.31234/osf.io/umt57
See Also
supported_models()
, brms::brm()
, default_prior(), bmmformula()
, stancode(), standata()
Examples
# generate artificial data from the Signal Discrimination Model
dat <- data.frame(y = rsdm(2000))
# define formula
ff <- bmmformula(c ~ 1, kappa ~ 1)
# fit the model
fit <- bmm(formula = ff,
data = dat,
model = sdm(resp_error = "y"),
cores = 4,
backend = 'cmdstanr')