Як інтерпретувати коефіцієнти багатоваріантної змішаної моделі в lme4 без загального перехоплення?


10

Я намагаюся встановити багатоваріантну (тобто множину реакцій) змішану модель R. Окрім пакунків ASReml-rта SabreRпакунків (для яких потрібне зовнішнє програмне забезпечення), здається, це можливо лише в MCMCglmm. У статті, що додається до MCMCglmmпакету (с. 6), Джаррод Хадфілд описує процес встановлення такої моделі, як переформатування декількох змінних відповідей в одну змінну довгого формату, а потім придушення загального перехоплення. Я розумію, що придушення перехоплення змінює інтерпретацію коефіцієнта для кожного рівня змінної відповіді як середнє для цього рівня. Враховуючи вищевикладене, чи можливо, відповідно, застосовувати багатоваріантну змішану модель, використовуючи lme4? Наприклад:

data(mtcars)
library(reshape2)
mtcars <- melt(mtcars, measure.vars = c("drat", "mpg", "hp"))
library(lme4)
m1 <- lmer(value ~ -1 + variable:gear + variable:carb + (1 | factor(carb)),
    data = mtcars)
summary(m1)
#  Linear mixed model fit by REML 
#  Formula: value ~ -1 + variable:gear + variable:carb + (1 | factor(carb)) 
#     Data: mtcars 
#   AIC   BIC logLik deviance REMLdev
#   913 933.5 -448.5    920.2     897
#  Random effects:
#   Groups       Name        Variance Std.Dev.
#   factor(carb) (Intercept) 509.89   22.581  
#   Residual                 796.21   28.217  
#  Number of obs: 96, groups: factor(carb), 6
#  
#  Fixed effects:
#                    Estimate Std. Error t value
#  variabledrat:gear  -7.6411     4.4054  -1.734
#  variablempg:gear   -1.2401     4.4054  -0.281
#  variablehp:gear     0.7485     4.4054   0.170
#  variabledrat:carb   5.9783     4.7333   1.263
#  variablempg:carb    3.3779     4.7333   0.714
#  variablehp:carb    43.6594     4.7333   9.224

Як можна інтерпретувати коефіцієнти в цій моделі? Чи може цей метод працювати і для узагальнених лінійних змішаних моделей?

Відповіді:


2

Ваша ідея хороша, але у вашому прикладі ви забули моделювати різні перехоплення та різні випадкові відхилення для кожної ознаки, тому ваш результат не інтерпретується як є. Правильною моделлю було б:

m1 <- lmer(value ~ -1 + variable + variable:gear + variable:carb + (0 + variable | factor(carb))

У такому випадку ви отримаєте оцінки фіксованих ефектів на кожну змінну (наприклад, variabledrat:gearце ефект прогноктора gearна відповідь drat), але ви також отримаєте перехоплення для кожної змінної (наприклад, variabledratдля перехоплення відповіді drat) та випадкової дисперсія кожної змінної та співвідношення між змінними:

Groups       Name         Std.Dev. Corr     
 factor(carb) variabledrat 23.80             
              variablempg  24.27    0.20     
              variablehp   23.80    0.00 0.00
 Residual                  23.80       

Більш детальний опис цих методів був записаний Бен Болкером , а також використання MCMCglmmв байєсівських рамках. Інший новий пакет mcglmтакож може працювати з багатовимірними моделями, навіть із ненормальними відповідями, але вам доведеться кодувати свої матриці випадкових дизайнів. Навчальний посібник повинен бути доступний незабаром (див. Сторінку допомоги R).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.