Çapraz vs iç içe rasgele efektler: bunlar nasıl farklılık gösterir ve lme4'te doğru olarak nasıl belirtilir?


88

İşte nasıl iç içe geçmiş çapraz rastgele etkilerini anladım:

İç içe rasgele efektler , bir alt seviye faktörü yalnızca bir üst seviye faktörünün belirli bir düzeyinde göründüğünde ortaya çıkar.

  • Örneğin, sınıftaki öğrenciler belirli bir zamanda sabit bir noktada.
  • Gelen lme4Yani, iki eşdeğer yöntemden biriyle iç içe veriler için rasgele etkiler nedeniyle oluştuğu düşünülmektedir:

    (1|class/pupil)  # or  
    (1|class) + (1|class:pupil)

Çapraz rastgele etkiler , verilen bir faktörün, üst seviye faktörün birden fazla seviyesinde göründüğü anlamına gelir.

  • Örneğin, birkaç yıl içinde ölçülen sınıflar içinde öğrenciler vardır.
  • Olarak lme4, biz yazarsınız:

    (1|class) + (1|pupil)

Ancak, belirli bir yuvalanmış veri kümesine bakarken, her iki model formülünün de aynı sonuçları verdiğini fark ettim (aşağıdaki kod ve çıktı). Bununla birlikte, iki formülün farklı sonuçlar verdiği başka veri kümelerini de gördüm. Peki burada neler oluyor?

mydata <- read.csv("https://web.archive.org/web/20160624172041if_/http://www-personal.umich.edu/~bwest/classroom.csv")
# (the data is no longer at `http://www-personal.umich.edu/~bwest/classroom.csv`
# hence the link to web.archive.org)
# Crossed version: 
Linear mixed model fit by REML ['lmerMod']
Formula: mathgain ~ (1 | schoolid) + (1 | classid)
   Data: mydata

REML criterion at convergence: 11768.8

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.6441 -0.5984 -0.0336  0.5334  5.6335 

Random effects:
 Groups   Name        Variance Std.Dev.
 classid  (Intercept)   99.23   9.961  
 schoolid (Intercept)   77.49   8.803  
 Residual             1028.23  32.066  
Number of obs: 1190, groups:  classid, 312; schoolid, 107


# Nested version:
Formula: mathgain ~ (1 | schoolid/classid)

REML criterion at convergence: 11768.8

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.6441 -0.5984 -0.0336  0.5334  5.6335 

Random effects:
 Groups           Name        Variance Std.Dev.
 classid:schoolid (Intercept)   99.23   9.961  
 schoolid         (Intercept)   77.49   8.803  
 Residual                     1028.23  32.066  
Number of obs: 1190, groups:  classid:schoolid, 312; schoolid, 107

Yanıtlar:


148

(Bu oldukça uzun bir cevap, sonunda bir özeti var)

Tarif ettiğiniz senaryoda iç içe geçmiş ve çapraz olarak rastgele etkilerin ne olduğunu anlamada yanlış değilsiniz. Bununla birlikte, rastgele çapraz etki tanımınız biraz dardır. Çapraz rastgele etkilerin daha genel bir tanımı basitçe: iç içe değil . Bu cevabın sonunda buna bakacağız, ancak cevabın büyük kısmı, sunduğunuz senaryoya, okullardaki sınıflara odaklanacak.

İlk not:

Yerleştirme, modelin değil, verilerin veya deneysel tasarımın bir özelliğidir.

Ayrıca,

İç içe veriler en az 2 farklı şekilde kodlanabilir ve bu bulduğunuz sorunun özüdür.

Örnekteki veri kümesi oldukça büyük, bu yüzden sorunları açıklamak için internetten başka bir okul örneği kullanacağım. Ancak önce, aşağıdaki aşırı basitleştirilmiş örneği düşünün:

görüntü tanımını buraya girin

