Session 00 · 09:00 – 09:30 · 30분
킥오프 & 방법론 오리엔테이션
EBM · DiCE · DoWhy — 왜 이 순서로 배우는가
킥오프 & 방법론 오리엔테이션
오늘 하루의 흐름과 방법론의 "왜"를 먼저 이해합니다.
09:00
준비
→
09:30
Wine P1
→
12:00
점심
→
13:00
Housing P2
→
16:15
편의점 P3
오늘의 최종 목표
"편의점 한 점포의 매출을 결정하는 원인을 찾고, '무엇을 바꾸면 매출이 오르는가?'를 데이터로 답할 수 있어야 한다."
왜 Wine · Housing 데이터로 시작하는가?
편의점 데이터는 지금 당장 쓸 수 있는 상태가 아닙니다. 하지만 방법론은 데이터와 무관하게 익힐 수 있습니다.
ℹ️ 레시피 학습 원칙: 새 요리를 익힐 때는 재료가 명확하고 결과를 바로 검증할 수 있는 요리부터 만듭니다. Wine(품질 등급)과 Housing(집값)은 정답이 잘 알려진 데이터입니다. 이 두 데이터로 EBM·DiCE·DoWhy를 완전히 손에 익힌 뒤, 편의점 매출에 그대로 적용합니다.
오늘 끝에 얻을 것
| 목표 | 구체적 능력 |
|---|---|
| ① EBM 읽기 | shape function으로 "어떤 피처가 타겟에 얼마나, 어떤 방향으로 영향을 주는가"를 읽을 수 있다 |
| ② DiCE 시나리오 | "원하는 결과를 얻으려면 어떤 조건을 바꿔야 하는가"의 실행 가능한 시나리오를 만들 수 있다 |
| ③ DoWhy 인과 | "상관관계인가, 진짜 인과관계인가"를 구분하고 primary/secondary index를 정의할 수 있다 |
| ④ 편의점 연결 | 세 방법론을 편의점 매출 데이터에 연결하는 매핑 구조를 직접 작성할 수 있다 |
방법론 3종 소개
01 · EBM
Explainable Boosting Machine
Microsoft Research의 interpretML. Gradient Boosting의 정확도와 GAM의 해석 가능성을 결합. 각 피처의 기여도를 shape function으로 시각화해 비선형 패턴과 임계점을 명확히 보여줍니다.
02 · DiCE
Diverse Counterfactual Explanations
Microsoft Research. "예측 결과를 바꾸려면 입력값을 최소한으로 어떻게 바꿔야 하는가?" non-actionable 피처를 고정하고 다양한 반사실 경로를 제안합니다.
03 · DoWhy
Causal Inference Framework
Microsoft Research (EconML). 인과 DAG로 변수 간 인과 구조를 명시하고, identify → estimate → refute 3단계로 인과 효과를 추정합니다.
| 방법론 | 핵심 질문 | 주요 개념 | 패키지 |
|---|---|---|---|
| EBM | 어떤 피처가 중요한가? | shape function · feature importance | interpretML |
| DiCE | 원하는 결과를 얻으려면? | counterfactual · actionable 피처 | dice-ml |
| DoWhy | 그 피처가 진짜 원인인가? | DAG · backdoor · ATE | dowhy |
3종의 관계 — 어떤 순서로 쓰는가
EBM
"어떤 피처가 중요한가?"
상관 기반
→
DoWhy
"그 피처가 진짜 원인인가?"
인과 검증
→
DiCE
"원하는 결과를 얻으려면?"
반사실 시나리오
ℹ️ 핵심 구분: EBM은 "무엇이 타겟과 관련 있는가"를 알려줍니다. DoWhy는 "그 관련이 인과인가 허위 상관인가"를 검증합니다. DiCE는 인과 관계가 확인된 피처를 대상으로 "어떻게 바꿀 것인가"를 제안합니다. 세 도구는 순차적으로도, EBM+DiCE 또는 EBM+DoWhy 조합으로도 사용할 수 있습니다.
⚠️ 중요한 경고: EBM feature importance가 높다고 "원인"이 아닙니다. Shape function은 모델이 학습한 상관 영향 곡선입니다. "promotion_flag가 중요하다"는 EBM 결과가 "행사가 매출을 올렸다"는 주장이 되려면 DoWhy 인과 검증이 필요합니다.
오늘의 학습 데이터셋
🍷 UCI Wine Quality — Part 1 (09:30–12:00)
1,599개 레드와인 샘플 · 분류 문제 (low/mid/high 품질)
EBM
DiCE
| 피처 (11개) | 타겟 |
|---|---|
| fixed acidity, volatile acidity, citric acid, residual sugar, chlorides, free/total sulfur dioxide, density, pH, sulphates, alcohol | quality score (3–8) → low / mid / high |
"이 와인을 high-quality로 만들려면 성분을 어떻게 바꿔야 하는가?"
🏠 California Housing Price — Part 2 (13:00–16:00)
20,640개 주택 블록 샘플 · 회귀 문제 (집값 중앙값, $100K 단위)
EBM
DoWhy
| 피처 (8개) | 타겟 |
|---|---|
| MedInc, HouseAge, AveRooms, AveBedrms, Population, AveOccup, Latitude, Longitude | MedHouseVal — 집값 중앙값 (회귀) |
"소득 수준이 집값에 미치는 인과적 효과는 얼마인가? primary index는 무엇인가?"
Part 3 브리지 — 편의점 매출로의 연결
| 오늘 학습 | 편의점 매출 구조 |
|---|---|
| Wine "성분 → 품질" 구조 | 편의점 "운영 조건 → 매출" 구조 |
| Housing "소득·위치 → 집값" 구조 | 편의점 "상권 특성 → 매출" 구조 |
| EBM shape function (비선형 기여도) | 프로모션·기온·유동인구의 구간별 매출 기여도 |
| DiCE actionable 피처 조정 | 점장이 바꿀 수 있는 운영 변수 조정 시나리오 |
| DoWhy backdoor 교란 통제 | 입지/요일/날씨 교란을 통제한 프로모션 인과 효과 |
✅ 핵심 메시지: 오늘 배운 방법론은 데이터만 바뀔 뿐 구조가 동일합니다. Wine의 "알코올 → 품질 인과"를 편의점의 "프로모션 수 → 매출 인과"로 교체하면 됩니다. Part 3에서 이 연결을 직접 작성합니다.