7 days ago
#4 [CAST 통계 스터디] 2강. 확률분포 이해하기
7 days ago
Tasks

[CAST 통계 스터디] 2강. 확률분포 이해하기

1. 학습 목적

CAST Express 시뮬레이션에서는 현실의 공항 운영을 하나의 고정값으로 표현하기 어렵다.

예를 들어 체크인 서비스 시간이 평균 120초라고 하더라도 모든 승객이 정확히 120초에 처리되는 것은 아니다. 어떤 승객은 60초, 어떤 승객은 180초 이상이 걸릴 수 있다.

따라서 시뮬레이션에서는 평균값 하나보다 값들이 어떤 형태로 퍼져 있는지, 즉 **확률분포(Probability Distribution)**를 이해하는 것이 중요하다.

모형설계서에서도 서비스 시간과 여객 관련 속성을 수치 및 분포 데이터로 처리하고, 전처리 결과를 CAST Express 입력값으로 연결하도록 구성되어 있다. :chatgpt-content-reference{index="0"}


2. 분포 Distribution이란 무엇인가

분포는 쉽게 말하면:

어떤 값이 얼마나 자주 나타나는지를 보여주는 형태

이다.

예를 들어 체크인 처리시간이 다음과 같다고 가정한다.

52, 81, 93, 104, 117, 122, 139, 175, 240초

이 데이터에서 알 수 있는 것은 단순히 평균만이 아니다.

  • 어느 구간에 데이터가 많이 몰려 있는지
  • 긴 처리시간이 얼마나 자주 발생하는지
  • 데이터가 좌우 대칭인지
  • 특정 방향으로 꼬리가 긴지

등을 볼 수 있다.

이 전체적인 모양이 바로 분포이다.


3. 히스토그램 Histogram

분포를 가장 쉽게 이해하는 방법이 히스토그램이다.

예를 들어 체크인 서비스 시간 1,000건을 구간별로 나누면 다음과 같다.

처리시간승객 수
0~30초20
31~60초100
61~90초230
91~120초300
121~150초200
151~180초90
181초 이상60

이 데이터를 막대그래프로 표현하면 어느 구간에 승객이 가장 많이 몰려 있는지 한눈에 확인할 수 있다.

즉:

실제 데이터 → 히스토그램 → 분포 형태 확인

의 순서로 이해하면 된다.


4. 정규분포 Normal Distribution

정규분포는 가장 대표적인 확률분포이다.

형태는 가운데가 높고 양쪽이 비슷하게 낮아지는 종 모양이다.

특징은:

  • 평균 근처 값이 가장 많이 나타남
  • 평균보다 작은 값과 큰 값이 비교적 대칭
  • 평균에서 멀어질수록 발생빈도가 낮아짐

예를 들어 보행속도처럼 대부분의 값이 평균 주변에 모이는 데이터에서는 정규분포가 하나의 후보가 될 수 있다.

정규분포를 이해할 때 중요한 값은:

  • 평균 Mean
  • 표준편차 Standard Deviation

이다.

예:

평균 = 120초
표준편차 = 20초

라면 대부분의 값이 평균 120초 주변에 모여 있다고 볼 수 있다.


5. 정규분포가 항상 맞는 것은 아니다

공항의 서비스 시간 데이터는 정규분포처럼 대칭적이지 않은 경우가 많다.

예를 들어:

60, 65, 70, 75, 80, 85, 100, 120, 180, 300

과 같은 데이터가 있다면 대부분은 짧은 시간에 몰려 있지만 일부 승객은 매우 오래 걸린다.

이 경우 오른쪽으로 긴 꼬리를 가지게 된다.

이런 형태를 Right-skewed Distribution, 즉 오른쪽으로 치우친 분포라고 한다.

공항에서 이런 분포가 나타날 수 있는 이유는 다음과 같다.

  • 추가 서류 확인
  • 특수수하물 처리
  • 비자 확인
  • 추가 보안검색
  • 가족단위 또는 단체 승객 처리

즉 소수의 긴 처리시간이 전체 분포의 오른쪽 꼬리를 만든다.


6. 로그정규분포 Log-normal Distribution

로그정규분포는 다음과 같은 특징을 가진다.

  • 값이 0보다 작지 않음
  • 대부분 짧거나 중간 수준에 몰림
  • 일부 매우 큰 값이 발생
  • 오른쪽 꼬리가 길게 나타남

따라서 서비스 시간처럼 음수가 될 수 없고, 일부 긴 처리시간이 존재하는 데이터에 적용할 수 있는 후보 분포 중 하나이다.

예:

  • 체크인 Service Time
  • 보안검색 Service Time
  • 입국심사 Service Time

등에서 실제 데이터 형태를 보고 로그정규분포 적합 여부를 확인할 수 있다.


7. 감마분포 Gamma Distribution

감마분포도 다음과 같은 데이터에 적합한 후보가 될 수 있다.

  • 0보다 큰 값
  • 오른쪽으로 치우친 데이터
  • 처리시간
  • 대기시간
  • 체류시간

로그정규분포와 마찬가지로 긴 꼬리를 표현할 수 있다.

따라서 중요한 것은:

