lme와 aov가 R의 반복 측정 ANOVA에 대해 다른 결과를 반환하는 이유는 무엇입니까?


24

ez패키지 사용에서 lme반복 측정 ANOVA 로 이동하려고합니다 (와 함께 사용자 정의 대비를 사용할 수 있기를 바랍니다 lme).

이 블로그 게시물 의 조언에 따라 aov( ez요청시 와 마찬가지로 ) 및을 사용하여 동일한 모델을 설정할 수있었습니다 lme. 그러나 그 게시물에 주어진 예 에서 F 값 은 ( aovlme내가 확인한 것) 사이에 완벽하게 일치하지만 내 데이터에는 해당되지 않습니다. F- 값 은 비슷 하지만 동일하지 않습니다.

aovf- 값 1.3399를 lme반환하고 1.36264를 반환합니다. aovSPSS가 반환하는 것이므로 필드 및 감독자에게 중요한 것이므로 결과를 "올바른"것으로 기꺼이 받아들 입니다.

질문 :

  1. 이 차이가 존재하는 이유와 lme신뢰할 수있는 결과를 제공 하는 방법을 누군가가 설명 할 수 있다면 좋을 것 입니다. (또한 "올바른"결과를 제공하는 경우 이러한 유형의 물건 lmer대신에 기꺼이 사용하려고합니다 lme. 그러나 지금까지는 사용하지 않았습니다.)

  2. 이 문제를 해결 한 후 대비 분석을 실행하고 싶습니다. 특히 처음 두 수준의 요인 (즉, c("MP", "MT")) 을 모으는 것과 대조하여이를 세 번째 수준의 요인 (즉, )과 비교하는 데 관심이 "AC"있습니다. 또한, 세 번째 수준 대 네 번째 수준의 요인 (즉, "AC""DA")을 테스트합니다 .

데이터:

tau.base <- structure(list(id = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 
22L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 
14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 1L, 2L, 3L, 4L, 
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 
19L, 20L, 21L, 22L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 
11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L), .Label = c("A18K", 
"D21C", "F25E", "G25D", "H05M", "H07A", "H08H", "H25C", "H28E", 
"H30D", "J10G", "J22J", "K20U", "M09M", "P20E", "P26G", "P28G", 
"R03C", "U21S", "W08A", "W15V", "W18R"), class = "factor"), factor = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("MP", "MT", "AC", "DA"
), class = "factor"), value = c(0.9648092876, 0.2128662077, 1, 
0.0607615485, 0.9912814024, 3.22e-08, 0.8073856412, 0.1465590332, 
0.9981672618, 1, 1, 1, 0.9794401938, 0.6102546108, 0.428651501, 
1, 0.1710644881, 1, 0.7639763913, 1, 0.5298989196, 1, 1, 0.7162733447, 
0.7871177434, 1, 1, 1, 0.8560509327, 0.3096989662, 1, 8.51e-08, 
0.3278862311, 0.0953598576, 1, 1.38e-08, 1.07e-08, 0.545290432, 
0.1305621416, 2.61e-08, 1, 0.9834051136, 0.8044114935, 0.7938839461, 
0.9910112678, 2.58e-08, 0.5762677121, 0.4750002288, 1e-08, 0.8584252623, 
1, 1, 0.6020385797, 8.51e-08, 0.7964935271, 0.2238374288, 0.263377904, 
1, 1.07e-08, 0.3160751898, 5.8e-08, 0.3460325565, 0.6842217296, 
1.01e-08, 0.9438301877, 0.5578367224, 2.18e-08, 1, 0.9161424562, 
0.2924856039, 1e-08, 0.8672987992, 0.9266688748, 0.8356425464, 
0.9988463913, 0.2960361777, 0.0285680426, 0.0969063841, 0.6947998266, 
0.0138254805, 1, 0.3494775301, 1, 2.61e-08, 1.52e-08, 0.5393467752, 
1, 0.9069223275)), .Names = c("id", "factor", "value"), class = "data.frame", row.names = c(1L, 
6L, 10L, 13L, 16L, 17L, 18L, 22L, 23L, 24L, 27L, 29L, 31L, 33L, 
42L, 43L, 44L, 45L, 54L, 56L, 58L, 61L, 64L, 69L, 73L, 76L, 79L, 
80L, 81L, 85L, 86L, 87L, 90L, 92L, 94L, 96L, 105L, 106L, 107L, 
108L, 117L, 119L, 121L, 124L, 127L, 132L, 136L, 139L, 142L, 143L, 
144L, 148L, 149L, 150L, 153L, 155L, 157L, 159L, 168L, 169L, 170L, 
171L, 180L, 182L, 184L, 187L, 190L, 195L, 199L, 202L, 205L, 206L, 
207L, 211L, 212L, 213L, 216L, 218L, 220L, 222L, 231L, 232L, 233L, 
234L, 243L, 245L, 247L, 250L))

