pbj0812의 코딩 일기

[통계학] 정규분포 그래프 그리기 본문

Science/통계학

[통계학] 정규분포 그래프 그리기

pbj0812 2021. 8. 8. 19:07

0. 목표

 - 정규분포 그래프 그리기

1. 실습

 1) library 호출

import numpy as np
import matplotlib.pyplot as plt
import math

 2) 데이터 생성

  - 평균 10, 표준편차 4, 데이터의 개수 10 만 개

data = np.random.normal(10, 4, 100000)

 3) 정렬

data = sorted(data)

 4) 평균

  - 9.991368120797462

data_mean = sum(data) / len(data)

 5) 표준편차, 분산

  - 표준편차 4.013488145962863, 분산 16.10808709778442

sd = 0
for i in data:
    sd += (i - data_mean) ** 2
    
sd = math.sqrt(sd / len(data))

var = sd ** 2

 6) y 좌표 계산

y = []
for i in data:
    y.append((1 / math.sqrt(2 * np.pi * (sd ** 2))) * np.exp((-(i - data_mean) ** 2) / (2 * (sd ** 2))))

 7) 그림 그리기

fig, ax = plt.subplots()
ax.hist(data, bins=100, density=True, alpha=0.5)
ax.plot(data, y, 'r')

2. 참고문헌

 - NumPy 난수 생성 (Random 모듈)

 - 정규분포

 - 쉽게 배우는 통계학

 

Comments