predictDDMConf {dynConfiR} | R Documentation |
Prediction of Confidence Rating and Reaction Time Distribution in the drift diffusion confidence model
Description
predictDDMConf_Conf
predicts the categorical response distribution of
decision and confidence ratings, predictDDMConf_RT
computes the
RT distribution (density) in the drift diffusion confidence model
(Hellmann et al., 2023), given specific parameter
constellations. See dDDMConf
for more information about the model
and parameters.
Usage
predictDDMConf_Conf(paramDf, maxrt = 15, subdivisions = 100L,
stop.on.error = FALSE, .progress = TRUE)
predictDDMConf_RT(paramDf, maxrt = 9, subdivisions = 100L, minrt = NULL,
scaled = FALSE, DistConf = NULL, .progress = TRUE)
Arguments
paramDf |
a list or data frame with one row. Column names should match the names of
DDMConf model parameter names. For different stimulus quality/mean
drift rates, names should be |
maxrt |
numeric. The maximum RT for the
integration/density computation. Default: 15 (for |
subdivisions |
|
stop.on.error |
logical. Argument directly passed on to integrate. Default is |
.progress |
logical. If |
minrt |
numeric or |
scaled |
logical. For |
DistConf |
|
Details
The function predictDDMConf_Conf
consists merely of an integration of
the response time density, dDDMConf
, over the
response time in a reasonable interval (0 to maxrt
). The function
predictDDMConf_RT
wraps these density
functions to a parameter set input and a data.frame
output.
For the argument paramDf
, the output of the fitting function fitRTConf
with the DDMConf model may be used.
Value
predictDDMConf_Conf
returns a data.frame
/tibble
with columns: condition
, stimulus
,
response
, rating
, correct
, p
, info
, err
. p
is the predicted probability of a response
and rating
, given the stimulus category and condition. info
and err
refer to the
respective outputs of the integration routine used for the computation.
predictDDMConf_RT
returns a data.frame
/tibble
with columns: condition
, stimulus
,
response
, rating
, correct
, rt
and dens
(and densscaled
, if scaled=TRUE
).
Note
Different parameters for different conditions are only allowed for drift rate
v
, drift rate variability sv
, and process variability s
. Otherwise, s
is
not required in paramDf
but set to 1 by default. All other parameters are used for all
conditions.
Author(s)
Sebastian Hellmann.
References
Hellmann, S., Zehetleitner, M., & Rausch, M. (2023). Simultaneous modeling of choice, confidence and response time in visual perception. Psychological Review 2023 Mar 13. doi: 10.1037/rev0000411. Epub ahead of print. PMID: 36913292.
Examples
# 1. Define some parameter set in a data.frame
paramDf <- data.frame(a=2,v1=0.5, v2=1, t0=0.1,z=0.55,
sz=0,sv=0.2, st0=0, theta1=0.8)
# 2. Predict discrete Choice x Confidence distribution:
preds_Conf <- predictDDMConf_Conf(paramDf, maxrt = 15)
head(preds_Conf)
# 3. Compute RT density
preds_RT <- predictDDMConf_RT(paramDf, maxrt=4, subdivisions=200) #(scaled=FALSE)
# same output with scaled density column:
preds_RT <- predictDDMConf_RT(paramDf, maxrt=4, subdivisions=200,
scaled=TRUE, DistConf = preds_Conf)
head(preds_RT)
# Example of visualization
library(ggplot2)
preds_Conf$rating <- factor(preds_Conf$rating, labels=c("unsure", "sure"))
preds_RT$rating <- factor(preds_RT$rating, labels=c("unsure", "sure"))
ggplot(preds_Conf, aes(x=interaction(rating, response), y=p))+
geom_bar(stat="identity")+
facet_grid(cols=vars(stimulus), rows=vars(condition), labeller = "label_both")
ggplot(preds_RT, aes(x=rt, color=interaction(rating, response), y=dens))+
geom_line(stat="identity")+
facet_grid(cols=vars(stimulus), rows=vars(condition), labeller = "label_both")+
theme(legend.position = "bottom")
ggplot(aggregate(densscaled~rt+correct+rating+condition, preds_RT, mean),
aes(x=rt, color=rating, y=densscaled))+
geom_line(stat="identity")+
facet_grid(cols=vars(condition), rows=vars(correct), labeller = "label_both")+
theme(legend.position = "bottom")
# Use PDFtoQuantiles to get predicted RT quantiles
head(PDFtoQuantiles(preds_RT, scaled = FALSE))