การจัดการกับขนาดที่เป็นเอกเทศในรุ่นผสม


16

สมมติว่าเรามีแบบจำลอง

mod <- Y ~ X*Condition + (X*Condition|subject)

# Y = logit variable  
# X = continuous variable  
# Condition = values A and B, dummy coded; the design is repeated 
#             so all participants go through both Conditions  
# subject = random effects for different subjects 

summary(model)
Random effects:
 Groups  Name             Variance Std.Dev. Corr             
 subject (Intercept)      0.85052  0.9222                    
         X                0.08427  0.2903   -1.00            
         ConditionB       0.54367  0.7373   -0.37  0.37      
         X:ConditionB     0.14812  0.3849    0.26 -0.26 -0.56
Number of obs: 39401, groups:  subject, 219

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       2.49686    0.06909   36.14  < 2e-16 ***
X                -1.03854    0.03812  -27.24  < 2e-16 ***
ConditionB       -0.19707    0.06382   -3.09  0.00202 ** 
X:ConditionB      0.22809    0.05356    4.26 2.06e-05 ***

ที่นี่เราสังเกตแบบเอกพจน์เนื่องจากความสัมพันธ์ระหว่างการสกัดกั้นและเอฟเฟกต์แบบสุ่มคือ -1 ตอนนี้ตามลิงค์ที่มีประโยชน์นี้วิธีหนึ่งในการจัดการกับโมเดลนี้คือการลบเอฟเฟกต์แบบสุ่มลำดับสูงกว่า (เช่น X: ConditionB) และดูว่าสิ่งนั้นสร้างความแตกต่างเมื่อทำการทดสอบความแปลกประหลาดหรือไม่ อีกวิธีคือใช้วิธีการแบบเบย์เช่นblmeแพ็คเกจเพื่อหลีกเลี่ยงภาวะเอกฐาน

วิธีการที่ได้รับการระบุล่วงหน้าคืออะไรและเพราะเหตุใด

ฉันถามสิ่งนี้เพราะการใช้ครั้งแรกหรือครั้งที่สองนำไปสู่ผลลัพธ์ที่แตกต่างกัน - ในกรณีแรกฉันจะลบเอฟเฟกต์แบบสุ่ม X: ConditionB และจะไม่สามารถประมาณความสัมพันธ์ระหว่าง X และ X: ConditionB แบบสุ่ม ในทางกลับกันการใช้blmeช่วยให้ฉันเก็บ X: ConditionB และประเมินความสัมพันธ์ที่กำหนด ฉันไม่เห็นเหตุผลใดว่าทำไมฉันจึงควรใช้การประมาณแบบไม่เบย์และลบเอฟเฟกต์แบบสุ่มเมื่อมีเอกพจน์เกิดขึ้นเมื่อฉันสามารถประมาณทุกอย่างด้วยวิธีเบส์

ใครสามารถอธิบายให้ฉันฟังถึงประโยชน์และปัญหาโดยใช้วิธีการอย่างใดอย่างหนึ่งเพื่อจัดการกับเอกพจน์พอดี?

ขอบคุณ.


คุณกังวลเกี่ยวกับ corr = -1 อย่างไร มันเป็นความสัมพันธ์ระหว่างผลแบบสุ่ม
user158565

แต่ละหัวเรื่องให้การวัดสองค่าของ Y ค่าหนึ่งค่าภายใต้เงื่อนไข A และอีกค่าภายใต้เงื่อนไข B ถ้านั่นเป็นความจริงคุณสามารถบอกเราได้ว่าค่าของตัวแปร X แบบต่อเนื่องเปลี่ยนแปลงสำหรับเรื่องใด ๆ ที่กำหนดระหว่างเงื่อนไข A และ B หรือไม่?
Isabella Ghement

ทำไมคุณถึงใส่เงื่อนไขลงในเอฟเฟกต์แบบสุ่ม? คุณได้ทำการทดสอบแล้วว่าจำเป็นหรือไม่?
Dimitris Rizopoulos

@ user158565 ใช่ แต่มันบ่งบอกถึงความแปลกแยก ...
User33268

@IsabellaGhement แน่นอน ใช่มันเปลี่ยนแปลง x สำหรับวิชาใดก็ตามระหว่าง A และ B นอกจากนี้ยังมีเหตุผลทางทฤษฎีที่จะสันนิษฐานว่าการถดถอยของ Y บน X แตกต่างกันสำหรับทุกวิชา
User33268

