QUEST staircase objects

An object of type questStaircase is a staircase using the QUEST functionality in Psychtoolbox. It assumes a Weibull psychometric function.

You can add columns setting properties for one or more questStaircase objects in the optional table for objects not specific to trial (experiment, device, staircase objects). [Or in the coding method: Make a questStepStaircase object outside trials using function questStaircaseObject, set properties, and input it to addToExperiment.]

Input properties

slope
pCorrectAtFloor
pBlind
pCorrectAtThreshold

Default: slope = 3.5
Default: pCorrectAtFloor = 0.5
Default: pBlind = 0.01
Default: pCorrectAtThreshold = 0.82

These are parameters for the Weibull psychometric function in the QUEST model:
slope is “slope” of the function. Positive = increasing psychometric function, negative = decreasing. This also determines whether the staircase steps down or up from a correct response.

pCorrectAtFloor is probability of correct response at floor performance (0–1).

pBlind is probability of responding blindly (0–1).

pCorrectAtThreshold is probability of correct response at threshold (0–1).

The Weibull psychometric function is defined as follows:

<cd>pc = pb*pc_floor+(1-pb)*(1-(1-pc_floor)*exp(-10.^(s*(x-threshold))))<cd>

where

pc = probability of correct response
x = stimulus level
s = slope
pc_floor = pCorrectAtFloor
pb = pBlind
threshold = threshold

Parameter defaults are typical for a two-alternative forced choice task with increasing psychometric function that is logarithmic with respect to physical intensity.

For more information a starting point is Watson & Pelli (1983). QUEST: A Bayesian adaptive psychometric method. Also the MATLAB help text for Psychtoolbox QUEST functions like QuestCreate is very good.

threshold0
thresholdStdDev0

No default: threshold0
Default: thresholdStdDev0 = 3

threshold0 and thresholdStdDev0 are initial guesses for threshold and threshold standard deviation in the QUEST model. These are in staircase value units, same as val and threshold. Generally you should set thresholdStdDev0 liberally—see notes in function help for Psychtoolbox QuestCreate.

valAt
thresholdAt

Default: valAt = staircase value at quantile of threshold probability distribution
Default: thresholdAt = threshold at mean of threshold probability distribution

A string specifying the point in the threshold probability distribution that the staircase value is taken at (valAt) and the threshold estimate is taken at (thresholdAt) for each trial:

<cds>"mean"<cds>
<cds>"quantile"<cds> (optimal quantile as calculated by the QUEST staircase)
<cds>"mode"<cds>

range
resolution

Default: range = 5
Default: resolution = 0.01

range determines the range of thresholds the model can work with = threshold0 ± range / 2 (staircase value units). Setting range larger than the realistic range of possible thresholds uses more computational resources but doesn’t harm the model (given a threshold probability distribution that is unbounded on both ends, e.g. log contrast). However, setting range smaller cuts off thresholds that the model may want to reach, which decreases the quality of the model’s estimates. If the model would step outside range during the experiment, you will see a warning to try again with range larger (the experiment will continue). So, set range liberally.

Also note range is independent of element property staircase fields min/max. It’s okay for range to be set wider and for the model to suggest a staircase value outside min/max. The staircased element will just test a truncated value within min/max and the staircase will add that value and correct/incorrect result to its data. This will not be what the model optimally wanted to know about but it will still be valid data. (This still applies in the common case that min/max are in different units than range due to staircase field setExpr, e.g. log versus non-log units.)

resolution is step size of the discrete threshold probability distribution (staircase value units).

Input properties all objects have

report
info

Record properties

PsychBench uses record properties to record information during experiments. You can't set record properties but you can see them in experiment results using input property report.

thresholdStdDev

Estimate of threshold standard deviation after the trial. This is in staircase value units, same as val and threshold. Generally the value for the last trial in the staircase is the one you want.