psychopy.org | Reference | Downloads | Github

Setting performance levels at 65% and 85% using adaptive staircase

Hello,

I would like to control for level of performance in dot-motion task at 65% (difficult condition) and 85% (easy condition) accuracy by adjusting coherence. I consider using a simple adaptive staircase procedure.

My question is: how to set appropriate nDown nad nUp values, to get these numbers? I know that nDown=3 should result in around 80% and nDown = 2 should approximate 71%, but I have no idea how to calculate these values for custom accuracy levels.

I will be thankful for you help,

Best,
Wojciech

Hi,

the Up/Down rules and combinations (and percentage levels they target) were originally proposed in this paper:

This is the main table:

As far as I’m aware, there are two ways you can get to a desired “custom” accuracy level: using weighted step sizes or using QUEST.

For the first, you weight your up steps and down steps manually. Theoretically, if you set nUp = 1 and nDown = 1 your threshold should follow this equation:
t = stepUp / (stepUp + stepDown)
This is discussed here:

So to get to 65%, you would have to choose values that yield that, i.e. stepUp = 6.5% coherence and stepDown = 3.5%.

Unfortunately, psychopy’s staircase handler does not have a way to provide different values for step Up and step Down, so you would have to, on each trial, check whether the response was accurate, and then adjust the stepsize in your staircase handler.

As always, make sure to have a large step size in the beginning and then make it smaller later on to avoid your staircase getting stuck at the wrong level.

For Quest, simply use http://www.psychopy.org/api/data.html#questhandler, although there are some pitfalls with it. It’s very powerful, but you would have to do some piloting to determine the shape of the psychometric curve under your specific experimental conditions; the values of beta, delta and gamma have a large impact on your threshold estimate and therefore need to be accurate.

I hope this helps.

1 Like

I run some rough tests and the first method seems to work fine. Thank you for your comprehensive answer!