คำตอบ:


21

เมื่อคุณได้รับเอกพจน์แบบนี้มักจะแสดงว่าแบบจำลองนั้นมีขนาดใหญ่เกินไป - นั่นคือโครงสร้างเอฟเฟกต์แบบสุ่มซับซ้อนเกินกว่าที่จะรองรับข้อมูลได้ซึ่งโดยปกติจะนำไปสู่คำแนะนำในการลบส่วนที่ซับซ้อนที่สุด โครงสร้าง (มักจะสุ่มลาด) ประโยชน์ของวิธีนี้คือมันนำไปสู่รูปแบบที่น่าสมเพชมากกว่าที่ไม่เหมาะสม

อย่างไรก็ตามก่อนที่จะทำอะไรที่คุณทำมีเหตุผลที่ดีที่ต้องการX, Conditionและการมีปฏิสัมพันธ์ของพวกเขาทั้งหมดจะแตกต่างกันไปตามเรื่องในสถานที่แรก? ทฤษฎีของวิธีการสร้างข้อมูลแนะนำสิ่งนี้หรือไม่?

หากคุณต้องการให้พอดีกับโมเดลด้วยโครงสร้างเอ็ฟเฟ็กต์แบบสุ่มสูงสุดและlme4ได้รับความพอดีแบบเอกพจน์จากนั้นปรับโมเดลแบบเดียวกันในกรอบ Bayesian อาจช่วยบอกคุณได้ว่าเหตุใดจึง lme4มีปัญหาโดยการตรวจสอบพล็อตการติดตาม . ข้อได้เปรียบในการใช้แนวทางแบบเบย์คือการทำเช่นนั้นคุณอาจค้นพบปัญหากับแบบจำลองดั้งเดิมเช่น สาเหตุที่โครงสร้างข้อมูลเอฟเฟกต์แบบสุ่มสูงสุดไม่ได้รับการสนับสนุน) หรืออาจเปิดเผยสาเหตุที่lme4ไม่สามารถจัดวางโมเดลได้ ฉันได้พบกับสถานการณ์ที่แบบจำลองแบบเบย์ไม่ได้มาบรรจบกันเว้นแต่ว่าจะใช้นักบวชที่ให้ข้อมูลซึ่งอาจจะใช่หรือไม่ก็ได้

ในระยะสั้นทั้งสองวิธีมีข้อดี

อย่างไรก็ตามฉันมักจะเริ่มต้นจากสถานที่ที่มีโมเดลเริ่มต้นเป็นเวลานานและได้รับแจ้งจากความรู้ในโดเมนผู้เชี่ยวชาญเพื่อกำหนดโครงสร้างเอฟเฟกต์แบบสุ่มที่เหมาะสมที่สุด ระบุตัวแปรการจัดกลุ่มค่อนข้างง่าย แต่เนินเขาสุ่มมักจะไม่ได้ที่จะถูกรวม รวมเฉพาะพวกเขาหากพวกเขาทำให้ความรู้สึกทางทฤษฎีเสียงและพวกเขาได้รับการสนับสนุนโดยข้อมูล

แก้ไข: มีการกล่าวถึงในความคิดเห็นว่ามีเหตุผลทางทฤษฎีที่เหมาะสมกับโครงสร้างเอฟเฟกต์แบบสุ่มสูงสุด ดังนั้นวิธีที่ค่อนข้างง่ายที่จะดำเนินการกับรูปแบบเบส์เทียบเท่าคือการแลกเปลี่ยนการเรียกร้องให้glmerมีstan_glmerจากrstanarmแพคเกจ - มันถูกออกแบบมาให้เสียบและเล่น มันมีค่าปริยายดังนั้นคุณสามารถติดตั้งโมเดลได้อย่างรวดเร็ว แพคเกจยังมีเครื่องมือมากมายสำหรับการประเมินการบรรจบกัน หากคุณพบว่าพารามิเตอร์ทั้งหมดมีการแปลงเป็นค่าที่เป็นไปได้คุณก็เป็นคนดี อย่างไรก็ตามอาจมีจำนวนของปัญหา - ตัวอย่างเช่นความแปรปรวนที่ประเมินที่หรือต่ำกว่าศูนย์หรือการประมาณที่ยังคงล่องลอย เว็บไซต์ mc-stan.org มีความมั่งคั่งของข้อมูลและฟอรัมผู้ใช้


