포아송(Poisson) 분포

포아송 분포(Poisson distribution)는 일정한 시간 동안 발생하는 사건의 수를 모델링하는 데 사용되는 확률 분포로서 독립적이고, 사건 발생율이 일정한 이산적인 사건 발생 수를 모델링하는 데 사용되며, 특정 시간 동안이나 특정 영역 내에서 사건이 발생하는 횟수를 설명한다.

포아송 분포의 특징

\(\)
  1. 평균과 분산이 동일: 포아송 분포의 평균(λ, 람다)은 일정 기간 동안 발생하는 사건의 평균 횟수를 나타내며, 분산도 동일하게 λ입니다.
  2. 이산 확률 분포: 포아송 분포는 연속적인 값이 아니라 0, 1, 2, 3 등과 같은 이산적인 사건 수를 나타냅니다.
  3. 확률 질량 함수(PMF): 특정 사건 수 ( k )가 발생할 확률은 다음의 식으로 계산됩니다.[]
    \[
    P(X = k) = \frac{\lambda^k e^{-\lambda}}{k!}
    \]
    여기서 ( e )는 자연 로그의 밑(약 2.71828)이고, ( k )는 발생한 사건의 수입니다.
  4. 적용 사례: 포아송 분포는 다양한 실생활 상황에서 적용될 수 있습니다. 예를 들어, 특정 시간 동안 콜센터에 도착하는 전화의 수, 특정 거리에서 발생하는 교통사고의 수, 쇼핑몰에 방문하는 사람의 수 등을 모델링할 때 사용됩니다.

포아송 분포의 중요한 가정은 사건이 독립적으로 발생하고, 사건 발생률이 시간이나 공간에 따라 일정하게 나타난다.하다는 것입니다..

나무위키에서 포아송 분포 설명 : 나무위키

위키백과에서 포아송 분포 설명 : 위키백과

R 코드

# 필요한 패키지 로드
if(!require(ggplot2)) install.packages("ggplot2", dependencies=TRUE)
library(ggplot2)

# 평균 설정
mu <- 3

# x 값 생성
x <- 0:15

# 포아송 분포 확률 계산
y <- dpois(x, lambda = mu)

# 데이터 프레임 생성
data <- data.frame(x, y)

# 포아송 분포 그리기
ggplot(data, aes(x=x, y=y)) +
  geom_bar(stat="identity", fill="skyblue", color="black") +
  labs(title="Poisson Distribution (mu = 3)", x="Number of events", y="Probability") +
  theme_minimal()

Python 코드

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson

# 평균 설정
mu = 3

# x 값 생성
x = np.arange(0, 15)

# 포아송 분포 확률 계산
y = poisson.pmf(x, mu)

# 포아송 분포 그리기
plt.stem(x, y, use_line_collection=True)
plt.title('Poisson Distribution (mu = 3)')
plt.xlabel('Number of events')
plt.ylabel('Probability')
plt.grid(True)
plt.show()

포아송 분포 vs 정규 분포

  • 포아송 분포: 이산 분포로, 특정 시간 간격 내에서 발생하는 사건의 수를 모델링합니다. 평균(λ)과 분산이 동일합니다.
  • 정규 분포: 연속 분포로, 데이터가 평균 주변에 대칭적으로 분포합니다. 평균(μ)과 분산(σ²)을 가지며, 종 모양의 곡선을 나타냅니다.

포아송 분포 vs 이항 분포

  • 포아송 분포: 사건의 발생 확률이 매우 작고, 시도 횟수가 매우 많은 경우 이항 분포의 특수한 경우로 간주됩니다. 주로 사건 발생 횟수를 모델링합니다.
  • 이항 분포: 이산 분포로, n번의 독립적인 시행 중 성공 횟수를 모델링합니다. 각 시행에서 성공 확률이 동일한 경우에 적용됩니다. 매개변수로 시도 횟수(n)와 성공 확률(p)를 가집니다.

포아송 분포 vs 지수 분포

  • 포아송 분포: 이산 분포로, 단위 시간당 사건 발생 횟수를 모델링합니다.
  • 지수 분포: 연속 분포로, 사건이 발생하는 시간 간격을 모델링합니다. 포아송 분포와 관련이 있으며, 포아송 과정에서 사건 발생 간격의 분포를 설명합니다. 평균(λ)의 역수를 매개변수로 가집니다.

