Appendix: Analysis model
We model an individual response time from trial i, y
i
, as coming from a lognormal distributionFootnote 2 that is specific for the subject, s
i
; trial type (target present vs. absent), t
i
; and software package, p
i
, associated with that trial:
$$ {y}_i\sim \ln \mathcal{N}\left({\kappa}_{s_i,{t}_i,{p}_i},{\eta}_{s_i,{t}_i,{p}_i}\right). $$
The lognormal distribution is parameterized by location, κ, and shape, η, parameters; however, our main interest in conducting the analysis was to understand how the mean, μ, and standard deviation, σ, of the original (non-log-transformed) response time data were affected by the software package. To make this conceptually clear in the model, we constructed our model to estimate parameters in the scale of the original data, and then transformed these parameters into the location and shape parameters of the lognormal distribution:
$$ {\kappa}_{s_i,{t}_i,{p}_i}= \ln \left(\frac{\mu_{s_i,{t}_i,{p}_i}^2}{\sqrt{\sigma_{s_i,{t}_i,{p}_i}^2+{\mu}_{s_i,{t}_i,{p}_i}^2}}\right),{\eta}_{s_i,{t}_i,{p}_i}=\sqrt{ \ln \left(1+{\sigma}_{s_i,{t}_i,{p}_i}^2/{\mu}_{s_i,{t}_i,{p}_i}^2\right)}\ . $$
The regression portion of the model was built to find values of the mean and standard deviation parameters in the scale of the original data. The model estimated intercept, b, and slope, m, parameters (relative to the set size, x) for each unique combination of subject, trial type, and software package:
$$ \begin{array}{l}{\mu}_{s_i,{t}_i,{p}_i}={m}_{\upmu_{s_i,{t}_i,{p}_i}}{x}_i+{b}_{\upmu_{s_i,{t}_i,{p}_i}},\hfill \\ {}{\sigma}_{s_i,{t}_i,{p}_i}={m}_{\upsigma_{s_i,{t}_i,{p}_i}}{x}_i+{b}_{\upsigma_{s_i,{t}_i,{p}_i}}.\hfill \end{array} $$
The intercept and slope parameters were linear combinations of a subject-level baseline, β, a subject-level estimate of the difference between the software packages, φ, and a subject-level estimate of the difference between trial types, λ. To estimate a particular difference (such as the difference in intercepts) between software packages, the model estimated a single subject-level difference parameter, ω, and then half of that parameter value was added to jsPsych trials and half of the parameter value was subtracted from PTB trials. We used this approach because we could then apply a group-level distribution to the difference parameter itself. In addition to this parameter mapping nicely onto our main analysis question (what are the differences between the software packages?), this particular implementation of the model also created shrinkage on the difference parameter directly, improving the estimate of the parameter in noise. We applied this strategy of directly estimating the difference parameter to both the trial type and software package differences.
$$ \begin{array}{l}\begin{array}{l}{m}_{\upmu_{s_i,{t}_i,{p}_i}}={\beta}_{{\left(\mathrm{m},\upmu \right)}_{s_i}}+{\lambda}_{{\left(\mathrm{m},\upmu \right)}_{s_i,{t}_i}}+{\varphi}_{{\left(\mathrm{m},\upmu \right)}_{s_i,{p}_i}}\hfill \\ {}{b}_{\upmu_{s_i,{t}_i,{p}_i}}={\beta}_{{\left(\mathrm{b},\upmu \right)}_{s_i}}+{\lambda}_{{\left(\mathrm{b},\upmu \right)}_{s_i,{t}_i}}+{\varphi}_{{\left(\mathrm{b},\upmu \right)}_{s_i,{p}_i}}\hfill \\ {}{m}_{\upsigma_{s_i,{t}_i,{p}_i}}={\beta}_{{\left(\mathrm{m},\upsigma \right)}_{s_i}}+{\lambda}_{{\left(\mathrm{m},\upsigma \right)}_{s_i,{t}_i}}+{\varphi}_{{\left(\mathrm{m},\upsigma \right)}_{s_i,{p}_i}}\hfill \\ {}{b}_{\upsigma_{s_i,{t}_i,{p}_i}}={\beta}_{{\left(\mathrm{b},\upsigma \right)}_{s_i}}+{\lambda}_{{\left(\mathrm{b},\upsigma \right)}_{s_i,{t}_i}}+{\varphi}_{{\left(\mathrm{b},\upsigma \right)}_{s_i,{p}_i}}\hfill \end{array}\\ {}\\ {}\begin{array}{ll}{\lambda}_{{\left(\mathrm{m},\upmu \right)}_{s_i,{t}_i}}=\hfill & \left\{\begin{array}{ll}-{\omega}_{{\left(\mathrm{m},\upmu, \mathrm{t}\right)}_{s_i}}/2,\hfill & {t}_i\ is\hbox{'} target\ present\hbox{'}\hfill \\ {}\kern0.36em {\omega}_{{\left(\mathrm{m},\upmu, \mathrm{t}\right)}_{s_i}}/2,\hfill & {t}_i\ is\ \hbox{'} target\ absent\hbox{'}\hfill \end{array}\right.\hfill \\ {}{\lambda}_{{\left(\mathrm{m},\upsigma \right)}_{s_i,{t}_i}}=\hfill & \left\{\begin{array}{ll}-{\omega}_{{\left(\mathrm{m},\upsigma, \mathrm{t}\right)}_{s_i}}/2,\hfill & {t}_i\ is\ \hbox{'} target\ present\hbox{'}\hfill \\ {}\kern0.36em {\omega}_{{\left(\mathrm{m},\upsigma, \mathrm{t}\right)}_{s_i}}/2,\hfill & {t}_i\ is\ \hbox{'} target\ absent\hbox{'}\hfill \end{array}\right.\hfill \\ {}{\lambda}_{{\left(\mathrm{b},\upmu \right)}_{s_i,{t}_i}}=\hfill & \left\{\begin{array}{ll}-{\omega}_{{\left(\mathrm{b},\upmu, \mathrm{t}\right)}_{s_i}}/2,\hfill & {t}_i\ is\ \hbox{'} target\ present\hbox{'}\hfill \\ {}\kern0.36em {\omega}_{{\left(\mathrm{b},\upmu, \mathrm{t}\right)}_{s_i}}/2,\hfill & {t}_i\ is\ \hbox{'} target\ absent\hbox{'}\hfill \end{array}\right.\hfill \\ {}{\lambda}_{{\left(\mathrm{b},\upsigma \right)}_{s_i,{t}_i}}=\hfill & \left\{\begin{array}{ll}-{\omega}_{{\left(\mathrm{b},\upsigma, \mathrm{t}\right)}_{s_i}}/2,\hfill & {t}_i\ is\ \hbox{'} target\ present\hbox{'}\hfill \\ {}\kern0.36em {\omega}_{{\left(\mathrm{b},\upsigma, \mathrm{t}\right)}_{s_i}}/2,\hfill & {t}_i\ is\ \hbox{'} target\ absent\hbox{'}\hfill \end{array}\right.\hfill \end{array}\\ {}\\ {}\begin{array}{l}{\varphi}_{{\left(\mathrm{m},\upmu \right)}_{s_i,{p}_i}}=\left\{\begin{array}{ll}-{\omega}_{{\left(\mathrm{m},\upmu, \mathrm{p}\right)}_{s_i}}/2,\hfill & {p}_i\ is\ \hbox{'}PTB\hbox{'}\hfill \\ {}\kern0.36em {\omega}_{{\left(\mathrm{m},\upmu, \mathrm{p}\right)}_{s_i}}/2,\hfill & {p}_i\ is\ \hbox{'} jsPsych\hbox{'}\hfill \end{array}\right.\hfill \\ {}{\varphi}_{{\left(\mathrm{m},\upsigma \right)}_{s_i,{p}_i}}=\left\{\begin{array}{ll}-{\omega}_{{\left(\mathrm{m},\upsigma, \mathrm{p}\right)}_{s_i}}/2,\hfill & {p}_i\ is\ \hbox{'}PTB\hbox{'}\hfill \\ {}\kern0.36em {\omega}_{{\left(\mathrm{m},\upsigma, \mathrm{p}\right)}_{s_i}}/2,\hfill & {p}_i\ is\ \hbox{'} jsPsych\hbox{'}\hfill \end{array}\right.\hfill \\ {}{\varphi}_{{\left(\mathrm{b},\upmu \right)}_{s_i,{p}_i}}=\left\{\begin{array}{ll}-{\omega}_{{\left(\mathrm{b},\upmu, \mathrm{p}\right)}_{s_i}}/2,\hfill & {p}_i\ is\ \hbox{'}PTB\hbox{'}\hfill \\ {}\kern0.36em {\omega}_{{\left(\mathrm{b},\upmu, \mathrm{p}\right)}_{s_i}}/2,\hfill & {p}_i\ is\ \hbox{'} jsPsych\hbox{'}\hfill \end{array}\right.\hfill \\ {}{\varphi}_{{\left(\mathrm{b},\upsigma \right)}_{s_i,{p}_i}}=\left\{\begin{array}{ll}-{\omega}_{{\left(\mathrm{b},\upsigma, \mathrm{p}\right)}_{s_i}}/2,\hfill & {p}_i\ is\ \hbox{'}PTB\hbox{'}\hfill \\ {}\kern0.36em {\omega}_{{\left(\mathrm{b},\upsigma, \mathrm{p}\right)}_{s_i}}/2,\hfill & {p}_i\ is\ \hbox{'} jsPsych\hbox{'}\hfill \end{array}\right.\hfill \end{array}\end{array} $$
The subject-level parameters were modeled as coming from higher-level group distributions. These group-level parameters that describe the distribution of subject-level parameters were the main parameters of interest for our analysis.
$$ \begin{array}{l}{\beta}_{{\left(\mathrm{m},\upmu \right)}_{s_i}}\sim \mathcal{N}\left({\beta}_{{\left(\mathrm{m},\upmu \right)}_{\mathrm{group}}},{\beta}_{{\left(\mathrm{m},\upmu \right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \\ {}{\beta}_{{\left(\mathrm{m},\upsigma \right)}_{s_i}}\sim \mathcal{N}\left({\beta}_{{\left(\mathrm{m},\upsigma \right)}_{\mathrm{group}}},{\beta}_{{\left(\mathrm{m},\upsigma \right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \\ {}{\beta}_{{\left(\mathrm{b},\upmu \right)}_{s_i}}\sim \mathcal{N}\left({\beta}_{{\left(\mathrm{b},\upmu \right)}_{\mathrm{group}}},{\beta}_{{\left(\mathrm{b},\upmu \right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \\ {}{\beta}_{{\left(\mathrm{b},\upsigma \right)}_{s_i}}\sim \mathcal{N}\left({\beta}_{{\left(\mathrm{b},\upsigma \right)}_{\mathrm{group}}},{\beta}_{{\left(\mathrm{b},\upsigma \right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \\ {}\hfill \\ {}{\omega}_{{\left(\mathrm{m},\upmu, \mathrm{t}\right)}_{s_i}}\sim \mathcal{N}\left({\omega}_{{\left(\mathrm{m},\upmu, \mathrm{t}\right)}_{\mathrm{group}}},{\omega}_{{\left(\mathrm{m},\upmu, \mathrm{t}\right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \\ {}{\omega}_{{\left(\mathrm{m},\upsigma, \mathrm{t}\right)}_{s_i}}\sim \mathcal{N}\left({\omega}_{{\left(\mathrm{m},\upsigma, \mathrm{t}\right)}_{\mathrm{group}}},{\omega}_{{\left(\mathrm{m},\upsigma, \mathrm{t}\right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \\ {}{\omega}_{{\left(\mathrm{b},\upmu, \mathrm{t}\right)}_{s_i}}\sim \mathcal{N}\left({\omega}_{{\left(\mathrm{b},\upmu, \mathrm{t}\right)}_{\mathrm{group}}},{\omega}_{{\left(\mathrm{b},\upmu, \mathrm{t}\right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \\ {}{\omega}_{{\left(\mathrm{b},\upsigma, \mathrm{t}\right)}_{s_i}}\sim \mathcal{N}\left({\omega}_{{\left(\mathrm{b},\upsigma, \mathrm{t}\right)}_{\mathrm{group}}},{\omega}_{{\left(\mathrm{b},\upsigma, \mathrm{t}\right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \\ {}\hfill \\ {}{\omega}_{{\left(\mathrm{m},\upmu, \mathrm{p}\right)}_{s_i}}\sim \mathcal{N}\left({\omega}_{{\left(\mathrm{m},\upmu, \mathrm{p}\right)}_{\mathrm{group}}},{\omega}_{{\left(\mathrm{m},\upmu, \mathrm{p}\right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \\ {}{\omega}_{{\left(\mathrm{m},\upsigma, \mathrm{p}\right)}_{s_i}}\sim \mathcal{N}\left({\omega}_{{\left(\mathrm{m},\upsigma, \mathrm{p}\right)}_{\mathrm{group}}},{\omega}_{{\left(\mathrm{m},\upsigma, \mathrm{p}\right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \\ {}{\omega}_{{\left(\mathrm{b},\upmu, \mathrm{p}\right)}_{s_i}}\sim \mathcal{N}\left({\omega}_{{\left(\mathrm{b},\upmu, \mathrm{p}\right)}_{\mathrm{group}}},{\omega}_{{\left(\mathrm{b},\upmu, \mathrm{p}\right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \\ {}{\omega}_{{\left(\mathrm{b},\upsigma, \mathrm{p}\right)}_{s_i}}\sim \mathcal{N}\left({\omega}_{{\left(\mathrm{b},\upsigma, \mathrm{p}\right)}_{\mathrm{group}}},{\omega}_{{\left(\mathrm{b},\upsigma, \mathrm{p}\right)}_{{\mathrm{group}}_{\upsigma}}}\right)\hfill \end{array} $$
The group-level parameters had diffuse priors appropriate to the scale of the data.
$$ \begin{array}{l}{\beta}_{{\left(\mathrm{b},\upmu \right)}_{\mathrm{group}}}\sim \mathcal{U}\left(0,\ 2000\right)\hfill \\ {}{\beta}_{{\left(\mathrm{b},\upmu \right)}_{{\mathrm{group}}_{\upsigma}}}\sim \mathcal{U}\left(0,\ 577.35\right)\hfill \\ {}{\beta}_{{\left(\mathrm{b},\upsigma \right)}_{\mathrm{group}}}\sim \mathcal{U}\left(0,\ 577.35\right)\hfill \\ {}{\beta}_{{\left(\mathrm{b},\upsigma \right)}_{{\mathrm{group}}_{\upsigma}}}\sim \mathcal{U}\left(0,\ 166.7\right)\hfill \\ {}{\beta}_{{\left(\mathrm{m},\upmu \right)}_{\mathrm{group}}}\sim \mathcal{N}\left(0,\ {10}^5\right)\hfill \\ {}{\beta}_{{\left(\mathrm{m},\upmu \right)}_{{\mathrm{group}}_{\upsigma}}} \sim \mathcal{U}\left(0,\ {10}^5\right)\hfill \\ {}{\beta}_{{\left(\mathrm{m},\upsigma \right)}_{\mathrm{group}}}\sim \mathcal{N}\left(0,\ {10}^5\right)\hfill \\ {}{\beta}_{{\left(\mathrm{m},\upsigma \right)}_{{\mathrm{group}}_{\upsigma}}}\sim \mathcal{U}\left(0,\ {10}^5\right)\hfill \end{array} $$
All deflection parameters had the same priors.
$$ \begin{array}{l}{\omega}_{{\left( \dots, \dots, \dots \right)}_{\mathrm{group}}}\sim \mathcal{N}\left(0,\ {10}^5\right)\hfill \\ {}{\omega}_{{\left( \dots, \dots, \dots \right)}_{{\mathrm{group}}_{\upsigma}}}\sim \mathcal{U}\left(0,\ {10}^5\right)\hfill \end{array} $$