pbj0812의 코딩 일기

[통계학] 중심극한정리 구현 본문

Science/통계학

[통계학] 중심극한정리 구현

pbj0812 2023. 5. 22. 02:00

0. 이론

 - 개별 데이터의 모집단이 정규분포하지 않아도 거기서 추출한 표본이 충분히 크면 표본평균은 정규분포를 따른다.

1. 실습

 1) library 호출

import matplotlib.pyplot as plt
import pandas as pd
import random

 2) 데이터 생성 및 확인

  - 봉우리 두 개를 가진 데이터

x = [1] * 25 + [2] * 75 + [3] * 100 + [4] * 75 + [5] * 25 + [6] * 75 + [7] * 100 + [8] * 75 + [9] * 25 

df = pd.DataFrame({'x': x})
df2 = df.groupby('x').agg({'x' : 'count'})

plt.bar(df2.index, df2['x'])

 3) 한 세트에 30개씩 뽑아 평균을 만들고(소수점 한자리) 1만번을 반복하여 히스토그램 생성

dummy_mean = []
for i in range(10000):
    dummy = [random.randrange(0,574) for i in range(30)]
    tmp = []
    for j in dummy:
        tmp.append(x[j])
    dummy_mean.append(round(sum(tmp) / len(tmp), 1))
    
df3 = pd.DataFrame({'x': dummy_mean})
df4 = df3.groupby('x').agg({'x' : 'count'})

plt.bar(df4.index, df4['x'])

Comments