Bonferroni 사후검정 해석 - bonferroni sahugeomjeong haeseog

[학술] 통계분석 사후비교 방법 중 Bonferroni 분석법 설명 부탁드립니다.

안녕하세요. 다름이 아니라 논문 리뷰 중인데 처음보는 통계분석을 수행하여 해당 방법에 대해서 문의드립니다.

5가지 실험군에 대해서 real-time PCR을 돌렸는데, 각군의 샘플 수가 3입니다. 통계분석을 graphpad 라는 소프트웨어를 사용하였는데, one-way ANOVA에 사후비교는 Bonferroni 를 사용했습니다.

샘플수도 작고, 결과에 대한 설명이 빈약하여 reject를 고민중인데, 그래도 Bonferroni 가 무었인지 궁금하여 문의드립니다.

Bonferroni 사후검정 해석 - bonferroni sahugeomjeong haeseog
 

Bonferroni 사후검정 해석 - bonferroni sahugeomjeong haeseog

Bonferroni  (2015-08-31 00:51)

1

후속검정은 유의한 분산분석에 대해 실행하는 것으로, 분산분석은 단순히 여러 군집 중 적어도 하나의 군집이 다른 하나의 군집과 유의한 차이가 있다는 것일뿐, 어느 군집이 어느 군집과 차이가 있는 것인지를 알기 위해서는 후속검정의 방법들 중 하나를 시행해보아야 하는데 이는 결국 2개 군집들의 조합들에 대해서 모두 유의한 차이의 여부를 확인하는 것임.
군집이 5개라면 5C2 가 되므로 총 10개의 2개 군집들의 조합이 있을 수 있으므로 10번의 비교를 하게 되는데 이때 1회의 비교마다 5%의 유의수준을 사용한다면 총 50%의 제1형 오류의 가능성을 가져오게 되므로, 전체 후속검정의 유의수준을 5%로 고정하는 방법을 고려하게 되는 것임. 이 방법이 무엇인가가 여러 후속검정들 사이의 차이에 해당됨.
Bonferroni의 방법은 이중 가장 단순한 방법으로 5%/10(비교의 횟수)=0.5%의 유의수준을 각각의 비교에 대해 적용하는 방법임. 각 비교는 일반적인 t-검정과 같은 방법으로 진행하되, 그 유의수준을 0.5%, 즉 99.5%의 신뢰수준으로 검정하여 유의한 차이를 보이는 짝들을 찾아나가는 것이 Bonferroni의 방법임. 끝.

추) 군집별 시료수가 '3'이라면, 자유도가 너무 작아서, 심각한 정도로 검정력이 작을수밖에 없으므로 의미있는 결과를 기대하는 것은 무리임.

댓글리플

  
  
Bonferroni 사후검정 해석 - bonferroni sahugeomjeong haeseog

multiple comparison correction 방법중 가장 보수적인 방법입니다. 보통 p <0.05를 만족한다는건, 데이터에 의미있는 차이가 없을때 우연히 현재와 같은 양상이 관찰될 확률이 5%미만이라는 거죠. 즉, '차이있음'이라고 선언했을때 '앗 진실이 아닌데 속았구만'할 확률(=false positive)이 5%미만이란 말입니다. 그런데 비교를 한번이 아니라 두번,세번...만약 20번을 한다고 하면 그중에 한번정도는 자연스럽게 false positive가 나올수 있겠죠. 본페로니는 그래서 원하는 p-value를 비교횟수로 나눈 새로운 p-value를 적용하는방법입니다.

ANOVA는 셋 이상의 그룹들이 있을때 우선, 세 그룹이 모두 동일한 그룹인지 아닌지르 검정하게 되고, 만약 '세그룹이 모두 동일하지는 않음.'이라고 나오면 구체적으로 누구랑 누구랑 서로 다른그룹인지를 밝혀야 하는 상황이 됩니다. 이게 post hoc test고, 실제로는 t-test를 모든 가능한 조합만큼 실시하는거죠. 그리고 그 가능한 조합의 수로 원하는 p-값을 나눈 새로운 p-value보다 적은 쌍이 있다면, 유의하게 차이가 나는 그룹쌍이라고 보는겁니다.

댓글리플

  
  
Bonferroni 사후검정 해석 - bonferroni sahugeomjeong haeseog

위에 두 분 말씀이 다 맞습니다. 쉽게 설명드릴께요:

1) 본 퍼로니: 그래프패드에서 선택하여 수행할 수 있는 가장 보수적인 포스트 학 테스트 입니다. 여기서 통과되어 유의미한 차이가 있다고 나오면, 다른 테스트에서도 그렇함.

2) 튜키 : 본 퍼로니 보다는 걸 보수적인 방법. 피셔 보다는 보수적인 방법

3) 피셔 테스트: 가장 리버럴한 (혹은 덜 보수적인) 방법. 여기서 유의미한 차이를 보았더라도, 본퍼로니에서는 두 그룹에 차이가 없다고 나올 우려가 많이 있음.

