'upstatefactor' really is 'upstepfactor'

Adaptive Procedures

Adaptive procedures are used in psychometric experiments where the procedure's purpose is to search for a stimulus that elicits a certain response with a fixed probability Pi. The most simple situation is given by the problem of finding a stimulus x, such that x in context a is in some respect equivalent to stimulus y in context b: (x,a) = (y,b). As an example let x and y be small patches of light on a video screen with x and y being the respective luminance values, and let a and b be the respective background luminance values that surround x and y. The subject's task might be to adjust stimulus intensity x such that x on the background a looks as bright as the patch y on background b. An adjustment procedure like this, however, has several disadvantages. Among these are the sequential dependencies that are introduced by letting the subject do successive adjustments. In addition to that the adjustment procedure requires that the subject decides when to stop adjusting and thus the final precision strongly depends on the subject's motivation to do precise adjustments.

Using a psychometric method for finding the equivalent stimulus x in the above example assumes that there exists a strictly monotone increasing function for the probability that x in context a is judged to be brighter than y in context b. Let F(x,a,y,b) be that function. Then we may define x in context a to be equivalent to y in context b if F(x,a,y,b) = 0.5. This means that if we present (x,a) and (y,b) to the subject and ask if (x,a) looks brighter than (y,b) the subject will answer "yes" in approximately half of the presentations and "no" in the other half.

Since we don't know the response probability for any value of x in advance it may be very time consuming to find the proper value of x since it already takes some repeated responses to estimate the response probability at any point x. Here come the adaptive procedures. Suppose a subject responds with "yes" to the presentation of (x_0,a) and (y,b). This means that x_0 seems to be brighter than the equivalence point we are looking for. Thus on the next trial we use a luminance x_1 that is a little bit less than x_0. If the subject still responds with "yes" we go on decreasing the stimulus intensity until we get a "no" response. After getting a "no" response we increase the stimulus intensity. Thus we finally will get a series of continuously changing responses as the stimulus intensity x_t approximates the equivalence point.

Adaptive procedures are very economic since they make optimal use of the information contained in the subject's responses. However, special care has to be taken in order to avoid the sequential effects of adjustment procedures mentioned above. Designing an adaptive procedure requires the solution of four major problems:

What is a good starting value x_0? It is clear that any sequentially dependent procedure somehow depends on the initial value that starts the sequence. It should be taken care that the starting value is good enough to ensure proper conversion of the whole sequence within the bounds given by the other parameters, especially the stepsize and the length of the procedure.

How should each stimulus be changed, what is a good stepsize? Usually the stimulus change after each trial is not constant but is decreasing with increasing trial number. Thus at the beginning a large stepsize is chosen because this allows easy convergence into the range near the final point. At the end of the procedure a small stepsize is preferred since this results in a greater precision at the end of the sequence.

When should the procedure be ended? The easiest way to define the stopping rule is to present a fixed number of trials and then stop. More refined rules make stopping depend on the number of response direction changes or on the stepsize reached.

How should we define the result of an adaptive procedure? After stopping the data available are a sequence of stimuli and responses. The final stimulus value is an easy choice for the procedure result. Another way to compute the result is to average the stimuli in the final section of the sequence or to average the turning points in the sequence as suggested by Wetherill (1963). The turning points may also be used to compute a crude approximation for the final stimulus value's variance.

Insert Table yesno here.

Procedure Types

PXL uses an extended version of the transformed up-down methods of Levitt (1971). These methods may be described as finite state machines. Consider the simple 1-up-1-down procedure described earlier. Each adaptive sequence starts from a state named start. If the subject responds "yes" the sequence goes into state Y and if the first response is "no" then the procedure enters state N. Table yesno gives this simple state transition function. Each but the starting state is a simple description of the subject's response history.

The main purpose of the set of states is to record the response history in one single number. The current state of a sequence may be used to compute the next stimulus value: if the sequence is in state N, then the stimulus intensity has to be increased, if it is in state Y it has to be decreased. The state transition table given in Table yesno is somewhat trivial. So assume that we want to have a more complicated procedure, where the stepsize by which the stimulus is changed should remain constant as long the subject always gives the same response. If the subject changes the response direction, the stepsize should be decreased.

Insert Figure adap1 here.

