Каково минимальное рекомендуемое количество групп для фактора случайных эффектов?

26

Я использую смешанную модель в R( lme4) для анализа некоторых данных повторных измерений. У меня есть переменная реакции (содержание волокна в кале) и 3 фиксированных эффекта (масса тела и т. Д.). В моем исследовании всего 6 участников, по 16 повторных измерений для каждого (хотя у двух только 12 повторений). Субъектами являются ящерицы, которым давали разные комбинации пищи в разных «обработках».

Мой вопрос: могу ли я использовать идентификатор субъекта в качестве случайного эффекта?

Я знаю, что это обычный курс действий в моделях продольных смешанных эффектов, чтобы принять во внимание случайную выборку природы субъектов и тот факт, что наблюдения внутри субъектов будут более тесно коррелировать, чем наблюдения между субъектами. Но трактовка идентификатора субъекта как случайного эффекта предполагает оценку среднего значения и дисперсии для этой переменной.

  • Поскольку у меня есть только 6 предметов (6 уровней этого фактора), достаточно ли этого, чтобы получить точную характеристику среднего значения и дисперсии?

  • Помогает ли в этом отношении тот факт, что у меня есть довольно много повторных измерений для каждого субъекта (я не понимаю, как это имеет значение)?

  • Наконец, если я не могу использовать идентификатор субъекта в качестве случайного эффекта, позволит ли его включение в качестве фиксированного эффекта контролировать тот факт, что я повторил измерения?

Изменить: я просто хотел бы уточнить, что когда я говорю «могу ли я» использовать идентификатор субъекта в качестве случайного эффекта, я имею в виду «это хорошая идея для». Я знаю, что могу подобрать модель с коэффициентом всего 2 уровня, но наверняка это будет неоправданно? Я спрашиваю, в какой момент становится разумным думать о том, чтобы рассматривать предметы как случайные эффекты? Кажется, литература советует, что 5-6 уровней - это нижняя граница. Мне кажется, что оценки среднего значения и дисперсии случайного эффекта не будут очень точными, пока не будет более 15 уровней факторов.

Крис
источник

Ответы:

21

Краткий ответ: Да, вы можете использовать ID как случайный эффект с 6 уровнями.

Немного более длинный ответ: в разделе часто задаваемых вопросов @ BenBolker по GLMM говорится (среди прочего) следующее под заголовком « Должен ли я считать фактор xxx фиксированным или случайным? »:

Одна особенность, относящаяся к «современной» оценке смешанной модели (а не «классической» методике оценки моментов), заключается в том, что для практических целей должно быть разумное количество уровней случайных эффектов (например, блоков) - более 5 или 6 как минимум.

Таким образом, вы находитесь на нижней границе, но с правой стороны.

Хенрик
источник
12

В попытке выяснить минимальное количество групп для многоуровневой модели я посмотрел книгу Гельмана и Хилла (2007) « Анализ данных с использованием регрессионных и многоуровневых / иерархических моделей ».

Похоже, что они обращаются к этой теме в Главе 11, Раздел 5 (стр. 247), где пишут, что когда есть <5 групп, то многоуровневые модели обычно добавляют немного больше классических моделей. Однако они, похоже, пишут, что существует небольшой риск применения многоуровневой модели.

Те же авторы, кажется, возвращаются к этой теме в Главе 12, Раздел 9 (страницы 275-276). Там пишут, что советы по минимальному количеству групп для многоуровневой модели ошибочны. Там они снова говорят, что многоуровневые модели часто добавляют немного больше классических моделей, когда число групп мало. Тем не менее, они также пишут, что многоуровневые модели должны работать не хуже, чем регрессия без объединения (где, как представляется, отсутствие объединения означает, что групповые показатели используются в классической регрессии).

На страницах 275-276 авторы имеют конкретный подраздел для случая одной или двух групп (например, мужчины против женщины). Здесь пишут, что они обычно выражают модель в классической форме. Тем не менее, они утверждают, что многоуровневое моделирование может быть полезным даже с одной или двумя группами. Они пишут, что с одной или двумя группами многоуровневое моделирование сводится к классической регрессии.

Из этого складывается мое впечатление, что классическая регрессия является одним из концов континуума моделей, т. Е. Частным случаем многоуровневой модели.

