Bagaimana menafsirkan koefisien model campuran multivariat di lme4 tanpa intersep keseluruhan?

10

Saya mencoba menyesuaikan model campuran multivarian (yaitu, beberapa respons) di R. Selain dari paket ASReml-rdan SabreR(yang memerlukan perangkat lunak eksternal), sepertinya ini hanya mungkin di MCMCglmm. Dalam makalah yang menyertai MCMCglmmpaket (hal.6), Jarrod Hadfield menggambarkan proses pemasangan model seperti seperti membentuk kembali beberapa variabel respon menjadi satu variabel format panjang dan kemudian menekan keseluruhan intersep. Pemahaman saya adalah bahwa menekan intersep mengubah interpretasi koefisien untuk setiap level variabel respon menjadi rata-rata untuk level itu. Mengingat hal di atas, apakah mungkin menggunakan model campuran multivarian lme4? Sebagai contoh:

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

Bagaimana cara menafsirkan koefisien dalam model ini? Apakah metode ini juga berfungsi untuk model campuran linier umum?

Chris
sumber

Jawaban:

2

Ide Anda bagus, tetapi dalam contoh Anda, Anda lupa untuk memodelkan berbagai intersep dan varian acak berbeda untuk setiap sifat, sehingga output Anda tidak dapat ditafsirkan seperti apa adanya. Model yang benar adalah:

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

Dalam hal ini, Anda akan mendapatkan perkiraan efek tetap pada setiap variabel (misalnya, variabledrat:gearadalah efek prediktor gearpada respons drat), tetapi Anda juga akan mendapatkan intersep untuk setiap variabel (misalnya variabledratuntuk intersep respons drat) dan acak varians dari setiap variabel dan korelasi antara variabel:

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       

Deskripsi yang lebih rinci tentang metode ini telah ditulis oleh Ben Bolker , serta penggunaan MCMCglmmdalam kerangka Bayesian. Paket baru lainnya, mcglmjuga dapat menangani model multivarian, bahkan dengan respons yang tidak normal, tetapi Anda harus membuat kode matriks desain acak Anda. Tutorial harus segera tersedia (lihat halaman bantuan R).

Charlotte R
sumber