반응형

1. 지수 분포란?

지수 분포는 일정 시간 동안 독립적으로 발생하는 사건의 횟수가 포아송 분포를 따를 때, 다음 사건이 발생하기까지의 대기 시간을 모델링하는 연속 확률 분포입니다.
이 분포는 양의 값을 가지며, 시간이 지날수록 사건이 발생할 확률이 줄어듭니다.

지수 분포는 포아송 분포와 밀접한 관련이 있습니다.
포아송 분포가 일정 시간 동안 발생하는 사건의 횟수를 모델링한다면, 지수 분포는 연속적인 두 사건 사이의 대기 시간을 모델링합니다.

 

 

2. 지수 분포의 특성

지수 분포의 주요 특성은 다음과 같습니다:

  • 평균은 1/λ 이고, 분산은 1/(λ^2) 입니다.
  • 시간이 지날수록 사건 발생 확률이 감소합니다.
  • 사건의 발생 횟수가 많아질수록 그 사건이 다시 발생할 확률은 낮아집니다.

 

3. 실생활 예시

지수 분포는 다음과 같은 상황에서 사용될 수 있습니다:

  1. 버스 정류장에서 버스를 기다리는 시간
    • 평균 15분마다 한 대씩 오는 버스 정류장에서, 다음 버스가 도착하기까지의 대기 시간을 예측할 수 있습니다.
  2. 고장 나기 전의 기계 부품 사용 시간
    • 특정 기계 부품이 평균적으로 1000시간 사용 후에 고장 난다고 할 때, 다음 고장까지의 사용 시간을 예측할 수 있습니다.
  3. 콜센터에 걸려오는 다음 전화까지의 시간
    • 콜센터에서 평균적으로 10분에 한 번씩 전화가 걸려온다면, 다음 전화가 걸려오기까지의 대기 시간을 예측할 수 있습니다.

 

4. 지수 분포의 구현

scipy 라이브러리의 e 클래스를 이용할 수 있습니다.

import scipy.stats as stats

# 지수 분포 설정
lambda_ = 0.5  # 사건의 평균 발생률 (예: 평균 2시간마다 1건의 사건 발생)
exp_dist = stats.expon(scale=1/lambda_)

# 확률 및 기대값, 분산 계산
print(f"P(X<=1): {exp_dist.cdf(1)}")  # 1시간 이내에 사건이 발생할 확률
print(f"기대값: {exp_dist.mean()}")  # 기대값
print(f"분산: {exp_dist.var()}")  # 분산

 

 

두번째로 버스 정류장에서 버스를 기다리는 시간을 지수 분포를 이용해 구현해 보겠습니다.

import scipy.stats as stats

# 지수 분포 설정
lambda_ = 1 / 15  # 평균 15분마다 버스가 도착
exp_dist = stats.expon(scale=1/lambda_)

# 대기 시간 확률 계산
print(f"P(X<=5): {exp_dist.cdf(5)}")  # 5분 이내에 버스가 도착할 확률
print(f"P(5<X<=10): {exp_dist.cdf(10) - exp_dist.cdf(5)}")  # 5분에서 10분 사이에 버스가 도착할 확률
print(f"기대값: {exp_dist.mean()}분")  # 평균 대기 시간
print(f"분산: {exp_dist.var()}")  # 분산
반응형