Rasgele efektli modeller için lmer ile varyans bileşenleri nasıl tahmin edilir ve lme sonuçlarıyla karşılaştırılır


14

İki farklı kaynak popülasyondan gelen farklı aileleri yetiştirdiğim bir deney yaptım. Her aileye iki tedaviden biri verildi. Deneyden sonra her bireyin çeşitli özelliklerini ölçtüm. Tedavinin veya kaynağın etkisinin yanı sıra etkileşimlerini de test etmek için, rastgele faktör olarak ailesi ile doğrusal bir karma etki modeli kullandım, yani

lme(fixed=Trait~Treatment*Source,random=~1|Family,method="ML")

Şimdiye kadar çok iyi, Şimdi göreli varyans bileşenlerini, yani tedavinin veya kaynağın yanı sıra etkileşim tarafından açıklanan varyasyon yüzdesini hesaplamalıyım.

Rastgele bir etki olmadan, her faktörün açıkladığı varyansı hesaplamak için karelerin toplamlarını (SS) kolayca kullanabilirim. Ancak karışık bir model için (ML tahmini ile), SS yoktur, bu nedenle, varyansı tahmin etmek için Tedavi ve Kaynağı rastgele etkiler olarak da kullanabileceğimi düşündüm, yani

lme(fixed=Trait~1,random=~(Treatment*Source)|Family, method="REML")

Ancak, bazı durumlarda, lme birleşmez, bu nedenle lme4 paketinden lmer kullandım:

lmer(Trait~1+(Treatment*Source|Family),data=DATA)

Özet işlevini kullanarak modeldeki varyansları ayıkladığımda:

model<-lmer(Trait~1+(Treatment*Source|Family),data=regrexpdat)
results<-VarCorr(model)
variances<-results[,3]

VarCorr işlevi ile aynı değerleri alıyorum. Toplamı toplam varyasyon olarak alarak varyasyonun gerçek yüzdesini hesaplamak için bu değerleri kullanırım.

Mücadele ettiğim yer, ilk lme modelinden (tedavi ve kaynak sabit etkilerle) ve varyans bileşenlerini tahmin etmek için rastgele modelden (tedavi ve rastgele etki olarak kaynak ile) sonuçların yorumlanmasıdır. Çoğu durumda, her bir faktör tarafından açıklanan varyans yüzdesinin sabit etkinin önemine karşılık gelmediğini görüyorum.

Örneğin, HD özelliği için, Başlangıç ​​lme, etkileşim için bir eğilimin yanı sıra Tedavi için de bir öneme sahiptir. Geriye dönük bir prosedür kullanarak, Tedavinin önemli bir eğilime yakın olduğunu görüyorum. Ancak, varyans bileşenlerini tahmin ederken, Kaynak'ın toplam varyansın% 26.7'sine kadar olan en yüksek varyansa sahip olduğunu düşünüyorum.

Lme:

anova(lme(fixed=HD~as.factor(Treatment)*as.factor(Source),random=~1|as.factor(Family),method="ML",data=test),type="m")
                                      numDF denDF  F-value p-value
(Intercept)                                1   426 0.044523  0.8330
as.factor(Treatment)                       1   426 5.935189  0.0153
as.factor(Source)                          1    11 0.042662  0.8401
as.factor(Treatment):as.factor(Source)     1   426 3.754112  0.0533

Ve lmer:

summary(lmer(HD~1+(as.factor(Treatment)*as.factor(Source)|Family),data=regrexpdat))
Linear mixed model fit by REML 
Formula: HD ~ 1 + (as.factor(Treatment) * as.factor(Source) | Family) 
   Data: regrexpdat 
    AIC    BIC logLik deviance REMLdev
 -103.5 -54.43  63.75   -132.5  -127.5
Random effects:
 Groups   Name                                      Variance  Std.Dev. Corr                 
 Family   (Intercept)                               0.0113276 0.106431                      
          as.factor(Treatment)                      0.0063710 0.079819  0.405               
          as.factor(Source)                         0.0235294 0.153393 -0.134 -0.157        
          as.factor(Treatment)L:as.factor(Source)   0.0076353 0.087380 -0.578 -0.589 -0.585 
 Residual                                           0.0394610 0.198648                      
Number of obs: 441, groups: Family, 13

Fixed effects:
            Estimate Std. Error t value
(Intercept) -0.02740    0.03237  -0.846

Dolayısıyla sorum şu, yaptığım doğru mu? Veya her bir faktör (yani Tedavi, Kaynak ve etkileşimleri) tarafından açıklanan varyans miktarını tahmin etmek için başka bir yol kullanmalı mıyım. Örneğin, etki boyutları daha uygun bir yol olabilir mi?


Tedavi faktörü, kaynak faktörü (yalancı çoğaltma?) Kadar 40x serbestlik derecesine sahiptir. Bu şüphesiz tedavi P-değerini düşürmektedir.

Yanıtlar:


1

Her bir faktörün bir modele göreli katkısını belirlemenin yaygın bir yolu, faktörü kaldırmak ve göreceli olabilirliği ki-kare testi gibi bir şeyle karşılaştırmaktır:

pchisq(logLik(model1) - logLik(model2), 1)

İşlevler arasındaki olasılıkların hesaplanma şekli biraz farklı olabileceğinden, bunları yalnızca aynı yöntem arasında karşılaştırırım.


1
öyle değil mi 1-pchisq(logLik(model1) - logLik(model2), 1)?
user81411
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.