TIL(Today I Learned)
1️⃣시계열 분석 정리(2)
LOT
- 제품 묶음
- 시계열이 있을 수도 있고 없을 수도 있음
- LOT 하나에 요약값을 만들 수도 있고,
- LOT 내부 제품별 데이터가 있을 수도 있음
LOT 데이터 예시
① 제품 단위 데이터
| LOT_ID | PRODUCT_NO | WIDTH | HEIGHT | WEIGHT | DEFECT |
| LOT123 | 1 | 10.2 | 5.3 | 12.1 | NG |
| LOT123 | 2 | 10.1 | 5.2 | 12.0 | NG |
| ... | ... | ... | ... | ... | ... |
| LOT123 | 200 | 10.3 | 5.3 | 12.2 | NG |
② LOT 내부의 시계열 데이터
| Time | Pressure | Temperature |
| 0.00 | 20.0 | 180 |
| 0.01 | 30.5 | 183 |
| 0.02 | 45.3 | 185 |
LOT란 “제품 여러 개 묶음”이며 내부에는 제품별 정형데이터 + 시계열(waveform) 둘 다 존재할 수 있다.
LOT 데이터 시계열 모델링 방법
① 제품별 시계열 → 요약 통계(summary) → ML 모델 (LightGBM/XGBoost)
② 제품별 시계열 → 구간(section) 분할 후 요약 → ML
③ LOT 내부 제품들을 집계해서 LOT-level feature 생성
Batch
- 공정을 한 번 수행한 전체 과정
- “기계를 한 번 돌린 0~T 시간 전체”
- 내부에는 엄청 긴 시계열(센서값)이 그대로 들어있다
- Batch가 끝나면 품질 값은 보통 1개 나온다
- → 하지만 내부 시계열은 요약되어 있지 않다.
Batch 데이터 예시
① 데이터 구조 예시 (긴 시계열)
| Batch_ID | Time(h) | Temp | pH | DO | Agitation | Volume |
| Batch57 | 0.0 | 29 | 6.8 | 20 | 200 | 100 |
| Batch57 | 0.5 | 30 | 6.7 | 22 | 210 | 102 |
| ... | ... | ... | ... | ... | ... | ... |
| Batch57 | 48.0 | 28 | 6.1 | 18 | 180 | 140 |
② Batch 품질
Batch57 → Penicillin_Yield = 92.1%
제품 단위가 아니라 공정 단위의 시계열
결과 품질은 보통 1개, 내부 데이터는 LOT보다 훨씬 “길고 연속적”
Batch 데이터 시계열 모델링 방법
① Batch 전체 waveform → 전역 요약(feature) 생성 → ML
② Batch를 일정 구간 %로 나누는 방식 (Normalization)
③ Rolling/Diff 기반의 변화량 feature
이상치 탐지 유형
1️⃣포인트 이상치
단일 센서 값 또는 측정값이 다른 정상 데이터와 비교했을 때 급격히 벗어난 경우.
즉, 오직 하나의 데이터에만 이상이 생긴 것

2️⃣문맥적 이상치
값 자체는 정상 범위에 있지만, 특정 조건이나 문맥에서 비정상적인 경우.
즉, 데이터의 맥락(Contextual)을 고려했을 때 생긴 이상이 생긴 것

3️⃣집단적 이상치
개별 값들은 정상 범위 내에 있지만, 여러 값이 특정한 패턴을 이루며 비정상적인 경우
즉, 복수의 데이터 포인터들에게서 이상이 생긴 것(연속적)

다변수 시계열 이상 감지 시스템 구축 방법
1️⃣ 변수 그룹화 (Domain Knowledge 반영)
- 전문가의 도메인 지식을 활용하여 유사한 변수들을 그룹으로 묶음.
- 예: 엔진 관련 변수, 궤도 관련 변수, 온도 관련 변수 등.
2️⃣ 각 그룹별 독립적인 이상 감지 모델 구축
- 각 그룹에 맞는 이상 감지 모델을 개별적으로 학습 ( Isolation Forest 등).
- 그룹별 데이터의 특성을 반영하여 최적화.
3️⃣ 이상 감지 후 세부적인 원인 분석 가능하도록 설계
- 하나의 모델에서 "이상 감지 발생"만 판단하는 것이 아니라,
- 어느 그룹에서 이상이 발생했는지까지 즉각적으로 확인 가능하도록 설계.
4️⃣ 운영 및 유지보수의 용이성 확보
- 특정 그룹의 데이터 특성이 변경되더라도 다른 그룹의 모델에는 영향을 주지 않음.
- 유지보수 및 개선이 더 쉬워짐.
다변수 시계열 데이터의 이상 감지에서는 "변수 그룹화 및 독립 모델 운영"이 핵심 전략
이상치 모델
1. Elliptic Envelope (타원형 경계 기반 이상치 탐지)
- 데이터가 정규 분포를 따른다고 가정하고, 타원형 경계(Elliptical Boundary)를 생성하여 이상치를 탐지하는 방법.

