Hello,

I'm working on a psychophysical study and trying to model my data with a linear mixed model. My subjects react to stimuli presented to them. Reaction time (RT) is the response variable and I am curious how the stimulus conditions influence this. Two main variables influence the appearance of the stimulus (var1 & var2) and they are expected to interact. However, there is a subject-grouping variable, affecting the duration of the stimulus (dur), which should also interact with the other variables. Every subject has approximately 200 events, with var1 and var2 levels roughly uniformly distributed, but since dur is a grouping variable, each subject has only one level of it (10-15 subjects in each group). So far all of these are discrete variables with 2, 12, and 4 levels in var1, var2, and dur respectively.

But then I get confused, how I should structure my random effects, mainly because of the grouping of subjects. I once read that random effects structure should be maximal (https://doi.org/10.1016/j.jml.2012.11.001), so it should match the fixed effects. How legit is this?

So far my model is

RT ~ var1 * var2 * dur + num + (1 + var1 * var2 | sub)

but I'm not certain that the random effects should covary, so it could just as well be

RT ~ var1 * var2 * dur + num + (1 | sub) + (0 + var1 * var2 | sub)

or even

RT ~ var1 * var2 * dur + num + (1 | sub) + (0 + var1| sub) + (0 + var2| sub) +(0 + var1:var2| sub) ??

But that doesn't include dur yet. It doesn't make sense to fit a random effect to levels of dur that a subject didn't complete. But I also don't think that I should nest subjects under dur, as my subjects all come from the same population and should have the same variability of variable effects. What should I do with it? Either way, I usually get convergence errors as the random effects structure is getting more complicated. I use the lmer function with optimx optimizers with REML. The total number of observations is approximately 11000, with about 100 data points at each variable combination.

Where did I go wrong? If needed, I will post actual code chunks and warning messages, but first I wanted to see if my theory is correct.

Thanks,

AndrĂ¡s