(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:
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 . Class1
görünür School1
, School2
ve School3
. Ancak veriler daha sonra iç içe eğer Class1
içinde School1
olduğu değil olarak aynı ölçü birimi Class1
içinde School2
ve School3
. Onlar aynı olsaydı, o zaman şu duruma sahip olurduk:
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 lme4
kullanarak 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:
İç 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 a
iç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ı m0
bir 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 ( m0
yukarı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 group2
iç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)