DOCUMENTATION

베이지안 학습 Auto-Tuner 가이드

EXAWin의 Auto-Tuner 기능을 단계별로 안내합니다 — 분석 실행, 결과 화면(요약·Signal Lift·Impact·T/k·Dampening·Silence·Prior·AUC·교차검증), MCMC 사후분포, Particle Storm 시각화, 시뮬레이션 구조 패널, 파라미터 적용까지.

Auto-Tuner 사용 가이드

Auto-Tuner는 과거 수주(Won) / 실주(Lost) 프로젝트의 결과 데이터를 베이지안 엔진의 파라미터를 학습하여 최적값을 추천하는 기능입니다. 관리자가 데이터에 기반한 근거와 함께 추천을 검토한 뒤, 직접 적용 여부를 결정합니다.

위치: 사이드바 → Bayesian → Auto-Tune

⚠️ Auto-Tuner는 admin 또는 super_user 권한이 필요합니다.


1. 분석 실행

1단계: Auto-Tune 화면 진입

사이드바에서 Bayesian → Auto-Tune 메뉴를 클릭합니다. 최초 진입 시 중앙에 소개 화면이 표시되며, 이전 분석이 있으면 sessionStorage에서 자동 복원됩니다.

2단계: 분석 시작

화면 상단 또는 중앙의 분석 시작 버튼을 클릭합니다.

분석 시작 후 프로그레스 바가 11단계의 진행 상황을 실시간으로 표시합니다:

구성 요소소요 시간비고
Ruby Grid Search (Impact, T, k, Dampening, Silence)< 1초즉시 완료
Cross Validation (5-fold)< 1초과적합 검증
Emcee MCMC Sampling15~30초Phase 3 이상에서만 실행

💡 분석 중 Cancel 버튼으로 취소할 수 있습니다. 취소해도 데이터에 영향을 주지 않습니다.

⚠️ MCMC가 포함되면 전체 분석에 15~40초가 소요됩니다. 프로그레스 바에 경과 시간이 함께 표시됩니다.


2. 결과 화면 구성

분석 완료 후 결과는 위에서 아래로 다음 섹션으로 구성됩니다:

① 요약 카드 (4열)

상단에 4개의 요약 카드가 표시됩니다.

카드내용
완결 데이터분석 대상 프로젝트 수 (Won / Lost 구분) + Phase 배지
현재 분리도현재 파라미터로 계산한 분리도 (등급 A~D 표시)
예상 분리도모든 추천값 적용 시의 시뮬레이션 분리도 (등급 표시)
Won vs Lost 평균Won 프로젝트 평균 P(Win) vs Lost 프로젝트 평균 P(Win)

등급 기준:

등급분리도의미
A≥ 0.40Excellent — 파라미터가 현실을 잘 반영
B0.25 ~ 0.40Good — 양호하나 개선 여지 있음
C0.10 ~ 0.25Needs Improvement — 조정 권고
D< 0.10Urgent — 즉시 파라미터 재교정 필요

② 시뮬레이션 구조 패널

요약 아래에 🔬 Auto-Tuner Simulation Structure 접이식 패널이 있습니다. 클릭하면 Auto-Tuner가 수행한 전체 시뮬레이션의 구조와 횟수가 표시됩니다.

요약 카드 (4열):
카드내용
PROJECTS분석 대상 프로젝트 수 (Won / Lost 구분)
RUBY ENGINERuby Grid Search 시뮬레이션 횟수
MCMC ENGINEEmcee 샘플링의 simulate_project() 호출 추정 횟수
GRAND TOTALRuby + MCMC 합계

Computation Distribution 바: Ruby와 MCMC의 연산 비율을 시각적으로 표시합니다. 일반적으로 MCMC가 전체의 99% 이상을 차지합니다.

Analysis Pipeline (3열):
  1. GRID SEARCH: 현재 값 ±범위에서 10개 지점을 시도하여 분리도 최대화
  2. CROSS VALIDATION: 5-fold 교차검증으로 과적합 검출
  3. MCMC Emcee: 32 walkers × (500 warmup + 1,500 draws) 앙상블 샘플링
