251222_BootCamp Day 46_심화 프로젝트 (2)

2025. 12. 22. 20:36TIL

비즈니스 문제 정의

  • 주제
    • 다이캐스팅 공정 데이터 기반 품질 예측 및 점검 모델 개발
  • 문제 정의
    • 다이캐스팅 공정에서 불량 제품이 지속적으로 발생함.
    • 발생하는 불량의 원인을 추적하기 어려워, 공정 개선 및 문제 해결이 어려움.
    • 육안 검사에만 의존하기 때문에, 판정 기준이 주관적이며 검사 속도가 느려 생산성이 저하됨.
  • 분석 목표
    • 불량 판별 : 확보 데이터를 기반으로 제품의 불량 여부를 사전 판별하는 모델 개발 (분류)
    • 위험도 점수 : 특정 시점에서 공정 컨디션이 어떠한지 나타내는 점수 산출 (분류 + 회귀)
    • 모델 평가 지표 : Recall, Precision, R-Square, p-Value, F1-Score, AOC(AUC)
  • 비즈니스 목표
    • 사전 불량 판별을 통한 공정 효율 증대
    • 위험도 점수를 통한 공정 사전 점검 및 불량률 감소
    • KPI : 불량률 감소, 불량 예측 시간 단축, 재작업 감소, 품질 안정성 향상

팀 전체 일정

12/19 (금) 데이터 전처리, 파생 변수 공유

12/22 (월) EDA 1차 완료 후 공유 + 통계 분석 계획 수립
12/23 (화) EDA 종합 정리 + 통계 분석 + 머신러닝 방향성 회의/분배
12/24 ~ 25 (수~목) 머신러닝 완료
12/26 (금) 전체 결론 도출 및 발표 준비 시작
12/28 (일) 머신러닝 완료
12/29 (월) 발표 준비 완료 및 무한 점검
12/31 (수) 팀 결과 발표

다이캐스팅 공정의 이해

다이캐스팅 (die casting) : 용융금속을 금형에 고압으로 주입해 정밀한 제품을 생산하는 공정

데이터 변수 분석

변수 단위 설명

Velocity_1 m/s 저속 : 용융금속이 밖으로 튀는 것을 방지
Velocity_2 m/s 저속 : 공기가 용융금속 flow에 들어가는 것을 방지
Velocity_3 m/s 저속 : 공기가 용융금속 flow에 들어가는 것을 방지
Velocity 1~3의 속도 증가 : 층류 (lanimar flow)를 유지하고 난류 (turbulence) 형성을 최소화해 공기가 용융금속 내부로 들어가는 것을 방지한다.    
High_Velocity m/s 고속 : 저속이동을 통해 융융금속과 sleeve 내의 공기를 제거했다면, 고속이동을 통해 용융금속이 굳기 전에 틀 (die) 내부를 atomize 방식으로 채운다.
Atomize : 용융금속을 고압 비활성기체(아르곤, 질소 등) 가스 흐름에 주입해 금속의 산화를 방지하고, 작은 물방울 형태로 분사하는 것. 이를 통해 일관된 입자 크기와 형태를 확보한다.    
Cylinder_Pressure bar 용융금속이 die 내부로 이동한 후 실린더가 die 내부에 있는 용융금속에 가하는 압력
Rapid_Rise_Time s 용융금속이 die 내부로 이동한 후 실린더가 die 내부에 있는 용융금속에 가하는 압력이 증가하는 시간
Biscuit_Thickness cm 비스킷 (shot 후 sleeve에 남아 있는 과잉 금속)의 두께.
Clamping_Force kN(?) Die의 절반을 닫힌 상태로 유지하기 위해 가해지는 힘. (실린더가 있는 쪽과 반대 방향)
Cycle_Time s 각 shot의 전체 소요 시간. (Cold chamber 방식이 hot chamber 방식보다 소요 시간이 길다.)
일반적으로 금속의 pouring 시간, 기계 작동 시간, 굳히는 시간 (solidification)까지 포함한다.    
Pressure_Rise_Time s 실제 die 내부의 압력이 증가하는 시간. (Die 내부의 용융금속이 완전히 압축되는 데 걸리는 시간)
Casting_Pressure bar 실제 die 내부의 압력. (Cylinder_Pressure로 인해 결정되는 변수)
Spray_Time s 하나의 shot이 끝나고, 주조물이 die에서 떨어지고 난 후 die 내부의 열을 식히고 윤활(lubrication)을 위해 기름이나 농축액을 뿌리는 과정
Spray_1_Time s Die의 부분 1에서 측정한 스프레이를 뿌리는 시간
Spray_2_Time s Die의 부분 2에서 측정한 스프레이를 뿌리는 시간

변수 단위 설명

Melting_Furnace_Temp 알루미늄 용융금속이 녹아 있는 용광로(furnace)의 온도
Air_Pressure bar 에어압력(?) 측정값
Coolant_Temp 냉각수 온도
Coolant_Pressure bar 냉각수 압력
Factory_Temp 공장 내부 온도
Factory_Humidity % 공장 내부 습도

