나는 일반적으로 Ben의 분석에 동의하지만 몇 가지 언급과 약간의 직관을 추가하겠습니다.
첫째, 전체 결과 :
- Satterthwaite 방법을 사용한 테스트 결과가 정확
- Kenward-Roger 방법도 정확하며 Satterthwaite에 동의합니다
Ben subnum
은에 중첩되어 group
있고 direction
와 group:direction
교차 되는 디자인을 간략하게 설명합니다 subnum
. 의 자연 에러 항 (즉 소위 "둘러싸는 오류 지층")가 있음이 수단 group
이다 subnum
(를 포함하여 다른 용어를 둘러싸는 오류 지층이 동안 subnum
) 잔차입니다.
이 구조는 소위 팩터 구조 다이어그램으로 나타낼 수 있습니다.
names <- c(expression("[I]"[5169]^{5191}),
expression("[subnum]"[18]^{20}), expression(grp:dir[1]^{4}),
expression(dir[1]^{2}), expression(grp[1]^{2}), expression(0[1]^{1}))
x <- c(2, 4, 4, 6, 6, 8)
y <- c(5, 7, 5, 3, 7, 5)
plot(NA, NA, xlim=c(2, 8), ylim=c(2, 8), type="n", axes=F, xlab="", ylab="")
text(x, y, names) # Add text according to ’names’ vector
# Define coordinates for start (x0, y0) and end (x1, y1) of arrows:
x0 <- c(1.8, 1.8, 4.2, 4.2, 4.2, 6, 6) + .5
y0 <- c(5, 5, 7, 5, 5, 3, 7)
x1 <- c(2.7, 2.7, 5, 5, 5, 7.2, 7.2) + .5
y1 <- c(5, 7, 7, 3, 7, 5, 5)
arrows(x0, y0, x1, y1, length=0.1)
여기서 임의의 용어는 괄호로 묶고, 0
전체 평균 (또는 절편)을 [I]
나타내며, 오류 용어를 나타내며, 수퍼 스크립트 수는 레벨 수이고 하위 스크립트 수는 균형 잡힌 설계를 가정 한 자유도입니다. 다이어그램은에 대한 자연 오차 항 (에러 지층 포함) group
이 subnum
이고 분모 df에 대한 분모 df subnum
와 동일한 분자 df group
가 18 : 20에서 1 df에 대해 group
1 df이고 전체 평균에 대해 1 df 임을 나타냅니다 . 요인 구조 다이어그램에 대한보다 포괄적 인 소개는 2 장 ( https://02429.compute.dtu.dk/eBook) 에서 볼 수 있습니다 .
데이터가 정확하게 균형을 이루면 SSQ 분해에서 F- 검정을 구성 할 수 있습니다 anova.lm
. 데이터 세트는 매우 밀접하게 균형을 이루기 때문에 다음과 같이 대략적인 F- 검정을 얻을 수 있습니다.
ANT.2 <- subset(ANT, !error)
set.seed(101)
baseline.shift <- rnorm(length(unique(ANT.2$subnum)), 0, 50)
ANT.2$rt <- ANT.2$rt + baseline.shift[as.numeric(ANT.2$subnum)]
fm <- lm(rt ~ group * direction + subnum, data=ANT.2)
(an <- anova(fm))
Analysis of Variance Table
Response: rt
Df Sum Sq Mean Sq F value Pr(>F)
group 1 994365 994365 200.5461 <2e-16 ***
direction 1 1568 1568 0.3163 0.5739
subnum 18 7576606 420923 84.8927 <2e-16 ***
group:direction 1 11561 11561 2.3316 0.1268
Residuals 5169 25629383 4958
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
여기서 모든 F 및 p 값은 모든 항에 잔차가 엔 클로징 오류 계층으로 가정되고 '그룹'을 제외한 모든 경우에 해당되는 것으로 가정하여 계산됩니다. 그룹에 대한 '균형 수정' F- 검정은 다음과 같습니다.
F_group <- an["group", "Mean Sq"] / an["subnum", "Mean Sq"]
c(Fvalue=F_group, pvalue=pf(F_group, 1, 18, lower.tail = FALSE))
Fvalue pvalue
2.3623466 0.1416875
여기서 우리 는 F 값 분모 에서 subnum
MS 대신 MS를 사용합니다 .Residuals
이 값은 Satterthwaite 결과와 매우 일치합니다.
model <- lmer(rt ~ group * direction + (1 | subnum), data = ANT.2)
anova(model, type=1)
Type I Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
group 12065.3 12065.3 1 18 2.4334 0.1362
direction 1951.8 1951.8 1 5169 0.3936 0.5304
group:direction 11552.2 11552.2 1 5169 2.3299 0.1270
나머지 차이점은 데이터가 정확하게 균형을 이루지 않기 때문입니다.
영업 이익은 비교 anova.lm
로 anova.lmerModLmerTest
확인하지만, 우리가 같은 대조를 사용할 필요가 같이와 같이 비교한다. 이 경우에 차이가 anova.lm
과 anova.lmerModLmerTest
가 각각 기본적으로 I 및 III 형 테스트를 생성하고,이 데이터 세트의 형태 I 및 III 사이의 대조 (소) 차이가 보낸이 :
show_tests(anova(model, type=1))$group
(Intercept) groupTreatment directionright groupTreatment:directionright
groupTreatment 0 1 0.005202759 0.5013477
show_tests(anova(model, type=3))$group # type=3 is default
(Intercept) groupTreatment directionright groupTreatment:directionright
groupTreatment 0 1 0 0.5
데이터 세트가 완전히 균형을 잡았다면 타입 I 대비는 타입 III 대비와 동일했을 것입니다 (이는 관찰 된 샘플 수에 영향을받지 않습니다).
마지막으로 Kenward-Roger 방법의 '느림'은 모델 재조정에 의한 것이 아니라 관측 / 잔여 물 (이 경우 5191x5191)의 주변 분산 공분산 행렬을 사용한 계산과 관련이 있기 때문에 발생합니다. Satterthwaite의 방법에 대한 사례.
모델 2에 대하여
모델 2에 관해서는 상황이 더 복잡하게하고 나는 내가 '고전'의 상호 작용 사이의 포함 한 다른 모델로 토론을 시작하기가 쉽습니다 생각 subnum
과 direction
:
model3 <- lmer(rt ~ group * direction + (1 | subnum) +
(1 | subnum:direction), data = ANT.2)
VarCorr(model3)
Groups Name Std.Dev.
subnum:direction (Intercept) 1.7008e-06
subnum (Intercept) 4.0100e+01
Residual 7.0415e+01
교호 작용과 관련된 분산이 subnum
임의의 주 효과 가 존재하는 경우 본질적으로 0이므로 교호 작용 항은 분모 자유도, F- 값 및 p- 값의 계산에 영향을 미치지 않습니다 .
anova(model3, type=1)
Type I Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
group 12065.3 12065.3 1 18 2.4334 0.1362
direction 1951.8 1951.8 1 5169 0.3936 0.5304
group:direction 11552.2 11552.2 1 5169 2.3299 0.1270
그러나 엔 subnum:direction
클로징 오류 계층 subnum
이므로 subnum
모든 관련 SSQ를 제거 하면subnum:direction
model4 <- lmer(rt ~ group * direction +
(1 | subnum:direction), data = ANT.2)
지금은 자연 에러 항 group
, direction
및group:direction
이다
subnum:direction
와 함께 nlevels(with(ANT.2, subnum:direction))
= (40)과 네 개의 매개 변수 그 용어에 대한 자유의 분모도 36에 대해해야한다 :
anova(model4, type=1)
Type I Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
group 24004.5 24004.5 1 35.994 4.8325 0.03444 *
direction 50.6 50.6 1 35.994 0.0102 0.92020
group:direction 273.4 273.4 1 35.994 0.0551 0.81583
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
이 F- 검정은 '균형 수정'으로 근사 할 수도 있습니다. F- 검정 .
an4 <- anova(lm(rt ~ group*direction + subnum:direction, data=ANT.2))
an4[1:3, "F value"] <- an4[1:3, "Mean Sq"] / an4[4, "Mean Sq"]
an4[1:3, "Pr(>F)"] <- pf(an4[1:3, "F value"], 1, 36, lower.tail = FALSE)
an4
Analysis of Variance Table
Response: rt
Df Sum Sq Mean Sq F value Pr(>F)
group 1 994365 994365 4.6976 0.0369 *
direction 1 1568 1568 0.0074 0.9319
group:direction 1 10795 10795 0.0510 0.8226
direction:subnum 36 7620271 211674 42.6137 <2e-16 ***
Residuals 5151 25586484 4967
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
이제 model2로 전환하십시오.
model2 <- lmer(rt ~ group * direction + (direction | subnum), data = ANT.2)
이 모델은 2x2 분산 공분산 행렬을 사용하는 다소 복잡한 랜덤 효과 공분산 구조를 설명합니다. 기본 매개 변수화는 다루기가 쉽지 않으며 모델의 매개 변수화가 더 좋습니다.
model2 <- lmer(rt ~ group * direction + (0 + direction | subnum), data = ANT.2)
우리가에 비교 model2
하면 model4
, 그것들은 무작위로 많은 랜덤 효과를 가진다; 각각에 대해 2 subnum
, 즉 총 2 * 20 = 40. model4
40 개의 랜덤 효과에 대해 단일 분산 모수를 규정하는 반면 , 랜덤 효과의 model2
각 subnum
쌍은 2x2 분산-공분산 행렬과 함께 이변 량 정규 분포를 갖습니다.
VarCorr(model2)
Groups Name Std.Dev. Corr
subnum directionleft 38.880
directionright 41.324 1.000
Residual 70.405
이것은 과적 합을 나타내지 만 다른 날을 위해 저축합시다. 중요한 점은 여기 즉 model4
의 특수한 경우입니다 model2
및 그 model
이다 또한 의 특별한 경우 model2
. 느슨하게 (그리고 직관적으로) 말하면 (direction | subnum)
주요 효과 subnum
및 상호 작용 과 관련된 변형이 포함되거나 캡처 됩니다direction:subnum
. 랜덤 효과와 관련하여 우리는이 두 가지 효과 또는 구조를 각각 행과 열별로 변형을 캡처하는 것으로 생각할 수 있습니다.
head(ranef(model2)$subnum)
directionleft directionright
1 -25.453576 -27.053697
2 16.446105 17.479977
3 -47.828568 -50.835277
4 -1.980433 -2.104932
5 5.647213 6.002221
6 41.493591 44.102056
이 경우,이 랜덤 효과 추정값과 분산 모수 추정값은 subnum
여기에 실제로 존재하는 (행 사이의 변이) 의 랜덤 한 주 효과 만 있음을 나타냅니다 . 이 모든 것이 Satterthwaite 분모의 자유도에서
anova(model2, type=1)
Type I Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
group 12059.8 12059.8 1 17.998 2.4329 0.1362
direction 1803.6 1803.6 1 125.135 0.3638 0.5475
group:direction 10616.6 10616.6 1 125.136 2.1418 0.1458
이러한 주요 효과와 상호 작용 구조 사이의 절충은 다음과 같습니다. DenDF 그룹은 18로 유지 subnum
되지만 (설계 상 필요) 36 direction
과
group:direction
DenDF는 36 (model4
)과 5169 ( model
) 입니다.
여기에 Satterthwaite 근사치 (또는 그 구현체가 lmerTest )가 잘못 .
Kenward-Roger 방법을 사용하는 동등한 테이블은 다음을 제공합니다.
anova(model2, type=1, ddf="Ken")
Type I Analysis of Variance Table with Kenward-Roger's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
group 12059.8 12059.8 1 18.000 2.4329 0.1362
direction 1803.2 1803.2 1 17.987 0.3638 0.5539
group:direction 10614.7 10614.7 1 17.987 2.1414 0.1606
KR과 Satterthwaite가 다를 수 있다는 것은 놀라운 일이 아니지만 모든 실제적인 목적으로 p- 값 의 차이는 미미합니다. 위 내 분석을 나타냅니다 DenDF
에 direction
와 group:direction
~ (36)보다 작고, 우리는 기본적으로 단지의 임의의 주요 효과가 주어진 것보다 아마도 더 안 direction
, 선물을 아무튼 그래서 이것이 KR 방법은 얻을 수 있다는 표시라고 생각 DenDF
이 너무 낮은 이 경우 그러나 데이터는 실제로 (group | direction)
구조를 지원하지 않으므로 비교는 약간 인위적입니다. 모델이 실제로 지원되면 더 흥미로울 것입니다.
ezAnova
데이터가 실제로 2x2x2 디자인 인 경우 2x2 anova를 실행해서는 안되므로 경고를 이해합니다 .