콘텐츠로 이동
Data Prep
상세

제조업 데이터 분석 가이드

개요

제조업 데이터 분석은 생산 효율성 향상, 품질 관리, 예지 정비 등을 목표로 한다. 센서 데이터, 생산 로그, 품질 검사 데이터를 활용하여 스마트 팩토리를 구현한다.

핵심 분석 영역

영역 목표 핵심 지표
생산 효율 생산성 극대화 OEE, 사이클 타임
품질 관리 불량률 최소화 불량률, Cpk
예지 정비 고장 사전 예방 MTBF, MTTR
공급망 재고 최적화 재고 회전율, 리드타임
에너지 에너지 효율 kWh/제품, 탄소배출량

주요 분석 기법

1. OEE (Overall Equipment Effectiveness) 분석

정의:

OEE = 가동률 x 성능 x 품질

- 가동률 = 실제 가동시간 / 계획 가동시간
- 성능 = 실제 생산량 / 이론 생산량
- 품질 = 양품 수량 / 총 생산량

분석 예시:

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 자동화

참고 자료


마지막 업데이트: 2026-02-11