R의 brown–forsythe 테스트: 단계별 예


일원 분산 분석은 3개 이상의 독립 그룹 평균 간에 유의미한 차이가 있는지 여부를 확인하는 데 사용됩니다.

일원 분산 분석의 가정 중 하나는 표본을 추출한 모집단의 분산이 동일하다는 것입니다.

이를 테스트하는 가장 일반적인 방법 중 하나는 다음 가정을 사용하는 통계 테스트인 Brown-Forsythe 테스트를 사용하는 것입니다.

  • H 0 : 모집단 간의 분산이 동일합니다.
  • H A : 인구 간의 차이가 동일하지 않습니다.

검정의 p-값이 특정 유의 수준(예: α = 0.05)보다 낮으면 귀무 가설을 기각하고 서로 다른 모집단 간에 분산이 동일하지 않다는 결론을 내립니다.

이 튜토리얼에서는 R에서 Brown-Forsythe 테스트를 수행하는 방법에 대한 단계별 예를 제공합니다.

1단계: 데이터 입력

세 가지 다른 운동 프로그램이 서로 다른 체중 감량 수준으로 이어지는지 여부를 알고 싶다고 가정해 보겠습니다.

이를 테스트하기 위해 우리는 90명을 모집하고 각 프로그램을 사용할 30명을 무작위로 할당합니다. 그런 다음 한 달 후에 각 사람의 체중 감소를 측정합니다.

다음 데이터 세트에는 각 프로그램을 통해 감량된 체중에 대한 정보가 포함되어 있습니다.

 #make this example reproducible
set.seed(0)

#create data frame
data <- data.frame(program = as . factor ( rep (c(" A ", " B ", " C "), each = 30)),
                   weight_loss = c( runif (30, 0, 3),
                                   runif (30, 0, 5),
                                   runif (30, 1, 7)))

#view first six rows of data frame
head(data)

# program weight_loss
#1 A 2.6900916
#2 A 0.7965260
#3 A 1.1163717
#4 A 1.7185601
#5 A 2.7246234
#6 A 0.6050458

2단계: 데이터 요약 및 시각화

Brown-Forsythe 테스트를 수행하기 전에 상자 그림을 만들어 각 그룹의 체중 감량 차이를 시각화할 수 있습니다.

 boxplot(weight_loss ~ program, data = data)

또한 각 그룹의 체중 감소 분산을 계산할 수도 있습니다.

 #load dplyr package
library (dplyr)

#calculate variance of weight loss by group
data %>%
group_by (program) %>%
  summarize (var=var(weight_loss))

# A tibble: 3 x 2
  program var
     
1 A 0.819
2 B 1.53 
3 C 2.46

그룹 간 차이가 다르다는 것을 알 수 있지만 이러한 차이가 통계적으로 유의 한지 확인하기 위해 Brown-Forsythe 테스트를 수행할 수 있습니다.

3단계: Brown-Forsythe 테스트 수행

R에서 Brown-Forsythe 테스트를 수행하려면 onewaytests 패키지의 bf.test() 함수를 사용할 수 있습니다.

 #load onewaytests package
library (onewaytests)

#perform Brown-Forsythe test
bf.test(weight_loss ~ program, data = data)

  Brown-Forsythe Test (alpha = 0.05) 
-------------------------------------------------- ----------- 
  data: weight_loss and program 

  statistic: 30.83304 
  num df: 2 
  name df: 74.0272 
  p.value: 1.816529e-10 

  Result: Difference is statistically significant. 
-------------------------------------------------- -----------

테스트의 p-값은 0.000 미만으로 나타났으며, 결과에서 알 수 있듯이 세 그룹 간의 분산 차이는 통계적으로 유의미합니다.

다음 단계

Brown-Forsythe 검정의 귀무 가설을 기각할 수 없는 경우 데이터에 대해 일원 분산 분석을 수행할 수 있습니다.

그러나 귀무가설을 기각하면 등분산 가정이 위반된다는 뜻이다. 이 경우 두 가지 옵션이 있습니다.

1. 어쨌든 일원 분산 분석을 수행합니다.

일원 분산 분석은 실제로 가장 큰 분산이 가장 작은 분산의 4배를 넘지 않는 한 동일하지 않은 분산에 대해 견고하다는 것이 밝혀졌습니다.

위 예의 2단계에서 가장 작은 분산은 0.819이고 가장 큰 분산은 2.46임을 확인했습니다. 따라서 가장 큰 분산과 가장 작은 분산의 비율은 2.46 / 0.819 = 3.003 입니다.

이 값은 4보다 작으므로 간단히 일원 분산 분석을 수행할 수 있습니다.

2. 크루스칼-월리스 테스트 수행

가장 큰 분산과 가장 작은 분산의 비율이 4보다 큰 경우 대신 Kruskal-Wallis 테스트를 수행하도록 선택할 수 있습니다. 이는 일원 분산 분석과 비모수적으로 동등한 것으로 간주됩니다.

여기 에서 R의 Kruskal-Wallis 테스트에 대한 단계별 예를 찾을 수 있습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다