로그정규분포가 맞다, 감마분포가 맞다를 미리 결정하는 것이 아니라 실제 데이터를 보고 판단한다

는 점이다.


8. Beta Distribution

Beta 분포는 0~1 사이의 비율이나 일정한 범위 안의 분포를 표현할 때 활용할 수 있다.

공항 시뮬레이션에서는 특히 여객의 도착시간 패턴, 즉 Show-up Profile을 표현하는 데 활용할 수 있다.

예를 들어 항공편 출발 4시간 전부터 승객이 공항에 나타난다고 하더라도 모든 시간대에 동일한 비율로 도착하지는 않는다.

예:

  • 출발 4시간 전: 적음
  • 출발 3시간 전: 증가
  • 출발 2시간 전: 가장 많음
  • 출발 1시간 전: 감소

이런 형태의 도착곡선을 확률분포로 표현할 수 있다.


9. 균등분포 Uniform Distribution

균등분포는 범위 안의 모든 값이 비슷한 확률로 발생하는 분포이다.

예:

60초 ~ 120초 사이에서 모든 값이 동일한 확률로 발생

하는 경우이다.

형태는 평평하다.

시뮬레이션에서는 간단해서 사용하기 쉽지만, 실제 인간 행동이나 서비스 시간을 표현하기에는 너무 단순한 경우가 많다.

예를 들어 승객이 출발 3시간 전부터 1시간 전까지 정확히 같은 비율로 공항에 도착한다고 가정하면 현실과 차이가 날 수 있다.


10. Bimodal Distribution

Bimodal Distribution은 봉우리가 두 개 나타나는 분포이다.

예를 들어 특정 노선의 연령분포가 다음과 같다고 가정한다.

  • 어린이 승객이 많음
  • 30대 승객도 많음
  • 중간 연령대는 상대적으로 적음

이 경우 데이터의 봉우리가 두 개 생긴다.

중요한 점은 평균만 보면 이런 구조를 알 수 없다는 것이다.

예:

3, 4, 5, 32, 33, 34

평균은 약 18.5세이다.

하지만 실제로 18세 승객은 한 명도 없다.

즉:

평균값이 실제 데이터의 대표적인 특성을 항상 보여주는 것은 아니다.


11. 어떤 분포를 선택해야 하는가

실무에서는 먼저 분포를 정하는 것이 아니라 데이터를 먼저 확인해야 한다.

일반적인 절차는 다음과 같다.

1단계. 실제 데이터 수집

예:

체크인 Service Time 50,000건

↓

2단계. 이상치 확인

예:

  • 0초
  • 음수
  • 지나치게 큰 값

↓

3단계. 히스토그램 확인

  • 좌우 대칭인가
  • 오른쪽 꼬리가 긴가
  • 봉우리가 하나인가
  • 여러 개인가

↓

4단계. 후보 분포 선정

예:

  • Normal
  • Log-normal
  • Gamma

↓

5단계. 적합도 검정

실제 데이터와 후보 분포가 얼마나 유사한지 확인

↓

6단계. 가장 적합한 분포 선택

↓

7단계. CAST 입력값으로 적용

이 순서가 기본이다.


12. K-S Test

K-S Test는 Kolmogorov-Smirnov Test의 약자이다.

이름보다는 목적이 중요하다.

K-S Test는 쉽게 말하면:

실제 데이터가 특정 확률분포와 얼마나 잘 맞는지 확인하는 방법

이다.

예를 들어 실제 보안검색 Service Time 데이터에 대해:

  • 정규분포
  • 감마분포

두 가지를 후보로 놓고 비교할 수 있다.

정규분포와 실제 데이터 차이가 크고, 감마분포와의 차이가 작다면 감마분포가 더 적합한 후보라고 판단할 수 있다.


13. Shape와 Scale

감마분포처럼 일부 분포는 단순히 분포 이름만 정한다고 끝나는 것이 아니다.

분포의 형태를 결정하는 파라미터가 필요하다.

대표적으로:

  • Shape
  • Scale

이 있다.

Shape

분포의 전체적인 모양을 결정한다.

Scale

데이터가 얼마나 넓게 퍼지는지를 결정한다.

즉:

Gamma Distribution

이라고만 정하는 것이 아니라 실제로는:

Gamma(shape=?, scale=?)

처럼 파라미터까지 정해야 현실 데이터와 유사한 난수를 생성할 수 있다.


14. 분포와 난수 Random Number

CAST 시뮬레이션에서는 각 승객에게 동일한 값을 적용하지 않고 확률분포에서 값을 뽑아 사용할 수 있다.

예를 들어 보안검색 Service Time이 특정 감마분포를 따른다고 가정하면:

Passenger 1 → 41초
Passenger 2 → 58초
Passenger 3 → 73초
Passenger 4 → 46초
Passenger 5 → 131초

처럼 서로 다른 값이 생성될 수 있다.

이를 Random Sampling이라고 이해하면 된다.

중요한 것은:

무작위로 아무 숫자나 만드는 것이 아니라, 정해진 확률분포를 따르는 난수를 생성한다

는 점이다.


15. 왜 시뮬레이션을 반복해야 하는가