1
ใช่ฉันมีเหตุผลทางทฤษฎีที่ดีที่จะสันนิษฐานว่าการถดถอยของ Y ใน X ควรแตกต่างกันไปตามวัตถุที่แตกต่างกันสำหรับเงื่อนไข A และ B การถดถอยหมายถึงรูปแบบการประมวลผล คุณสามารถให้ข้อมูลเพิ่มเติมกับฉันเกี่ยวกับวิธีการตีความแปลงติดตามเป็นเครื่องมือวินิจฉัยสาเหตุของภาวะเอกฐานได้ไหม
User33268

12

นี่เป็นกระทู้ที่น่าสนใจพร้อมคำตอบและความคิดเห็นที่น่าสนใจ! เนื่องจากสิ่งนี้ยังไม่ถูกนำมาใช้ฉันจึงต้องการชี้ให้เห็นว่าเรามีข้อมูลน้อยมากสำหรับแต่ละวิชา (ตามที่ฉันเข้าใจ) แน่นอนแต่ละวิชามีเพียงสองค่าสำหรับแต่ละตัวแปรตอบสนอง Y, ตัวแปรตามเงื่อนไขและตัวแปรต่อเนื่อง X โดยเฉพาะเรารู้ว่าค่าสองค่าของเงื่อนไขคือ A และ B

หากเราต้องติดตามการสร้างแบบจำลองการถดถอยแบบสองขั้นตอนแทนที่จะใช้แบบจำลองเอฟเฟกต์แบบผสมเราไม่สามารถจัดทำโมเดลการถดถอยเชิงเส้นตรงกับข้อมูลจากเรื่องเฉพาะตามที่แสดงในตัวอย่างของเล่นด้านล่างสำหรับวิชาหนึ่ง:

y <- c(4, 7)
condition <- c("A", "B")
condition <- factor(condition)
x <- c(0.2, 0.4)

m <- lm(y ~ condition*x)
summary(m)

ผลลัพธ์ของโมเดลเฉพาะเรื่องนี้คือ:

Call:
lm(formula = y ~ condition * x)

Residuals:
ALL 2 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
         Estimate Std. Error t value Pr(>|t|)
(Intercept)         4         NA      NA       NA
conditionB          3         NA      NA       NA
x                  NA         NA      NA       NA
conditionB:x       NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:      1,     Adjusted R-squared:    NaN 
F-statistic:   NaN on 1 and 0 DF,  p-value: NA

โปรดสังเกตว่าแบบจำลองนั้นได้รับความทุกข์ทรมานจากภาวะเอกฐานเนื่องจากเราพยายามประมาณค่าสัมประสิทธิ์การถดถอย 4 ตัวรวมถึงส่วนเบี่ยงเบนมาตรฐานของข้อผิดพลาดโดยใช้การสังเกตเพียง 2 ครั้ง

ความแปลกประหลาดจะยังคงอยู่แม้ว่าเราจะตรวจสอบเรื่องนี้สองครั้ง - มากกว่าหนึ่งครั้ง - ภายใต้เงื่อนไขแต่ละข้อ อย่างไรก็ตามหากเราสังเกตหัวข้อ 3 ครั้งภายใต้เงื่อนไขแต่ละข้อเราจะกำจัดภาวะเอกฐาน:

y <- c(4, 7, 3, 5, 1, 2)
condition <- c("A", "B", "A","B","A","B")
condition <- factor(condition)
x <- c(0.2, 0.4, 0.1, 0.3, 0.3, 0.5)

m2 <- lm(y ~ condition*x)
summary(m2)

นี่คือเอาต์พุต R ที่สอดคล้องกันสำหรับตัวอย่างที่สองนี้ซึ่งภาวะเอกฐานหายไป:

>     summary(m2)

Call:
lm(formula = y ~ condition * x)

Residuals:
    1       2       3       4       5       6 
1.3333  2.3333 -0.6667 -1.1667 -0.6667 -1.1667 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)
(Intercept)     4.667      3.555   1.313    0.320
conditionB      6.000      7.601   0.789    0.513
x             -10.000     16.457  -0.608    0.605
conditionB:x   -5.000     23.274  -0.215    0.850

Residual standard error: 2.327 on 2 degrees of freedom
Multiple R-squared:  0.5357,    Adjusted R-squared:  -0.1607 
F-statistic: 0.7692 on 3 and 2 DF,  p-value: 0.6079

