본문으로 건너뛰기

예측 분석 (기계학습)

목차


개요

예측 분석 화면은 시계열 태그 데이터를 학습해 미래값을 예측하고, 이상치(이상진단)를 탐지합니다. 운영자가 GUI 에서 학습 구간·샘플링 주기·알고리즘만 선택하면 즉시 결과 차트와 표로 확인할 수 있습니다.

이 화면은 다음 분석에 사용됩니다.

  • 향후 N개 시점의 태그 값 예측 (수요 예측·생산량 예측 등)
  • 과거 데이터에서 통계적으로 벗어난 이상값 탐지
  • 알람 룰 임계값을 정하기 위한 기준 분석

경로: 현재 통합 사이드바에는 기본 메뉴로 노출되지 않을 수 있습니다. 내부 URL 은 /forecast/index 이며 화면 제목은 기계학습 입니다.

이 문서는 예측·이상진단 부가 화면을 설명합니다. 좌측 메뉴 기준 운영 흐름은 콘솔 탐색과 공통 화면 을 우선 참고하세요.


화면 구성

┌──────────────────────────────────────────────────────────────────┐
│ 🧠 기계학습 │ ← ① 상단
├─────────────────────┬────────────────────────────────────────────┤
│ │ │
│ 📄 양식 │ 📈 기계학습 결과 │
│ ───────────────── │ ────────────────────────────────────────│
│ ◯ 대상 태그 선택 │ [학습 데이터] [이상진단 건수] [실행 시간] │ ← 요약 카드
│ • 태그명 입력 │ │
│ │ ┌──────────────────────────────────────┐ │
│ ◯ 데이터 구간 │ │ │ │
│ • 학습 구간 (날짜) │ │ 결과 차트 (520px) │ │
│ • 샘플링 주기 │ │ │ │
│ │ └──────────────────────────────────────┘ │
│ ◯ 기계학습 속성 │ │
│ • 예측 알고리즘 │ ◯ 예측 데이터 (테이블) │
│ • 예측 갯수 │ ◯ 이상진단 데이터 (테이블) │
│ • 이상진단 알고리즘 │ │
│ • 개연성 │ │
│ │ │
│ [🚀 기계학습 시작] │ │
└─────────────────────┴────────────────────────────────────────────┘
영역위치표시
① 상단전체 폭페이지 제목
② 좌측col-lg-3양식(입력 폼) — 4 fieldset + 시작 버튼
③ 우측col-lg-9기계학습 결과 — 요약 카드 3종 + 차트 + 두 개의 결과 테이블

상단 — 페이지 제목

항목표시
페이지 제목🧠 "기계학습"

좌측 — 양식(입력 폼)

좌측 패널의 폼은 4개 그룹(<fieldset>)으로 구성됩니다.

1) 대상 태그 선택

입력nameplaceholder설명
태그명tag_name250px (파랑 보더 2px)"태그명 입력"등록된 태그 목록에서 자동완성으로 선택. 선택 즉시 hidden 필드 tag_id 에 저장

입력란 우측에는 🧭 아이콘 + "기계학습을 진행할 태그를 선택하십시오." 라는 안내 문구가 함께 표시됩니다.

2) 데이터 구간

입력name설명
학습 구간learning_time250px (가운데 정렬, 굵은 글씨)시작~종료 일시. 클릭 시 날짜 범위 선택기. 폼 제출 시 hidden 필드 learning_date_from / learning_date_to 로 전달
샘플링 주기term200px셀렉터 — "샘플링 주기" 옵션 (예: 1_MIN / 5_MIN / 30_MIN / 1_HOUR / 1_DAY 등 시스템에 정의된 주기 목록)

샘플링이란?

옵션의미
원본(RAW)모든 데이터 포인트 그대로 학습 — 데이터가 많고 변동이 빠른 태그에
샘플링(스냅샷)일정 주기로 대표값 1개를 뽑아 학습 — 장기간 학습·계산 비용 절감

hidden 셀렉터로 sampling="LAST" 가 기본 설정됩니다(가장 마지막 값을 대표로 사용).

3) 기계학습 속성

예측 알고리즘 (forecast_algorithm)