Исходя из вышесказанного, у меня сложилось впечатление, что классическая регрессия и многоуровневое моделирование вернут почти идентичные оценки, когда есть только две группы, и что использование многоуровневых моделей только с одной, двумя, тремя, четырьмя, пятью или шестью группами - это нормально.

Я постараюсь изменить этот ответ в будущем с помощью Rкода и небольшого набора данных, сравнивая оценки, полученные с использованием обоих подходов, при использовании двух групп.

Марк Миллер
источник
10

Что бы это ни стоило, я провел небольшое моделирующее исследование, чтобы посмотреть на стабильность оценки дисперсии для относительно простого LMM (используя sleepstudyнабор данных, доступный через lme4). Первый способ генерирует все возможные комбинации предметов для ngroupsколичества предметов и подбирает модель для каждой возможной комбинации. Второй занимает несколько случайных подмножеств предметов.

library(lme4)
library(ggplot2)
library(tidyr)

m0 <- lmer(Reaction ~ Days + (1|Subject), data = sleepstudy,
           control = lmerControl(optimizer = "nloptwrap"))
# set the number of factor levels
ngroups <- 3:18 
# generate all possible combinations
combos <- lapply(X = ngroups, 
                 FUN = function(x) combn(unique(sleepstudy$Subject), x)) 

# allocate output (sorry, this code is entirely un-optimized)
out <- list(matrix(NA, ncol(combos[[1]]), 1), matrix(NA, ncol(combos[[2]]), 1),
            matrix(NA, ncol(combos[[3]]), 1), matrix(NA, ncol(combos[[4]]), 1),
            matrix(NA, ncol(combos[[5]]), 1), matrix(NA, ncol(combos[[6]]), 1),
            matrix(NA, ncol(combos[[7]]), 1), matrix(NA, ncol(combos[[8]]), 1),
            matrix(NA, ncol(combos[[9]]), 1), matrix(NA, ncol(combos[[10]]), 1),
            matrix(NA, ncol(combos[[11]]), 1), matrix(NA, ncol(combos[[12]]), 1),
            matrix(NA, ncol(combos[[13]]), 1), matrix(NA, ncol(combos[[14]]), 1),
            matrix(NA, ncol(combos[[15]]), 1), matrix(NA, ncol(combos[[16]]), 1))
# took ~ 2.5 hrs on my laptop, commented out for safety
#system.time(for(ii in 1:length(combos)) {
#    for(jj in 1:ncol(combos[[ii]])) {
#    sls <- sleepstudy[sleepstudy$Subject %in% combos[[ii]][,jj],]
#    out[[ii]][jj] <- attr(VarCorr(update(m0, data = sls))$Subject, 'stddev')
#        }
#    })

# pad with zeros, not all were equal
# from http://stackoverflow.com/questions/11148429/r-convert-asymmetric-list-to-matrix-number-of-elements-in-each-sub-list-diffe
max.len <- max(sapply(out, length))
corrected.list <- lapply(out, function(x) {c(x, rep(NA, max.len - length(x)))})
mat <- do.call(rbind, corrected.list)
mat <- data.frame(t(mat))
names(mat) <- paste0('s',3:18)
mat <- gather(mat, run, value)

ggplot(mat, aes(x = value, fill = run)) + 
    geom_histogram(bins = 60) +
    geom_vline(xintercept = 37.12, linetype =  'longdash', 
               aes(colour = 'original')) +
    facet_wrap(~run, scales = 'free_y') +
    scale_x_continuous(breaks = seq(0, 100, by = 20)) + 
    theme_bw() + 
    guides(fill = FALSE)

Черная пунктирная линия - это исходная точечная оценка дисперсии, а грани представляют различное количество предметов ( s3будучи группами по три предмета, s4будучи четырьмя и т. Д.). введите описание изображения здесь

И альтернативный способ:

ngroups <- 3:18
reps <- 500
out2<- matrix(NA, length(ngroups), reps)

for (ii in 1:length(ngroups)) {
    for(j in 1:reps) {
        sls <- sleepstudy[sleepstudy$Subject %in% sample(unique(sleepstudy$Subject), ngroups[i], replace = FALSE),]
        out2[i,j] <- attr(VarCorr(update(m0, data = sls))$Subject, 'stddev')
    }
}
out2 <- data.frame(t(out2))
names(out2) <- paste0('s',3:18)
out2 <- gather(out2, run, value)

