✅ 오늘 한 것
실전 프로젝트
✏️ 오늘 배운 점
1. 상관계수를 기반으로 1차적으로 컬럼 선별
2. 도메인적 측면으로 상관계수가 낮더라도 필요하다고 판단되는 컬럼 추가 선별
3. 선별된 컬럼만을 가지고 새로 변수를 제작하여 Batch별로 새로운 변수에 담고 Boxplot과 describe() 확인
4. 이상치를 도메인적 측면으로 확인하고 제거해야할 요소 제거
| 1. OUR (산소 소비율) | Min = −1.242 | 물리적으로 불가능한 값(센서 오류) | OUR ≤ 0 데이터는 선형 보간으로 대체 (OUR는 음수가 될 수 없음) |
공장마다 Batch(RC, OC, APC)가 다른 경우가 많기에 각 RC, OC, APC 모두 머신러닝 모델링을 진행하고 Fault의 경우에서 튀었던 요소들을 UCL, LCL으로 하여 공정 과정에서 튀는 peak가 발생할 경우 알림을 통하여 공정에서 생길 문제를 방지하고자 함.
1️⃣ APC 데이터(apc_df) 전용 정제 환경 구축
- 더 이상 merged_df → df_cleaned 같은 복잡한 과정 없이
이미 완성된 19개 컬럼의 apc_df에서 직접 전처리하기로 확정 - 컬럼 수가 19 → 39개로 늘어나던 문제는
rename 과정에서 중복 컬럼 생성이 원인이었음
→ 현재는 rename 제거로 문제 해결
2️⃣ OUR(Oxygen Uptake Rate) 전처리 기준 확립
✔ 생물공정 도메인 기준 적용
- OUR < 0 → 물리적으로 불가능 → 센서 오류 → NaN 처리
- OUR > 4.0 → 비정상 피크 → NaN 처리
- 선형보간(interpolation)으로 중간 결측 보정
- 배치 시작구간의 NaN은 bfill로 처리
(초기 OUR는 급변하지 않으므로 적합)
📌 결과
APC 61~90번 배치의 OUR 시계열이 부드럽게 보정됨
3️⃣ O2outgas(O₂ off-gas %) 전처리 기준 확립
✔ 정상 범위: 0.18–0.21
- 0.17 이하, 0.22 이상 → 센서 스파이크 → NaN 처리
- 배치별 선형보간으로 자연스러운 시계열 복구
📌 결과
O₂ 이상치 제거 + 보간 완료 (컬럼 수 변화 X)
4️⃣ 전처리 최종 코드 통합
- O2outgas, OUR만 클린하게 덮어쓰는 전용 파이프라인을 구성
- apc_df 컬럼은 항상 19개 유지
- rename 과정 없음 → 컬럼 수 증가 문제 완전 해결
5️⃣ 품질관리적 시각에서 변수 해석 및 기준 확립
- 생물반응기 운전 도메인 기준을 적용해
여러 센서값의 정상/이상 범위를 명확히 설정함:- pH는 6.5 근처에서 안정적
- 온도는 298 K (~25°C) 근처 유지
- DO는 11–15 mg/L 범위에서 정상
- OUR/O2outgas는 미생물 대사율을 판단하는 지표
→ 이상치 제거 기준 확정
6️⃣ 향후 공정 최적화를 위한 모델링 방향성 확립
- 페니실린 농도를 단순 타겟으로 두는 것이 아니라
시계열 기반 생산 패턴 분석 → 생산성/수율 최적화로 연결 - APC 배치(61~90)가 최적화의 1차 타겟이라는 점 재확인
📌추가로 해야 할 점
실전 프로젝트
'품질관리(QAQC) 데이터 부트캠프(본캠프)' 카테고리의 다른 글
| 본캠프_12주차(금)_TIL(실전 프로젝트) (0) | 2025.12.05 |
|---|---|
| 본캠프_12주차(목)_TIL(실전 프로젝트) (0) | 2025.12.04 |
| 본캠프_12주차(화)_TIL(실전 프로젝트) (0) | 2025.12.02 |
| 본캠프_12주차(월)_TIL (0) | 2025.12.01 |
| 본캠프_11주차(금)_TIL(시계열) (0) | 2025.11.28 |