옵션라벨특성
LINEAR_REGRESSION (기본)Linear regression단순 선형 추세 — 빠르고 해석 용이
ARIMAAuto-regressive Integrated Moving Average시계열 자기상관·계절성 활용
SMO_REGSupport vector machine for regression비선형 패턴, 노이즈 강건
GAUSSIAN_PROCESSESStochastic process확률적 예측 + 불확실성 추정

예측 갯수 (forecast_count)

입력설명
텍스트 입력200px (오른쪽 정렬)예측할 결과 갯수(타임스탬프 단위)

예: 샘플링 주기 1_HOUR + 예측 갯수 24 = 향후 24시간 예측

이상진단 알고리즘 (abnomal_algorithm)

옵션라벨특성
EGADS (기본)Seasonal-naive-based계절성 반영, 운영 데이터에 일반적
DBSCANCluster-based군집에서 벗어나는 점을 이상치로
GAUSS_BASEDStatistical-based정규 분포 기반 통계적 이상치 탐지
HIL_OUTDistance-based거리 기반 이상치

개연성 필터 (probability_filter)

입력의미
텍스트 입력200px (오른쪽 정렬)0~1 사이의 임계값. 개연성 값이 이 값 이상인 데이터만 이상 데이터로 판단

예: 0.95 입력 시 개연성이 95% 이상인 강한 이상치만 탐지. 값이 작을수록 더 많은 이상치를 잡지만 오탐이 늘어납니다.

4) 기계학습 시작 버튼

버튼동작
🚀 기계학습 시작250px (파랑)입력 검증 후 백엔드에 학습 요청. 실행 중에는 우측 차트 영역에 진행 표시. 완료되면 결과 차트와 두 테이블이 채워짐

우측 — 기계학습 결과

요약 카드 3종

차트 위쪽 가로형 3분할 카드(total_ml_co).

카드ID표시
학습 데이터result_learning_count학습에 사용된 데이터 포인트 수
이상진단 건수result_abnomal_count탐지된 이상치 건수
실행 시간result_text학습+예측 처리에 걸린 시간

실행 전에는 모두 - 으로 표시됩니다. 실행 직후 자동으로 채워집니다.

결과 차트

차트 영역(data_chart, 폭 100% × 높이 520px)에 다음이 한 화면에 그려집니다.

시리즈의미
학습 구간 실측값입력한 학습 기간의 원본 시계열
예측 값학습 후 예측한 미래 N 개 시점
예측 상한 (LIMIT_MAX)예측 신뢰 구간의 상한
예측 하한 (LIMIT_MIN)예측 신뢰 구간의 하한
이상치 마커이상진단에서 탐지한 시점에 별도 표시

차트가 비어 있을 때 안내 문구가 표시됩니다.

🤖 [머신러닝 일러스트]

대상 태그를 선택하신 후, 기계학습을 시작하십시오.

예측 데이터 테이블

<fieldset>예측 데이터 라벨 아래 테이블(forecast_data_table).

컬럼표시
No.60px행 번호
타임스탬프200px예측 시점
예측 값자동알고리즘이 산출한 예측치
WEIGHT자동예측 가중치(알고리즘별로 의미가 다름)
LIMIT_MIN자동예측 하한
LIMIT_MAX자동예측 상한

이상진단 데이터 테이블

<fieldset>이상진단 데이터 라벨 아래 테이블(abnomal_data_table).

컬럼표시
No.60px행 번호
타임스탬프200px이상치가 탐지된 시점
이상진단 값200px그 시점의 실제 측정값
개연성 (PROBABILITY)자동이상치 확신도 (0~1, 1에 가까울수록 강한 이상치)

예측·이상진단 알고리즘 선택 가이드

운영 데이터에 어울리는 알고리즘을 고르실 때 참고하세요.

예측 알고리즘

데이터 특성권장 알고리즘
단조 증가/감소 추세LINEAR_REGRESSION
일/주 단위 반복 패턴ARIMA
비선형이고 노이즈가 큰 데이터SMO_REG
예측의 불확실성도 함께 보고 싶을 때GAUSSIAN_PROCESSES

이상진단 알고리즘

데이터 특성권장 알고리즘
시즈널리티가 있는 일반 운영 데이터EGADS (기본)
다차원 군집 분석이 적합한 다변량DBSCAN
정규 분포에 가까운 안정 데이터GAUSS_BASED
점들 간 거리 기반(전역/지역 이상)HIL_OUT

