[CAST 통계 스터디] 5강. 상관관계·인과관계·회귀분석 이해하기
1. 학습 목적
공항 시뮬레이션에서는 여러 변수들이 서로 영향을 주고받는다.
예를 들면 다음과 같다.
- 여객 수가 증가하면 대기시간이 길어질 수 있음
- Service Time이 증가하면 Queue Length가 증가할 수 있음
- 운영 중인 보안검색대 수가 증가하면 대기시간이 줄어들 수 있음
- 특정 시간대에 항공편이 집중되면 혼잡도가 증가할 수 있음
하지만 어떤 두 값이 같이 움직인다고 해서 항상 하나가 다른 하나의 원인이라고 볼 수는 없다.
이번 강의에서는 다음을 이해하는 것이 목적이다.
- 상관관계란 무엇인가
- 양의 상관과 음의 상관은 무엇인가
- 상관관계와 인과관계는 왜 다른가
- 교란변수란 무엇인가
- 회귀분석은 어떤 질문에 답하는가
- R²와 잔차는 무엇인가
- CAST 결과 분석과 어떻게 연결할 수 있는가
CAST 모형설계서에서도 여객 수요 증가, 시설 확충, 자동화 장비 도입, 운영 정책 변경 등이 대기시간과 혼잡도에 어떤 영향을 주는지 What-if 분석하도록 구성되어 있다. :chatgpt-content-reference{index="0"}
2. 상관관계 Correlation
상관관계는:
두 변수가 함께 움직이는 경향
을 의미한다.
예를 들어 다음과 같은 데이터가 있다고 가정한다.
| 시간대 | 여객 수 | 평균 대기시간 |
|---|---|---|
| 06시 | 1,000명 | 3분 |
| 07시 | 1,500명 | 5분 |
| 08시 | 2,000명 | 9분 |
| 09시 | 2,500명 | 15분 |
| 10시 | 3,000명 | 23분 |
이 데이터를 보면:
여객 수가 증가할수록 대기시간도 증가한다.
는 경향이 보인다.
이런 관계를 상관관계라고 한다.
3. 양의 상관관계 Positive Correlation
두 변수가 같은 방향으로 움직이면 양의 상관관계라고 한다.
예:
- 여객 수 ↑ → Queue Length ↑
- Service Time ↑ → Waiting Time ↑
- Flight Concentration ↑ → Congestion ↑
즉 한 변수가 커질수록 다른 변수도 커지는 경향이다.
4. 음의 상관관계 Negative Correlation
한 변수가 증가할 때 다른 변수가 감소하면 음의 상관관계라고 한다.
예:
- Open Lane 수 ↑ → Waiting Time ↓
- 보안검색대 수 ↑ → Queue Length ↓
- 자동화 장비 이용률 ↑ → 유인 카운터 혼잡도 ↓
즉 두 변수가 서로 반대 방향으로 움직인다.
5. 상관계수 Correlation Coefficient
상관관계를 숫자로 나타내는 대표적인 값이 상관계수이다.
보통 r로 표현하며 범위는:
-1 ~ +1
이다.
대략적인 의미는 다음과 같다.
| 상관계수 r | 의미 |
|---|---|
| +1 | 완벽한 양의 관계 |
| +0.8 | 강한 양의 관계 |
| +0.4 | 어느 정도 양의 관계 |
| 0 | 선형관계가 거의 없음 |
| -0.4 | 어느 정도 음의 관계 |
| -0.8 | 강한 음의 관계 |
| -1 | 완벽한 음의 관계 |
예를 들어:
Passenger Count ↔ Waiting Time
의 상관계수가:
r = +0.82
라면:
여객 수가 많아질수록 대기시간이 증가하는 강한 경향이 있다.
정도로 해석할 수 있다.
6. 상관계수 0이라고 관계가 없는 것은 아니다
상관계수는 주로 직선적인 관계를 잘 설명한다.
하지만 공항 Queue는 비선형적으로 증가할 수 있다.
예:
- 1,000명 → 2분
- 1,500명 → 3분
- 2,000명 → 4분
- 2,500명 → 10분
- 3,000명 → 25분
초기에는 대기시간이 완만하게 증가하다가 시설 처리용량을 넘는 순간 급격히 증가한다.
즉:
관계는 분명히 존재하지만 직선 관계가 아닐 수 있다.
공항 시뮬레이션에서는 이런 비선형 관계와 임계점이 매우 중요하다.
7. 상관관계와 인과관계의 차이
통계에서 가장 중요한 원칙 중 하나는:
Correlation ≠ Causation
이다.
즉:
두 값이 같이 움직인다고 해서 하나가 다른 하나의 원인이라고 단정할 수 없다.
예를 들어:
- 여객 수 증가
- 대기시간 증가
가 동시에 나타났다고 하더라도 실제 원인은 다른 변수일 수 있다.
예:
- 보안검색대 운영대수 감소
- 특정 항공편 집중
- 추가검색 비율 증가
- 시스템 장애
- 직원 교대
등이 동시에 영향을 줄 수 있다.
8. 인과관계 Causation
인과관계는:
어떤 원인이 실제로 다른 결과를 만들어내는 관계
를 의미한다.
예를 들어:
수하물 개수 증가
→ Tag 발급 증가
→ 무게 확인 증가
→ 초과수하물 처리 가능성 증가
→ Check-in Service Time 증가
와 같이 업무적으로 설명 가능한 경로가 있다면 인과관계를 검토할 수 있다.
반면:
특정 국적 승객의 체크인 시간이 길다.
는 데이터만으로 국적 자체가 원인이라고 단정하면 안 된다.
실제 원인은 다음일 수 있다.
- 노선 특성
- 비자 확인
- 수하물 개수
- 단체여행 비율
- 항공사 운영 방식
9. 교란변수 Confounding Variable
교란변수는:
두 변수의 관계에 영향을 주지만 분석에서 빠져 있는 제3의 변수
이다.
예를 들어:
07~09시 Service Time이 길다.
라는 결과가 나왔다고 가정한다.
겉으로 보면:
시간대 → Service Time 증가
처럼 보인다.
하지만 실제로는:
07~09시
→ 장거리 국제선 집중
→ 수하물 많은 승객 증가
→ 서류 확인 증가
→ Service Time 증가
일 수 있다.
이 경우 진짜 중요한 변수는 시간대가 아니라 노선 특성이나 승객 구성일 수 있다.
10. 회귀분석 Regression
회귀분석은:
X가 변할 때 Y가 얼마나 변하는지를 수식으로 설명하는 방법
이다.
가장 단순한 형태는 다음과 같다.
Y = a + bX
예를 들어:
Waiting Time = 2 + 0.005 × Passenger Count
라고 하자.
여객이 1,000명이면:
2 + 0.005 × 1,000 = 7분
여객이 2,000명이면:
2 + 0.005 × 2,000 = 12분
이다.
11. 절편 Intercept와 기울기 Coefficient
회귀식:
Y = a + bX
에서:
a= 절편 Interceptb= 회귀계수 또는 기울기 Coefficient
이다.
예:
Waiting Time = 2 + 0.005 × Passenger
에서:
- a = 2
- b = 0.005
이다.
b = 0.005라는 것은:
여객 수가 1명 증가할 때 대기시간이 평균적으로 0.005분 증가한다.
는 의미이다.
100명 증가하면:
0.5분 증가
로 해석할 수 있다.
단, 실제 관계가 비선형이면 이런 단순 직선식만으로 충분하지 않을 수 있다.
12. 다중회귀 Multiple Regression
공항 운영에서는 결과가 하나의 변수만으로 결정되지 않는다.
예를 들어 대기시간은 다음 변수의 영향을 동시에 받을 수 있다.
- Passenger Count
- Open Lane 수
- Service Time
- Secondary Screening Rate
- 시간대
- 항공편 집중도
이 경우 식을 다음처럼 확장할 수 있다.
Waiting Time= a+ b1 × Passenger Count+ b2 × Open Lanes+ b3 × Service Time+ b4 × Secondary Screening Rate
이것을 다중회귀분석이라고 한다.
13. 다중회귀 결과 해석 예시
예를 들어 분석 결과가 다음과 같다고 가정한다.
Waiting Time= 3+ 0.006 × Passenger- 1.8 × Open Lane+ 0.08 × Service Time
그러면 대략 다음과 같이 해석할 수 있다.
여객 100명 증가
0.006 × 100 = 0.6분 증가
검색대 1개 증가
1.8분 감소
Service Time 10초 증가
0.08 × 10 = 0.8분 증가
이 수치는 이해를 위한 예시이며, 실제 프로젝트에서는 실제 데이터를 이용해 계수를 추정해야 한다.
14. 회귀분석과 CAST 시뮬레이션의 차이
회귀분석과 CAST는 역할이 다르다.
회귀분석
과거 데이터를 이용해:
변수들 사이에 어떤 관계가 있었는가?
를 분석한다.
CAST Simulation
공항의:
- 프로세스
- 시설
- 여객 흐름
- 자원
- 운영 규칙
을 모델링한 뒤:
조건을 변경하면 어떤 결과가 발생하는가?
를 실험한다.
따라서 둘은 경쟁 관계가 아니라 서로 보완 관계이다.
15. 통계분석과 CAST의 역할 분담
예를 들어 검색대 수와 대기시간의 관계를 분석한다고 한다.
실제 공항 데이터
↓
회귀분석
검색대 수 ↔ 대기시간 관계 확인
↓
CAST Model
실제 검색대 1개 추가
↓
Simulation
전체 여객 흐름과 Queue 변화 확인
↓
실제 데이터 또는 운영 기준과 비교
↓
Calibration
이런 방식으로 활용할 수 있다.
모형설계서에서도 시뮬레이션 결과를 실제 공항 통계와 비교한 뒤, 차이가 있으면 입력 파라미터를 보정하도록 되어 있다. :chatgpt-content-reference{index="1"}
16. 회귀분석과 What-if의 차이
예를 들어:
보안검색대 2개를 추가하면 대기시간이 얼마나 줄어드는가?
라는 질문이 있다고 하자.
회귀분석에서:
검색대 1개 증가 → 평균 2분 감소
라는 관계가 나왔다면 단순 계산으로:
2개 증가 → 약 4분 감소
라고 예상할 수 있다.
하지만 실제 공항에서는 검색대 추가로 인해:
- Queue 분산
- 출국장 선택 변화
- 주변 시설 혼잡도 변화
- 여객 이동경로 변화
등이 함께 발생할 수 있다.
이런 복잡한 상호작용을 직접 모델링하는 것이 CAST의 역할이다.
모형설계서에서도 보안검색대 추가, 자동화 장비 도입, 운영시간 변경 등 다양한 조건을 What-if 분석 대상으로 정의하고 있다. :chatgpt-content-reference{index="2"}
17. R² 결정계수
회귀분석에서 자주 사용하는 값이 R²이다.
R²는:
회귀모델이 결과값의 변동을 얼마나 설명하는가
를 나타내는 지표이다.
일반적으로 범위는:
0 ~ 1
이다.
예:
R² = 0.80
이라면 대략:
모델에 포함된 변수들이 결과 변동의 약 80%를 설명한다.
고 해석할 수 있다.
18. R² 예시
Waiting Time을 Passenger Count 하나만으로 분석했더니:
R² = 0.35
가 나왔다고 한다.
이는 여객 수 하나만으로는 대기시간의 변화 대부분을 설명하지 못한다는 뜻일 수 있다.
여기에:
- Passenger Count
- Open Lane
- Service Time
- Secondary Screening Rate
를 함께 넣었더니:
R² = 0.78
이 되었다면 설명력이 크게 높아진 것이다.
19. R²가 높다고 무조건 좋은 것은 아니다
변수를 많이 넣으면 R²가 대체로 높아질 수 있다.
예를 들어:
- Age
- Nationality
- Airline
- Route
- Bag Count
- Day of Week
- Time
- Terminal
- Weather
등 수많은 변수를 넣으면 과거 데이터에 매우 잘 맞는 모델을 만들 수 있다.
하지만 새로운 날짜나 새로운 상황에서는 잘 맞지 않을 수 있다.
이를 Overfitting이라고 한다.
즉:
과거를 잘 설명하는 것과 미래를 잘 예측하는 것은 다르다.
20. 잔차 Residual
잔차는:
실제값과 예측값의 차이
이다.
공식은 다음과 같이 생각할 수 있다.
Residual = Actual - Predicted
예:
실제 대기시간 = 12분
예측 = 10분
이면:
Residual = +2분
이다.
반대로:
실제 = 8분
예측 = 11분
이면:
Residual = -3분
이다.
21. 잔차가 중요한 이유
잔차를 여러 시간대에 걸쳐 보면 모델이 어떤 상황에서 틀리는지 알 수 있다.
예:
| 시간 | 실제 | 예측 | 잔차 |
|---|---|---|---|
| 07:00 | 4분 | 4.5분 | -0.5 |
| 08:00 | 10분 | 7분 | +3 |
| 09:00 | 15분 | 11분 | +4 |
| 10:00 | 7분 | 6.5분 | +0.5 |
이 경우 평상시에는 비교적 잘 맞지만:
Peak 시간대에서 계속 과소예측하고 있다.
는 패턴을 찾을 수 있다.
이런 정보는 CAST Calibration에 매우 중요하다.
22. CAST Validation과 잔차 개념
CAST에서도 비슷하게 생각할 수 있다.
예:
CAST 예상 대기시간 = 9분
실제 대기시간 = 11분
이면:
오차 = +2분
이다.
이를 시간대별, 시설별로 계속 비교하면:
- 특정 시간대만 오차가 큰지
- 특정 시설만 잘못 모델링됐는지
- 전체적으로 과대/과소예측하는지
를 확인할 수 있다.
모형설계서에서도 실제 혼잡 날짜의 대기시간과 시뮬레이션 결과를 비교해 모델의 현실성을 검증하도록 되어 있다. :chatgpt-content-reference{index="3"}
23. 공항 데이터에서 분석해볼 주요 관계
CAST 프로젝트에서는 다음 관계를 우선 분석할 수 있다.
① Passenger Count ↔ Waiting Time
여객이 증가할수록 대기가 얼마나 늘어나는가?
② Passenger Count ↔ Queue Length
유입 인원이 Queue에 어떤 영향을 주는가?
③ Service Time ↔ Waiting Time
처리시간 증가가 대기시간에 얼마나 영향을 주는가?
④ Open Facility Count ↔ Waiting Time
운영 설비 수를 늘리면 대기시간이 얼마나 줄어드는가?
⑤ Reporting Time Distribution ↔ Peak Queue
여객 도착시간 분포가 Peak 혼잡에 어떤 영향을 주는가?
⑥ Bag Count ↔ Check-in Service Time
수하물 수와 처리시간은 어떤 관계가 있는가?
⑦ Passenger Type ↔ Service Time
승객 유형에 따라 처리시간 차이가 있는가?
⑧ Flight Concentration ↔ Congestion
특정 시간대 항공편 집중도가 혼잡에 미치는 영향은 무엇인가?
⑨ Departure Hall Choice ↔ Queue Length
출국장 선택 분포가 Queue에 어떤 영향을 주는가?
⑩ CAST Output ↔ Actual Measurement
시뮬레이션 결과와 실제 데이터는 얼마나 비슷한가?
24. 산점도 Scatter Plot
상관관계를 분석할 때 가장 먼저 확인하면 좋은 것이 산점도이다.
산점도는 두 변수의 값을 점으로 표시한 그래프이다.
예:
X축 = Passenger Count
Y축 = Waiting Time
점들이 오른쪽 위 방향으로 모이면 양의 관계를 의심할 수 있다.
그래프를 먼저 보면:
- 직선 관계인지
- 곡선 관계인지
- 특정 임계점이 있는지
- 이상치가 있는지
를 직관적으로 확인할 수 있다.
25. Capacity 임계점
공항 Queue에서는 특히 Capacity가 중요하다.
예를 들어 보안검색 전체 처리능력이:
2,000명 / 시간
이라고 한다.
유입이:
1,500명 / 시간
이면 비교적 안정적일 수 있다.
하지만:
2,100명 / 시간
으로 증가하면:
들어오는 승객 수 > 처리되는 승객 수
가 된다.
이 순간부터 Queue가 계속 누적될 수 있다.
즉:
Arrival Rate > Service Capacity
가 되는 임계점이 존재한다.
이것은 이후 학습할 Queueing Theory와 직접 연결된다.
26. 상관관계가 강하면 CAST에 바로 넣어야 하는가
그렇지 않다.
예를 들어:
국제선 승객 비율이 높을수록 대기시간이 길다.
는 강한 상관관계가 있다고 하자.
실제 원인은 다음과 같을 수 있다.
국제선 증가
↓
여권·서류 확인 증가
↓
Service Time 증가
↓
Queue 증가
이 경우 모델에 넣어야 할 핵심 변수는 단순한 국제선 비율보다:
- Service Time
- 여객 처리 로직
- 검사 절차
일 수 있다.
즉 상관관계는 원인 후보를 찾는 출발점으로 보는 것이 좋다.
27. 실무에서 관계를 분석하는 기본 질문
어떤 관계가 발견되면 다음 세 가지를 확인한다.
첫째
두 값이 실제로 같이 움직이는가?
→ 상관관계 확인
둘째
왜 같이 움직이는지를 업무적으로 설명할 수 있는가?
→ 인과관계 검토
셋째
다른 변수의 영향을 고려해도 관계가 유지되는가?
→ 회귀분석 등으로 확인
이 과정을 통해 단순한 숫자 관계를 실제 모델링에 사용할 수 있는 정보로 발전시킬 수 있다.
28. 통계분석과 CAST의 전체 관계
전체 흐름을 정리하면 다음과 같다.
실제 데이터
↓
상관관계 분석
↓
영향 가능성이 높은 변수 탐색
↓
회귀분석
↓
변수 영향도 추정
↓
CAST Model에 업무 로직 반영
↓
What-if Simulation
↓
실제값과 비교
↓
Residual / Error 분석
↓
Calibration
↓
모형 개선
즉:
통계분석은 관계를 찾고, CAST는 그 관계를 실제 프로세스 안에서 실험한다.
라고 이해하면 된다.
29. 이번 강의 핵심 용어
| 용어 | 의미 | CAST 적용 |
|---|---|---|
| Correlation | 두 변수가 함께 움직이는 정도 | 영향요인 탐색 |
| Positive Correlation | 같은 방향으로 움직임 | 여객 수 ↔ Queue |
| Negative Correlation | 반대 방향으로 움직임 | 검색대 수 ↔ 대기시간 |
| Causation | 실제 원인과 결과의 관계 | 프로세스 로직 설계 |
| Confounding Variable | 숨겨진 제3의 영향변수 | 잘못된 해석 방지 |
| Regression | X 변화에 따른 Y 변화 추정 | 영향도 분석 |
| Coefficient | X가 변할 때 Y가 얼마나 변하는지 | 변수 민감도 |
| Multiple Regression | 여러 변수를 동시에 고려 | 복합 영향 분석 |
| R² | 모델의 설명력 | 회귀모델 평가 |
| Residual | 실제값과 예측값의 차이 | 오차 패턴 분석 |
30. 핵심 정리
이번 강의의 핵심은 다음과 같다.
첫째,
상관관계가 있다고 해서 원인이라고 단정하면 안 된다.
둘째,
공항 운영 결과는 하나의 변수보다 여러 변수의 영향을 동시에 받는 경우가 많다.
셋째,
회귀분석은 X가 변할 때 Y가 얼마나 변하는지를 정량적으로 분석하는 방법이다.
넷째,
R²가 높다고 무조건 좋은 예측모델은 아니며, 새로운 데이터에서도 잘 맞는지 확인해야 한다.
다섯째,
잔차를 분석하면 모델이 어떤 상황에서 틀리는지 알 수 있다.
가장 중요한 원칙은 다음과 같다.
통계분석은 관계를 찾고, CAST는 그 관계를 공항 프로세스 안에서 실험한다.
모형설계서의 흐름으로 보면:
Verification → Validation → Calibration → What-if
과 통계분석을 연결해서 이해할 수 있다. :chatgpt-content-reference{index="4"}
다음 학습
6강: 시계열과 예측
다음 내용에서는 다음을 학습한다.
- Time Series
- Trend
- Seasonality
- 시간대 패턴
- Moving Average
- Lag
- Rolling Window
- 전일·전주·동시간대 비교
- 미래값 예측의 기본 원리
특히 공항 데이터에서:
- 10분 단위 여객 출현량
- 시간대별 Queue Length
- Waiting Time
- Flight Schedule
- Reporting Time
처럼 시간 순서가 중요한 데이터를 어떻게 분석하고 예측하는지 다룬다.