내일배움캠프(본캠프)

[내일배움캠프] 본캠프 7/1

anscodus 2026. 7. 1. 20:22

벌써 7월이라니!!

 

오늘의 TIL도 클로드의 도움을 받아서 정리한 내용

 

TIL — 사출 조건으로 FAI 공차 이탈을 예측할 수 있을까?

오늘 한 일 한 줄 요약

04번(월별 드리프트 탐색)부터 08번(SHAP 분석)까지 EDA를 완료하고, 두 노트북을 하나로 통합했다. 중간에 월 순서 오류를 발견·수정했고, 분석 결과가 바뀌는 경험을 했다.


핵심 질문

"사출 조건 9개만으로 FAI 치수 공차 이탈(OOT)을 사전 예측할 수 있는가?"

FAI 측정이 사출 후 8시간 뒤에 나오기 때문에, 사출 조건으로 미리 예측할 수 있다면 불량 발견 지연을 줄일 수 있다는 게 분석 배경이었다.


오늘 배운 것들

1. 월 순서 하나가 분석 결과를 완전히 바꾼다

데이터가 2025년 7월~2026년 2월인데, 코드에서 month_order를 숫자 기준으로 정렬(1, 2, 7, 8...)해서 시간 순서가 완전히 뒤집혀 있었다. 수정 전에는 금형온도1(r=-0.619)과 Cycle Time(r=-0.610) 이 1·2위였는데, 올바른 순서(7→2월)로 재분석하니 사출 시간(r=+0.714, p=0.046)과 충진 시간(r=-0.643) 이 1·2위로 바뀌었다. 순서 하나가 결론을 완전히 바꿨다.

→ 시계열 데이터는 항상 시간 순서를 먼저 확인하고, reindex를 명시적으로 써야 한다는 것을 깨달았다.

# 이렇게 명시적으로 순서를 고정해야 함
MONTH_SEQ = ['7월', '8월', '9월', '10월', '11월', '12월', '1월', '2월']
month_order = [m for m in MONTH_SEQ if m in df_clean['월'].unique()]
fail_vals = monthly_fail.loc[month_order, 'fail_rate_pct'].values

2. 스피어만 상관계수가 높다고 인과는 아니다

사출 시간 r=+0.714가 나왔는데, 이게 "사출 시간이 FAIL률을 올린다"는 뜻이 아니다. 두 변수가 같은 방향으로 움직이는 경향이 있다는 것일 뿐이다. 상관 ≠ 인과는 항상 명심해야 한다. 특히 월별 포인트가 8개밖에 없어서 신뢰구간이 넓고, p값 단독으로 판단하면 안 된다.

|r| 0.0~0.3 → 약한 상관
|r| 0.3~0.5 → 중간 상관
|r| 0.5~0.7 → 강한 상관
|r| 0.7~1.0 → 매우 강한 상관

3. 월별 신호가 Shot 단위에서 사라진다

월별 집계에서 유효했던 사출 시간·충진 시간을 shot 단위 LightGBM 모델에 그대로 투입했더니 AUC 0.5~0.59 수준으로 거의 랜덤에 가까운 결과가 나왔다. FAI20_P1만 AUC 0.588로 유일하게 소폭 유효했다.

왜냐면 금형온도나 사출 시간은 월 단위로 설정값이 바뀌는 변수라, 같은 달 안에서는 shot마다 거의 동일한 값이다. 모델 입장에서는 신호를 구분할 수 없는 것이다. 드리프트는 며칠에 걸쳐 누적되는 현상이라 순간 값으로는 포착이 어렵다.

→ 해결책: 이동 중앙값, 전일 대비 변화량 같은 파생 피처로 시간적 맥락을 shot 단위에 담아야 한다.


4. SHAP은 모델이 좋아야 의미가 있다

AUC가 낮은 모델의 SHAP은 신뢰하면 안 된다. FAI20_P1(AUC 0.588)만 SHAP 결과가 유효했고, 이때 충진 시간이 1위, 최소 쿠션이 2위, 사출 시간이 3위로 나왔다. 04번 드리프트 분석(사출 시간 1위, 충진 시간 2위)과 방향이 일치해서 두 분석이 서로를 뒷받침하는 구조가 됐다.


5. 의미 없는 결과가 아니라 의미 있는 한계를 발견한 것

처음에는 AUC 0.5가 나오니 "분석이 실패한 것 아닐까"라는 생각이 들었다. 그런데 아무것도 안 해보고 "어려울 것 같다"고 말하는 것과, 실제로 돌려보고 "이래서 어렵고, 이렇게 개선해야 한다"고 말하는 건 완전히 다르다. EDA 단계의 역할은 모델을 완성하는 게 아니라 방향을 잡는 것이라는 것을 오늘 느꼈다.

 


내일 할 것

  • NG 컬럼 기준으로 OOT 타겟 재정의 후 임시 모델 재실행
  • 파생 피처(사출 시간 7일 이동 중앙값, 충진 시간 전일 변화량) 추가 후 성능 변화 확인
  • 공차 데이터 정확성 팀 내 재검토 반영

한 줄 회고

데이터 분석에서 순서 하나, 기준 하나가 결론을 완전히 바꿀 수 있다. 코드 돌리기 전에 데이터의 시간 흐름을 먼저 눈으로 확인하는 습관이 필요하다.