Burada, tanıdık bir senaryo olan okullara yerleştirilmiş sınıflarımız var. Buradaki önemli nokta, her okul arasında , yuvalanmış olmalarında farklı olsalar da , sınıfların aynı tanımlayıcıya sahip olmalarıdır . Class1görünür School1, School2ve School3. Ancak veriler daha sonra iç içe eğer Class1içinde School1olduğu değil olarak aynı ölçü birimi Class1içinde School2ve School3. Onlar aynı olsaydı, o zaman şu duruma sahip olurduk:

görüntü tanımını buraya girin

Bu, her sınıfın her okula ait olduğu anlamına gelir. Eski iç içe geçmiş bir tasarımdır ve ikincisi ise çapraz tasarımdır (bazıları ona birden fazla üyelik de diyebilir) ve bunları şu şekilde lme4kullanarak formüle ederiz :

(1|School/Class) Veya eşdeğer olarak (1|School) + (1|Class:School)

ve

(1|School) + (1|Class)

sırasıyla. Rasgele etkilerin iç içe geçip geçmediğinin belirsizliği nedeniyle, aşağıda göstereceğimiz gibi, bu modeller farklı sonuçlar üreteceğinden modeli doğru bir şekilde belirtmek çok önemlidir. Dahası, sadece verileri inceleyerek, iç içe ya da rastgele etkilerimizin geçtiğini bilmek mümkün değildir. Bu sadece veriler ve deneysel tasarım bilgisi ile belirlenebilir .

Fakat önce sınıf değişkeninin okullar arasında benzersiz bir şekilde kodlandığı bir durumu düşünelim:

görüntü tanımını buraya girin

İç içe geçme veya geçişle ilgili artık hiçbir belirsizlik yoktur. Yuvalama açıktır. (Etiketli Şimdi biz 6 okullarımız var R, bir örnekle görelim I- VI) her okula (etiketli içinde ve 4 sınıflar aiçin d):

> dt <- read.table("http://bayes.acs.unt.edu:8083/BayesContent/class/Jon/R_SC/Module9/lmm.data.txt",
                   header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)
> # data was previously publicly available from
> # http://researchsupport.unt.edu/class/Jon/R_SC/Module9/lmm.data.txt
> # but the link is now broken
> xtabs(~ school + class, dt)

        class
school  a  b  c  d
   I   50 50 50 50
   II  50 50 50 50
   III 50 50 50 50
   IV  50 50 50 50
   V   50 50 50 50
   VI  50 50 50 50

Bu çapraz tablolamadan, her okul kimliğinin, çapraz rastgele etki tanımını yerine getiren her okul kimliğinin göründüğünü görebiliyoruz (bu durumda tam olarak , kısmen rastgele çarpı rastgele etkilerin aksine , her okul her okulda ortaya çıkmaktadır). Demek ki, yukarıdaki ilk rakamda gördüğümüz durum bu. Bununla birlikte, veriler gerçekten iç içe geçmiş ve geçilmemişse, açıkça şunu söylememiz gerekir lme4:

> m0 <- lmer(extro ~ open + agree + social + (1 | school/class), data = dt)
> summary(m0)

Random effects:
 Groups       Name        Variance Std.Dev.
 class:school (Intercept)  8.2043  2.8643  
 school       (Intercept) 93.8421  9.6872  
 Residual                  0.9684  0.9841  
Number of obs: 1200, groups:  class:school, 24; school, 6

Fixed effects:
              Estimate Std. Error t value
(Intercept) 60.2378227  4.0117909  15.015
open         0.0061065  0.0049636   1.230
agree       -0.0076659  0.0056986  -1.345
social       0.0005404  0.0018524   0.292

> m1 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |class), data = dt)
summary(m1)

Random effects:
 Groups   Name        Variance Std.Dev.
 school   (Intercept) 95.887   9.792   
 class    (Intercept)  5.790   2.406   
 Residual              2.787   1.669   
Number of obs: 1200, groups:  school, 6; class, 4

Fixed effects:
             Estimate Std. Error t value
