An object of type *questStaircase* is a staircase using the QUEST functionality in Psychtoolbox. It assumes a Weibull psychometric function. In an experiment script you can make a questStaircase object outside trials with the command *questStaircaseObject* and add it with *addToExperiment*.

Properties below go to inputs of Psychtoolbox *QuestCreate* as follows:

*slope* → *beta**pCorrectAtFloor* → *gamma**pBlind* → *delta**pCorrectAtThreshold* → *pThreshold**threshold0* → *tGuess**thresholdStdDev0* → *tGuessSd**range* → *range**resolution* → *grain*

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:

*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).

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

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.

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*.

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>

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).

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*.

PsychBench © 2017–2022 Giles Holland

Website © 2022 Giles Holland

End user license agreement