[python] Matplotlib로 확률 분포 그래프 그리기

확률 분포를 시각화하는 것은 데이터 분석 및 통계학에서 중요한 역할을 합니다. Python에서 Matplotlib 라이브러리는 이러한 확률 분포를 그래프로 그리는 데 유용한 도구입니다. 이 글에서는 Matplotlib를 사용하여 주요 확률 분포인 정규 분포와 이항 분포를 그래프로 그리는 예제를 살펴보겠습니다.

정규 분포 그래프 그리기

정규 분포는 평균과 표준 편차에 의해 정의되는 확률 분포입니다. 아래의 예제 코드는 평균이 0이고 표준 편차가 1인 정규 분포를 그래프로 그리는 예제입니다.

import numpy as np
import matplotlib.pyplot as plt

# 정규 분포의 평균과 표준 편차 설정
mu = 0
sigma = 1

# x 값의 범위 설정
x = np.linspace(-5, 5, 100)

# 정규 분포의 확률 밀도 함수 계산
y = (1 / (sigma * np.sqrt(2 * np.pi))) * np.exp(-0.5 * ((x - mu) / sigma) ** 2)

# 그래프 그리기
plt.plot(x, y, color='blue')
plt.title('Normal Distribution')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.show()

위의 코드를 실행하면 평균이 0이고 표준 편차가 1인 정규 분포의 확률 밀도 함수가 그래프로 그려집니다.

이항 분포 그래프 그리기

이항 분포는 주어진 시행 횟수와 성공 확률에 의해 정의되는 확률 분포입니다. 아래의 예제 코드는 시행 횟수가 10이고 성공 확률이 0.5인 이항 분포를 그래프로 그리는 예제입니다.

import numpy as np
import matplotlib.pyplot as plt

# 이항 분포의 시행 횟수와 성공 확률 설정
n = 10
p = 0.5

# x 값의 범위 설정
x = np.arange(0, n + 1)

# 이항 분포의 확률 질량 함수 계산
y = [np.math.comb(n, k) * (p ** k) * ((1 - p) ** (n - k)) for k in x]

# 그래프 그리기
plt.bar(x, y, color='blue')
plt.title('Binomial Distribution')
plt.xlabel('Number of Successes')
plt.ylabel('Probability')
plt.show()

위의 코드를 실행하면 시행 횟수가 10이고 성공 확률이 0.5인 이항 분포의 확률 질량 함수가 그래프로 그려집니다.

결론

Matplotlib를 사용하면 Python에서 간단하게 확률 분포를 그래프로 그릴 수 있습니다. 위의 예제 코드를 참고하여 다양한 확률 분포를 시각화해보세요. Matplotlib에 대한 더 자세한 내용은 공식 Matplotlib 웹사이트를 참조하시기 바랍니다.