하지만, 전제가 하나 있어요. 님이 지금하시는 비교는 티 테스트와 아노바와 같이 Parametric test로 검증할 때 그렇다는 얘기이고, 난 파라메트릭 (예. 멘-휘트니-윌콕슨)으로 하면 보다 더 보수적으로 검증해 볼 수 있습니다.

통계를 적용하는 기준으로 0.05 로 많이 놓습니다만, 이것도 약하니, 0.005로 놓아야 한다는 주장도 많이 있습니다 (브릭 홈페이지 내에 그런 논문 소개란이 있음).

댓글리플

  
  
Bonferroni 사후검정 해석 - bonferroni sahugeomjeong haeseog

이슈 글타래 보기

 

코로나19 학술토론

 

여성과기인 지원정책 찬반

 

공정한 연구과제 심사·평가

Bonferroni 사후검정 해석 - bonferroni sahugeomjeong haeseog

이전 포스팅에서 분산분석과 관련한 가정 검토, 그리고 가설 검정 수행에 대해서 살펴보았습니다.


분산분석 결과, p-value가 0.05보다 작으면 모든 그룹의 평균이 같다고 할 수 없습니다.

다시 말해 최소 한 그룹은 다른 그룹과 차이가 있다는 것이죠.

그럼 사후검정(post hoc analysis)을 통해 어느 그룹간에 차이가 있는 것인지 알아보게 됩니다.

두 그룹씩 짝을 지어서 그룹 간 검정을 수행합니다.

가능한 모든 경우의 수에 대한 짝을 구성한 후 각 각 검정을 수행하는 것입니다.

다중비교(multiple comparison)을 하게 되는 것이죠.

↓예를들어 A, B, C 세 그룹이 있다면 총 3개의 짝이 만들어집니다.

두 개의 그룹을 비교하는 것이니 t-검정을 하는 것과 동일하지만,

t-검정을 여러 번 하게 되면제1종오류(알파)가 기존에 정한 0.05보다 커지는 문제가 생깁니다.

이러한 문제를 해결하기 위해서 여러 가지 방법들이 제안되었습니다.

본페로니(Bonferroni), 튜키 (Tukey), 쉐페 (Scheffe)의 방법등이 일반적으로 많이 사용됩니다.

이 중 본페로니 방법의 경우 해석이 직관적이고 적용 방법이 간단하여 많이 이용됩니다.

가장 보수적인 방법 중 하나이기도 합니다.

본페로니 방법: 유의수준 0.05를 비교하는 개수로 나누어 줍니다.

가령 3개의 그룹을 비교한다면 3개의 짝이 만들어지게 됩니다.

0.05/3=약 0.017

따라서 검정을 할 때 각 군에 대해서 유의수준 0.017을 기준으로 하게 됩니다.

[R example]

 #자료 생성
set.seed(1); SBP1<-c(sample(125:140,30,replace=T))
set.seed(1); SBP2<-c(sample(135:150,30,replace=T))
set.seed(1); SBP3<-c(sample(150:170,30,replace=T))
SBP<-c(SBP1,SBP2,SBP3)
group<-c(rep(1,30),rep(2,30),rep(3,30))
dat<-data.frame(group,SBP)
head(dat)

#분산분석
summary(aov(SBP~group,dat))
anova(lm(SBP~group,dat))

#다중비교
#install.packages("agricolae")
library(agricolae)
model<-aov(SBP~group,dat)
comparison<-LSD.test(model,"group",p.adj="bonferroni",group=F)
comparison

#plot
out<-LSD.test(model,"group",p.adj="bonferroni",group=T)
out
# Variation range: max and min
plot(out)
# variation standard deviation
plot(out,variation="SD")
# Variation interquartil range: Q75 and Q25
plot(out,variation="IQR")

LSD.test 함수를 이용하여 본페로니 보정을 한 결과를 출력하도록 합니다.

예전에는 DFerror와 MSerror값을 직접 입력해야 했는데 지금은 aov 함수 결과를 바로 입력해도 같은 결과가 출력됩니다.

Bonferroni 사후검정 해석 - bonferroni sahugeomjeong haeseog


[R results]
1) 자료를 생성합니다.

2) 분산분석을 수행합니다.

3) 분산분석 결과 p-value<0.05 로 사후검정을 수행하게 됩니다.

bonferroni 옵션을 추가하고,

group=F를 넣으면 comparison 결과가 출력됩니다.

1-2, 1-3, 2-3 모두 p-value가 매우 작고 유의하게 나왔음을 확인할 수 있습니다.


4) group=T를 넣으면 각 그룹별 평균과 a,b,c로 그룹이 할당됩니다.

이를 이용해서 그래프를 그리게 됩니다.

4-1) 변동을 range로 나타낸 그래프

4-2) 변동을 Standard deviation으로 통해 나타낸 그래프

4-3) 변동을 IQR로 나타낸 그래프