Step-by-Step Breakdown (11단계):
Step분석호출
1current_separationP개
2signal_lift_analysis0 (DB 집계)
3impact_grid_searchI × G × P
4optimal_thresholds0 (DB 기반)
5k_recommendations0 (통계 계산)
6dampening_searchD × P
7silence_penalty_searchS × P
8projected_separationP개
9calculate_auc0 (P(Win) 기반)
10cross_validateF × P
11mcmc_ensemble_samplingW × Steps × P

여기서 P=프로젝트 수, I=Impact 타입 수, G=Grid 포인트(10), D=Dampening 시도 수, S=Silence 시도 수, F=5(fold 수), W=32(walkers), Steps=2,000(warmup+draws)

③ Signal Lift 분석

각 시그널의 판별력(Lift)을 분석합니다.

컬럼설명
SIGNAL시그널 이름
WON%Won 프로젝트에서의 출현율
LOST%Lost 프로젝트에서의 출현율
LIFTWon 출현율 / Lost 출현율
GRADE판별력 등급 + 이모지
  • Lift > 1: Won 프로젝트에서 더 자주 출현 → 양성 지표
  • Lift < 1: Lost 프로젝트에서 더 자주 출현 → 음성 지표
  • ⚠ MISMATCH: 현재 분류(Positive/Negative)와 실제 판별력이 불일치하면 빨간색 경고 표시

시그널의 Impact 분류가 잘못 배정되어 있으면 여기서 감지됩니다. Mismatch가 발견되면 Signal Master에서 재분류를 검토하세요.

④ Prior α, β 추천

과거 데이터를 기반으로 최적 초기 Prior를 추천합니다.

항목설명
Method추정 방법 (Method of Moments 또는 MLE)
α (Success Weight)현재 → 추천값 (95% CI 표시)
β (Failure Weight)현재 → 추천값 (95% CI 표시)
Evidence Maturity🌱 Early / 🌿 Growing / 🌳 Mature (프로젝트별 평균 α+β+n)

Phase 3에서는 적률법(Method of Moments), Phase 4+에서는 MLE(Newton-Raphson) 고정점 반복으로 더 정밀한 추정을 사용합니다.

⑤ Impact 최적화

각 Impact Type별 Grid Search 추천 결과입니다. adjust 권고가 있는 Impact만 카드 형태로 표시됩니다.

각 카드에는:

  • Impact Type 이름
  • 현재 값 → 추천 값
  • 분리도 개선량 (+%p)
  • 체크박스 — 적용할 파라미터 선택 (Select All 가능)

💡 Phase에 따라 탐색 범위가 달라집니다: Phase 3은 ±30%, Phase 4는 ±40%, Phase 5는 ±50%

⑥ Threshold (T) & Velocity (k)

두 테이블이 나란히 배치됩니다.

Threshold (T):
컬럼설명
STAGE영업 단계명
CURRENT현재 임계값
OPTIMALYouden J 최적 임계값
JYouden J 통계량 (< 0.20이면 추천 불가)
Velocity (k):
컬럼설명
STAGE영업 단계명
CURRENT현재 k 값
OPTIMALGrid Search 최적 k (상한: 12)
AVG α+β해당 스테이지의 평균 증거량

변경이 없는 행에는 체크박스가 표시되지 않습니다.

⑦ Impedance Impact

T/k 추천을 적용했을 때 임피던스 함수에 미치는 영향을 시뮬레이션합니다.

컬럼설명
STAGE영업 단계
P(WIN)해당 스테이지 평균 P(Win)
현재현재 T/k의 임피던스(%)
추천 적용추천 T/k의 임피던스(%)
변화↑ / ↓ + %p 차이
nWon / Lost 건수
BU해당 스테이지의 BayesianUpdate 건수

T/k 변경으로 임피던스가 변하지 않으면 "변화 없음 ✅" 메시지가 표시됩니다.

⑧ Dampening & Silence Penalty

두 카드가 나란히 배치됩니다.

파라미터설명기본값
Dampening동시 시그널 감쇠율. 0=최강 시그널만, 1=모두 동일0.25
Silence Penalty활동 공백기간 패널티 비율0.30

