반복 측정 anova에 대한 정규성 가정 테스트? (R)


11

따라서 anova에 대한 정규성 가정을 테스트 할 때 포인트가 있다고 가정합니다 ( 12 참조 )

R에서 어떻게 테스트 할 수 있습니까?

나는 다음과 같은 것을 할 것으로 예상된다 :

## From Venables and Ripley (2002) p.165.
utils::data(npk, package="MASS")
npk.aovE <- aov(yield ~  N*P*K + Error(block), npk)
residuals(npk.aovE)
qqnorm(residuals(npk.aov))

"잔여 물"에는 반복 측정 anova의 경우에 대한 방법이 없습니다 (그 문제에 대한 예측도 없음).

이 경우 어떻게해야합니까?

오차 항없이 동일한 적합 모형에서 잔차를 간단히 추출 할 수 있습니까? 나는 그것이 제안이 유효한지 아닌지를 아는 문헌에 충분히 익숙하지 않다.

답변:


5

간단한 응답을받지 못할 수도 residuals(npk.aovE)있지만 해당 개체에 잔차가 없다는 의미는 아닙니다. 수행 str과 수준 내에서 여전히 잔차가있는 것을 알 수있다. "내부"수준에 가장 관심이 있다고 생각합니다

> residuals(npk.aovE$Within)
          7           8           9          10          11          12 
 4.68058815  2.84725482  1.56432584 -5.46900749 -1.16900749 -3.90234083 
         13          14          15          16          17          18 
 5.08903669  1.28903669  0.35570336 -3.27762998 -4.19422371  1.80577629 
         19          20          21          22          23          24 
-3.12755705  0.03910962  2.60396981  1.13730314  2.77063648  4.63730314 

내 자신의 훈련과 실습은 정규성 테스트를 사용하지 않고 강력한 방법으로 QQ 플롯과 병렬 테스트를 사용하는 것이 었습니다.


고마워요 다른 잔차 중 어떤 것을 탐색해야하는지 궁금합니다. 건배, 탈
탈 Galili

npk.aovE는 세 가지 요소의 목록입니다. 처음 두 개는 모수 추정치이며 정규성이 가정되지 않으므로 $ Inin 이외의 다른 것을 테스트하는 것은 적절하지 않은 것 같습니다. names(npk.aovE)`[1] "(Intercept)" "block" "
Inin

@Dwin, trev가 마지막으로 게시 한 방법 (마지막 답변)을 확인할 수 있습니까? 잔차를 계산하기 위해 일종의 투영을 사용합니다. 그룹간에 품종의 균질성이있는 그래프를 그리는 것이 가장 쉬운 방법입니다.
toto_tico

@Dwin, qqplotovm 만 받아들이고 aov 는 받아들이지 않는 것 같습니다.
toto_tico

2

또 다른 옵션은 패키지 의 lme기능 을 사용 nlme하고 얻은 모델을에 전달하는 것 anova입니다. residuals출력에 사용할 수 있습니다 .


1

분석을 수행하기 전에 각 반복 측정에 대해 정규성 가정을 평가할 수 있다고 생각합니다. 각 열이 반복 측정에 해당하도록 데이터 프레임의 모양을 변경 한 다음 해당 열 각각에 대해 shapiro.test를 수행합니다.

apply(cast(melt(npk,measure.vars="yield"), ...~N+P+K)[-c(1:2)],2,function(x) shapiro.test(x)$p.value)

감사 gd047-문제는 aov (yield ~ N P K + Error (block / (N + K)), npk) 의보다 복잡한 시나리오가있을 때 어떻게해야 합니까?
탈 Galili

시나리오의 차이점을 충분히 설명해 주시겠습니까? 불행히도 모델에서 오류 용어를 사용하는 데 익숙하지 않습니다 (그런데 좋은 책을 제안 할 수 있습니까?). 방금 제안한 것은 정규 가정을 확인하는 SPSS 방법입니다. goo.gl/p45Bx
George Dontas 님이

안녕하세요 gd047. 링크 주셔서 감사합니다. 이 모델에 대해 내가 알고있는 것들은 모두 여기에서 연결되어 있습니다. r-statistics.com/2010/04/… 다른 리소스에 대해 알게 될 경우이 모델에 대해 알고 싶습니다. 건배, 탈
탈 Galili

1

Venables와 Ripley는이 책의 뒷부분 (284 페이지)에서 랜덤 및 혼합 효과에 대한 섹션에서 반복 측정 설계에 대해 잔차 진단을 수행하는 방법을 설명합니다.

잔차 함수 (또는 잔차)는 각 지층의 aov 결과에 대해 구현됩니다.

그들의 예에서 : oats.aov <- aov(Y ~ N + V + Error(B/V), data=oats, qr=T)

적합치 또는 잔차를 구하려면

"따라서 fitted(oats.aov[[4]])그리고 resid(oats.aov[[4]])마지막 계층에서 피팅 값과 잔차를 나타내는 길이 (54)의 벡터이다."

중요하게는 다음을 추가합니다.

"원래 실험의 도표와 고유하게 연관시킬 수는 없습니다."

진단을 위해 투영을 사용합니다.

plot(fitted(oats.aov[[4]]), studres(oats.aov[[4]]))
abline(h=0, lty=2)
oats.pr <- proj(oats.aov)
qqnorm(oats.pr[[4]][, "Residuals"], ylab = "Stratum 4 residuals")
qqline(oats.pr[[4]][, "Residuals"])

또한 다른 사용자가 게시 한대로 lme를 사용하여 모델을 수행 할 수 있음을 보여줍니다.


에 따라 , 그것이 있어야 [3]이 아닌 [4]. 나는 그것을 테스트, 그것은 단지 [[3]] 작동
toto_tico

1

다음은 aov와 lme의 두 가지 옵션입니다 (두 번째 방법이 선호되는 것 같습니다)

require(MASS) ## for oats data set
require(nlme) ## for lme()
require(multcomp) ## for multiple comparison stuff

Aov.mod <- aov(Y ~ N * V + Error(B/V), data = oats)
the_residuals <- aov.out.pr[[3]][, "Residuals"]

Lme.mod <- lme(Y ~ N * V, random = ~1 | B/V, data = oats)
the_residuals <- residuals(Lme.mod)

원래 예제는 상호 작용이 Lme.mod <- lme(Y ~ N * V, random = ~1 | B/V, data = oats)없었지만 ( ) 작동하고있는 것 같습니다 (그리고 다른 결과를 생성하여 무언가를하고 있습니다).

그리고 그게 다야...

그러나 완전성을 위해 :

1-모형의 요약

summary(Aov.mod)
anova(Lme.mod)

2-반복 측정 anova를 가진 Tukey 시험 (3 시간 이것을 찾는 !!).

summary(Lme.mod)
summary(glht(Lme.mod, linfct=mcp(V="Tukey")))

3-정규성과 동성애도

par(mfrow=c(1,2)) #add room for the rotated labels
aov.out.pr <- proj(aov.mod)                                            
#oats$resi <- aov.out.pr[[3]][, "Residuals"]
oats$resi <- residuals(Lme.mod)
qqnorm(oats$resi, main="Normal Q-Q") # A quantile normal plot - good for checking normality
qqline(oats$resi)
boxplot(resi ~ interaction(N,V), main="Homoscedasticity", 
        xlab = "Code Categories", ylab = "Residuals", border = "white", 
        data=oats)
points(resi ~ interaction(N,V), pch = 1, 
       main="Homoscedasticity",  data=oats)

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.