이산 확률변수 생성

Python으로 배우는 Monte Carlo 시뮬레이션

Izzy Weber

Curriculum Manager, DataCamp

필수 임포트

import scipy.stats as st

import seaborn as sns import pandas as pd import numpy as np import matplotlib.pyplot as plt
Python으로 배우는 Monte Carlo 시뮬레이션

이산 균등분포

이론적 확률질량함수(PMF): 이산 균등분포의 이론적 확률질량함수

Python으로 배우는 Monte Carlo 시뮬레이션

이산 균등분포에서의 표본추출

low = 3 
high = 21
samples = st.randint.rvs(low, high, size=1000)
samples_dict = {"nums":samples}
sns.histplot(x="nums", data=samples_dict, bins=6, binwidth=0.3)

이산 균등분포 표본 결과 그래프

Python으로 배우는 Monte Carlo 시뮬레이션

기하분포

성공확률 $p$가 주어졌을 때, 1회 성공까지 필요한 시행 횟수 $X$의 분포.

확률질량함수, p = 0.5 p = 0.5인 기하분포의 이론적 확률질량함수

Python으로 배우는 Monte Carlo 시뮬레이션

기하분포

확률질량함수, p = 0.3 p = 0.3인 기하분포의 이론적 확률질량함수

Python으로 배우는 Monte Carlo 시뮬레이션

기하분포에서의 표본추출

p = 0.2
samples = st.geom.rvs(p, size=1000)
samples_dict = {"nums":samples}
sns.histplot(x="nums", data=samples_dict)

기하분포 표본 결과 그래프

Python으로 배우는 Monte Carlo 시뮬레이션

더 많은 이산 확률분포

  • 포아송 (scipy.stats.poisson)
    • 일정한 시간·공간 간격에서 사건 수의 확률을 나타냅니다.
  • 이항 (scipy.stats.binom)
    • 독립 시행 $n$회에서 성공 횟수의 확률을 나타냅니다.
  • 더 있습니다!
1 https://docs.scipy.org/doc/scipy/reference/stats.html#discrete-distributions
Python으로 배우는 Monte Carlo 시뮬레이션

연습해 봅시다!

Python으로 배우는 Monte Carlo 시뮬레이션

Preparing Video For Download...