ทำไมการแนะนำของเอฟเฟกต์ความชันแบบสุ่มทำให้ SE ของความชันเพิ่มขึ้น


9

ฉันพยายามวิเคราะห์ผลกระทบของปีต่อตัวแปร logInd สำหรับกลุ่มบุคคลโดยเฉพาะ (ฉันมี 3 กลุ่ม) โมเดลที่ง่ายที่สุด:

> fix1 = lm(logInd ~ 0 + Group + Year:Group, data = mydata)
> summary(fix1)

Call:
lm(formula = logInd ~ 0 + Group + Year:Group, data = mydata)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.5835 -0.3543 -0.0024  0.3944  4.7294 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
Group1       4.6395740  0.0466217  99.515  < 2e-16 ***
Group2       4.8094268  0.0534118  90.044  < 2e-16 ***
Group3       4.5607287  0.0561066  81.287  < 2e-16 ***
Group1:Year -0.0084165  0.0027144  -3.101  0.00195 ** 
Group2:Year  0.0032369  0.0031098   1.041  0.29802    
Group3:Year  0.0006081  0.0032666   0.186  0.85235    
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.7926 on 2981 degrees of freedom
Multiple R-squared: 0.9717,     Adjusted R-squared: 0.9716 
F-statistic: 1.705e+04 on 6 and 2981 DF,  p-value: < 2.2e-16 

เราสามารถเห็น Group1 ลดลงอย่างมีนัยสำคัญ Groups2 และ 3 เพิ่มขึ้น แต่ไม่มาก

เห็นได้ชัดว่าบุคคลควรมีผลแบบสุ่มดังนั้นฉันแนะนำผลการสกัดกั้นแบบสุ่มสำหรับแต่ละบุคคล:

> mix1a = lmer(logInd ~ 0 + Group + Year:Group + (1|Individual), data = mydata)
> summary(mix1a)
Linear mixed model fit by REML 
Formula: logInd ~ 0 + Group + Year:Group + (1 | Individual) 
   Data: mydata 
  AIC  BIC logLik deviance REMLdev
 4727 4775  -2356     4671    4711
Random effects:
 Groups     Name        Variance Std.Dev.
 Individual (Intercept) 0.39357  0.62735 
 Residual               0.24532  0.49530 
Number of obs: 2987, groups: Individual, 103

Fixed effects:
              Estimate Std. Error t value
Group1       4.6395740  0.1010868   45.90
Group2       4.8094268  0.1158095   41.53
Group3       4.5607287  0.1216522   37.49
Group1:Year -0.0084165  0.0016963   -4.96
Group2:Year  0.0032369  0.0019433    1.67
Group3:Year  0.0006081  0.0020414    0.30

Correlation of Fixed Effects:
            Group1 Group2 Group3 Grp1:Y Grp2:Y
Group2       0.000                            
Group3       0.000  0.000                     
Group1:Year -0.252  0.000  0.000              
Group2:Year  0.000 -0.252  0.000  0.000       
Group3:Year  0.000  0.000 -0.252  0.000  0.000

มันมีผลที่คาดหวัง - SE ของทางลาด (ค่าสัมประสิทธิ์กลุ่ม 1-3: ปี) ตอนนี้ต่ำลงและ SE ที่เหลือก็ลดลงเช่นกัน

แต่ละคนก็มีความลาดชันแตกต่างกันดังนั้นฉันยังแนะนำเอฟเฟกต์ความชันแบบสุ่ม:

> mix1c = lmer(logInd ~ 0 + Group + Year:Group + (1 + Year|Individual), data = mydata)
> summary(mix1c)
Linear mixed model fit by REML 
Formula: logInd ~ 0 + Group + Year:Group + (1 + Year | Individual) 
   Data: mydata 
  AIC  BIC logLik deviance REMLdev
 2941 3001  -1461     2885    2921
Random effects:
 Groups     Name        Variance  Std.Dev. Corr   
 Individual (Intercept) 0.1054790 0.324775        
            Year        0.0017447 0.041769 -0.246 
 Residual               0.1223920 0.349846        
Number of obs: 2987, groups: Individual, 103

Fixed effects:
              Estimate Std. Error t value
Group1       4.6395740  0.0541746   85.64
Group2       4.8094268  0.0620648   77.49
Group3       4.5607287  0.0651960   69.95
Group1:Year -0.0084165  0.0065557   -1.28
Group2:Year  0.0032369  0.0075105    0.43
Group3:Year  0.0006081  0.0078894    0.08

Correlation of Fixed Effects:
            Group1 Group2 Group3 Grp1:Y Grp2:Y
Group2       0.000                            
Group3       0.000  0.000                     
Group1:Year -0.285  0.000  0.000              
Group2:Year  0.000 -0.285  0.000  0.000       
Group3:Year  0.000  0.000 -0.285  0.000  0.000

แต่ตอนนี้ตรงกันข้ามกับความคาดหวัง SE ของทางลาด (ค่าสัมประสิทธิ์กลุ่ม 1-3: ปี) ตอนนี้สูงขึ้นมากยิ่งขึ้นสูงกว่าโดยไม่มีผลแบบสุ่มเลย!

