인공지능 & 데이터 사이언스/연구 및 테스트
AI로 설비 이상을 사전에 감지하는 방법! – 스마트팩토리 데이터 분석 실전
프로잉2
2025. 5. 29. 18:08
728x90
📅 2025.05.29
✍️ by 메타송이 | 🔍 #스마트팩토리 #설비예지보전 #AI분석 #Python #산업데이터분석
✅ 오늘의 주제
공장 설비 데이터를 기반으로 **"AI로 이상 탐지"**를 실현해보자!
이 글에서는 실제 **제조 데이터(CSV)**를 활용하여
- 설비 이상 여부를 감지하고,
- 설비 간 상관관계를 시각화하고,
- 향후 예지보전(Predictive Maintenance)에 적용하는 방법까지
실습합니다.
📂 분석에 사용된 데이터
- 설비 센서 테이블: csv
- 주요 컬럼:
- 설비 ID (ex. EQ01 ~ EQ29)
- 생산 사이클 시간
- 데이터 수집 시점
- 작업 구분 코드 (STR/END)
📌 총 데이터 건수: 14,955건
🔍 1. 데이터 시각화 – 설비별 사이클 시간 추이
sns.lineplot(data=df, x='데이터 수집 시점', y='생산 사이클 시간', hue='설비 ID')
- EQ10, EQ25 등 일부 설비에서 급격한 상승 구간이 포착됨
- 대부분은 0~100초 사이에서 동작하지만, 일부는 8,000초를 넘음 ❗
🧠 2. 상관관계 분석 – 어떤 설비가 비슷하게 움직일까?
pivot_df = df.pivot_table(index='데이터 수집 시점', columns='설비 ID', values='생산 사이클 시간')
sns.heatmap(pivot_df.corr(), annot=True)
- EQ25 ↔ EQ29: 0.90 이상으로 매우 유사한 패턴!
- 협업 혹은 동일라인 추정 가능
🚨 3. 이상 탐지 – AI가 감지한 비정상 설비
이상 탐지 기준:
threshold = df['생산 사이클 시간'].mean() + 3 * df['생산 사이클 시간'].std()
df['is_anomaly'] = df['생산 사이클 시간'] > threshold
- 평균 + 3σ 기준으로 이상치 탐지
- EQ10, EQ20에서 비정상적으로 긴 생산 시간 감지됨
✅ 시각화 결과: 빨간 점이 이상치!
🧭 4. 예지보전을 위한 다음 스텝은?
- 작업 STR/END 구간을 기준으로 작업 시간 측정
- 설비별 평균 작업시간 비교 → 위험도 지표화
- 향후 AutoEncoder, LSTM 등으로 고장 예측 모델 적용 가능
📌 마무리 요약
항목결과
데이터 크기 | 14,955건 |
이상치 탐지 기준 | 평균 + 3표준편차 |
가장 유사한 설비쌍 | EQ25-EQ29 |
시각화 도구 | Matplotlib, Seaborn |
활용 기술 | Python, Pandas, Scikit-learn |
🏁 이런 분들에게 추천합니다!
- 제조 현장에서 AI 이상탐지를 도입하고 싶은 개발자
- 스마트팩토리 데이터를 분석하는 데이터 사이언티스트
- ICT 기반 설비 모니터링 솔루션에 관심 있는 분
🔖 추천 태그
#스마트팩토리, #AI이상탐지, #Python분석, #산업DX, #설비예지보전, #Seaborn, #Pandas, #제조AI, #ICT, #티스토리분석블로그
728x90