Signal Detection Booth

d', ROC curve, decision criterion and the ideal observer.

Switch to 2D

Presets

Playback

Observer

Sensitivity d', criterion and spread of the signal distribution.

Priors and payoffs

How often a signal occurs and what each outcome earns or costs.

Actions

Camera

Quality

Layers

Model checks

The science

The model

On every trial the observer forms one internal number x. If only noise is present, x ~ N(0, 1). If a signal is present, x ~ N(d', s^2): the whole distribution is shifted by the sensitivity d' (measured in noise standard deviations) and may be wider (s > 1). The observer answers YES when x is above a fixed criterion lambda.

Four outcomes

Hit rate H = 1 - Phi((lambda - d')/s), false-alarm rate F = 1 - Phi(lambda), where Phi is the normal cumulative distribution. Misses are 1 - H and correct rejections 1 - F. Moving the criterion trades hits for false alarms but does not change how well the two distributions are separated.

Measuring d' and bias

From counts, d' = z(H) - z(F) and bias c = -(z(H) + z(F))/2, with z = Phi^-1. With zero or perfect rates a log-linear correction adds 0.5 to each count. For equal spreads the estimate is unbiased; for s != 1 it is not, which is why the readout shows a different value.

The ROC curve

Plotting H against F for every criterion gives the receiver operating characteristic. Its area is the probability that a random signal trial feels stronger than a random noise trial: AUC = Phi(d' / sqrt(1 + s^2)). The diagonal is chance (d' = 0).

Ideal observer and payoffs

With signal probability p, hit reward V_H, miss cost 1, correct-rejection reward 1 and false-alarm cost C_FA, expected payoff per trial is p (H V_H - (1 - H)) + (1 - p)((1 - F) - F C_FA). It is maximised where the likelihood ratio equals beta = (1 - p)/p * (1 + C_FA)/(V_H + 1); for equal spreads that is lambda = d'/2 + ln(beta)/d'. Rare signals and costly false alarms push the best criterion to the right, big hit rewards pull it to the left.

Simplifications

Gaussian internal responses, a fixed criterion with no trial-to-trial noise or learning, independent trials, and a single sensory channel. The picture on the monitor is illustrative: the model works on the internal number x, not on the pixels. Real observers drift, have lapses and unequal-variance curves; this lab shows the idealised theory.

What to try
  1. Set d' = 3 and move the criterion: hits stay high while false alarms collapse. Now d' = 0.8 and see how little any criterion can do.
  2. Press the preset "Liberal observer" and then "Conservative observer": the orange dot slides along the same ROC curve, so sensitivity did not change.
  3. Set signal probability to 10 % and press "Move criterion to the ideal observer": the best criterion moves right and the payoff rises.
  4. Give hits a reward of 4 and compare the ideal criterion with the neutral one.
  5. Watch the yellow d' estimate converge to the true value as trials accumulate (graph 3).
Loading Blender model...
ROC curve: your criterion, the ideal one and the measured point
Expected payoff against criterion
Measured d' converging to the true d'
Outcome proportions: measured against theory
Made with 🟠 Blender · Three.js