bmm
  • Get started
  • Functions
  • Articles
  • Changelog
  • Develop
  • Parameter recovery
  • Model explorer
  1. Signal detection
  2. Signal detection theory, m-alternative forced choice
  • All models
  • How to read a page
  • Categorical decision tasks
    • Memory Measurement Model
    • Multinomial processing tree, span task
  • Continuous reproduction tasks
    • Interference Measurement Model
    • Two-parameter mixture model
    • Three-parameter mixture model
    • Signal discrimination model
  • Signal detection
    • Signal detection theory, yes/no
    • Signal detection theory, m-alternative forced choice
    • Signal detection theory, confidence ratings
  • Response times
    • EZ Diffusion Model
    • Censored Shifted Wald Model
    • Diffusion Decision Model
  1. Signal detection
  2. Signal detection theory, m-alternative forced choice

Signal detection theory, m-alternative forced choice

Pick the one of m alternatives that holds the signal: accuracy as a function of sensitivity and m

The task: which of the m alternatives holds the signal?
Evidence of the signal alternative and of one distractor (dashed). Solid grey: the strongest of the m − 1 distractors, which the signal has to beat. Orange tile: the signal.
Task settings
Alternatives on one trial: the signal and m − 1 distractors. Each added distractor is one more chance for noise to beat the signal, so at a fixed d P(correct) falls with m; chance is 1 / m. At d = 1, going from the start, m = 4, to m = 10 lowers P(correct) from 0.55 to 0.34 and chance from 0.25 to 0.10.
Parameters
Shape of every alternative's evidence distribution: normal; logistic, symmetric with heavier tails; gumbel_min or gumbel_max, skewed mirror images whose location 0 is the peak. Each enters with scale 1, so under the last three d is in units of that scale, not of the SD. In bmm: the dist argument. At the start, logistic instead of normal lowers P(correct) from 0.55 to 0.42.
Sensitivity: the distance of the signal alternative's distribution from the distractors'. With normal noise at m = 2, d = 1 gives P(correct) = Φ(1/√2) = 0.76. At the start, m = 4, the same d gives 0.55 against chance 0.25.
P(correct) by d, at this m
Draws N trials at this m and d and marks the sample's proportion correct at the current d (no mark when d is outside the plotted range, −2 to 4). Below the panel: the expected P(correct) and, in brackets, the sample's. The sample keeps its random numbers while the sliders move, so it changes with the parameters; New sample draws other ones. In bmm: rsdt_mafc(), in the code under In bmm.
Circle: the current d. Dotted: chance, 1/m. Dashed: bmm's prior mean of d. Black dot, with simulate on: the sample.
P(correct) across m, d fixed

What the model says

In an m-alternative forced-choice task (m-AFC) one of m alternatives holds the signal, and the observer picks the alternative with the strongest evidence (DeCarlo, 2012). The signal alternative draws its evidence from a distribution located at d, each of the m − 1 distractors from the same distribution located at 0, all with scale 1 (for the normal distribution, SD 1). dist names the shape, as on the yes/no page: normal, logistic, or one of the two skewed Gumbel distributions. The response is correct when the signal’s evidence exceeds that of every distractor. With \(f\) the density and \(F\) the cumulative distribution function of that distribution at location 0 and scale 1,

\[ P(\text{correct}) = \int f(x - d)\, F(x)^{m - 1}\, dx . \]

Read from the inside: \(f(x - d)\) is the density of the signal’s evidence at \(x\), and \(F(x)^{m - 1}\) the chance that all m − 1 distractors fall below \(x\); the integral adds this up over every \(x\). d is the only parameter: m-AFC has no criterion and no response bias. Under normal noise at m = 2 the integral is \(\Phi(d/\sqrt{2})\), with \(\Phi\) the standard normal distribution function; both Gumbel distributions also give closed forms. For normal noise at m > 2 and for logistic noise bmm sums the integral over fixed points (numerical quadrature), and this page uses the same points, so its numbers are bmm’s. A row of data holds the number of correct responses out of n_trials trials, which is binomial with probability P(correct). d is on the scale of the d of the yes/no model: at m = 2 under normal noise, P(correct) equals the area under the yes/no ROC curve of the same d.

The task

One trial presents m alternatives, intervals, locations or items, and one of them holds the signal: in forced-choice recognition, the studied item among m − 1 new ones. The participant picks one. bmm fits counts: each row of the data holds n_correct correct responses out of n_trials. The number of alternatives m is the task setting that enters the likelihood: it fixes how many distractors, m − 1, the signal has to beat. sdt_mafc() takes it as a number, or as the name of a data column when it varies between rows.

Explore

In the task panel, the tiles show one trial with the current m; the orange tile holds the signal, which the observer does not know. Next to them are the evidence densities: the signal alternative’s (orange), one distractor’s (dashed grey), and the density of the strongest of the m − 1 distractors (solid grey), which is what the signal has to beat. The strongest of several draws tends to be high, so that density sits to the right of a single distractor’s and moves further right as m grows, and accuracy falls. Raising d moves the signal density to the right. The panel “P(correct) by d, at this m” shows accuracy for every d at the current m: chance, 1/m, at d = 0, and below chance for negative d, where the signal sits below the distractors.

The d slider spans bmm’s default prior, normal(1, 1) (mean 1, SD 1), from mean − 3 SD to mean + 3 SD (−2 to 4), and starts at the prior mean, 1 (dashed line). m runs from 2 to 10.

Across task settings

m is the design variable of this model: with d fixed, accuracy falls as m grows, because the signal has to beat the strongest of more distractors. How fast it falls depends on the evidence distribution. At one m, each distribution can reproduce any accuracy, because each has its own d to adjust, so data from a single m cannot tell the distributions apart. In the panel “P(correct) across m”, each of the other three distributions gets the d that gives the current accuracy at the current m; the legend lists these values. They differ because the distributions differ in spread and in shape: gumbel_min and gumbel_max have the same spread, and at m = 2 the same d gives both the same accuracy, but they are skewed in opposite directions, and from m = 3 on they need different values of d for one accuracy (except at d = 0, chance). The dotted lines meet at the circle and separate at other values of m; how far depends on d and m (the sentence below gives the numbers), and where they stay close they can lie on top of each other. Several values of m in one data set, passed to sdt_mafc() as a column, are what lets the data decide between the distributions.

In bmm


  

The code updates with the controls. sdt_mafc() names the data columns, the number of alternatives and the evidence distribution, dsdt_mafc() returns the log likelihood of a count of correct responses, and bmm() estimates d from data; my_data stands for your own data, and fitting runs Stan through brms. See the signal detection article and the reference pages for sdt_mafc() and dsdt_mafc().

bmm model explorer · source · code GPL-2, text CC BY 4.0

 
  • Report an issue

Built with Quarto. No R, no server: everything runs in your browser.