확률분포에서 난수를 추출하기 때문에 같은 조건의 시뮬레이션도 매번 조금씩 다른 결과가 나올 수 있다.

예:

Run 1

긴 처리시간 승객이 연속 발생
→ Queue 증가

Run 2

평균적인 처리시간 분포
→ Queue 보통

Run 3

빠른 처리 승객이 상대적으로 많음
→ Queue 감소

따라서 한 번의 실행 결과만으로 판단하면 안 된다.

모형설계서에서도 시뮬레이션을 수십~수백 번 반복하여 평균 대기시간과 혼잡 상황을 도출하도록 되어 있다. :chatgpt-content-reference{index="1"}


16. Percentile

Percentile은 데이터를 작은 순서로 정렬했을 때 특정 위치의 값을 의미한다.

대표적인 값은:

  • P50
  • P90
  • P95
  • P99

이다.

P50

전체 데이터의 50%가 이 값 이하

즉 중앙값과 같다.

P95

전체 데이터의 95%가 이 값 이하

예:

보안검색 대기시간 P95 = 15분

이면:

전체 승객의 약 95%는 15분 이내에 대기한다

는 뜻이다.


17. 왜 P95가 중요한가

평균만 보면 일부 극단적인 상황을 놓칠 수 있다.

예:

평균 대기시간 = 5분
P95 = 25분

이라면 평균은 짧아 보이지만 일부 승객은 매우 긴 대기시간을 경험하고 있다는 뜻이다.

공항 혼잡관리에서는 이런 Tail 영역을 보는 것이 중요하다.

특히:

  • 평균 대기시간
  • P90
  • P95
  • P99

를 함께 보면 일반적인 상황과 극단적인 상황을 동시에 이해할 수 있다.


18. CAST 프로젝트에 적용하면

통계적으로 중요한 데이터와 주요 지표를 연결하면 다음과 같다.

데이터중요 통계 요소
Check-in Service Time평균 + 분포
Security Service Time평균 + 분포
Immigration Time평균 + 분포
Passenger Show-up시간 분포
Walking Speed평균 + 분산
Check-in Type확률/비율
Departure Hall 선택확률/비율
Age연령 분포
Queue Length결과 분포
Waiting Time결과 분포

가장 중요한 질문은 다음과 같다.

이 데이터는 하나의 평균값으로 충분한가, 아니면 분포로 봐야 하는가?


19. 평균값만 보는 것보다 좋은 표현

예를 들어 체크인 Service Time을 다음처럼 표현하면 정보가 부족하다.

평균 = 120초

조금 더 좋은 표현은:

  • 평균 = 120초
  • 중앙값 = 93초
  • P95 = 245초
  • 적용 분포 = Gamma 또는 Log-normal
  • 분포 파라미터 = Shape / Scale 등

이다.

이렇게 해야 실제 데이터의 특징을 더 정확하게 시뮬레이션에 반영할 수 있다.


20. 이번 강의 핵심 용어

용어의미
Distribution데이터가 어떤 형태로 퍼져 있는가
Histogram데이터 분포를 구간별 막대로 표현
Normal Distribution평균 중심의 대칭형 분포
Log-normal Distribution오른쪽 꼬리가 긴 양수 데이터 분포
Gamma Distribution처리시간, 대기시간 등에 사용할 수 있는 후보 분포
Beta Distribution0~1 또는 제한된 범위의 비율/시간 분포
Uniform Distribution범위 내 모든 값의 발생확률이 유사
Bimodal Distribution봉우리가 두 개인 분포
Percentile데이터의 특정 누적 위치
K-S Test실제 데이터와 후보 분포의 적합성 검정
Shape / Scale분포 형태를 결정하는 파라미터
Random Sampling확률분포에서 값을 추출하는 과정

21. 핵심 정리

이번 강의에서 가장 중요한 내용은 다음과 같다.

첫째,

평균만으로는 실제 공항 데이터를 충분히 표현할 수 없다.

둘째,

서비스 시간과 여객 도착시간은 분포로 표현해야 현실적인 시뮬레이션이 가능하다.

셋째,

어떤 분포를 사용할지는 미리 정하는 것이 아니라 실제 데이터를 보고 결정해야 한다.

넷째,

CAST에서는 확률분포에서 난수를 추출해 가상 여객을 생성하므로 반복 시뮬레이션이 필요하다.

결국 분포는:

현실의 불규칙한 여객 행동과 처리시간을 시뮬레이션 안에서 표현하기 위한 핵심 방법

이라고 이해하면 된다.


다음 학습

3강: 분산·표준편차·백분위수·Z-Score·이상치

다음 내용에서는:

  • 편차
  • 분산
  • 표준편차
  • P50 / P95 / P99
  • Z-Score
  • Outlier
  • 이상치를 제거해야 하는 경우와 유지해야 하는 경우

를 학습한다.

특히 CAST 입력 데이터 전처리와 시뮬레이션 결과 해석에서 “평균에서 얼마나 벗어난 값인지”, “어디까지 정상범위로 볼 것인지”를 판단하는 데 필요한 개념을 다룬다.

Comment 0

Add a comment