특징
- 통계적 접근법: 데이터의 평균과 공분산을 기반으로 이상 탐지.
- 정규 분포를 가정: 데이터가 정규 분포를 따를 때 효과적.
- 고속 연산 가능: 다른 이상치 탐지 알고리즘보다 빠르게 동작.
- 선형적인 경계: 이상치를 결정하는 기준이 타원형 경계로 단순함.
2. Isolation Forest (격리 기반 이상치 탐지) ⇒ point 이상치에 적합
- 트리 구조를 사용하여 데이터를 무작위로 분할하며, 이상치는 정상 데이터보다 더 빠르게 격리(Isolation)되는 특성을 이용한 방법.


특징
- 비지도 학습(Unsupervised Learning)
- 빠른 연산 속도: 트리 구조 기반으로 대용량 데이터에서도 빠르게 동작.
- 정규 분포가 아닌 데이터에도 적합
- 고차원 데이터에서도 효과적
3. Local Outlier Factor (LOF, 지역적 밀도 기반 이상치 탐지)
- 데이터의 밀도를 계산하여 이웃 데이터들과의 상대적인 차이를 분석하여 이상치를 탐지하는 방법.
- 이상치의 특징: 주변 밀도가 낮고, 정상 데이터와의 밀도 차이가 클 경우 이상치로 판별.

특징
- 밀도 기반 이상치 탐지 → 데이터 분포가 균일하지 않아도 탐지 가능
- 지역적(Local) 패턴을 반영 → 특정 영역에서의 이상치 감지 가능
- 비정규 분포 데이터에서도 효과적
이상 탐지는 단순히 이상한 데이터를 찾는 것이 아니라 실제 문제 예방, 자동화 가능
| Step | 이상치 유형 | 컬럼 이름 | 탐지 기준 |
| 1 | 정적 이상치 | static_outlier | 평균 ± 3σ 초과 여부 ucl, lcl |
| 2 | 변화량 이상치 | gradient_outlier | 절댓값 변화량 abs(diff) > 2 |
| 3 | 추세 이상치 | trend_outlier | 연속 5개 이상 상승 또는 하강 |
| 4 | SPC Rule 위반 | spc_outlier | 연속 7개 이상 같은 방향으로 변화 (Western Electric Rule 1 등) |
| 5 | 구조 변화 감지 | change_point | ruptures 패키지로 Change Point Detection |
| 6 | 이동평균 이상치 | moving_avg_outlier | 실제 값이 이동 평균에서 ±2σ 이상 벗어남 (rolling mean ± threshold) |
2️⃣Streamlit 대시보드 완전 정복 5회차
Streamlit을 활용하여 구성한 파일을 Github와 Streamlit 웹사이트를 통해 배포하는 과정을 진행하였다.
1.GitHub 리포지토리 생성 및 파일 업로드



2. Streamlit 웹사이트를 통해 배포



💡 느낀점
시계열 정리를 마무리하며 추후에 진행하게 될 프로젝트에서 만약 시계열 데이터를 다룬다면 어떠한 방향성으로 이상치를 탐지하고 예측해야할지 알 수 있었다. 스트림릿으로 직접 구성한 파이썬 파일을 웹 형식으로 배포하는 과정을 통해 대시보드나 시각적으로 전달해야 할 정보들의 접근성을 높일 수 있다는 것을 알았다. 이후에는 시계열 분석을 진행한 데이터를 시각화하여 스트림릿을 통해 개인 페이지를 만들어 배포하는 실습을 진행할 예정이다.
'대시보드 활용 품질관리' 카테고리의 다른 글
| Chapter.6 대시보드 활용 품질관리(8) (0) | 2026.05.21 |
|---|---|
| Chapter.6 대시보드 활용 품질관리(7) (0) | 2026.05.20 |
| Chapter.6 대시보드 활용 품질관리(6) (0) | 2026.05.19 |
| Chapter.6 대시보드 활용 품질관리(5) (0) | 2026.05.18 |
| Chapter.6 대시보드 활용 품질관리(4) (0) | 2026.05.14 |