제조업 데이터 분석 가이드¶
개요¶
제조업 데이터 분석은 생산 효율성 향상, 품질 관리, 예지 정비 등을 목표로 한다. 센서 데이터, 생산 로그, 품질 검사 데이터를 활용하여 스마트 팩토리를 구현한다.
핵심 분석 영역¶
| 영역 | 목표 | 핵심 지표 |
|---|---|---|
| 생산 효율 | 생산성 극대화 | OEE, 사이클 타임 |
| 품질 관리 | 불량률 최소화 | 불량률, Cpk |
| 예지 정비 | 고장 사전 예방 | MTBF, MTTR |
| 공급망 | 재고 최적화 | 재고 회전율, 리드타임 |
| 에너지 | 에너지 효율 | kWh/제품, 탄소배출량 |
주요 분석 기법¶
1. OEE (Overall Equipment Effectiveness) 분석¶
정의:
분석 예시:
import pandas as pd
def calculate_oee(df):
# 가동률
planned_time = df['planned_minutes'].sum()
running_time = df['running_minutes'].sum()
availability = running_time / planned_time
# 성능
actual_output = df['actual_output'].sum()
theoretical_output = running_time * df['ideal_cycle_rate'].mean()
performance = actual_output / theoretical_output
# 품질
good_output = df['good_output'].sum()
quality = good_output / actual_output
oee = availability * performance * quality
return {
'availability': availability,
'performance': performance,
'quality': quality,
'oee': oee
}
OEE 벤치마크:
| 수준 | OEE | 의미 |
|---|---|---|
| 세계적 수준 | > 85% | 최고 수준 |
| 우수 | 70-85% | 개선 여지 있음 |
| 평균 | 50-70% | 개선 필요 |
| 낮음 | < 50% | 심각한 손실 |
2. SPC (Statistical Process Control)¶
관리도 유형:
| 관리도 | 용도 | 데이터 유형 |
|---|---|---|
| X-bar R | 평균/범위 | 연속형 (소표본) |
| X-bar S | 평균/표준편차 | 연속형 (대표본) |
| p-chart | 불량률 | 이산형 (비율) |
| c-chart | 결점 수 | 이산형 (개수) |
| CUSUM | 누적합 | 작은 변화 감지 |
구현 예시:
import numpy as np
def xbar_r_chart(data, subgroup_size=5):
# 부분군별 통계
subgroups = data.reshape(-1, subgroup_size)
xbar = subgroups.mean(axis=1)
r = subgroups.max(axis=1) - subgroups.min(axis=1)
# 관리 한계선 (A2, D3, D4는 상수표 참조)
A2, D3, D4 = 0.577, 0, 2.114 # n=5
xbar_bar = xbar.mean()
r_bar = r.mean()
ucl_x = xbar_bar + A2 * r_bar
lcl_x = xbar_bar - A2 * r_bar
ucl_r = D4 * r_bar
lcl_r = D3 * r_bar
return {
'xbar': xbar, 'r': r,
'xbar_cl': (lcl_x, xbar_bar, ucl_x),
'r_cl': (lcl_r, r_bar, ucl_r)
}
공정 능력 지수:
Cp = (USL - LSL) / (6 * sigma) # 잠재 능력
Cpk = min(Cpu, Cpl) # 실제 능력
Cpu = (USL - mean) / (3 * sigma)
Cpl = (mean - LSL) / (3 * sigma)
| Cpk | 수준 | 불량률 (PPM) |
|---|---|---|
| 2.0 | 6-sigma | 0.002 |
| 1.67 | 5-sigma | 0.6 |
| 1.33 | 4-sigma | 63 |
| 1.0 | 3-sigma | 2,700 |
3. 예지 정비 (Predictive Maintenance)¶
분석 접근법:
| 접근법 | 데이터 | 장점 |
|---|---|---|
| 물리 기반 | 진동, 온도, 압력 | 해석 가능 |
| 데이터 기반 | 센서 로그 | 패턴 학습 |
| 하이브리드 | 물리 + 데이터 | 최적 성능 |
고장 예측 모델:
from sklearn.ensemble import RandomForestClassifier
from sklearn.preprocessing import StandardScaler
# 피처 엔지니어링
def extract_features(sensor_df, window='1H'):
return sensor_df.resample(window).agg({
'vibration': ['mean', 'std', 'max', 'min'],
'temperature': ['mean', 'std', 'max'],
'pressure': ['mean', 'std'],
'current': ['mean', 'max']
}).reset_index()
# 모델 학습
features = [
'vibration_mean', 'vibration_std', 'vibration_max',
'temperature_mean', 'temperature_max',
'pressure_mean', 'current_max'
]
model = RandomForestClassifier(n_estimators=100, class_weight='balanced')
model.fit(X_train[features], y_train)
# RUL (Remaining Useful Life) 예측
# 생존 분석 또는 회귀 모델 사용
핵심 지표:
| 지표 | 정의 | 목표 |
|---|---|---|
| MTBF | 평균 고장 간격 | 최대화 |
| MTTR | 평균 수리 시간 | 최소화 |
| 가동률 | MTBF / (MTBF + MTTR) | > 95% |
4. 근본 원인 분석 (Root Cause Analysis)¶
분석 도구:
| 도구 | 용도 | 방법 |
|---|---|---|
| 5 Why | 원인 추적 | 연속 질문 |
| 파레토 | 주요 원인 식별 | 80/20 법칙 |
| 특성요인도 | 원인 분류 | 4M (Man, Machine, Material, Method) |
| FTA | 고장 트리 | 논리적 분해 |
데이터 기반 RCA:
from scipy.stats import chi2_contingency
import pandas as pd
def identify_root_causes(df, target='defect'):
results = []
for col in df.columns:
if col == target:
continue
# 카이제곱 검정
contingency = pd.crosstab(df[col], df[target])
chi2, p_value, dof, expected = chi2_contingency(contingency)
# 상관 계수 (수치형)
if df[col].dtype in ['int64', 'float64']:
corr = df[col].corr(df[target])
else:
corr = None
results.append({
'factor': col,
'chi2': chi2,
'p_value': p_value,
'correlation': corr
})
return pd.DataFrame(results).sort_values('p_value')
5. 생산 스케줄링 최적화¶
최적화 목표: - 납기 준수율 최대화 - 셋업 시간 최소화 - 재고 비용 최소화 - 설비 가동률 최대화
스케줄링 알고리즘:
| 알고리즘 | 특징 | 적용 |
|---|---|---|
| FCFS | 선입선출 | 단순 환경 |
| EDD | 납기 순 | 납기 중요 |
| SPT | 처리시간 순 | 대기 최소화 |
| 유전 알고리즘 | 메타휴리스틱 | 복잡한 제약 |
| 강화학습 | 동적 환경 | 실시간 조정 |
데이터 수집 아키텍처¶
스마트 팩토리 데이터 플로우¶
[센서/PLC] → [Edge Gateway] → [시계열 DB] → [분석 플랫폼]
│ │ │ │
- 진동 - 필터링 - InfluxDB - 대시보드
- 온도 - 집계 - TimescaleDB - ML 모델
- 압력 - 프로토콜 - QuestDB - 알림
- 전류 변환
핵심 데이터 소스¶
| 소스 | 데이터 유형 | 주기 |
|---|---|---|
| PLC | 설비 상태, 생산량 | 밀리초 |
| 센서 | 진동, 온도, 압력 | 초~분 |
| MES | 작업 지시, 이력 | 실시간 |
| QMS | 품질 검사 결과 | 이벤트 |
| ERP | 자재, 재고 | 시간~일 |
KPI 대시보드¶
생산 현황 지표¶
| 지표 | 계산 | 목표 |
|---|---|---|
| 일일 생산량 | 완제품 수량 | 계획 대비 100% |
| 라인 가동률 | 실가동/계획 | > 90% |
| 불량률 | 불량/생산 | < 1% |
| 납기 준수율 | 정시 출하/전체 | > 98% |
설비 상태 지표¶
| 지표 | 계산 | 알림 기준 |
|---|---|---|
| OEE | 가동률 x 성능 x 품질 | < 70% |
| 진동 레벨 | RMS (mm/s) | > 임계치 |
| 온도 편차 | 현재 - 정상 | > ±5°C |
| 고장 예측 | ML 모델 확률 | > 80% |
산업 4.0 기술 활용¶
디지털 트윈¶
AI/ML 적용 영역¶
| 영역 | 기술 | 효과 |
|---|---|---|
| 비전 검사 | CNN, YOLO | 결함 자동 감지 |
| 수요 예측 | LSTM, Prophet | 재고 최적화 |
| 공정 최적화 | 강화학습 | 파라미터 자동 조정 |
| 문서 처리 | OCR, NLP | 자동화 |
참고 자료¶
- SEMI E10: Overall Equipment Effectiveness
- NIST Manufacturing Extension Partnership
- Industry 4.0 Maturity Index
마지막 업데이트: 2026-02-11