다음은 이러한 분포를 비교하는 예제 코드입니다.

Python 코드

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson, norm, binom, expon

# 설정
mu_poisson = 3
mu_normal = 0
sigma_normal = 1
n_binom = 10
p_binom = 0.3
lambda_expon = 1

# x 값 생성
x_poisson = np.arange(0, 15)
x_normal = np.linspace(-5, 5, 100)
x_binom = np.arange(0, n_binom + 1)
x_expon = np.linspace(0, 5, 100)

# 분포 계산
y_poisson = poisson.pmf(x_poisson, mu_poisson)
y_normal = norm.pdf(x_normal, mu_normal, sigma_normal)
y_binom = binom.pmf(x_binom, n_binom, p_binom)
y_expon = expon.pdf(x_expon, scale=1/lambda_expon)

# 플롯 생성
fig, axs = plt.subplots(2, 2, figsize=(12, 10))

# 포아송 분포
axs[0, 0].stem(x_poisson, y_poisson, use_line_collection=True)
axs[0, 0].set_title('Poisson Distribution (mu = 3)')
axs[0, 0].set_xlabel('Number of events')
axs[0, 0].set_ylabel('Probability')

# 정규 분포
axs[0, 1].plot(x_normal, y_normal)
axs[0, 1].set_title('Normal Distribution (mu = 0, sigma = 1)')
axs[0, 1].set_xlabel('Value')
axs[0, 1].set_ylabel('Probability Density')

# 이항 분포
axs[1, 0].stem(x_binom, y_binom, use_line_collection=True)
axs[1, 0].set_title('Binomial Distribution (n = 10, p = 0.3)')
axs[1, 0].set_xlabel('Number of successes')
axs[1, 0].set_ylabel('Probability')

# 지수 분포
axs[1, 1].plot(x_expon, y_expon)
axs[1, 1].set_title('Exponential Distribution (lambda = 1)')
axs[1, 1].set_xlabel('Time')
axs[1, 1].set_ylabel('Probability Density')

plt.tight_layout()
plt.show()

이 코드는 포아송, 정규, 이항, 지수 분포를 비교하는 그래프를 생성합니다. 각 분포의 특성을 시각적으로 이해하는 데 도움이 됩니다.

포아송 분포의 실제 사례

콜센터 전화 수신:
콜센터에서 매 시간당 수신하는 전화 통화 수는 포아송 분포를 따를 수 있습니다. 하루 동안 일정한 평균 전화 수가 있을 때, 특정 시간에 수신하는 전화 통화 수가 포아송 분포를 따를 가능성이 큽니다.

웹사이트 방문자 수:
특정 시간 동안 웹사이트를 방문하는 방문자 수는 포아송 분포를 따를 수 있습니다. 예를 들어, 한 시간 동안 특정 웹사이트에 접속하는 방문자 수가 평균적으로 일정하다면, 그 시간 동안의 방문자 수는 포아송 분포를 따를 수 있습니다.

공항에서 비행기 착륙 횟수:
특정 시간 동안 공항에 착륙하는 비행기의 수는 포아송 분포를 따를 수 있습니다. 평균적으로 시간당 착륙하는 비행기 수가 일정하다면, 특정 시간에 착륙하는 비행기 수는 포아송 분포를 따를 가능성이 있습니다.

병원 응급실 방문자 수: 응급실에 특정 시간 동안 방문하는 환자 수는 포아송 분포를 따를 수 있습니다. 평균적으로 시간당 방문하는 환자 수가 일정하다면, 특정 시간에 응급실에 오는 환자 수는 포아송 분포를 따를 수 있습니다.

도로에서 교통사고 발생 횟수:
특정 구간의 도로에서 일정 시간 동안 발생하는 교통사고 횟수는 포아송 분포를 따를 수 있습니다. 평균적으로 시간당 발생하는 사고 수가 일정하다면, 특정 시간 동안의 사고 발생 횟수는 포아송 분포를 따를 가능성이 있습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