(Intercept) 60.198841   4.212974  14.289
open         0.010834   0.008349   1.298
agree       -0.005420   0.009605  -0.564
social      -0.001762   0.003107  -0.567

Beklendiği gibi, çünkü sonuçları farklı m0bir iç içe modeli varkenm1 çaprazlanmış bir modeldir.

Şimdi, sınıf tanımlayıcısı için yeni bir değişken tanıtırsak:

> dt$classID <- paste(dt$school, dt$class, sep=".")
> xtabs(~ school + classID, dt)

      classID
school I.a I.b I.c I.d II.a II.b II.c II.d III.a III.b III.c III.d IV.a IV.b
   I    50  50  50  50    0    0    0    0     0     0     0     0    0    0
   II    0   0   0   0   50   50   50   50     0     0     0     0    0    0
   III   0   0   0   0    0    0    0    0    50    50    50    50    0    0
   IV    0   0   0   0    0    0    0    0     0     0     0     0   50   50
   V     0   0   0   0    0    0    0    0     0     0     0     0    0    0
   VI    0   0   0   0    0    0    0    0     0     0     0     0    0    0

      classID
school IV.c IV.d V.a V.b V.c V.d VI.a VI.b VI.c VI.d
   I      0    0   0   0   0   0    0    0    0    0
   II     0    0   0   0   0   0    0    0    0    0
   III    0    0   0   0   0   0    0    0    0    0
   IV    50   50   0   0   0   0    0    0    0    0
   V      0    0  50  50  50  50    0    0    0    0
   VI     0    0   0   0   0   0   50   50   50   50

Çapraz tablo, her sınıf seviyesinin, yuvalama tanımınıza göre yalnızca bir okul düzeyinde gerçekleştiğini gösterir. Bu aynı zamanda verileriniz için de geçerlidir, ancak verilerinizle bunu göstermek zordur çünkü çok seyrektir. Her iki model formülasyonu şimdi aynı çıktıyı üretecektir ( m0yukarıdaki iç içe modelinki ):

> m2 <- lmer(extro ~ open + agree + social + (1 | school/classID), data = dt)
> summary(m2)

Random effects:
 Groups         Name        Variance Std.Dev.
 classID:school (Intercept)  8.2043  2.8643  
 school         (Intercept) 93.8419  9.6872  
 Residual                    0.9684  0.9841  
Number of obs: 1200, groups:  classID:school, 24; school, 6

Fixed effects:
              Estimate Std. Error t value
(Intercept) 60.2378227  4.0117882  15.015
open         0.0061065  0.0049636   1.230
agree       -0.0076659  0.0056986  -1.345
social       0.0005404  0.0018524   0.292

> m3 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |classID), data = dt)
> summary(m3)

Random effects:
 Groups   Name        Variance Std.Dev.
 classID  (Intercept)  8.2043  2.8643  
 school   (Intercept) 93.8419  9.6872  
 Residual              0.9684  0.9841  
Number of obs: 1200, groups:  classID, 24; school, 6

Fixed effects:
              Estimate Std. Error t value
(Intercept) 60.2378227  4.0117882  15.015
open         0.0061065  0.0049636   1.230
agree       -0.0076659  0.0056986  -1.345
social       0.0005404  0.0018524   0.292