ggplot(out2, aes(x = value, fill = run)) + 
    geom_histogram(bins = 60) +
    geom_vline(xintercept = 37.12, linetype =  'longdash', 
               aes(colour = 'original')) +
    facet_wrap(~run, scales = 'free_y') +
    scale_x_continuous(breaks = seq(0, 100, by = 20)) + 
    theme_bw() + 
    guides(fill = FALSE)

введите описание изображения здесь

Похоже (для этого примера, во всяком случае), что дисперсия на самом деле не стабилизируется, пока не будет хотя бы 14 субъектов, если не позже.

alexforrence
источник
1
+1. Конечно, чем меньше число субъектов, тем больше дисперсия оценки дисперсии. Но я не думаю, что это имеет значение здесь. Вопрос в том, какое количество предметов позволяет получить ощутимые результаты? Если мы определяем «нечувствительный» результат как получение нулевой дисперсии, то в вашей имитации это происходит довольно часто с n = 5 или менее. Начиная с n = 6 или n = 7, вы почти никогда не получите точную 0-дисперсионную оценку, то есть модель сходится к невырожденному решению. Мой вывод заключается в том, что n = 6 является приемлемой границей.
говорит амеба: восстанови Монику
1
Кстати, это соответствует rpubs.com/bbolker/4187 .
говорит амеба: восстанови Монику
8

В «Эконометрии в основном безвредных» Ангриста и Пишке есть раздел под названием «Менее 42 кластеров», в котором они полушутливо говорят:

Поэтому, следуя ... изречению о том, что ответом на жизнь, вселенную и все остальное является 42, мы считаем, что вопрос заключается в следующем: сколько кластеров достаточно для надежного вывода с использованием стандартной корректировки кластеров [сродни оценке дисперсии в GEE]?

Мой инструктор по эконометрике отвечал на ваши вопросы так: «Америка - свободная страна, вы можете делать все, что захотите. Но если вы хотите, чтобы ваша статья была опубликована, вы должны быть в состоянии защитить то, что вы сделали. " Другими словами, вы, вероятно, сможете запускать код R или Stata, или HLM, или Mplus, или SAS PROC GLIMMIX с 6 субъектами (и переключаться на эти альтернативные пакеты, если один из ваших вариантов не запускается), но, скорее всего, у вас будет очень трудное время отстаивать этот подход и оправдывать асимптотические тесты.

Я считаю, что по умолчанию включение переменной в качестве случайного наклона также подразумевает включение этой переменной в качестве фиксированного эффекта, и вам нужно перепрыгивать через множество синтаксических циклов, если вы хотите, чтобы это было случайным эффектом со средним значением нуль. Это разумный выбор, который разработчики программного обеспечения сделали для вас.

Stask
источник
1
Я понимаю вашу точку зрения, что ответ на этот вопрос в какой-то степени таков: «Как долго это кусок веревки». Но я бы не очень доверял оценке среднего значения или дисперсии по выборке менее 15-20, поэтому такое же правило не применимо к уровням случайного эффекта. Я никогда не видел, чтобы кто-либо включал идентификацию субъекта как фиксированный и случайный эффект в продольных исследованиях - это обычная практика?
Крис
Помимо небольшого числа субъектов в смешанной модели, их случайные эффекты не наблюдаются, поэтому вам нужно вычленить их из данных, и, возможно, вам нужно относительно больше данных, чтобы сделать это надежно, чем при простой оценке среднего и Дисперсия, когда все наблюдается. Таким образом, 42 против 15-20 :). Я думаю, что имел в виду случайные уклоны, так как вы правы в идентификаторах субъектов, представляющих собой случайные эффекты, иначе они не будут идентифицированы. Кстати, экономисты не верят в случайные эффекты и публикуют почти исключительно то, что они называют «фиксированными эффектами», то есть внутрисубъектными оценками.
StasK
2
+1 @StasK за очень хороший ответ на вопрос, с которым очень трудно иметь дело. Я думаю, что есть оттенок ненужного сарказма, и вы могли бы рассмотреть возможность редактирования своего ответа, чтобы быть немного более уважительным к ОП.
Майкл Р. Черник
@ Майкл, вы, вероятно, правы, что это капризный ответ, и, вероятно, излишне. ОП принял ответ, который хотел услышать, поэтому получил решение по этому вопросу. Более серьезный ответ будет указывать либо на хорошее свидетельство моделирования, либо на анализ асимптотики более высокого порядка, но, к сожалению, я не знаю о таких ссылках.
StasK
3
Что бы это ни стоило, я думаю, что магическое число «42» не о том, когда случайные эффекты оправданы, а о том, когда можно уйти, не беспокоясь о поправках конечного размера (например, думая об эффективных степенях свободы знаменателя / поправках Кенварда-Роджера / другие аналогичные подходы).
Бен Болкер
7