그리고 코드 :

require(nlme)

summary(aov(value ~ factor+Error(id/factor), data = tau.base))

anova(lme(value ~ factor, data = tau.base, random = ~1|id))

여기 당신의 대답에서 대조에 관한 부분에 답한 것처럼 보입니다 . 그렇지 않은 경우이 질문을 편집하여 남아있는 어려움을 확인하십시오.
Aaron-복 직원 Monica

2
@Aaron, lme표준 교과서 ANOVA (에서 제공하고 aov필요한 것)의 결과에 차이가있는 한 이것은 옵션이 아닙니다. 내 논문에서는 분산 분석과 같은 것이 아니라 분산 분석을보고하려고합니다. 흥미롭게도 Venables & Ripley (2002, p. 285)는 두 접근법 모두 동일한 추정치로 이어진다는 것을 보여줍니다. 그러나 F 값 의 차이로 인해 기분이 좋지 않습니다. 또한 Anova()(from car)은 lme객체에 대한 Chi² 값만 반환 합니다. 따라서 저의 첫 번째 질문은 아직 답변되지 않았습니다.
Henrik

나는 당신의주의를 이해하지만 (공유하지는 않습니다) lme; 그러나 대조적으로 glht작동합니다.lm 적합뿐만 아니라 lme적합 에도 . ( lme결과도 표준 교과서 결과입니다.)
Aaron-Reinstate Monica

불행하게도 lm반복 측정 분석을 지정할 수 없습니다 . 만 aov반복 측정을 처리 할 수 있지만 클래스의 객체 반환됩니다 aovlist불행히도 처리하지 않습니다 glht.
Henrik

3
lm잔차 오차를 모든 효과의 오차 항으로 사용합니다. 다른 오류 항을 사용해야하는 효과가있는 경우aov 가있는 경우 (또는 대신 결과 lm를 사용하여 F-stats를 수동으로 계산) 필요합니다. 귀하의 예에서에 대한 오차 항 factorid:factor교호 작용이며, 이는 추가 모형의 잔차 오차 항입니다. 와 결과를 비교하십시오 anova(lm(value~factor+id)).
Aaron-복 직원 Monica

답변:


28

lme 모델이 분산 성분을 id0보다 크게하기 때문에 차이 가 있습니다. 모든 항에 대한 원시 anova 테이블을 살펴보면 id의 평균 제곱 오차가 잔차의 오차보다 작다는 것을 알 수 있습니다.

> anova(lm1 <- lm(value~ factor+id, data=tau.base))

          Df  Sum Sq Mean Sq F value Pr(>F)
factor     3  0.6484 0.21614  1.3399 0.2694
id        21  3.1609 0.15052  0.9331 0.5526
Residuals 63 10.1628 0.16131   

분산 성분을 계산할 때 이는 id로 인한 분산이 음수가됨을 의미합니다. 예상 평균 제곱 메모리에 대한 나의 기억은 흔들리지 만 계산은 다음과 같습니다.

