Управляющее резюме
Действительно, часто говорят, что если все возможные уровни факторов включены в смешанную модель, то этот фактор следует рассматривать как фиксированный эффект. Это не обязательно верно для ДВУХ ОТЛИЧНЫХ ПРИЧИН:
(1) Если число уровней велико, то это может иметь смысл рассматривать [пересеченный] фактор как случайные.
Я согласен как с @Tim, так и с @RobertLong: если фактор имеет большое количество уровней, включенных в модель (например, все страны мира; или все школы в стране; или, возможно, все население страны). предметы обследуются и т. д.), тогда нет ничего плохого в том, чтобы рассматривать его как случайный - это может быть более экономным, может дать некоторую усадку и т. д.
lmer(size ~ age + subjectID) # fixed effect
lmer(size ~ age + (1|subjectID)) # random effect
(2) Если фактор вложен в другой случайный эффект, то он должен рассматриваться как случайный, независимо от количества уровней.
В этой теме возникла путаница (см. Комментарии), поскольку другие ответы касаются случая № 1 выше, но приведенный вами пример является примером другой ситуации, а именно, этого случая № 2. Здесь есть только два уровня (то есть совсем не «большое количество»!), И они исчерпывают все возможности, но они вложены в другой случайный эффект , дающий вложенный случайный эффект.
lmer(size ~ age + (1|subject) + (1|subject:side) # side HAS to be random
Детальное обсуждение вашего примера
Стороны и предметы в вашем воображаемом эксперименте связаны как классы и школы в примере стандартной иерархической модели. Возможно, каждая школа (№ 1, № 2, № 3 и т. Д.) Имеет класс A и класс B, и эти два класса должны быть примерно одинаковыми. Вы не будете моделировать классы A и B как фиксированный эффект с двумя уровнями; это было бы ошибкой. Но вы не будете моделировать классы A и B как «отдельный» (т.е. скрещенный) случайный эффект с двумя уровнями; это тоже было бы ошибкой. Вместо этого вы будете моделировать классы как вложенный случайный эффект внутри школ.
Смотрите здесь: Скрещенные и вложенные случайные эффекты: чем они отличаются и как они правильно указаны в lme4?
i=1…nj=1,2
Sizeijk=μ+α⋅Heightijk+β⋅Weightijk+γ⋅Ageijk+ϵi+ϵij+ϵijk
ϵi∼N(0,σ2subjects),Random intercept for each subject
ϵij∼N(0,σ2subject-side),Random int. for side nested in subject
ϵijk∼N(0,σ2noise),Error term
Как вы писали сами, «нет никаких оснований полагать, что правые ноги в среднем будут больше левых». Таким образом, не должно быть никакого «глобального» эффекта (ни фиксированного, ни случайного пересечения) правой или левой ноги вообще; вместо этого можно думать, что у каждого субъекта есть «одна» и «другая» ступни, и эту изменчивость мы должны включить в модель. Эти «один» и «другой» ноги вложены в предметы, следовательно, вложенные случайные эффекты.
Более подробная информация в ответ на комментарии. [26 сентября]
Моя модель выше включает Сторону как вложенный случайный эффект в Предметах. Вот альтернативная модель, предложенная @Robert, где Side - фиксированный эффект:
Sizeijk=μ+α⋅Heightijk+β⋅Weightijk+γ⋅Ageijk+δ⋅Sidej+ϵi+ϵijk
ij комбинацией .
Это не может.
То же самое относится и к гипотетической модели @ gung с использованием Side как скрещенного случайного эффекта:
Sizeijk=μ+α⋅Heightijk+β⋅Weightijk+γ⋅Ageijk+ϵi+ϵj+ϵijk
Он также не учитывает зависимости.
Демонстрация с помощью симуляции [2 октября]
Вот прямая демонстрация в R.
Я генерирую игрушечный набор данных с пятью предметами, измеренными на обеих ногах в течение пяти лет подряд. Влияние возраста линейно. Каждый субъект имеет случайный перехват. И у каждого субъекта одна из ног (левая или правая) больше другой.
set.seed(17)
demo = data.frame(expand.grid(age = 1:5,
side=c("Left", "Right"),
subject=c("Subject A", "Subject B", "Subject C", "Subject D", "Subject E")))
demo$size = 10 + demo$age + rnorm(nrow(demo))/3
for (s in unique(demo$subject)){
# adding a random intercept for each subject
demo[demo$subject==s,]$size = demo[demo$subject==s,]$size + rnorm(1)*10
# making the two feet of each subject different
for (l in unique(demo$side)){
demo[demo$subject==s & demo$side==l,]$size = demo[demo$subject==s & demo$side==l,]$size + rnorm(1)*7
}
}
plot(1:50, demo$size)
Извиняюсь за мои ужасные навыки R. Вот как выглядят данные (каждые пять последовательных точек - это один фут одного человека, измеренный за эти годы; каждые десять последовательных точек - два фута одного и того же человека):
Теперь мы можем разместить несколько моделей:
require(lme4)
summary(lmer(size ~ age + side + (1|subject), demo))
summary(lmer(size ~ age + (1|side) + (1|subject), demo))
summary(lmer(size ~ age + (1|subject/side), demo))
Все модели включают фиксированный эффект age
и случайный эффект subject
, но относятся по- side
разному.
side
age
t=1.8
side
age
t=1.4
side
age
t=37
Это ясно показывает, что side
следует рассматривать как вложенный случайный эффект.
Наконец, в комментариях @Robert предложил включить глобальный эффект side
в качестве управляющей переменной. Мы можем сделать это, сохраняя вложенный случайный эффект:
summary(lmer(size ~ age + side + (1|subject/side), demo))
summary(lmer(size ~ age + (1|side) + (1|subject/side), demo))
side
t=0.5side