[통계학] 중심극한정리(CLT: Central Limit Theorem) 쉽게 설명

혹시 이렇게 생각하고 있다면 잘못 이해하고 있는 것이다

모집단(분석하고자 하는 전체 집단)에서 표본을 30개 이상 추출했으니 추출한 해당 표본의 분포는 정규분포에 따른다. 

 잘못 이해

이건 간단한 예제로 이해 가능한데, 예를 들어 우리나라 성인 몸무게 데이터를 300개를 한번에 추출 했다고 가정하자.

300명 중 추출된 몸무게 데이터는 50kg: 150명, 60kg: 100명, 70kg: 40명, 100kg: 10명 이라고 가정하자

이 결과를 히스토그램으로 대충 그려보면 다음과 같이

test <- c(rep(50, 150),rep(60, 100),rep(70, 40), rep(100, 10))
hist(test)

R로 그린 히스토그램 예제

당연히 정규분포를 따르지 않는다. 

 

중심극한정리에 대해 최대한 쉽게 설명해보겠다. 예시를 잘 보자

 

중심극한정리 정의

모집단 분포에 상관없이 모집단에서 추출한 표본의 크기 n이 커질수록 (n≥30)  표본평균의 분포가 정규분포에 가까워진다.(모표본의 크기가 약 30개 이상이면 표본평균의 분포는 정규분포에 따른다.)

중심극한정리 주요사항 및 과정 예시

1. 주요사항

  • 모집단은 정규분포가 아니어도 상관없다
  • 모집단에서 n개의 표본을 추출할 때, 30개 이상의 샘플을 추출을 가정
  • 무작위 추출(Random Sampling)이며 복원 추출이어야 한다. (랜덤하게 추출하며 추출된 데이터를 다시 추출 가능)
  • 모집단에서 n개의 표본을 추출할 때 시행횟수가 많을수록 정규분포 모양이 잘 보인다.

2. 과정 예시

  1. 우리나라 남성 몸무게 데이터(모집단)에서 30개 표본 랜덤샘플링으로 데이터 추출
  2. 30개의 남성 몸무게 데이터 표본의 평균(X)을 구해서 분포도에 데이터 찍기
  3. 다시 데이터를 복원하고 랜덤샘플링으로 데이터 추출(복원 추출)
  4. 다시 30개의 남성 몸무게 데이터 표본의 평균(X)을 분포도에 데이터 찍기
  5. 다시 위 3, 4과정을 계속 반복, 반복, 반복
  6. 이렇게 각 30명의 남성 몸무게 데이터를 랜덤샘플링, 복원추출한 표본의 평균들의 분포도는 정규분포에 근사해진다.
  7. 또한 이 과정을 통해 구한 평균값들의 평균은 모집단(우리나라 전체 남성 몸무게 데이터)의 평균과 근사해진다.

아직 이해가 안된다면 처음에 사용한 몸무게 300명 데이터를 모집단으로 해서 R 코드로 보여주겠다.

(아까는 추출된 데이터였고 지금은 300명의 몸무게 데이터를 모집단으로 사용하는 것이니 헷갈리지 말자!)

모집단 50kg: 150명, 60kg: 100명, 70kg: 40명, 100kg: 10명


1. 자, 이제 이 모집단에서 표본 30개를 뽑을 것이다.

sample(test, 30) #30개 표본 무작위 추출

sampel 코드를 활용해 모집단 중 30개의 데이터를 무작위로 추출


2. 그리고 이 30개 표본의 평균을 구하고 이 평균을 계속 반복해서 추출한다.

mean(sample(test, 30)) # 30개의 표본의 평균 추출을 계속 반복


3. 이 작업을 1000번 시행한다. (직접 하는 것은 힘드니 코드로 실행)

avg = c()
for(i in 1:1000){
  sample_mean = mean(sample(test, 30))
  avg <- c(avg, sample_mean)
}
sample_avg <- data.frame(Num = avg)
sample_avg

 

  • 이렇게 하면  오른쪽 이미지와 같이 1000번 시행된 표본의 평균의 값들이 나온다.
  • 이제 여기에 쌓여 있는 데이터를 그래프에 분포도를 그려보면,
    이 데이터가 정규분포로 그려진다는 이야기다.



4. ggplot을 이용해 위 데이터를 histogram에 그려보자.

ggplot(sample_avg, aes(x=Num)) + geom_histogram(bins = 100)

이렇게 정규분포 모양이 띄는 것을 알 수 있다. 이게 바로 '중심극한정리'다. 

중심극한정리를 한마디로 정리하면

어떠한 분포와 아무 상관없는 모집단(분석하고자 하는 대상)에서 30개 이상의 표본 데이터를 랜덤, 복원 추출을 반복 시행하고 시행할 때 마다 나오는 평균 데이터를 모아 데이터의 분포도를 그려보면 정규분포에 수렴한다. 

 

주의점

중심극한정리는 '평균'에 집착하는 경향이 많다 보니 모집단에 대한 특성을 잘 파악해야 한다.

극단적인 예를 들어 1이 99개, 10000이 1개인 모집단에서 30개의 표본을 추출했는데,

1이 29개, 10000이 1개 나왔다고 가정하자. 그럼 이 표본의 평균은 ((1x29)+(10000x1))/30 으로 334.3이 된다.

이렇게 쌓은 데이터가 정규성을 띈다고 의미가 있을까?

과도한 정규성 가정은 극단적인 상황으로 이어질 수 있으니 모집단(분석하고자 하는 대상의 전체 집단)에 대한 충분한 이해가 필요하다.

 

 

 

 

<참조자료>

https://intothedata.com/02.scholar_category/statistics/central_limit_theorem/

https://blog.naver.com/mykepzzang/220851280035