개연성 필터 가이드

효과
0.5약한 이상치까지 탐지 (오탐 가능성 ↑)
0.8일반 운영에 적합
0.95강한 이상치만 탐지 (확실한 이상만)
0.99매우 강한 이상치만 (오탐 거의 없음, 누락 가능성 ↑)

활용 시나리오

시나리오설정 예시
모터 온도 24시간 예측태그=MOTOR-001.TEMP / 학습 7일 / 샘플링 1시간 / LINEAR_REGRESSION / 예측 24개
에너지 소비 일주일 예측태그=POWER.kWh / 학습 30일 / 샘플링 1시간 / ARIMA / 예측 168개
품질 측정값 이상치 탐지태그=QUALITY.SCORE / 학습 14일 / 샘플링 5분 / EGADS / 개연성 0.9
진동 센서 비정상 감지태그=VIB-001.RMS / 학습 7일 / 샘플링 RAW / DBSCAN / 개연성 0.95
알람 임계값 결정안정 운영 1주일 학습 → GAUSS_BASED 의 LIMIT_MAX 를 알람 임계값으로 채택

자주 묻는 질문

Q. 학습 시작 후 결과가 빨리 안 나옵니다. A. 학습 구간이 길거나 샘플링 주기가 짧으면 시간이 오래 걸립니다. 첫 시도에서는 학습 구간을 1~3일 + 샘플링 주기 1시간 정도로 가볍게 잡아 시간을 측정하세요.

Q. 예측 값이 너무 평탄하게 나옵니다. A. 학습 알고리즘이 LINEAR_REGRESSION 인 경우 단조 추세만 잡습니다. 주기성이 있는 데이터라면 ARIMA 로 바꿔 보세요.

Q. 이상치가 너무 많이 잡힙니다 / 너무 적게 잡힙니다. A. 개연성 필터 값을 조정하세요. 너무 많이 잡힌다면 0.90.95 로 올리고, 너무 적게 잡힌다면 0.50.7 로 낮추세요.

Q. 학습 구간이 짧으면 안 되나요? A. 학습 구간이 너무 짧으면 모델이 충분한 패턴을 학습하지 못합니다. 일반적으로 예측 갯수의 10배 이상을 학습 구간으로 잡으시기를 권장합니다.

Q. 결과 테이블의 WEIGHT 컬럼은 무슨 의미인가요? A. 알고리즘마다 다릅니다. 회귀 모델에서는 예측 가중치, 확률 모델에서는 신뢰도 척도로 사용됩니다. 일반 운영자는 LIMIT_MIN/LIMIT_MAX 의 신뢰 구간에 더 주목하시면 됩니다.

Q. 결과를 다른 사람에게 전달하고 싶어요. A. 차트는 차트의 다운로드 아이콘으로 PNG 이미지를, 테이블은 브라우저의 표 복사 또는 우클릭 메뉴로 복사해 사용하세요. (CSV 다운로드 버튼은 현재 비활성화 상태)

Q. 같은 태그에 여러 알고리즘을 비교하고 싶습니다. A. 각 알고리즘으로 한 번씩 실행하시고 차트의 PNG 를 저장한 뒤 외부 도구에서 나란히 비교하세요. 이상진단 알고리즘은 EGADS↔DBSCAN 비교가 자주 사용됩니다.

Q. 예측 결과를 알람 룰의 임계값으로 사용할 수 있나요? A. 네. 안정적인 학습 결과의 LIMIT_MAX/LIMIT_MIN 을 알람 의 EQL 알람 임계값으로 옮겨 사용하시면 통계 기반 임계값을 자동화할 수 있습니다.

Q. 학습 결과를 자동으로 알람밴드에 반영할 수 있나요? A. 네. 플로우flow_update_tag_alarm_band_numeric 노드를 결선해 자동화할 수 있습니다.


관련 화면

  • 데이터 포인트 — 트렌드 화면에서 원본 데이터 시각 확인
  • 알람 — 학습 결과의 임계값을 알람 룰로 이전
  • 일일 통계 — 사이트·라인·설비별 비교 분석
  • 플로우 — 학습 결과를 자동 적용하는 자동화 구성