Сравнение смешанной модели (субъект как случайный эффект) с простой линейной моделью (субъект как фиксированный эффект)


10

Я заканчиваю анализ большого набора данных. Я хотел бы взять линейную модель, использованную в первой части работы, и переоснастить ее, используя линейную смешанную модель (LME). LME будет очень похожим, за исключением того, что одна из переменных, используемых в модели, будет использоваться в качестве случайного эффекта. Эти данные получены из многих наблюдений (> 1000) в небольшой группе субъектов (~ 10), и я знаю, что моделирование эффекта субъекта лучше выполнять как случайный эффект (это переменная, которую я хочу сместить). Код R будет выглядеть так:

my_modelB <- lm(formula = A ~ B + C + D)    
lme_model <- lme(fixed=A ~ B + C, random=~1|D, data=my_data, method='REML')

Все работает отлично, и результаты очень похожи. Было бы неплохо, если бы я мог использовать что-то вроде RLRsim или AIC / BIC, чтобы сравнить эти две модели и решить, какая из них наиболее подходящая. Мои коллеги не хотят сообщать о LME, потому что нет легкодоступного способа выбора «лучше», хотя я думаю, что LME - более подходящая модель. Какие-либо предложения?

Ответы:


6

Это нужно добавить к ответу @ ocram, потому что он слишком длинный, чтобы оставлять комментарии. Я бы отнесся A ~ B + Cк вашей нулевой модели, чтобы вы могли оценить статистическую значимость Dслучайного перехвата на уровне вложенных моделей. Как указал Окрам, условия регулярности нарушаются, когда , и тестовая статистика отношения правдоподобия (LRT) не обязательно будет асимптотически распределена χ 2 . Решение, которому меня учили, состояло в том, чтобы загрузить LRT (чье распределение при начальной загрузке, скорее всего, не будет ) параметрически и вычислить p-значение начальной загрузки следующим образом:H0:σ2=0χ2χ2

library(lme4)
my_modelB <- lm(formula = A ~ B + C)
lme_model <- lmer(y ~ B + C + (1|D), data=my_data, REML=F)
lrt.observed <- as.numeric(2*(logLik(lme_model) - logLik(my_modelB)))
nsim <- 999
lrt.sim <- numeric(nsim)
for (i in 1:nsim) {
    y <- unlist(simulate(mymodlB))
    nullmod <- lm(y ~ B + C)
    altmod <- lmer(y ~ B + C + (1|D), data=my_data, REML=F)
    lrt.sim[i] <- as.numeric(2*(logLik(altmod) - logLik(nullmod)))
}
mean(lrt.sim > lrt.observed) #pvalue

Доля загруженных LRT более экстремальна, чем наблюдаемая LRT, является p-значением.


Спасибо за завершение моего ответа. Кроме того, иногда люди используют смесь хи-квадратов вместо распределения хи-квадратов для статистики теста.
Октябрь

@ocram +1 за ваш комментарий о том, следует ли рассматривать переменную как случайную или фиксированную отдельно от анализа. @MudPhud Если ваш ИП не понимает проблему и настаивает на значении p, то, возможно, просто покажите ему результат теста случайного эффекта (который вы в любом случае включите в описание).
закрыто

Спасибо за код. Когда я запустил его, результат - ни один из загруженных LRT больше, чем наблюдаемый, так что это означает, что я могу придерживаться lm без случайных эффектов или даже с добавленной оригинальной переменной.
MudPhud

@MudPhud: вы получили какие-либо ошибки? Попробуйте набрать, lrt.simчтобы убедиться, что они не все нули, и в этом случае наиболее вероятным виновником будет то, что у вас не установлен пакет lme4.
закрыто

Они не 0, просто очень маленькие (~ 1e-6) по сравнению с наблюдаемыми (63,95).
MudPhud

2

0H0:variance=0H1:variance>0...

РЕДАКТИРОВАТЬ

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


Вопрос в следующем: есть ли тест, чтобы решить, должна ли переменная моделироваться как смешанный или случайный эффект? В противном случае вы можете выполнить тест, который вы описали, а затем протестировать его с помощью хи-квадрат (я не уверен, какой будет соответствующий тест).
MudPhud

2
@MudPhud: Моделирование переменной как фиксированного или случайного эффекта на самом деле должно быть решено до анализа, когда планируется исследование. Это зависит, в частности, от объема ваших выводов. Случайные эффекты допускают большую обобщаемость. Это также может избежать некоторых технических трудностей. Например, асимптотика может нарушиться при увеличении количества параметров, как это имеет место, когда категориальная переменная с большим количеством уровней рассматривается как фиксированная переменная.
Октябрь

Я согласен, но когда я попытался объяснить это своему PI, он просто обернулся и попросил какую-то p-величину. Я хочу включить этот анализ в рукопись, но он не вставит ее, если нет более конкретного обоснования.
MudPhud

1
@MudPhud: Насколько я знаю, для такого решения нет p-значения. Если интерес сосредоточен на влиянии определенных уровней, то его следует считать фиксированным. Если доступные уровни факторов рассматриваются как случайная выборка из большей популяции и что выводы требуются для большей популяции, эффект должен быть случайным.
Октябрь
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.