Learn R Programming

ream (version 1.0-5)

LIM: Leaky Integration Model

Description

SDDM modified to encode leaky integration in the drift rate. Also known as an Ornstein-Uhlenbeck model, its drift rate is \(v(x,t) = \mu - L*x\) where \(L\) is the leakage rate. All other parameters are unchanged from the SDDM. Leakage describes the rate at which old information is lost from the accumulator, occurring on a time scale of approximately \(1/L\). The LIM is used to model decay of excitatory currents in decision neurons (Usher & McClelland, 2001; Wong & Wang, 2006) and has been proposed as a mechanism for preference reversals under time pressure (Busemeyer & Townsend, 1993). Due to its neural plausibility and simple functional form, recent work has proposed it as an alternative psychometric tool to the SDDM (Wang & Donkin, 2024).

Usage

dLIM(rt, resp, phi, x_res = "default", t_res = "default")

pLIM(rt, resp, phi, x_res = "default", t_res = "default")

rLIM(n, phi, dt = 1e-05)

Value

For the density a list of PDF values, log-PDF values, and the sum of the log-PDFs, for the distribution function a list of of CDF values, log-CDF values, and the sum of the log-CDFs, and for the random sampler a list of response times (rt) and response thresholds (resp).

Arguments

rt

vector of response times

resp

vector of responses ("upper" and "lower")

phi

parameter vector in the following order:

  1. Non-decision time (\(t_{nd}\)). Time for non-decision processes such as stimulus encoding and response execution. Total decision time t is the sum of the decision and non-decision times.

  2. Relative start (\(w\)). Sets the start point of accumulation as a ratio of the two decision thresholds. Related to the absolute start z point via equation \(z = b_l + w*(b_u - b_l)\).

  3. Stimulus strength (\(\mu\)). Strength of the stimulus.

  4. Log10-leakage (\(log_{10}(L)\)). Rate of leaky integration.

  5. Noise scale (\(\sigma\)). Model scaling parameter.

  6. Decision thresholds (\(b\)). Sets the location of each decision threshold. The upper threshold \(b_u\) is above 0 and the lower threshold \(b_l\) is below 0 such that \(b_u = -b_l = b\). The threshold separation \(a = 2b\).

  7. Contamination (\(g\)). Sets the strength of the contamination process. Contamination process is a uniform distribution \(f_c(t)\) where \(f_c(t) = 1/(g_u-g_l)\) if \(g_l <= t <= g_u\) and \(f_c(t) = 0\) if \(t < g_l\) or \(t > g_u\). It is combined with PDF \(f_i(t)\) to give the final combined distribution \(f_{i,c}(t) = g*f_c(t) + (1-g)*f_i(t)\), which is then output by the program. If \(g = 0\), it just outputs \(f_i(t)\).

  8. Lower bound of contamination distribution (\(g_l\)). See parameter \(g\).

  9. Upper bound of contamination distribution (\(g_u\)). See parameter \(g\).

x_res

spatial/evidence resolution

t_res

time resolution

n

number of samples

dt

step size of time. We recommend 0.00001 (1e-5)

Author

Raphael Hartmann & Matthew Murrow

References

Busemeyer, J. R., & Townsend, J. T. (1993). Decision field theory: A dynamic-cognitive approach to decision making in an uncertain environment. Psychological Review, 100(3), 432-459.

Usher, M., & McClelland, J. L. (2001). The time course of perceptual choice: The leaky, competing accumulator model. Psychological Review, 108(3), 550-592.

Wang, J.-S., & Donkin, C. (2024). The neural implausibility of the diffusion decision model doesn’t matter for cognitive psychometrics, but the Ornstein-Uhlenbeck model is better. Psychonomic Bulletin & Review.

Wong, K.-F., & Wang, X.-J. (2006). A Recurrent Network Mechanism of Time Integration in Perceptual Decisions. The Journal of Neuroscience, 26(4), 1314-1328.

Examples

Run this code
# Probability density function
dLIM(rt = c(1.2, 0.6, 0.4), resp = c("upper", "lower", "lower"),
     phi = c(0.3, 0.5, 1.0, 0.5, 1.0, 0.5, 0.0, 0.0, 1.0))

# Cumulative distribution function
pLIM(rt = c(1.2, 0.6, 0.4), resp = c("upper", "lower", "lower"),
     phi = c(0.3, 0.5, 1.0, 0.5, 1.0, 0.5, 0.0, 0.0, 1.0))

# Random sampling
rLIM(n = 100, phi = c(0.3, 0.5, 1.0, 0.5, 1.0, 0.5, 0.0, 0.0, 1.0))

Run the code above in your browser using DataLab