(0.15052-0.16131)/3 = -0.003597.

이상하게 들리지만 일어날 수 있습니다. 의미하는 것은 각 id의 평균이 모형의 잔차 변동량을 고려할 때 서로 기대하는 것보다 서로 더 가깝다는 것입니다.

반대로 lme를 사용하면이 분산이 0보다 커집니다.

> summary(lme1 <- lme(value ~ factor, data = tau.base, random = ~1|id))
...
Random effects:
 Formula: ~1 | id
        (Intercept)  Residual
StdDev: 3.09076e-05 0.3982667

이는 표준 편차를보고하여 분산 ( 9.553e-10id) 분산과 0.1586164잔차 분산에 대한 분산 수율을 얻습니다 .

이제 aov반복 측정에 사용 하는 것이 모든 반복 측정 쌍 사이의 상관 관계가 동일하다고 생각되는 경우에만 적절 하다는 것을 알아야 합니다. 이것을 복합 대칭이라고합니다. (기술적으로는 구형이 필요하지만 지금은 충분합니다.) 사용하는 이유 중 하나 lme이상이 aov이 상관 관계 구조의 다른 종류를 처리 할 수 있다는 것입니다.

이 특정 데이터 세트에서이 상관 관계의 추정치는 음수입니다. 이것은 id의 평균 제곱 오차가 잔차 제곱 오차보다 작은 방법을 설명하는 데 도움이됩니다. 음의 상관 관계는 개인의 첫 번째 측정치가 평균보다 낮 으면 평균적으로 두 번째 측정치가 평균보다 높아서 상관 관계가 없거나 0 인 상관 관계가있을 경우 예상보다 개인의 총 평균이 변동이 적다는 것을 의미합니다.

lme랜덤 효과와 함께 사용 하는 것은 상관 관계가 음이 아니어야하는 복합 대칭 모델을 피팅하는 것과 같습니다. 다음을 사용하여 상관 관계가 음수가 될 수있는 모델에 적합 할 수 있습니다 gls.

> anova(gls1 <- gls(value ~ factor, correlation=corCompSymm(form=~1|id),
                    data=tau.base))
Denom. DF: 84 
            numDF   F-value p-value
(Intercept)     1 199.55223  <.0001
factor          3   1.33985   0.267

이 ANOVA 테이블은에서 테이블에 동의 aov적합과에서 lm맞습니다.

그래, 뭐? 음, id관측 값의 분산 과 관측 값 간의 상관 관계가 음수가 아니어야 한다고 생각하는 경우 실제 분산을 lme사용하는 것보다 적합 aov하거나 lm잔차 분산의 추정치가 약간 더 좋습니다. 당신이 믿는 경우, 관찰 사이의 상관 관계는 음수가 될 수있다, aov또는 lm또는 gls더 좋다.

상관 관계 구조를 추가로 탐색하는 데 관심이있을 수도 있습니다. 일반적인 상관 관계 구조를 살펴 보려면 다음과 같은 작업을 수행하십시오.

gls2 <- gls(value ~ factor, correlation=corSymm(form=~unclass(factor)|id),
data=tau.base)

여기서는 출력을 상관 구조로만 제한합니다. 1에서 4까지의 값은factor . 우리는 요소 1과 요소 4가 상당히 강한 음의 상관 관계를 가지고 있음을 알았습니다.

> summary(gls2)
...
Correlation Structure: General
 Formula: ~unclass(factor) | id 
 Parameter estimate(s):
 Correlation: 
  1      2      3     
2  0.049              
3 -0.127  0.208       
4 -0.400  0.146 -0.024

이러한 모델 중에서 선택하는 한 가지 방법은 우도 비 검정입니다. 이는 랜덤 효과 모델과 일반 상관 구조 모델이 통계적으로 크게 다르지 않음을 보여줍니다. 이런 일이 발생하면 일반적으로 더 간단한 모델이 선호됩니다.

