Eye movement data were transformed to degrees of visual angle using a third-order polynomial algorithm that fits eye positions to locations in the visual field. The data were then scored offline with the iEye toolbox (
https://github.com/wemackey/iEye). Instances of eye velocity of more than 30°/s were marked as saccades and confirmed by visual inspection. Reaction time was measured from the onset of the response cue to the onset of the first saccade. Trials with reaction times less than 100 ms or more than 900 ms were excluded from analysis. Trials were also excluded when subjects broke fixation early or made an initial memory-guided saccade of less than 5° eccentricity.
The MATLAB function loess was used to apply a low-pass filter to the responses as a function of stimulus location, yielding an estimate of the response bias for each location. This bias was then subtracted from each individual response. The residual error after subtraction was used to measure serial dependence as follows.
We fit a function developed by
Clifford, Wenderoth, and Spehar (2000) to the group dataset of residual errors, separately for the initial memory-guided saccade, post-saccade eye position adjustments, and the final eye position (the saccade plus the adjustments). What follows is a derivation of this function, first in words and then with equations. We note that the function was developed originally to capture repulsive aftereffects, which follow a pattern exactly opposite that of serial dependence. We highlight the parameters of the model that allow it to fit serial dependence as well as repulsive aftereffects.
Clifford et al. (2000) theorized that repulsive aftereffects are consequences of self-calibration and decorrelation within visual neural circuitry. We make no effort to relate this normative theory to serial dependence in the current article, but it may be a fruitful angle for future work to explore.
The Clifford et al. function represents stimuli as unit-length vectors pointing out from the origin of a Cartesian coordinate system (where the origin, in the case of our Experiment 1, corresponds with the fixation point). Vectors are rotated about the origin to express them relative to the location of the previous stimulus. After rotation, a 0° vector points in the direction of the previous stimulus, and all nonzero angles represent nonzero distances from the previous stimulus. Vectors with this interpretation are the input to the Clifford et al. function. The function scales and shifts each input vector along the horizontal axis (the axis parallel to the previous stimulus). The updated angle of the vector after scaling and shifting can be solved for using the Pythagorean identity. The updated angle represents the angle of the observer's response (again expressed relative to the previous stimulus location). We will call the angle of the input vector θS (the current stimulus relative to the previous stimulus) and the updated angle θR (the current response relative to the previous stimulus). The relevant trigonometric equations follow.
For unit-length input vector θ
S, the vertical distance from the origin is sin (θ
S) and the horizontal distance from the origin is cos (θ
S). Per the Pythagorean theorem, the length of the vector itself is
\(\sqrt {{{\cos }^2}({\theta _S}) + \;{{\sin }^2}({\theta _S})} .\) The Clifford et al. function scales and shifts only the horizontal component of this vector, such that the updated vector length is
\begin{eqnarray*}\sqrt {{{\left( {s\cos \left( {{\theta _S}} \right) - c} \right)}^2} + {\rm{\;}}{{\sin }^2}({\theta _S})} ,\end{eqnarray*}
where
s does the scaling and
c does the shifting. When
s > 1, the aftereffect is attractive for small interstimulus differences and repulsive for large interstimulus differences (serial dependence); when
s < 1, the aftereffect is repulsive for small interstimulus differences and attractive for large interstimulus differences. Having
c < 0 contributes an aftereffect that is attractive across the full range of relative stimulus angles; for
c > 0, the contribution to the aftereffect is repulsive across the full range. During model fitting,
s and
c are the only parameters that are free. The angle of the scaled and shifted vector is computed using the definition of the sine function:
\begin{eqnarray*}\sin \left( {{\theta _R}} \right) = \;\frac{{\sin \left( {{\theta _S}} \right)}}{{\sqrt {{{\left( {s\cos \left( {{\theta _S}} \right) - c} \right)}^2} + {{\sin }^2}({\theta _S})} }}.\end{eqnarray*}
It is helpful to rewrite this equation so that the function explicitly solves for the error of the subject's response (
E) across all relative stimulus angles:
\begin{eqnarray*}E = \arcsin \left( {\frac{{\sin \left( {{\theta _S}} \right)}}{{\sqrt {{{(s\cos \left( {{\theta _S}} \right) - c)}^2} + {{\sin }^2}({\theta _S})} }}} \right) - {\theta _S}.\end{eqnarray*}
Note that here
E and θ
S are the variables plotted on the
y axis and
x axis, respectively, of
Figure 1b. The scipy function least_squares was used to find the values of
s and
c that minimized the difference between
E and the observed errors. We measured the amplitude of serial dependence as the peak-to-peak (maximum minus minimum) of
E across all relative stimulus angles. The peak-to-peak depends on both
s and
c.
Statistical significance was determined using permutation tests. To determine whether the amplitude of serial dependence was greater than chance, we first shuffled the vector of values for θS relative to the vector of residual errors. The number of shuffles conducted varied between 1,000 and 10,000, depending on available computing resources. We fit the equation for E to each shuffled dataset. As p values we report the proportion of shuffled datasets with an amplitude of serial dependence greater than the amplitude for the unshuffled dataset.
To determine whether the amplitude of serial dependence was greater in one condition than in another, we first combined the data from the two conditions and shuffled the condition labels. We then separated the conditions using the shuffled labels and fit the equation for E to each. This process was repeated 1,000 times. One-tailed p values are reported for predicted differences between conditions; otherwise two-tailed p values are reported. One-tailed p values were computed as the proportion of the shuffled datasets with an amplitude difference between conditions greater than the amplitude difference for the unshuffled dataset. Two-tailed p values were computed as the proportion of shuffled datasets with an absolute amplitude difference between conditions greater than the absolute amplitude difference for the unshuffled dataset.