The following list of stimulus-response pairs might result from such a sequence: (80, N), (100, N), (120, N), (140, Y), (130, N), (136.6, Y) ... Figure adap1 shows the stimulus values for this example. The initial stimulus intensity is 80. Since there is a "no" response the stimulus is increased by the initial stepsize of 20, such that the second stimulus is 100. The second response is again "no". Thus the stepsize remains 20 and the next stimulus becomes 120. The same holds for the third response, The fourth stimulus is 140. Now there is a "yes"response. This makes a turning point of the adaptive sequence and we reduce the stepsize to half of its previous value. The stepsize becomes 10 and the next stimulus is 130. The response is another change of direction and the stepsize becomes one third of the original size. The general schema is to hold the stepsize constant as long as the subject's response remains constant. If there is a change of the response, the stepsize is reduced. We start out with an initial stepsize T_0. The actual step in trial t is computed by the formula T_t = T_0/s_t where s_1 = 1. If the stepsize has to be reduced, we increase s_t by an amount d. In our example d= 1. Thus the example shows the sequence s_1 = 1, s_2 = 1, s_3 = 1, s_4 = 2, s_5 = 3. With T_0 = 20 we thus get T_1 = 20, T_2 = 20, T_3 = 20, T_4 = 10, T_5 = 6.6. The actual stimulus value depends on the initial stimulus, the stepsize and the response. If the response is "yes", we decrease the stimulus by the stepsize, if it is "no" we increase the stimulus.

Insert Figure adap2 here.

Insert Figure 1up1do here.

Insert Figure 1up2do here.

Write P for the type of adaptive procedure. Let S_t be the state of the procedure in trial t and R_t be the response in trial t. Then there is a function F_P that maps pairs of states and responses into the set of states: S_t+1 = F_P(S_t, R_t). The function F_P is the state-transition table of the procedure P. PXL currently has 3 different state transition functions available, they are shown in Figs. 1up1do, 1up2do, and 1up3do.

Figure 1up1do corresponds to the simple 1-up-1-down procedure of the previous section. However, it uses a somewhat extended table of states in order to remember whether the subject's response has changed or has remained constant within the last two trials. This makes it possible to decrease the step size on response changes and to increase it if the response remains constant. Table 1u1dval shows the corresponding parameter transformation function. This function has an additional parameter a which multiplies upward step sizes. Thus up and down step sizes may be different. Procedures like this have been used by Kaernbach (1990) to find points of the psychometric function with response probabilities different from 0.5.

Figure 1up2do is a transformed up-down method. The idea is to consider sequences of trials with constant stimulus values and to change the stimulus only if certain sequences are observed. The 1-up-2-down procedure uses pairs of trials where there are 4 possible sequences: YY, YN, NY, NN. These are partitioned into the up-group: YN, NY, NN and the down-group: YY. Thus the stimulus is decreased only if both trials elicit "yes"-responses. In all other cases the stimulus is increased. Since both the up- and the down-group arrive at a probability of 0.5 for the asymptotic stimulus value we have P(down) = 0.5 = P(yes) * P(no) such that P(Y) = 0.707. Thus we get P(Y) = 0.707 for the asymptotic stimulus value. Note that there is no need to present the second trial of a pair if the subject responds "no" in the first trial, since both NY and NN are in the up-group. The state transition diagram 1up2do uses an extended set of states which also keeps track of the change history such that sequences of ups and downs may be treated different from sequences containing changes.

PXL's 3rd adaptive procedure looks at triples of trials and decreases the stimulus only if there are 3 "yes"-responses. Figure 1up3do shows the state transition schema. This procedure arrives at a response probability of P(Y) = 0.795.

The purpose of the state machine is to code the response history such that the stimulus for the current trial may be computed from the last trial's stimulus, the current state, and the stepsize control parameters. Let T_t be the stepsize for computing x_t, the stimulus in trial t. The formula for computing x_t is x_t = x_t-1 + sign(T_t) max(|T_t|, T_min). Here T_min is a lower limit of the stepsize. If the computed stepsize T_t becomes smaller than T_min, we take T_min as the actual stepsize.

The stepsize T_t is a function of the current state, the initial stepsize T_0 and a step dividend s_t T_t = H_P(T_0, S_t, s_t). The functions H_P for the different procedure types are given in the third columns of Tables 1u1dval, 1u2dval, and 1u3dval. The step dividend s_t is the main control for changes of the step size. It is a function of the procedure's state, the change parameters d and g and the step dividend of the previous trial: s_t = G_P(s_t-1, S_t, d, g). The Tables 1u1dval, 1u2dval, and 1u3dval contain the functions G_P for PXL's adaptive procedures in the second column.

Insert Table 1u1dval here.