> anova(lme1, gls2)
     Model df      AIC      BIC    logLik   Test  L.Ratio p-value
lme1     1  6 108.0794 122.6643 -48.03972                        
gls2     2 11 111.9787 138.7177 -44.98936 1 vs 2 6.100725  0.2965

2
이는 대칭으로 화합물을 사용하는 실제 수 lme와 동일한 결과를 얻었다 aov(활성화시켜 lme, 즉 상기 호출 상관 인자를 이용하여 모든 ANOVAs 용) lme:anova(lme(value ~ factor, data = tau.base, random = ~1|id, correlation = corCompSymm(form = ~1|id)))
헨릭

1
좋은 발견. 그러나 그에 맞는 추가 매개 변수가 없습니까? 여기에는 세 가지 분산 매개 변수가 있습니다. id, 잔차 분산 및 상관에 대한 분산 인 반면, gl은 잔차 분산 및 상관 만 갖는다.
복원 Monica Monica

1
그러나 당신의 주장은 그럴듯 해 보이지만 결과는 일치하지 않습니다. 모든 ANOVA 테이블 ( aov, lme, 및 복합 대칭없이 lme화합물 대칭) DFS의 정확히 같은 수 있습니다.
Henrik

1
이 세 매개 변수가 실제로 처음 두 매개 변수를 과도하게 매개 변수화했음을 확신해야합니다. 그들이 어떻게 관련되어 있는지 알고 있습니까?
Aaron-복원 모니카

1
아니요 anova.lme(). 의 결과를 신뢰하고 있습니다. 귀하의 답변에서 ANOVA와 혼합 모델 간의 관계는 상관 관계 구조에 있습니다. 그런 다음 컴 팬드 대칭 상관 구조를 적용하면 두 가지 접근 방식이 동일하다는 것을 읽었습니다. 따라서 나는 그것을 부과했다. 이것이 다른 df를 먹는지 전혀 모른다. 그러나 결과는이 해석에 동의하지 않습니다.
Henrik

2

aov() 통해 모델에 맞는 lm()최소 제곱 사용하여lme 최대 가능성을 통해 적합합니다. 선형 모형의 모수를 추정하는 방법의 차이는 f- 값의 (매우 작은) 차이를 설명합니다.

실제로 (예 : 가설 검정의 경우)이 추정치는 동일하므로, 하나가 다른 것보다 '신뢰할 수있는'것으로 어떻게 간주 될 수 있는지 알 수 없습니다. 그것들은 다른 모델 피팅 패러다임에서 나옵니다.

대비의 경우 요인에 대비 행렬을 설정해야합니다. Venebles와 Ripley는 제 4 판 143, p.146 및 p.293-294에서이 작업을 수행하는 방법을 보여줍니다.


흠, 그런데 왜 때때로 차이점이 있고 때로는 결과가 정확히 같은가? Furthemrore 는 유사하지만 동일하지 않은 방법을 사용하므로 분산 분석 (엄격히 말해서) 을 사용 lme하거나 lmer계산하는 것이 불가능한 것 같습니다 . R에서 반복 측정 ANOVA에 대한 대비를 계산할 방법이 없습니까?
Henrik

시스템이 모델링이 최소 제곱보다 선형 인 경우 ML은 동일한 통계량을 제공해야합니다. 데이터에 다른 구조가있을 때만 두 가지 방법으로 다른 결과를 얻을 수 있습니다. Pinheiro와 Bates는 혼합 효과 모델 책에서 이것을 다룹니다. 또한 그들은 '정확하게'같지 않을 것입니다. 시그 자리 숫자로 충분히 멀리 가면 약간의 차이점을 발견 할 것입니다. 그러나 모든 실질적인 목적을 위해 그들은 동일합니다.
Chris
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.