# Are there any practical differences in fitting a random slope vs. fitting an interaction term in the intercept in lmer

I am trying to fit a few models with the form

Model A. lmer(DV ~ Predictor1 (continuous) * predictor2 (categorical with 4 levels) * (ot + ot2 + ot3 + ot4 = orthogonal polynomials) + (ot + ot2 + ot3 | Video ID) + (ot + ot2 + ot3 | participant ID), REML = FALSE)

In this case participant ID have 70 levels, video has 56, predictor 1 only has one data point per participant whereas the ot polynomials are powers of time (with about 77 data points). Participant sees all videos and levels of Predictor 2.

I am able to fit that model reasonably well. However, when I try to for random slope for predictor 2 (to make a "maximal" model) like: Model B. lmer(DV ~ Predictor1 * predictor2 * (ot + ot2 + ot3 + ot4) + (ot + ot2 + ot3 | Video ID) + (ot + ot2 + ot3 + predictor 2 | participant ID), REML = FALSE)

or

Model C. lmer(DV ~ Predictor1 * predictor2 * (ot + ot2 + ot3 + ot4) + (ot + ot2 + ot3 | Video ID) + (ot + ot2 + ot3 | participant ID) + (Predictor2| participant ID) , REML = FALSE)

things get really slow (like days, or even a week or so, conversion is not guaranteed), this is even when using the control = lmerControl(optimizer = "nloptwrap", calc.derivs = FALSE)

I saw some models that are fitted with an interaction intercept instead, and considered fitting this which in my previous experience might be slightly faster

Model D. lmer(DV ~ Predictor1 * predictor2 * (ot + ot2 + ot3 + ot4) + (ot + ot2 + ot3 | Video ID) + (ot + ot2 + ot3 | participant ID) + (ot + ot2 + ot3 | participant ID: Predictor2) , REML = FALSE) or

Model D. lmer(DV ~ Predictor1 (continuous) * predictor2 (categorical with 4 levels) * (ot + ot2 + ot3 + ot4 = ortogonal (polynomials) + (ot + ot2 + ot3 | Video ID) + (ot + ot2 + ot3 | participant ID) + (1| participant ID: predictor2) , REML = FALSE)

But I am not sure what are the implications of this? are Model C and Model D or E equivalent?

Thanks, any help is very much appreciated