MATLAB Answers

Help with linear mixed effects model formula

29 views (last 30 days)
Bryce Grier
Bryce Grier on 8 Feb 2020
Commented: Bryce Grier on 11 Feb 2020
I have a repeated measures data set with a response variable and two predictor variables (stimulus frequency and stimulus number). There are missing data, but it is only random for stimulus. Explained further, if I tested a given frequency in a subject, there is an observation for every possible stimulus number with that frequency, but not every frequency was tested in every subject. Due to the missing data, I can't run a repeated measures two-way ANOVA, so, as I understand it, I need to fit a linear mixed effects model.
My data are arranged in a table with 4 columns (Subject, Frequency, Stimulus, Response), with NaNs in the place of missing data. Additionally, I have reason to believe that there is an interaction between the predictors.
The formula that I'm currently using is:
lme = fitlme(mixedModelData,'Response ~ 1 + Stimulus*Frequency + (1|Subject)');
Does this model appropriately address the situation I have described?


Sign in to comment.

Accepted Answer

Jeff Miller
Jeff Miller on 9 Feb 2020
That model is appropriate if you want to assume these things (in addition to normality, independence, etc):
(a) subjects differ only in their overall response levels; that is, all subjects are affected identically by stimulus, frequency, and their interaction.
(b) the numbers used in the Stimulus and Frequency columns are real numbers to which the response is linearly related (i.e., they are not just arbitrary indicators of categories).
(c) the multiplication of the stimulus*frequency numbers gives a meaningful numerical interaction quantity to which the response is linearly related.


Bryce Grier
Bryce Grier on 9 Feb 2020
Thank you for the helpful response. I don't think I can make assumption (a), since I have reason to believe that subjects are affected differently by frequency and by the interaction of the predictors. How should I update the model given this?
Jeff Miller
Jeff Miller on 10 Feb 2020
I think you probably want this, which allows Ss to be affected differently by stim, freq, & the interaction:
lme = fitlme(mixedModelData,'Response ~ 1 + Stimulus*Frequency + (Stimulus*Frequency|Subject)');
Bryce Grier
Bryce Grier on 11 Feb 2020
Great, thanks again. The AIC and BIC suggest that your model is the most appropriate as well.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!