본문 바로가기
파이썬/파이썬기본문법

파이썬 numpy 포아송 분포(Poisson Distribution)

by flycoding 2023. 12. 24.
반응형

포아송 분포(Poisson Distribution) - poission()

포아송 분포는 이산형 분포이다.

예를 들어, 어떤 사람이 하루에 두 번 먹는다면 그가 세 번 먹을 확률은 얼마나 될까?
여기에는 두 가지 매개 변수가 있습니다:
lam - rate 또는 알려진 발생 횟수(예: 위 문제의 경우 2).
size - 반환된 배열의 모양입니다.

 

발생에 대한 랜덤 1x10 분포 생성 2:

from numpy import random

x = random.poisson(lam=2, size=10)

print('x = random.poisson(lam=2, size=10) : \n', x)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 포아송 분포(poisson distribution) poisson() 메소드 활용 예제

 

파이썬 numpy 포아송분포 시각화

from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

sns.distplot(random.poisson(lam=2, size=1000), kde=False)

plt.show()

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 포아송 분포(poisson distribution) 시각화  poisson() 메소드 활용 예제

 

정규분포와 포아송 분포 차이점

정규 분포는 연속형인 반면 포아송은 이산형이다.
그러나 충분히 큰 포아송 분포의 경우 이항과 유사하게 특정 std dev 및 평균을 갖는 정규 분포와 유사하게 됨을 알 수 있다.

from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

sns.distplot(random.normal(loc=50, scale=7, size=1000), hist=False, label='normal')
sns.distplot(random.poisson(lam=50, size=1000), hist=False, label='poisson')

plt.show()

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 포아송분포 정규분포 차이점 normal() poisson() 활용 예제

 

이번 글에서는 파이썬 numpy 포아송분포(poisson distribution) 개념과 생성 활용 방법에 대해서 살펴보았다.

포아송분포는 poisson()메소드를 활용하며 이를 시각화하기 위해 distplot() 메소드를 실습하였다.

꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.

모두 화이팅입니다.!!!

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

댓글