(นี่เป็นคำตอบที่ค่อนข้างยาวมีการสรุปในตอนท้าย)
คุณไม่ผิดในความเข้าใจของคุณว่าเอฟเฟกต์แบบซ้อนและข้ามในสถานการณ์ที่คุณอธิบาย อย่างไรก็ตามคำจำกัดความของคุณเกี่ยวกับเอฟเฟกต์แบบสุ่มข้ามนั้นแคบนิดหน่อย ความหมายที่กว้างขึ้นของผลกระทบที่สุ่มข้ามเป็นเพียง: ไม่ซ้อนกัน เราจะพิจารณาเรื่องนี้ในตอนท้ายของคำตอบนี้ แต่คำตอบส่วนใหญ่จะเน้นที่สถานการณ์ที่คุณนำเสนอในห้องเรียนภายในโรงเรียน
ทราบก่อนว่า:
การทำรังเป็นคุณสมบัติของข้อมูลหรือเป็นการออกแบบทดลองไม่ใช่โมเดล
นอกจากนี้
ข้อมูลที่ซ้อนกันสามารถเข้ารหัสได้อย่างน้อย 2 วิธีและนี่คือหัวใจของปัญหาที่คุณพบ
ชุดข้อมูลในตัวอย่างของคุณมีขนาดค่อนข้างใหญ่ดังนั้นฉันจะใช้ตัวอย่างโรงเรียนอื่นจากอินเทอร์เน็ตเพื่ออธิบายปัญหา แต่ก่อนอื่นให้พิจารณาตัวอย่างที่ง่ายเกินไปดังต่อไปนี้:
ที่นี่เรามีชั้นเรียนที่ซ้อนกันในโรงเรียนซึ่งเป็นสถานการณ์ที่คุ้นเคย จุดสำคัญที่นี่คือระหว่างแต่ละโรงเรียนเรียนมีตัวระบุเดียวกันแม้ว่าพวกเขาจะแตกต่างกันถ้าพวกเขาจะซ้อนกัน Class1
ปรากฏในSchool1
, และSchool2
School3
แต่ถ้าข้อมูลที่ซ้อนกันแล้วClass1
ในSchool1
คือไม่ได้เป็นหน่วยเดียวกันของวัดเป็นClass1
ในและSchool2
School3
หากพวกเขาเหมือนกันเราก็จะมีสถานการณ์เช่นนี้:
ซึ่งหมายความว่าทุกชั้นเป็นของทุกโรงเรียน อดีตคือการออกแบบซ้อนกันและหลังเป็นแบบไขว้ (บางคนอาจเรียกว่าเป็นสมาชิกหลายคน) และเราจะกำหนดสิ่งเหล่านี้ในการlme4
ใช้:
(1|School/Class)
หรือเทียบเท่า (1|School) + (1|Class:School)
และ
(1|School) + (1|Class)
ตามลำดับ เนื่องจากความกำกวมของการวางซ้อนหรือการข้ามเอฟเฟกต์แบบสุ่มจึงเป็นสิ่งสำคัญอย่างยิ่งที่จะต้องระบุโมเดลให้ถูกต้องเนื่องจากโมเดลเหล่านี้จะให้ผลลัพธ์ที่แตกต่างกันดังที่เราจะแสดงด้านล่าง ยิ่งไปกว่านั้นมันเป็นไปไม่ได้ที่จะรู้เพียงแค่ตรวจสอบข้อมูลไม่ว่าเราจะมีเอฟเฟกต์แบบซ้อนหรือข้าม สิ่งนี้สามารถกำหนดได้ด้วยความรู้ของข้อมูลและการออกแบบการทดลอง
แต่ก่อนอื่นให้เราพิจารณากรณีที่ตัวแปร Class มีรหัสเฉพาะในโรงเรียน:
ไม่มีความเคลือบแคลงใด ๆ เกี่ยวกับการทำรังหรือการข้ามอีกต่อไป การซ้อนอย่างชัดเจน ให้เราเห็นนี้ด้วยตัวอย่างในการวิจัยที่เรามี 6 โรงเรียน (การติดป้ายชื่อI
- VI
) และ 4 ชั้นเรียนในแต่ละโรงเรียน (ที่มีป้ายกำกับa
การ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
เราสามารถเห็นได้จากตารางไขว้นี้ที่ ID คลาสทุกชั้นจะปรากฏในทุกโรงเรียนซึ่งตรงตามคำนิยามของคุณของเอฟเฟกต์แบบสุ่มข้าม (ในกรณีนี้เรามีอย่างเต็มที่ตรงข้ามกับเอฟเฟ็กต์แบบสุ่มข้ามบางส่วน ดังนั้นนี่คือสถานการณ์เดียวกับที่เรามีในรูปแรกข้างต้น อย่างไรก็ตามถ้าข้อมูลนั้นซ้อนกันจริงๆและไม่ข้ามดังนั้นเราต้องบอกอย่างชัดเจน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
ตามที่คาดไว้ผลลัพธ์จะแตกต่างกันเนื่องจากm0
เป็นโมเดลซ้อนในขณะที่m1
เป็นโมเดลจำลอง
ตอนนี้ถ้าเราแนะนำตัวแปรใหม่สำหรับตัวระบุคลาส:
> 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
ตารางไขว้แสดงให้เห็นว่าแต่ละระดับของชั้นเรียนจะเกิดขึ้นในโรงเรียนระดับเดียวเท่านั้นตามคำจำกัดความของการทำรัง นี่เป็นกรณีของข้อมูลของคุณอย่างไรก็ตามมันก็ยากที่จะแสดงให้เห็นว่าข้อมูลของคุณเพราะมันเบาบางมาก สูตรทั้งสองโมเดลจะสร้างเอาต์พุตเดียวกัน (ของโมเดลซ้อนกันm0
ด้านบน):
> 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
เป็นที่น่าสังเกตว่าการข้ามเอฟเฟกต์แบบสุ่มไม่จำเป็นต้องเกิดขึ้นในปัจจัยเดียวกัน - ในการข้ามครั้งนี้เป็นไปอย่างสมบูรณ์ภายในโรงเรียน อย่างไรก็ตามสิ่งนี้ไม่จำเป็นต้องเป็นอย่างนั้นและบ่อยครั้งที่มันไม่ใช่ ตัวอย่างเช่นการยึดติดกับสถานการณ์ในโรงเรียนถ้าแทนที่จะเรียนในโรงเรียนเรามีนักเรียนภายในโรงเรียนและเราก็สนใจแพทย์ที่นักเรียนลงทะเบียนด้วยแล้วเราก็จะทำรังของนักเรียนภายในแพทย์ ไม่มีการซ้อนกันของโรงเรียนในแพทย์หรือในทางกลับกันนี่เป็นตัวอย่างของการสุ่มข้ามเอฟเฟกต์และเราบอกว่าโรงเรียนและแพทย์ถูกข้าม สถานการณ์ที่คล้ายกันที่เกิดผลแบบสุ่มข้ามคือเมื่อการสำรวจแต่ละครั้งซ้อนกันภายในสองปัจจัยพร้อมกันซึ่งมักเกิดขึ้นกับมาตรการซ้ำ ๆ ที่เรียกว่าเรื่องรายการข้อมูล โดยทั่วไปแล้วแต่ละเรื่องจะวัด / ทดสอบหลายครั้งด้วย / ในรายการที่แตกต่างกันและรายการเดียวกันเหล่านี้จะถูกวัด / ทดสอบโดยอาสาสมัครที่แตกต่างกัน ดังนั้นการสังเกตจะถูกจัดกลุ่มภายในวัตถุและภายในรายการ แต่รายการจะไม่ซ้อนกันภายในกลุ่มเป้าหมายหรือในทางกลับกัน อีกครั้งที่เราบอกว่าวิชาและรายการจะถูกข้าม
สรุป: TL; DR
ความแตกต่างระหว่างเอฟเฟกต์แบบข้ามและแบบซ้อนคือเอฟเฟกต์แบบซ้อนที่เกิดขึ้นเมื่อปัจจัยหนึ่ง (ตัวแปรการจัดกลุ่ม) ปรากฏเฉพาะภายในระดับเฉพาะของปัจจัยอื่น (ตัวแปรการจัดกลุ่ม) สิ่งนี้ถูกระบุlme4
ด้วย:
(1|group1/group2)
ที่ซ้อนอยู่ในgroup2
group1
ข้ามผลกระทบสุ่มเพียง: ไม่ซ้อนกัน สิ่งนี้สามารถเกิดขึ้นได้กับตัวแปรการจัดกลุ่ม (ปัจจัย) สามอย่างหรือมากกว่านั้นโดยที่ปัจจัยหนึ่งซ้อนกันในปัจจัยอื่นทั้งสองอย่างหรือด้วยปัจจัยสองอย่างหรือมากกว่านั้น สิ่งเหล่านี้ถูกระบุlme4
ด้วย:
(1|group1) + (1|group2)