본문 바로가기
데이터분석과 AI/빅데이터 분석기사

[빅데이터분석기사 실기][작업형3] 등분산 검정(levene, bartlett, fligner)

by 우공80 2023. 6. 25.
728x90

등분산 검정 levene, bartlett, fligner

등분산 검정 또는 분산 동질성 검정이라고도 하는 등분산 검정은 둘 이상의 그룹 또는 샘플의 분산이 동일한지 여부를 확인하는 데 사용되는 통계 검정입니다. 이는 독립 표본 t 검정 및 분산 분석(ANOVA)과 같은 여러 통계 검정에서 중요한 가정입니다.

분산이 크게 다른 경우 통계 테스트의 유효성과 신뢰성에 영향을 미쳐 부정확한 결론을 내릴 수 있습니다.

등분산 검정은 아래와 같이 3가지가 있고, 각각 특징이 있습니다.

  • Levene's Test: 그룹 평균과의 절대 편차를 비교하고 정규성 이탈에 덜 민감합니다.
  • Bartlett's Test: 그룹 분산을 기반으로 분산을 비교하고 데이터의 정규성을 가정합니다.
  • Fligner's Test: 절대 편차의 중앙값을 비교하는 비모수 검정이며 정규성 편차에 대해 견고합니다.

설명과 같이 Levene와 Fligner가 Bartlett보다 정규성 편차에 대해 더 강건한 결과를 얻는다고 합니다.

검정 통계량은 표본 간의 분산 차이를 측정하고 p- 값은 등분산 귀무가설 하에서 관찰된 검정 통계량을 얻을 확률을 나타냅니다. p-값이 미리 결정된 유의 수준(예: 0.05) 미만이면 분산이 유의하게 다르다는 것을 나타냅니다.

(등분산이 기본적인 가정-귀무가설 이므로)

다음은 등분산 검정의 예제입니다.

import numpy as np

# 데이터 생성
a=[]
b=[]
for i in np.arange(0,100,1):
    a.append(np.random.random()*100)
    b.append(np.random.random()*120)

#등분산 검정
from scipy.stats import levene, bartlett, fligner

print(levene(a,b))
print(bartlett(a,b))
print(fligner(a,b))

Output:

LeveneResult(statistic=5.635537116901352, pvalue=0.018556390323159404)
BartlettResult(statistic=3.2450018569670056, pvalue=0.07164160935481108)
FlignerResult(statistic=6.8281253293304385, pvalue=0.008973339837171508)

위 예제에서, Levene와 Fligner는 p_value < 0.05 로서 등분산성을 만족하지 못하고, Bartlett은 등분산성을 만족합니다. 

만약 데이터가 정규성을 만족하지 못하는 경우에는 Fligner나 Levene가 더 신뢰도가 높으며, 그 외에도 p-값의 크기나, 샘플의 크기, 데이터의 특성, 분석의 요구사항 등을 고려하여 등분산성을 판단해야 합니다. 

※ 만약 결측치가 있다면 결측치는 제거하고 등분산 검정을 수행해야 합니다.

 

 

 

※ 위 내용은 "빅데이터 분석기사 실기 준비를 위한 캐글 놀이터"  및 "데이터마님 scipy tutorial"을 따라가며 공부한 내용입니다.

https://www.kaggle.com/datasets/agileteam/bigdatacertificationkr

 

Big Data Certification KR

빅데이터 분석기사 실기 (Python, R tutorial code)

www.kaggle.com

https://www.datamanim.com/dataset/97_scipy/scipy.html#t-one-sample

 

728x90

댓글