Single accumulator of linear ballistic accumulator (LBA)
Density, distribution function, and random generation for a single accumulator of the LBA model with the following parameters: A
(upper value of starting point), b
(response threshold), t0
(non-decision time), and driftrate (v
). All functions are available with different distributions underlying the drift rate: Normal (norm
), Gamma (gamma
), Frechet (frechet
), and log normal (lnorm
).
dlba_norm(rt, A, b, t0, mean_v, sd_v, posdrift = TRUE, robust = FALSE) plba_norm(rt, A, b, t0, mean_v, sd_v, posdrift = TRUE, robust = FALSE) rlba_norm(n, A, b, t0, mean_v, sd_v, st0 = 0, posdrift = TRUE) dlba_gamma(rt, A, b, t0, shape_v, rate_v, scale_v) plba_gamma(rt, A, b, t0, shape_v, rate_v, scale_v) rlba_gamma(n, A, b, t0, shape_v, rate_v, scale_v, st0 = 0) dlba_frechet(rt, A, b, t0, shape_v, scale_v) plba_frechet(rt, A, b, t0, shape_v, scale_v) rlba_frechet(n, A, b, t0, shape_v, scale_v, st0 = 0) dlba_lnorm(rt, A, b, t0, meanlog_v, sdlog_v, robust = FALSE) plba_lnorm(rt, A, b, t0, meanlog_v, sdlog_v, robust = FALSE) rlba_lnorm(n, A, b, t0, meanlog_v, sdlog_v, st0 = 0)
rt |
a vector of RTs. |
A |
start point interval or evidence in accumulator before beginning of decision process. Start point varies from trial to trial in the interval [0, |
b |
response threshold. ( |
t0 |
non-decision time or response time constant (in seconds). Lower bound for the duration of all non-decisional processes (encoding and response execution). |
mean_v, sd_v |
mean and standard deviation of normal distribution for drift rate ( |
posdrift |
logical. Should driftrates be forced to be positive? Default is |
robust |
logical. Should robust normal distributions be used for |
n |
desired number of observations (scalar integer). |
st0 |
variability of non-decision time, such that |
shape_v, rate_v, scale_v |
shape, rate, and scale of gamma ( |
meanlog_v, sdlog_v |
mean and standard deviation of lognormal distribution on the log scale for drift rate ( |
These functions are mainly for internal purposes. We do not recommend to use them. Use the high-level functions described in /link{LBA}
instead.
All functions starting with a d
return the density (PDF), all functions starting with p
return the distribution function (CDF), and all functions starting with r
return random response times and responses (in a matrix
).
Density (i.e., dlba_
), distribution (i.e., plba_
), and random derivative (i.e., rlba_
) functions are vectorized for all parameters (i.e., in case parameters are not of the same length as rt
, parameters are recycled). Furthermore, the random derivative functions also accept a matrix of length n
in which each column corresponds to a accumulator specific value (see rLBA
for a more user-friendly way).
Brown, S. D., & Heathcote, A. (2008). The simplest complete model of choice response time: Linear ballistic accumulation. Cognitive Psychology, 57(3), 153-178. doi:10.1016/j.cogpsych.2007.12.002
Donkin, C., Averell, L., Brown, S., & Heathcote, A. (2009). Getting more from accuracy and response time data: Methods for fitting the linear ballistic accumulator. Behavior Research Methods, 41(4), 1095-1110. doi:10.3758/BRM.41.4.1095
Heathcote, A., & Love, J. (2012). Linear deterministic accumulator models of simple choice. Frontiers in Psychology, 3, 292. doi:10.3389/fpsyg.2012.00292
## random number generation using different distributions for v: rlba_norm(10, A=0.5, b=1, t0 = 0.5, mean_v=c(1.2, 1), sd_v=c(0.2,0.3)) rlba_gamma(10, A=0.5, b=1, t0 = 0.5, shape_v=c(1.2, 1), scale_v=c(0.2,0.3)) rlba_frechet(10, A=0.5, b=1, t0 = 0.5, shape_v=c(1.2, 1), scale_v=c(0.2,0.3)) rlba_lnorm(10, A=0.5, b=1, t0 = 0.5, meanlog_v=c(1.2, 1), sdlog_v=c(0.2, 0.3)) # use somewhat plausible values for plotting: A <- 0.2 b <- 0.5 t0 <- 0.3 # plot density: curve(dlba_norm(x, A=A, b=b, t0=t0, mean_v = 1.0, sd_v = 0.5), ylim = c(0, 4), xlim=c(0,3), main="Density/PDF of LBA versions", ylab="density", xlab="response time") curve(dlba_gamma(x, A=A, b=b, t0=t0, shape_v=1, scale_v=1), add=TRUE, lty = 2) curve(dlba_frechet(x, A=A, b=b, t0=t0, shape_v=1,scale_v=1.0), add=TRUE, lty = 3) curve(dlba_lnorm(x, A=A, b=b, t0=t0, meanlog_v = 0.5, sdlog_v = 0.5), add=TRUE, lty = 4) legend("topright", legend=c("Normal", "Gamma", "Frechet", "Log-Normal"), title = expression("Distribution of"~~italic(v)), lty = 1:4) # plot cdf: curve(plba_norm(x, A=A, b=b, t0=t0, mean_v=1.0, sd_v=1.0), xlim = c(0, 3),ylim = c(0,1), ylab = "cumulative probability", xlab = "response time", main = "Distribution/CDF of LBA versions") curve(plba_gamma(x, A=A, b=b, t0=t0, shape_v=1,scale_v=1), add=TRUE, lty = 2) curve(plba_frechet(x, A=A, b=b, t0=t0, shape=1, scale=1), add=TRUE, lty = 3) curve(plba_lnorm(x, A=A, b=b, t0=t0, meanlog_v=0.5, sdlog_v = 0.5), add=TRUE, lty = 4) legend("bottomright", legend=c("Normal", "Gamma", "Frechet", "Log-Normal"), title = expression("Distribution of"~~italic(v)), lty = 1:4)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.