변수 설명

Short_Shot 미성형 (용융금속이 덜 들어간 경우)
Bubble 기공 (기포가 들어가 구멍이 발생한 경우)
Exfoliation 박리 (표면이 벗겨지는 현상)
Blow_Hole 기공 (기포가 들어가 구멍이 발생한 경우)
Stain 얼룩 (표면에 얼룩이 발생하는 경우)
Dent 파인 자국 (제품의 ejection, 이동 과정에서 충돌이 발생해 파이는 경우)
Deformation 평탄 (내부 구조 변형)
Contamination 오염 (내부에 다른 물질이 섞인 경우)
Impurity 불순도 (용융금속의 순도가 낮을 경우)
Crack 크랙 (균열이 발생하는 경우)
Scratch 스크래치 (제품의 ejection, 이동 과정에서 긁히는 경우)
Buring_Mark 그을음 (높은 온도로 인해 탄 자국이 있는 경우)
Inclusions 개재물 (불순물이 섞인 경우)

불량 카테고리 해당 항목 설명

Filling & Surface Defects    
(충진 및 표면 불량) Short Shot 용탕 온도 부족, 속도 문제로 형상이 불완전한 상태
  Bubble 표면 아래 갇힌 가스가 팽창해 부풀어 오른 것
  Exfoliation 용탕의 두 흐름이 완전히 융합되지 않아 층이 생기는 현상
  Burning Mark 용탕이 금형 표면에 눌어붙거나 타서 생긴 자국
Internal & Metallurgical Defects    
(내부 및 금속학적 불량) Blow Hole 기계/화학적 요인으로 내부에 형성된 큰 가스 구멍
  Inclusions 외부 물질의 혼입
  Impurity 합금 성분이 표준을 벗어남
  Contamination 설비나 환경에서 유입된 이물질
Geometric & Mechanical Defects    
(기하학적 및 기계적 결함) Deformation 냉각 불균형, 이젝팅 시 발생하는 휨
  Crack 열응력, 기계적 충격에 의한 갈라짐
  Dent 이송, 이젝팅, 핸들링 과정에서 발생하는 물리적 손상
  Scratch  
  Stain 냉각수, 이형제 잔류물, 산화로 인한 변색

핵심 질문

  • 공정, 센서 데이터로 불량을 사전에 예측할 수 있는가
  • 불량에 가장 큰 영향을 주는 공정 조건은 무엇인가

세부 질문

  • 공정 변수의 안정적 작동 범위는 어디까지인가
  • 불량 유형별 주요 원인 변수는 어떻게 달라지는가
  • Shot 수 증가에 따라 불량률이 증가하는 패턴이 존재하는가

모델링 전략

  • 불량 분류 : 로지스틱 회귀, Random Forest, XGBoost
  • 위험도 점수 : 로지스틱 회귀
  • SHAP를 이용해 불량에 영향을 미치는 주요 변수 파

변수 핸들링

  • 공정 변수는 물리적 의미 기반 해석을 원칙으로 접근
  • 모델 성능보다 논리적 설명력, 비즈니스 연결성을 우선한다.
  • 변수 스케일링, 변수 카테고리화, 변수 선택 등은 추후 논의 후 결정
  • 무엇을 맞췄는가보다는 왜 이런 결과가 나왔는지를 중심으로 설명

데이터 전처리 관련 논의

  • 데이터 양을 줄이는 것보다는 데이터의 구조를 재정의할 필요가 있다.
  • 독립변수의 경우 수식상 상관관계가 있거나 분석 기여도가 낮을 수 있음
  • Process_id는 고유값이지만 의미가 불분명
  • Min, Max 관련 컬럼은 데이터 분석에 불필요
  • 불량 판별 기준도 카테고리를 축소할 필요가 있음
  • 시간과 관련된 변수를 넣을 것인지, 넣는다면 어떻게 구분할 것인지?

분석 방향

  • 전체 데이터 기준 분류 1회 + 제품 타입별 분류 2회, 총 3개의 분류 수행
  • 전체 데이터 분석은 다중공선성이 매우 심하기 때문에, 이에 대한 주의가 필요함
  • 데이터에서 불량 수가 적기 때문에, oversampling을 고려해야 할지?
  • 불량 변수에서 복합 데이터 (불량 유형이 2개 이상 1인 경우)는 어떻게 처리할 것인지?
  • 로지스틱 회귀를 통해 나오는 위험도 점수는 확률이 아닌 공정에 위험이 생길 가능성을 나타내는 지표로 해석 → 사업상 관계자들에게 slack/메일 등 알림 프로그램으로 만드는 방향
  • 이 데이터는 실측치이기도 하고, 이상치가 불량과 관련이 있을 수 있기 때문에 이상치 제거는 수행하지 않는 것이 좋을 것 같음
  • 표준화 등 스케일링은 효과가 제한적일 수 있지만 변수마다 범위가 다르기 때문에 ML에 적용할 때는 반드시 표준화, 정규화 등 스케일링을 진행해야 한다. (특히 우리는 분류 모델을 다루므로)