เป็นไปได้อย่างไร? ฉันคาดหวังว่าเอฟเฟกต์แบบสุ่มจะ "กิน" ความแปรปรวนที่ไม่ได้อธิบายและเพิ่ม "ความมั่นใจ" ของการประเมิน!

อย่างไรก็ตาม SE ที่เหลือจะทำงานตามที่คาดไว้ - ต่ำกว่าในโมเดลการสกัดกั้นแบบสุ่ม

นี่คือข้อมูลหากจำเป็น

แก้ไข

ตอนนี้ฉันรู้ความจริงที่น่าพิศวง ถ้าฉันทำการถดถอยเชิงเส้นสำหรับแต่ละคนแยกกันแล้วรัน ANOVA บนความลาดชันผลลัพธ์ฉันจะได้ผลลัพธ์เหมือนกันกับโมเดลความชันแบบสุ่ม! คุณจะรู้ว่าทำไม

indivSlope = c()
for (indiv in 1:103) {
    mod1 = lm(logInd ~ Year, data = mydata[mydata$Individual == indiv,])
    indivSlope[indiv] = coef(mod1)['Year']
}

indivGroup = unique(mydata[,c("Individual", "Group")])[,"Group"]


anova1 = lm(indivSlope ~ 0 + indivGroup)
summary(anova1)

Call:
lm(formula = indivSlope ~ 0 + indivGroup)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.176288 -0.016502  0.004692  0.020316  0.153086 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)
indivGroup1 -0.0084165  0.0065555  -1.284    0.202
indivGroup2  0.0032369  0.0075103   0.431    0.667
indivGroup3  0.0006081  0.0078892   0.077    0.939

Residual standard error: 0.04248 on 100 degrees of freedom
Multiple R-squared: 0.01807,    Adjusted R-squared: -0.01139 
F-statistic: 0.6133 on 3 and 100 DF,  p-value: 0.6079 

นี่คือข้อมูลหากจำเป็น


คุณต้องใช้เอฟเฟ็กต์แบบคงที่หนึ่งปีหากคุณจะมีปี: เอฟเฟกต์การโต้ตอบแบบกลุ่ม โดยทั่วไปแล้วคุณไม่สามารถรวมคำที่ใช้โต้ตอบกันได้หากไม่รวมถึงเอฟเฟกต์หลักด้วย คุณคิดว่าไม่มีองค์ประกอบที่แน่นอนในปีนี้หรือไม่? และถ้าเป็นเช่นนั้นจะมีปีที่แน่นอนได้อย่างไร: การปฏิสัมพันธ์กลุ่ม
John

และทำไมไม่มีการสกัดกั้นคงที่? คุณสามารถมีทั้งคงที่และสุ่ม
John

@ จอห์นรูปแบบนี้ถูกต้องสมบูรณ์ นี่เป็นเพียงปัญหาของการเข้ารหัสที่ต้องการของตัวแปรหมวดหมู่ ทางนี้Groupi คือการสกัดกั้นของกลุ่ม iและ Groupi:Year เป็นความชันภายในกลุ่ม i. หากมีการรวมผลกระทบหลักของปีและการสกัดกั้นไว้การประมาณการจะเป็นความแตกต่างของการสกัดกั้นของกลุ่มiและกลุ่ม 1 และในทำนองเดียวกันกับเนินเขา
Aniko

@ จอห์นนี่ไม่ใช่หัวข้อของคำถามของฉันอย่างไรก็ตาม: เชื่อฉันสินี่โอเคฉันได้ทดลองกับมันมากมาย รุ่น lm แรกของฉันนั้นมีค่าเทียบเท่ากับlogInd ~ Year*Groupสัมประสิทธิ์เท่านั้นในรูปแบบที่แตกต่างกันไม่มีอะไรเพิ่มเติม ขึ้นอยู่กับรสนิยมของคุณและรูปร่างของค่าสัมประสิทธิ์ที่คุณชอบไม่มีอะไรเพิ่มเติม ไม่มีการยกเว้น "ผลกระทบหลักปี" ในรุ่นที่ 1 ของฉันในขณะที่คุณเขียน ... logInd ~ Year*Groupไม่เหมือนกันYearสัมประสิทธิ์นั้นไม่ใช่ผลหลัก แต่กลุ่ม 1: ปี
อยากรู้อยากเห็น

ตกลงเรียบร้อยไม่ถือว่าทั้งการสกัดกั้น 0 รายการและการจัดกลุ่มเป็นหมวดหมู่
John

คำตอบ:


11