Insert Table 1u2dval here.

Stopping Rules

Up to now there are three valid stopping rules in PXL: The first one is an empty condition and will never stop. It is selected by setting the variable stoppingrule to DONTSTOP. The second stopping rule (STOPONTURNS) uses turncount and maxturns to decide on the length of an adaptive sequence. If turncount becomes equal to maxturns, then the sequence will be stopped. The third rule (STOPONMINTURNS) works similar to the second, but in this case counting of the turns does not start before the actual stepsize T_t is smaller than the minimal step size T_min. Thus the procedure stops if there are at least maxturns turn points with minimal step size.

Insert Figure 1up3do here.

Insert Table 1u3dval here.

Computing the Results

Most PXL programs are experimental only. They do not contain data analysis functions. Some adaptive applications are an exception since they are able to compute the results of adaptive procedures. The method used is the one proposed by Wetherill (1963). The idea is to take pairs of turning points of the adaptive sequence and to use them as an estimate of the final value and its variance. PXL computes the arithmetic mean and standard deviation of the turning points in an adaptive sequence. It uses at most the last useturns turning points of a sequence to compute the results. If less than useturns turning points are available, then an even number of turning points is used. The results of the computations are entered into the experimental variables result and stddev. The actual number of turning points used for computing the results is entered into turncount.

The parameter comptype determines the actual method used for results computation. If its value is COMPADPROC then the previously described method is used. NONCHANGING results in no computation at all. There are two more methods for computing results of adaptive procedures: COMPSUM and COMPMEAN. These compute either the sum or the mean of all adaptive variable values. Together with adproctype NONCHNAGING these methods can be used to compute frequencies or means and relative frequencies of the adaptive variables.

Parameters of Adaptive Procedures

The routines for adaptive procedures are controlled by several experimental variables that are predefined in the library. The default values of these variables are such that no adaptive procedure is used. In order to use one of the adaptive methods described in the previous sections, some of the variables have to be set to new values. Table adpars contains a list of all the experimental variables and the corresponding formal parameters that have been used in the present chapter. The complete description of the experimental variables may be found in Chapter exvars.

Insert Table adpars here.

Mixing Different Adaptive Sequences in a Single Block

One single block may contain more than one adaptive sequence for a target. Each sequence is defined by a trial which contains all parameters necessary to define the sequence. The following parameters are needed. dspcount (t) counts the number of trials within a sequence. dspstate (S_t) stores the current state of the sequence and response (R_t) saves the response. stepdiv (s_t) is the current value of the step size divisor. These parameters must be trial arguments. If results computations are to be saved for each sequence then results, stddev, and turncount also have to be trial arguments. Aside from these procedural parameters there has to be a stimulus parameter in each trial. This parameter's name is advar. There still are some more parameters required to define an adaptive procedure, but these need not always be trial arguments. The procedure type is controlled by adproctype (P). If more than a single procedure type is used within a block then adproctype has to be a trial argument. stepdivdelta (d) and stepdivgamma (g) control how the factor stepdiv (s_t) changes. stepmin (T_min) is the smallest and stepsize (T_0) the initial step size. stoppingrule determines the stopping rule, maxturns gives the maximum number of turn points and useturns gives the number of turning points used for computing the results.

There must be exactly one trial definition for each target stimulus in a block. The factor dfactor creates copies of the trial which constitute the trials of the adaptive sequence for the respective target. Thus at the start of an experiment each block containes a fixed number of trials for each target. If the stopping condition is satisfied then the remaining trials of the respective target may be deleted by setting unlinkothers to ON. If unlinkothers is OFF then no trials are deleted and there are exactly dfactor trials for each sequence. This may be desirable in order to keep proper randomization of multiple targets. If each sequence is stopped when the individual stopping criterion is satisfied then there will be only trials for a single target at the end of a block.

If there are more than one adaptive sequences in a block then the program must be able do classify each trial according to the target it belongs to. This is done by using some of the trial parameter values. Two trials are considered to belog to the same adaptive sequence if they have the same values in all those trial parameters whose names are listed in the string range adapmaskpars.


A horizontal and a vertical line are shown. One of them divides the other at a certain ratio. The task is to select the line which is the longer one. The cursor up/down keys correspond to the vertical the left/right keys to the horizontal line. The point of subjective equality of a horizontal and a vertical line is determined by an adaptive procedure. \labelhvadExample
Parameter file hvad.x from directory \pxl\app\geo

Back to table of contents

Author: Hans Irtel