설비 센서 CSV를 파이썬 없이 그래프로 봅니다. 설비·센서·기간을 고르고 끌어서 확대하면, 정지(STOP) 구간·정비 이력·경보 구간이 함께 칠해집니다. 결측·범위 밖 값·값이 멈춘 구간은 데이터 점검 탭에서 표로 찾고, 줄을 누르면 그 자리 그래프로 갑니다. 「제조 설비 데이터 기반 이상징후 탐지」 과정의 실습도 탭마다 교안 숫자 그대로 해 봅니다: 사례 카드(1-2) · 전처리 체험(2-3~2-7) · 경보 채점과 결과 그래프(3-2~3-4). 형식: timestamp, equip_id, 센서 열…, status (한 행 = 한 설비의 한 시각). 파일은 브라우저 안에서만 읽어요.
1단계 · 데이터 불러오기
교안과 다른 새 데이터로 해 보려면 /mfg 「🚨 이상징후 실습」에서 만들어 '📡 센서 시각화에서 열기'를 누르세요 — 같은 형식·같은 일정에 정답(labels.csv)까지 나와요
📂
CSV 파일을 끌어다 놓거나 눌러서 고르세요 (여러 개 한꺼번에)
센서 원본·전처리(clean)·10초 진동·정비 이력·정답 구간(labels: start·end) 파일을 열 이름으로 알아서 나눠요
설비 (여러 대 고르면 겹쳐 그림)
위에서 데이터를 불러오면 그래프가 나와요
그래프 위를 가로로 끌면 확대, 두 번 누르면 처음 범위로. 휴대폰에서는 날짜·하루/3일 버튼으로 범위를 바꿔요
데이터를 불러오면 센서마다 한 줄씩 나와요
한 그래프에서 끌어 확대하면 나머지도 같은 구간으로 맞춰져요 — 어느 센서가 먼저 변했는지 세로로 비교하세요
교안 1-2 · 사례 해석과 원인 추정 — 이미 나온 탐지 결과를 읽는다
알아두기 · 사례 카드 읽는 순서 (교안 46~52쪽)
① 점수와 경보 — 이상 점수는 정상에서 얼마나 벗어났는지를 숫자 하나로, 임계값은 경보를 낼 기준선, 경보는 점수가 임계값을 넘은 구간(빨간 띠)이에요.
② 같이 변한 센서 · 먼저 변한 센서 — 같이 변한 센서는 원인의 범위를, 먼저 변한 센서는 원인에 더 가까운 쪽을 알려 줘요. 단위가 달라서 정상 기간 기준으로 표준화(평소보다 몇 σ)해 한 그래프에 놓아요.
③ 운전 상태·정비 이력과 맞춰 보기 — 경보 직전에 정비가 있었다면 정상 기준이 바뀐 것(정비 뒤 데이터로 기준 다시 잡기), 운전 조건이 바뀌었다면 운전 일지 확인, 둘 다 없는데 경보가 이어지면 설비 이상(현장 점검).
④ 4M 으로 원인 가설 — 사람(작업 방법 변경·점검 누락) · 설비(베어링 마모·냉각 계통 막힘·센서 고장) · 재료(윤활유 열화·원료 점도) · 방법(운전 조건·기준값·정비 절차). 가설마다 근거 그래프 1개 + 추가로 확인할 데이터 1개를 함께 적어요.
교안 2-3~2-7 · 원본을 탐지용 데이터로 — preprocess() 를 웹에서
알아두기 · 모든 단계에서 그 시각까지 들어온 값만 (교안 92~123쪽)
순서 — ① 정렬·중복 제거, P-03 진동 10초 → 1분(끝난 시각) ② 정지·재기동 직후 표시 ③ 압력 스파이크 지우기(0~20bar 밖이거나 운전 중 직전 10분 중앙값과 1.5bar 넘게 차이) ④ 짧은 결측만 앞값 채우기(최대 5분, 남은 결측은 is_gap) ⑤ 지난 30분 이동평균(창의 절반 이상 값이 있을 때). 고착(q_stuck: 운전 중 지난 60분 값이 그대로)은 3일차에 더해 exclude = 정지·재기동·결측·고착.
지우지 않고 표시 — 정지·재기동·결측·스파이크 위치는 행을 지우지 않고 표시 열로 남겨요. 탐지·채점에서 빼는 건 3일차 몫이에요.
선형 보간을 쓰지 않는 이유 — 0분 0, 6분 12 사이를 2·4·6·8·10 으로 채우려면 6분의 12가 필요해요. 그 전 시각에 쓰면 미래 값을 쓴 것이라, 탐지용에는 앞값 채우기만 써요. 2시간짜리 결측은 채우지 않고 is_gap 으로 남겨요.
IQR 로 한꺼번에 지우면 — 분포에서 멀리 떨어진 값을 지우는 방법은 실제 이상(E2 냉각 불량)까지 지워요. 센서 오류만 골라 지워야 해요.
가운데 창 — 앞으로 W/2 분 값을 미리 써서 일찍 보이지만 현장에서는 쓸 수 없는 값이에요. 위 2-6 표에서 가운데 창의 지연이 짧은 건 그 때문이에요. '창 위치'를 가운데로 바꾸고 이 결과로 경보 채점하기를 눌러 보면 채점 숫자가 교안과 크게 달라져요(정지 직전 값에 정지 중 값이 섞여 오경보가 늘어요) — 미래 값이 섞인 데이터로 고른 설정은 현장에서 재현되지 않아요.
데이터를 불러오면 점검표가 나와요
교안 3-2 · 임계값은 검증 구간에서 고르고, 평가 구간은 한 번만
전처리 파일(clean)의 exclude 를 제외 구간으로 써요
평균·표준편차·공분산을 여기서만
그 뒤는 평가 구간
10분 이하로 끊기면 같은 건
알아두기 · 채점 규칙 (교안 129·154쪽)
경보 — 점수가 임계값을 10분 연속 넘으면 그때부터 경보. 제외 구간(정지·재기동·결측·고착)은 넘지 않은 것으로 보고 세기를 처음부터. 10분 이하로 끊겼다 다시 넘으면 같은 건이고, 건의 시각은 첫 시점이에요.
정답 경보 — 같은 설비의 정답 구간(labels.csv) 안에서 시작한 건. 나머지는 모두 오경보. 리드타임 = 조치 시각(action_time) − 첫 정답 경보, 탐지 지연 = 첫 정답 경보 − 이상 시작.
3σ (Shewhart) — 학습 구간의 설비별 평균·표준편차로 센서마다 Z-score, 다섯 개 중 가장 큰 |Z| 가 K 를 넘는가. 센서 하나하나는 정상인데 관계가 깨진 이상(E8)은 못 잡아요.
Hotelling T² — 학습 구간의 평균·공분산으로 센서 다섯 개를 함께 본 거리. 임계값은 세 설비 학습 구간 T² 를 합친 분위수(99.9% ≈ 17). 관계가 깨진 이상도 잡아요.
K-means 거리 — 지난 60분 창의 평균·표준편차·최댓값·기울기(센서 5개 × 4 = 특징 20개)를 1~5일로 학습한 스케일러로 맞추고, 정상 데이터를 4개 무리로 묶어 가장 가까운 무리 중심까지 거리를 점수로. 임계값은 학습에 안 쓴 6~7일 정상 구간 점수의 분위수(세 설비 합침).
평가는 한 번만 — 평가 결과를 보고 설정을 다시 고르면 그 성능은 실제보다 좋게 나와요(미래 정보 누설). 그래서 평가 칸은 버튼을 눌러야 열려요.
알아두기 · 그래프를 읽는 순서
회색 띠 = 정지(STOP) — 회전수·전류가 0이고 온도가 식는다. 이상이 아니라 분석에서 뺄 구간이에요. 선이 끊긴 곳 = 결측 — 통신이 끊겨 값이 비었다(연한 빨강). 짧은 건 앞값으로 채우고, 길면 채우지 않고 표시만 해요. 점선 = 정비 이력 — 정비 뒤에 값의 수준이 바뀌었다면 '이상'이 아니라 기준이 바뀐 거예요.
이상의 모양 — 스파이크(한 점만 튀고 돌아옴, 대개 센서 오류) · 레벨 시프트(갑자기 올라간 채 유지) · 드리프트(며칠에 걸쳐 서서히) · 고착(값이 평평하게 멈춤). 여러 센서를 함께 볼 때는 먼저 변한 센서가 원인에 가까워요 (베어링 마모 → 진동이 먼저, 냉각 불량 → 온도가 먼저).
전처리 파일(clean)을 볼 때 원본 겹치기를 켜면 이동평균으로 얼마나 매끈해졌는지, 그만큼 늦게 반응하는지 같이 보여요.