ฉันคิดว่าปัญหาเป็นไปตามความคาดหวังของคุณ :) โปรดทราบว่าเมื่อคุณเพิ่มการสกัดกั้นแบบสุ่มสำหรับแต่ละบุคคลข้อผิดพลาดมาตรฐานของการดักจับเพิ่มขึ้น เนื่องจากแต่ละคนสามารถมีการสกัดกั้นของเขา / เธอเองค่าเฉลี่ยของกลุ่มจึงไม่แน่นอน สิ่งเดียวกันนี้เกิดขึ้นกับความชันแบบสุ่ม: คุณไม่ได้ประเมินความชันทั่วไป (ภายในกลุ่ม) อีกต่อไป แต่ค่าเฉลี่ยของความชันที่ต่างกัน

แก้ไข: ทำไมแบบจำลองที่ดีกว่าไม่ให้การประมาณที่แม่นยำยิ่งขึ้น

ลองคิดดูอีกทาง: ทำไมรุ่นเริ่มแรกประเมินค่าผิดพลาดมาตรฐานต่ำไป? มันถือว่าเป็นอิสระจากการสังเกตที่ไม่เป็นอิสระ แบบที่สองผ่อนคลายสมมติฐานนั้น (ในลักษณะที่มีผลต่อการสกัดกั้น) และแบบที่สามผ่อนคลายลงไปอีก

แก้ไข 2: ความสัมพันธ์กับโมเดลเฉพาะผู้ป่วยจำนวนมาก

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

โมเดลเอฟเฟ็กต์แบบสุ่มคือ (i - หัวเรื่อง j - ทำซ้ำภายในเรื่อง):

Yij=a+αi+(b+βi)xij+ϵij,
ที่ไหน (αi,βi)N(0,Σ) และ ϵijN(0,σ2).

เมื่อคุณพอดีกับแบบแยกต่างหากสำหรับแต่ละเรื่องแล้ว

Yij=ai+bixij+ϵij,
ที่ไหน ϵijN(0,σi2).

[หมายเหตุ: สิ่งต่อไปนี้เป็นเพียงการทำด้วยมือ:]

คุณสามารถเห็นความคล้ายคลึงกันมากระหว่างสองรุ่นนี้ด้วย ai สอดคล้องกับ a+αi และ bi ถึง b+βi. ค่าเฉลี่ยของbiสอดคล้องกับ bเนื่องจากเอฟเฟกต์แบบสุ่มมีค่าเฉลี่ยถึง 0 ความสัมพันธ์แบบไม่มีข้อ จำกัด ของการสกัดกั้นแบบสุ่มและความชันทำให้ความจริงที่ว่าแบบจำลองสามารถติดตั้งแยกกันได้ ฉันไม่แน่ใจว่าวิธีเดียวσ สมมุติฐานนั้นเชื่อมโยงกับหัวเรื่องเฉพาะ σiแต่ฉันจะสมมติว่า αi หยิบความแตกต่าง


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

ขอบคุณ Aniko นั่นเป็นมุมมองที่น่าสนใจ! ฉันสนใจเพียงความลาดชัน (กลุ่ม *: ปี) ไม่ใช่การสกัดกั้นที่นี่ .. ดังนั้นขั้นตอนแรกของฉันในการแนะนำผลการค้นหาแบบสุ่มทำให้ผ่อนคลายสมมติฐานที่เป็นอิสระและนำไปสู่ ​​SE ที่ต่ำกว่า .. (จากความชัน .. ) อาจจะมากเกินไป (??) และทำในทางตรงกันข้าม (ยิ่งแย่ลง SE .. ) .. บางทีฉันอาจต้องคิดเกี่ยวกับมันขอบคุณ
อยากรู้อยากเห็น

ตอนนี้ฉันประหลาดใจด้วยข้อเท็จจริงที่น่าสนใจมาก - โปรดดูการแก้ไขของฉัน คุณจะรู้ว่าทำไมเป็นเช่นนั้น?
อยากรู้อยากเห็น

ฉันไม่คิดว่าข้อสันนิษฐานอิสระนั้นผ่อนคลายมากเกินไป! มันผิดที่เริ่มต้นด้วย
Aniko

3
โทมัสโมเดล "แม่นยำ" ไม่ได้หมายความว่าการประมาณการจะแม่นยำยิ่งขึ้น ยกตัวอย่างเช่นใช้โมเดลที่ไม่มีข้อมูลที่คุณชอบเช่นตัวที่ทำนายการตอบสนองทั้งหมดเป็นศูนย์ แบบจำลองนี้มีความแน่นอนในการประมาณค่าเป็นศูนย์ ดังนั้นจึงแม่นยำเท่าที่จะเป็นไปได้ - แต่มันอาจผิดมากที่สุดด้วย การให้แบบจำลองขอบเขตที่กว้างขึ้นเพื่อให้พอดีกับพารามิเตอร์ดังนั้นโดยทั่วไปหมายความว่าพารามิเตอร์เหล่านั้นเหมาะสมกับความแม่นยำที่น้อยลงไม่มาก แบบจำลองที่ดีกว่าเพราะสามารถบอกปริมาณความไม่แน่นอนที่ไม่ได้รับจากแบบจำลองที่แย่กว่านั้นมักจะมีข้อผิดพลาดมาตรฐานที่ใหญ่กว่า
whuber
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.