Вы также можете использовать байесовскую смешанную модель - в этом случае неопределенность в оценке случайных эффектов полностью учитывается при расчете вероятных интервалов прогнозирования 95%. Например, новый пакет brmsи функция R brmпозволяют очень легко перейти от lme4частой смешанной модели к байесовской, поскольку она имеет почти идентичный синтаксис.

Том Венселерс
источник
4

Я бы не использовал модель случайных эффектов только с 6 уровнями. Модели, использующие 6-уровневый случайный эффект, могут иногда запускаться с использованием многих статистических программ и иногда дают объективные оценки, но:

  1. Я думаю, что в статистическом сообществе существует произвольный консенсус, что 10-20 - это минимальное число. Если вы хотите опубликовать свое исследование, вам посоветуют поискать журнал без статистического обзора (или сможете обосновать свое решение довольно сложным языком).
  2. При таком небольшом числе кластеров дисперсия между кластерами, вероятно, будет плохо оценена. Плохая оценка дисперсии между кластерами обычно приводит к плохой оценке стандартной ошибки коэффициентов, представляющих интерес. (модели случайных эффектов основаны на количестве кластеров, теоретически идущих в бесконечность).
  3. Часто модели просто не сходятся. Вы пробовали запустить свою модель? Я был бы удивлен только 12-16 мерами на предмет, что модели сходятся. Когда мне удалось получить сходную модель, у меня были сотни измерений на кластер.

Эта проблема решена в большинстве стандартных учебников в этой области, и вы как бы обратились к ним в своем вопросе. Я не думаю, что даю вам новую информацию.

Чарльз
источник
Было ли это отклонено по причине, связанной с его техническим содержанием?
N Брауэр
С какими типами данных вы работаете? Я не уверен, почему вы удивлены, услышав, что модель будет сходиться с 12-16 мерами на человека. Я не могу комментировать смещение в полученных моделях, но у меня никогда не было проблем с конвергенцией в lme4смешанных моделях, и я часто запускаю их на образцах схожего размера с OP (я также работаю с наборами данных биологии).
RTbecard
1

Прошло много времени с момента первоначального вопроса, но я подумал, что могу добавить несколько моментов, касающихся выбора модели.

1 - Пока модель идентифицирована (т. Е. У вас есть степени свободы в пространстве параметров), вы сможете ПОПРОБОВАТЬ, чтобы соответствовать модели. В зависимости от метода оптимизации модель может сходиться или не сходиться. В любом случае я бы не попытался включить более 1 или 2 случайных эффектов и определенно не более 1 перекрестного взаимодействия. В конкретном случае проблемы, представленной здесь, если мы подозреваем, что взаимодействия между специфическими характеристиками ящерицы (например, возраст, размер и т. Д.) И размером 6 групп характеристик лечения / измерения может быть недостаточно, чтобы сделать достаточно точные оценки.

2 - Как отмечают несколько ответов, конвергенция может быть проблемой. Однако мой опыт показывает, что хотя у данных по общественным наукам есть огромная проблема сходимости из-за проблем измерения, у наук о жизни и особенно биохимических повторных измерений гораздо меньше стандартных ошибок. Все зависит от процесса генерации данных. В социальных и экономических данных мы должны работать на разных уровнях абстракции. В биологических и химических и, безусловно, астрономических данных ошибка измерения является меньшей проблемой.

m_e_s
источник