Çapraz rastgele etkilerin aynı faktör içinde gerçekleşmesi gerekmediğine dikkat çekmek önemlidir - yukarıdakilerde geçit tamamen okulda olmuştur. Bununla birlikte, durum böyle olmak zorunda değildir ve çok sık değildir. Örneğin, bir okul senaryosuna sadık kalarak, eğer okullardaki sınıflar yerine okullardaki öğrencilerimiz varsa ve öğrencilerin kaydolduğu doktorlarla da ilgileniyorsak, o zaman da doktorların içine yerleştirilmiş öğrencilerimiz olur. Doktorların içinde okulların yuvaları yoktur, ya da tam tersi, bu aynı zamanda çapraz rastgele etkilerin bir örneğidir ve biz okulların ve doktorların çapraz olduğunu söylüyoruz. Çapraz rastgele etkilerin meydana geldiği benzer bir senaryo, bireysel gözlemlerin eşzamanlı olarak iki faktörün içine yerleştirildiği, bunun da sıklıkla tekrarlanan önlemler ile gerçekleştiği durumdur.konu öğesi verileri. Tipik olarak her denek, farklı nesnelerle / üzerinde birçok kez ölçülür / test edilir ve bu aynı maddeler farklı denekler tarafından ölçülür / test edilir. Dolayısıyla, gözlemler nesneler içinde ve nesnelerin içinde kümelenir , ancak nesneler nesnelerin içine yerleştirilmez veya tam tersi olur. Yine, konuların ve öğelerin çarpıştıklarını söylüyoruz .

Özet: TL; DR

Çaprazlanmış ve iç içe rasgele etkiler arasındaki fark, iç içe rasgele etkilerin yalnızca bir faktörün (gruplama değişkeni) yalnızca başka bir faktörün (gruplama değişkeni) belirli bir düzeyde göründüğü zaman ortaya çıkmasıdır. Bu, ile belirtilir lme4:

(1|group1/group2)

nerede group2içinde yuvalanmış group1.

Çapraz rastgele efektler basit: iç içe değil . Bu, bir faktörün diğerinin her ikisine de ayrı ayrı yerleştirildiği üç veya daha fazla gruplandırma değişkeniyle (faktörler) veya bireysel gözlemlerin iki faktörde ayrı olarak yerleştirildiği iki veya daha fazla faktörle oluşabilir. Bunlar ile belirtilmiştir lme4:

(1|group1) + (1|group2)


16
+6, bu gerçekten güzel bir cevap. Birkaç gün içinde bana hatırlat & üzerine bir ödül vereceğim.
gung

2
Mükemmel açıklama İki faktör için benzersiz seviyeler yarattığınız (muhtemelen iç içe geçmiş) olası üçüncü tür bir deneysel tasarımın adı var mı? Öyleyse, farklı şehirlerdeki farklı bayilerden motosiklet satın alan kohortları takip edersem, temelde okuduğum okuyucularla nasıl iletişim kurabilirim? tek bir seviye faktörü yarattı interaction(city, dealer)?
AdamO

2
+6, bu çok iyi bir cevap, @ gung'un ödülünü bir başkasıyla doldurabileceğimi hissettim. Bu arada, muhtemelen çok temel bir karışıklık olan şeyle mücadele ediyorum ( işte benim Q'm ) ve yardımınız için çok teşekkür ederim .
amip

1
@RobertLong Görünüşe göre bölünmüş arsa (tekrarlanan önlemler) tasarımları, sizin bu cevabınıza göre gerçekten iç içe olmasalar da, genellikle "iç içe" olarak adlandırılıyor. Bu terminolojik tutarsızlık muhtemelen bağlantılı sorudaki kafa karışıklığımı arttırdı. Burada ya da orada netleştirmek isteseniz harika olurdu. Bölünmüş arazilerde neyin iç içe olduğu hakkında ayrı (R'ye yönelik olmayan) bir terminolojik soru yayınlamam gerekip gerekmediğini bile düşünüyorum.
amip

2
Önceki yorumuma güncelle. Deneysel tasarım üzerine iki eski ve otoriter kitabı kontrol ettim: Maxwell ve Delaney, 1990, Deney Tasarlama ve Verileri Analiz Etme ve Montgomery, 1976, Deney Tasarım ve Analizi. Her ikisi de iç içe geçmiş tasarımlardan bahseder ve her ikisi de tekrarlanan önlemler, yani bölünmüş grafikler; her ikisi de "yuvalanmış" kelimesini yalnızca kullandığınız anlamda kullanır ve asla tekrarlanan ölçümlere yuvalanmış olarak atıfta bulunmaz. Bu yüzden sonuçta herhangi bir terminoloji farkı olduğunu sanmıyorum.
amip
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.