แน่นอนว่าโมเดลเอฟเฟ็กต์แบบผสมไม่เหมาะกับโมเดลการถดถอยเชิงเส้นแบบแยกกันสำหรับแต่ละวิชา - มันเหมาะกับโมเดล "ที่เกี่ยวข้อง" ที่มีการสกัดกั้นและ / หรือความลาดชันเบี่ยงเบนแบบสุ่มเกี่ยวกับการสกัดกั้นทั่วไปและ / หรือความลาดชัน การสกัดกั้นทั่วไปและ / หรือความชันทั่วไปตามการแจกแจงปกติที่มีค่าเฉลี่ยเป็นศูนย์และค่าเบี่ยงเบนมาตรฐานที่ไม่ทราบค่า

ถึงกระนั้นสัญชาตญาณของฉันยังชี้ให้เห็นว่าแบบจำลองเอฟเฟกต์แบบผสมกำลังดิ้นรนกับการสังเกตการณ์เพียงเล็กน้อย - มีเพียง 2 - สำหรับแต่ละเรื่อง ยิ่งรุ่นถูกโหลดด้วยความลาดชันแบบสุ่มมากเท่าไหร่ก็ยิ่งมีปัญหามากขึ้นเท่านั้น ฉันสงสัยว่าหากผู้เข้าร่วมแต่ละคนมีการสำรวจ 6 ครั้งแทนที่จะเป็น 2 (นั่นคือ 3 ต่อเงื่อนไข) มันจะไม่ดิ้นรนเพื่อรองรับลาดชันทั้งหมดอีกต่อไป

สำหรับฉันแล้วดูเหมือนว่านี่อาจเป็น (?) กรณีที่การออกแบบการศึกษาปัจจุบันไม่สนับสนุนความทะเยอทะยานของแบบจำลองที่ซับซ้อน - เพื่อสนับสนุนความทะเยอทะยานเหล่านั้นจำเป็นต้องมีการสังเกตเพิ่มเติมภายใต้แต่ละเงื่อนไขสำหรับแต่ละวิชา (หรืออย่างน้อยสำหรับบางคน อาสาสมัคร?) นี่เป็นเพียงสัญชาตญาณของฉันดังนั้นฉันหวังว่าคนอื่นจะสามารถเพิ่มความเข้าใจในการสังเกตของฉันได้ ขอบคุณล่วงหน้า!


ฉันต้องแก้ไขคุณ - ผู้เข้าร่วมแต่ละคนมีการสังเกต 30 ครั้งสำหรับทั้ง X และ Y ในเงื่อนไข A และ B!
User33268

2
โอ้นั่นไม่ได้ระบุไว้ในคำตอบเริ่มต้นของคุณดังนั้นมันจึงเป็นไปไม่ได้เลยที่ฉันจะเดาได้ว่ามีการสังเกตจำนวนหนึ่งเรื่องต่อหนึ่งเรื่อง มีอย่างอื่นเกิดขึ้นแล้ว คุณลองปรับมาตรฐานตัวแปร X ของคุณแล้วหรือยัง? สิ่งนี้ช่วยได้หรือไม่ นอกจากนี้คุณยังดูที่แปลงของ Y กับ X (หรือ X มาตรฐาน) สำหรับเงื่อนไข = A กับเงื่อนไข = B แยกกันสำหรับแต่ละเรื่องหรือไม่ นั่นอาจให้เบาะแสเพิ่มเติมแก่คุณเกี่ยวกับสิ่งที่เกิดขึ้น
Isabella Ghement

ฉันไม่ได้มาตรฐาน x เนื่องจากเป็นข้อมูลเวลาตอบสนองและเป็นสิ่งสำคัญสำหรับการตีความสัมประสิทธิ์การถดถอย อย่างไรก็ตามข้อมูลถูกรวมศูนย์ ฉันจะตรวจสอบแปลงเป็นรายบุคคลและดู ...
User33268

2
@ User33268 ฉันไปงานเลี้ยงเล็ก ๆ น้อย ๆ แต่คุณยังสามารถตีความค่าสัมประสิทธิ์ที่เป็นมาตรฐานคุณเพียงแค่ต้องเก็บค่าที่ใช้สำหรับการปรับขนาดแล้วเปลี่ยนรูปแบบหลังการเรียกใช้แบบจำลอง
Frans Rodenburg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.