각 카드에 현재값 → 추천값 + 개선량이 표시됩니다. 최적이면 "✅ Optimal"로 표시됩니다.

⚠️ Phase 4 미만에서는 Dampening/Silence 체크박스가 비활성화(disabled) 되며 "🟢 양호 이상 필요" 안내가 표시됩니다.


3. MCMC 사후분포 분석

Phase 3 이상이면 Grid Search 결과 아래에 MCMC 사후분포 추정 결과가 표시됩니다.

MCMC 헤더

항목설명
Samples × Walkers샘플 수 × walker 수 (예: 1,500 samples × 32 walkers)
전체 최대 R-hat + 수렴 상태 (✅ 또는 ⚠️)
RuntimeMCMC 실행 시간 (초)
Projects분석에 포함된 프로젝트 수

Particle Storm 시각화

▶ Play Particle Storm 버튼을 클릭하면 각 파라미터의 사후분포가 실시간 애니메이션으로 빌드됩니다:

  • 밀도 히스토그램: MCMC 샘플이 하나씩 누적되면서 분포 형태가 나타남
  • 녹색 실선: MCMC 추정 평균(Mean)
  • 빨간 점선: 현재 설정값(Current)
  • 보라색 박스: 95% HDI 구간

Particle Storm은 시각적 효과를 위한 것이며, 실제 MCMC 처리 과정을 보여주지는 않습니다. 각 파라미터의 trace 데이터를 순차적으로 히스토그램에 반영합니다.

MCMC 데이터 테이블

컬럼설명
체크박스 — 적용할 파라미터 선택 (Select All 가능)
Parameter파라미터 이름 (⚙️ = Dampening, 🔇 = Silence)
Current현재 설정값 (빨간색)
MCMC사후분포 평균값 (녹색)
±SD표준편차 — 추정의 불확실성
HDI 95%95% 최고밀도구간 (보라색)
수렴 진단 지표 (녹색 < 1.05, 노란색 < 1.10, 빨간색 ≥ 1.10)
Δ현재 값과 MCMC 추정값의 차이 (↑ / ↓ / ≈)

⚠️ R̂ > 1.05인 파라미터는 수렴 불완전 경고입니다. R̂ > 1.10이면 미수렴이므로 적용하지 마세요.

💡 체크박스가 없는 행: MCMC 추정 평균과 현재 값의 차이가 0.02 이하(ε 임계값)이면 변화가 미미하다고 판단하여 체크박스를 표시하지 않습니다. Δ 컬럼에 로 표시됩니다. 예를 들어 dampening이 현재 0.25이고 MCMC 평균이 0.259이면 차이가 0.009로 임계값 이하이므로 적용 대상에서 제외됩니다.

HDI 해석 가이드

HDI [3.5, 6.2], 현재값 5.0
→ 현재값이 HDI 안에 있으므로 합리적. 변경 불필요.

HDI [2.0, 3.5], 현재값 5.0
→ 현재값이 HDI. 과대평가 가능성 높음. 조정 권고.

HDI [0.8, 8.0] (범위가 넓음)
→ 데이터가 부족하여 추정이 불확실. 참고만 하세요.

4. 추천 적용하기

Apply Bar

결과 화면 하단에 고정 바가 표시됩니다:

  • 왼쪽: 선택된 파라미터 수
  • 오른쪽: Apply Selected 버튼

Phase별 적용 제한

Phase적용 가능 범위
1~2적용 불가 — Apply 버튼 완전 비활성화
3Impact, T, k + MCMC (Dampening/Silence 잠금)
4+전체 파라미터 적용 가능

적용 대상

소스대상 파라미터적용 위치
Grid SearchImpact, T, k, Dampening, SilenceDB 직접 업데이트
MCMCImpact(mcmc_impact), Dampening(mcmc_dampening), Silence(mcmc_silence_ratio)DB 직접 업데이트

⚠️ Grid Search 추천과 MCMC 추천 둘 다 체크하면, 마지막에 적용된 값이 DB에 반영됩니다. 같은 파라미터에 대해 하나만 선택하세요.

