Python에서 포아송 분포를 사용하는 방법
포아송 분포는 주어진 시간 간격 동안 k개의 성공을 얻을 확률을 설명합니다.
확률 변수 X가 포아송 분포를 따르는 경우 X = k 성공 확률은 다음 공식으로 찾을 수 있습니다.
P(X=k) = λ k * e – λ / k!
금:
- λ: 특정 간격 동안 발생하는 평균 성공 횟수
- k: 성공 횟수
- e: 대략 2.71828과 같은 상수
이 튜토리얼에서는 Python에서 포아송 분포를 사용하는 방법을 설명합니다.
포아송 분포를 생성하는 방법
Poisson.rvs(mu, size) 함수를 사용하면 특정 평균값과 표본 크기를 사용하여 포아송 분포에서 임의의 값을 생성할 수 있습니다.
from scipy. stats import fish #generate random values from Poisson distribution with mean=3 and sample size=10 fish. rvs (mu=3, size=10) array([2, 2, 2, 0, 7, 2, 1, 2, 5, 5])
포아송 분포를 사용하여 확률을 계산하는 방법
Poisson.pmf(k, mu) 및 Poisson.cdf(k, mu) 함수를 사용하여 포아송 분포와 관련된 확률을 계산할 수 있습니다.
예시 1: 특정 값과 같을 확률
한 상점에서는 하루 평균 3개의 사과를 판매합니다. 주어진 날에 사과 5개를 팔 확률은 얼마입니까?
from scipy. stats import fish #calculate probability fish. pmf (k=5, mu=3) 0.100819
해당 상점에서 특정 날짜에 사과 5개를 판매할 확률은 0.100819 입니다.
예시 2: 특정 값보다 작은 확률
어떤 상점에서는 하루 평균 7개의 축구공을 판매합니다. 이 가게가 하루에 4개 이하의 축구공을 판매할 확률은 얼마입니까?
from scipy. stats import fish #calculate probability fish. cdf (k=4, mu=7) 0.172992
해당 매장에서 특정 날짜에 4개 이하의 축구공을 판매할 확률은 0.172992 입니다.
예시 3: 특정 값보다 큰 확률
어떤 가게에서는 하루 평균 15캔의 참치가 팔린다. 이 가게에서 하루에 참치 캔이 20캔 이상 팔릴 확률은 얼마입니까?
from scipy. stats import fish #calculate probability 1-fish. cdf (k=20, mu=15) 0.082971
해당 매장에서 하루에 참치캔이 20캔 이상 팔릴 확률은 0.082971 입니다.
포아송 분포를 그리는 방법
다음 구문을 사용하여 지정된 평균을 사용하여 포아송 분포를 그릴 수 있습니다.
from scipy. stats import fish import matplotlib. pyplot as plt #generate Poisson distribution with sample size 10000 x = fish. rvs (mu=3, size=10000) #create plot of Poisson distribution plt. hist (x, density= True , edgecolor=' black ')