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