적용 전 확인사항

  1. Grade 확인: 현재 등급과 예상 등급의 변화를 확인하세요
  2. Overfitting Risk: 교차검증에서 과적합 경고가 있다면 신중하게 적용하세요
  3. MCMC R̂: R̂ > 1.05인 파라미터는 MCMC 추천을 참고용으로만 사용하세요
  4. HDI 범위: HDI가 매우 넓은 파라미터는 데이터 부족을 의미합니다
  5. Phase 제한: Dampening/Silence는 Phase 4 이상에서만 체크박스가 활성화됩니다

적용 후

  • 확인 다이얼로그가 뜨며, 승인 시 DB가 업데이트됩니다
  • 적용 후 sessionStorage가 초기화되어 재분석이 필요합니다
  • 적용된 파라미터 수가 토스트 메시지로 표시됩니다

5. 데이터 성숙도 (Phase)와 기능 제한

Auto-Tuner는 Won/Lost 중 적은 쪽 건수(min)를 기준으로 5단계 신뢰 등급을 매깁니다.

Phase조건표시사용 가능 기능
1min < 5분석 불가 — 데이터 부족
2min 5~9🟠Signal Lift 방향성만 참조
3min 10~19🟡Impact, T, k + MCMC
4min 20~49🟢+ Dampening, Silence
5min ≥ 50🔵전체 기능 + 안정적 MCMC

💡 Phase를 올리는 가장 좋은 방법: 더 많은 프로젝트를 Won 또는 Lost로 완결(Close)하세요. 진행 중(Active)인 프로젝트는 분석에 포함되지 않습니다.


6. 자주 묻는 질문

Q. 분석을 여러 번 실행해도 되나요?

네. Auto-Tuner는 DB를 전혀 수정하지 않습니다. 분석은 메모리 내 시뮬레이션이며, "Apply Selected" 버튼을 누르기 전까지 기존 데이터에 아무런 영향이 없습니다.

Q. 분석 중 취소하면?

프로그레스 바 옆의 Cancel 버튼(빨간색)을 클릭하면 AJAX 요청이 즉시 취소됩니다. 데이터에 영향은 없습니다.

Q. 분석에 시간이 오래 걸려요

MCMC(Phase 3+)가 포함되면 15~40초가 소요됩니다. Python MCMC 엔진(Emcee)이 수십만 회의 시뮬레이션을 수행하기 때문입니다. MCMC 없이 Ruby Grid Search만 실행하면(Phase 2) 1초 이내에 완료됩니다.

Q. Grid Search와 MCMC 추천이 다르면?

상황해석권장
두 결과가 일치높은 확신적용 권고 ✅
MCMC가 Grid Search와 유사하되 HDI가 넓음방향은 맞지만 불확실신중하게 적용
두 결과가 크게 다름Grid Search의 로컬 최적 가능성MCMC의 HDI 범위를 우선 참고

Q. R̂이 높다고 경고가 떠요

R̂ > 1.05는 MCMC 체인이 아직 수렴하지 않았다는 뜻입니다. 이 파라미터의 MCMC 결과는 신뢰하기 어렵습니다. Grid Search 추천을 우선 사용하고, 더 많은 데이터가 쌓인 후 MCMC를 재실행하세요.

Q. MCMC 섹션이 안 보여요

다음 경우 MCMC가 실행되지 않습니다:

  • Phase 3 미만 (min 10건 미만)
  • Python Emcee 환경이 설치되지 않은 서버

두 경우 모두 Grid Search 결과는 정상 표시되며, MCMC 없이도 Auto-Tuner를 사용할 수 있습니다.

Q. Particle Storm이 뭔가요?

MCMC 샘플 데이터를 실시간 애니메이션으로 보여주는 시각화 기능입니다. 사후분포가 어떤 형태인지 직관적으로 이해할 수 있습니다. Play 버튼을 누르면 모든 파라미터의 애니메이션이 순차적으로 재생됩니다.

Q. 이전 분석 결과가 남아 있어요

Auto-Tuner는 분석 결과를 sessionStorage에 캐싱합니다. 페이지를 떠났다 돌아와도 이전 결과가 유지됩니다. Apply 후 또는 Re-run으로 새로 분석하면 초기화됩니다.


관련 문서