У меня есть несколько вопросов, касающихся спецификации и интерпретации GLMM. 3 вопроса, безусловно, являются статистическими, а 2 - более конкретно о R. Я пишу здесь, потому что, в конечном счете, я думаю, что проблема заключается в интерпретации результатов GLMM.
В настоящее время я пытаюсь соответствовать GLMM. Я использую данные переписи США из базы данных продольных трактов . Мои наблюдения - это переписные участки. Моя зависимая переменная - это количество вакантных жилищных единиц, и меня интересует связь между вакансией и социально-экономическими переменными. Пример здесь прост, просто используются два фиксированных эффекта: процент небелого населения (раса) и средний доход домохозяйства (класс), а также их взаимодействие. Я хотел бы включить два вложенных случайных эффекта: тракты в течение десятилетий и десятилетий, т. Е. (Декада / тракт). Я рассматриваю их как случайные, чтобы контролировать пространственную (то есть между участками) и временную (то есть между десятилетиями) автокорреляцию. Тем не менее, меня интересует десятилетие как фиксированный эффект, поэтому я включаю его и как фиксированный фактор.
Поскольку моя независимая переменная является неотрицательной переменной целого числа, я пытался подогнать пуассоновские и отрицательные биномиальные GLMM. Я использую журнал общих единиц жилья в качестве зачета. Это означает, что коэффициенты интерпретируются как влияние на уровень вакантных площадей, а не на общее количество вакантных домов.
В настоящее время у меня есть результаты для Пуассона и отрицательного биномиального GLMM, оцененные с использованием glmer и glmer.nb из lme4 . Интерпретация коэффициентов имеет смысл для меня, основываясь на моих знаниях данных и области исследования.
Если вам нужны данные и скрипт, они есть на моем Github . Сценарий включает в себя больше описательных исследований, которые я проводил до создания моделей.
Вот мои результаты:
Модель Пуассона
Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
Family: poisson ( log )
Formula: R_VAC ~ decade + P_NONWHT + a_hinc + P_NONWHT * a_hinc + offset(HU_ln) + (1 | decade/TRTID10)
Data: scaled.mydata
AIC BIC logLik deviance df.resid
34520.1 34580.6 -17250.1 34500.1 3132
Scaled residuals:
Min 1Q Median 3Q Max
-2.24211 -0.10799 -0.00722 0.06898 0.68129
Random effects:
Groups Name Variance Std.Dev.
TRTID10:decade (Intercept) 0.4635 0.6808
decade (Intercept) 0.0000 0.0000
Number of obs: 3142, groups: TRTID10:decade, 3142; decade, 5
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.612242 0.028904 -124.98 < 2e-16 ***
decade1980 0.302868 0.040351 7.51 6.1e-14 ***
decade1990 1.088176 0.039931 27.25 < 2e-16 ***
decade2000 1.036382 0.039846 26.01 < 2e-16 ***
decade2010 1.345184 0.039485 34.07 < 2e-16 ***
P_NONWHT 0.175207 0.012982 13.50 < 2e-16 ***
a_hinc -0.235266 0.013291 -17.70 < 2e-16 ***
P_NONWHT:a_hinc 0.093417 0.009876 9.46 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) dc1980 dc1990 dc2000 dc2010 P_NONWHT a_hinc
decade1980 -0.693
decade1990 -0.727 0.501
decade2000 -0.728 0.502 0.530
decade2010 -0.714 0.511 0.517 0.518
P_NONWHT 0.016 0.007 -0.016 -0.015 0.006
a_hinc -0.023 -0.011 0.023 0.022 -0.009 0.221
P_NONWHT:_h 0.155 0.035 -0.134 -0.129 0.003 0.155 -0.233
convergence code: 0
Model failed to converge with max|grad| = 0.00181132 (tol = 0.001, component 1)
Отрицательная биноминальная модель
Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
Family: Negative Binomial(25181.5) ( log )
Formula: R_VAC ~ decade + P_NONWHT + a_hinc + P_NONWHT * a_hinc + offset(HU_ln) + (1 | decade/TRTID10)
Data: scaled.mydata
AIC BIC logLik deviance df.resid
34522.1 34588.7 -17250.1 34500.1 3131
Scaled residuals:
Min 1Q Median 3Q Max
-2.24213 -0.10816 -0.00724 0.06928 0.68145
Random effects:
Groups Name Variance Std.Dev.
TRTID10:decade (Intercept) 4.635e-01 6.808e-01
decade (Intercept) 1.532e-11 3.914e-06
Number of obs: 3142, groups: TRTID10:decade, 3142; decade, 5
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.612279 0.028946 -124.79 < 2e-16 ***
decade1980 0.302897 0.040392 7.50 6.43e-14 ***
decade1990 1.088211 0.039963 27.23 < 2e-16 ***
decade2000 1.036437 0.039884 25.99 < 2e-16 ***
decade2010 1.345227 0.039518 34.04 < 2e-16 ***
P_NONWHT 0.175216 0.012985 13.49 < 2e-16 ***
a_hinc -0.235274 0.013298 -17.69 < 2e-16 ***
P_NONWHT:a_hinc 0.093417 0.009879 9.46 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) dc1980 dc1990 dc2000 dc2010 P_NONWHT a_hinc
decade1980 -0.693
decade1990 -0.728 0.501
decade2000 -0.728 0.502 0.530
decade2010 -0.715 0.512 0.517 0.518
P_NONWHT 0.016 0.007 -0.016 -0.015 0.006
a_hinc -0.023 -0.011 0.023 0.022 -0.009 0.221
P_NONWHT:_h 0.154 0.035 -0.134 -0.129 0.003 0.155 -0.233
Пуассоновские тесты DHARMa
One-sample Kolmogorov-Smirnov test
data: simulationOutput$scaledResiduals
D = 0.044451, p-value = 8.104e-06
alternative hypothesis: two-sided
DHARMa zero-inflation test via comparison to expected zeros with simulation under H0 = fitted model
data: simulationOutput
ratioObsExp = 1.3666, p-value = 0.159
alternative hypothesis: more
Отрицательные биномиальные тесты DHARMa
One-sample Kolmogorov-Smirnov test
data: simulationOutput$scaledResiduals
D = 0.04263, p-value = 2.195e-05
alternative hypothesis: two-sided
DHARMa zero-inflation test via comparison to expected zeros with simulation under H0 = fitted model
data: simulationOutput2
ratioObsExp = 1.376, p-value = 0.174
alternative hypothesis: more
Участки дхарма
Пуассон
Отрицательный бином
Статистические вопросы
Так как я все еще выясняю GLMM, я не уверен в спецификации и интерпретации. У меня есть несколько вопросов:
Похоже, мои данные не поддерживают использование модели Пуассона, и поэтому мне лучше с отрицательным биномом. Однако я постоянно получаю предупреждения о том, что мои отрицательные биномиальные модели достигают своего предела итерации, даже когда я увеличиваю максимальный предел. «В theta.ml (Y, mu, weights = object @ resp $ weights, limit = limit,: достигнут предел итерации.» Это происходит с использованием довольно многих различных спецификаций (то есть минимальных и максимальных моделей для фиксированных и случайных эффектов). Я также попытался удалить выбросы в моем иждивенце (брутто, я знаю!), Поскольку верхние 1% значений очень сильно отличаются (нижние 99% находятся в диапазоне от 0 до 1012, верхние 1% - от 1013 до 5213). не влияет на итерации и очень мало влияет на коэффициенты. Я не включаю эти детали здесь. Коэффициенты между Пуассоном и отрицательным биномом также очень похожи. Является ли это отсутствие конвергенции проблемой? Подходит ли отрицательная биноминальная модель? Я также запустил отрицательную биномиальную модель, используяAllFit и не все оптимизаторы выдают это предупреждение (bobyqa, Nelder Mead и nlminbw не сделали).
Дисперсия для моего фиксированного эффекта десятилетия постоянно очень низкая или равна 0. Я понимаю, что это может означать, что модель подходит больше. Удаление десятилетия из фиксированных эффектов действительно увеличивает дисперсию случайного эффекта десятилетия до 0,2620 и не оказывает большого влияния на коэффициенты фиксированного эффекта. Что-то не так с этим? Я прекрасно понимаю, что это просто не нужно для объяснения различий между наблюдениями.
Эти результаты указывают на то, что я должен попробовать модели с нулевым уровнем инфляции? DHARMa, похоже, предполагает, что нулевая инфляция не может быть проблемой. Если вы думаете, что я все равно должен попробовать, см. Ниже.
R вопросы
Я хотел бы попробовать модели с нулевым раздувом, но я не уверен, какой пакет подразумевает вложенные случайные эффекты для нулевых раздуваемых пуассоновских и отрицательных биномиальных GLMM. Я бы использовал glmmADMB для сравнения AIC с моделями с нулевым раздувом, но он ограничен одним случайным эффектом, поэтому не работает для этой модели. Я мог бы попробовать MCMCglmm, но я не знаю байесовской статистики, так что это тоже не привлекательно. Есть еще варианты?
Могу ли я отображать экспоненциальные коэффициенты в сводке (модели), или мне нужно делать это вне сводки, как я это сделал здесь?
bobyqa
оптимизатор, и он не выдал никакого предупреждения. В чем проблема тогда? Просто используйте bobyqa
.
bobyqa
сходится лучше, чем оптимизатор по умолчанию (и я думаю, я где-то читал, что он станет по умолчанию в будущих версиях lme4
). Я не думаю, что вам нужно беспокоиться о несовпадении с оптимизатором по умолчанию, если он действительно сходится с bobyqa
.
decade
как фиксированное, так и случайное значение не имеет смысла. Либо имейте его как фиксированный и включайте только(1 | decade:TRTID10)
как случайный (что эквивалентно(1 | TRTID10)
предположению, что у васTRTID10
нет одинаковых уровней в течение разных десятилетий), либо удалите его из фиксированных эффектов. Только с 4 уровнями вам, возможно, будет лучше исправить это: обычная рекомендация - подбирать случайные эффекты, если у вас есть 5 или более уровней.