Случайный эффект блеска, вложенный в фиксированный эффект
Подобные вопросы были заданы здесь https://stats.stackexchange.com/questions/13000/random-effect-nested-under-fixed-effect-model-in-r и здесь https://stats.stackexchange.com/questions/190120/nesting-random-effect-within-fixed-effect-using-lmer-of-lme4-in-r однако у меня возникли проблемы с применением этих ответов к моей конкретной проблеме.
Данные
Участки были созданы в 23 разных местах леса. Каждый участок имеет 4 под-участка. Ответ, который меня интересует, это количество вспомогательных участков, которые содержат успешное дерево. Чтобы избежать псевдорепликации, это моделируется на уровне графика как бином с x успехами (x может быть целым числом [0:4]) в 4 испытаниях. У меня есть два фиксированных эффекта, которые меня интересуют: ограждение и средний размер рассады. Фехтование - это переменная уровня стенда, и avg. Размер рассады измеряется на уровне участка. Поскольку несколько графиков были вложены в одно и то же местоположение, члены моего комитета хотят, чтобы я включил местоположение в качестве случайного эффекта, чтобы учесть отсутствие полной независимости между графиками.
Следующий код имитирует мои данные:
location<-as.character(LETTERS[rep(seq(from=1,to=23),30)])
plot<-rep(seq(from=1,to=30),23)
success<-sample(0:4,690,replace=T)
n_subplots<-rep(4,690)
df<-data.frame(location,plot,success,n_subplots)
df$FENCED<-ifelse(df$location %in% c("A","B","C","D","E","F","G"),
1,0)
df$seedling_size<-df$success*.05+rnorm(1,0,2.5)+.1*df$FENCED
df$success<-ifelse(df$success>2 & df$FENCED ==1, df$success-2,df$success)
df$success<-ifelse(df$location %in% c("A","J","L"),df$success-1,df$success)
df$success<-ifelse(df$success<0,0,df$success)
df<-df[order(df$location,df$plot),]
Модель
Я хочу проверить эффект ограждения сам по себе, а также возможное взаимодействие между ограждением и размером рассады (забор защищает мелкую рассаду от оленей). Это модель, которую я использую:
model<-glmer(cbind(success,n_subplots)~FENCED*seedling_size +
(FENCED|location),
family=binomial(),data=df,nAGQ=1)
summary(model)
Итоговые результаты
Random effects:
Groups Name Variance Std.Dev. Corr
location (Intercept) 6.412e-08 0.0002532
FENCED 2.714e-02 0.1647464 0.30
Number of obs: 690, groups: location, 23
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 13.9404 0.8173 17.057 < 2e-16 ***
FENCED -7.1809 1.4386 -4.991 5.99e-07 ***
seedling_size 12.9083 0.7257 17.787 < 2e-16 ***
FENCED:seedling_size -5.2464 1.3464 -3.897 9.76e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) FENCED sdlng_
FENCED -0.568
seedling_sz 0.999 -0.567
FENCED:sdl_ -0.538 0.996 -0.539
convergence code: 0
Model failed to converge with max|grad| = 0.00261073 (tol = 0.001, component 1)
Вопросы
Это правильный синтаксис для указания модели, которую я хочу? Как интерпретировать результаты? Ограждение появляется как в случайной сводке, так и в фиксированных эффектах. Наконец, что может быть причиной предупреждения о сходимости и как его устранить?
По крайней мере, из-за проблем сходимости, я запустил модель на всех различных оптимизаторах, как это было предложено здесь: https://www.rdocumentation.org/packages/lme4/versions/1.1-17/topics/convergence Оценки и значения эффектов были одинаковыми. между оптимизаторами, и все, кроме 1 были "ОК" или "работал". Что бы это ни значило конкретно для меня, неясно, кроме того, что это не проблема с методом приближения. Тем не менее, делать что-то вроде "Экстраполяция Ричардсона" немного над моей головой.
1 ответ
Похоже, чтоmodel<-glmer(cbind(success,n_subplots)~FENCED*seedling_size + (1|location)...
Предоставляет соответствующую структуру на основе этой полезной ссылки https://rcompanion.org/rcompanion/d_07.html
Отмечу что model<-glmer(cbind(success,n_subplots)~FENCED*seedling_size + (1|FENCED:location)
делает то же самое Использование разных синтаксисов для одной и той же вещи - вот что помогло мне запутать в первую очередь.
Я оставлю этот вопрос открытым на некоторое время, если я ошибаюсь, и в этом случае я приветствую исправление.