...
시계열 데이터는 시간의 흐름에 따라 기록된 데이터를 의미한다. 마크베이스 및 CEMS에서 취급하는 데이터는 대부분 타임스탬프와 이에 대응되는 값을 기록하므로 전형적인 시계열 데이터라고 할 수 있다.
시계열 데이터는 사실 세상에서 발생하는 대부분의 데이터는 특정 시간의 값으로 정의되어 있다. 이 중에서 데이터가 일정 주기 혹은 정해진 패턴의 간격으로 발생하며, 이전 타임스탬프의 값이 다음 타임스탬프의 값에 영향을 미치며마치고, 시간에 따른 데이터의 변화에 어느 정도의 정상성(Stationarity), 그리고 어느 정도의 과 주기성(Periodicity)을 가지는 등 전형적인 특징을 가지고 있다. 물론 데이터 발생 환경에 따라서는 이러한 특성에서 벗어난 데이터도 존재한다. 하지만 이러한 특성이 없는 데이터는 단순히 시간과 값의 페어로 이루어진 데이터 일 뿐 시계열의 특징을 반영한 분석 방법을 사용할 수 없으므로 분석 과정에서 시계열 데이터가 아닌 일반 데이터로 취급하는 것이 효과적인 경우도 있다. 이 있는 경우, 이러한 특성을 이용한 데이터 분석 방법을 사용하게 되며, 이러한 데이터 분석을 시계열 데이터 분석이라고 부른다. 위에서 언급한 특징이 없거나 희박한 경우, 시계열 데이터 분석 방법 대신 일반 데이터 분석 방법이 더 효과적일 수 있다.
기술적으로 시계열 데이터는 시간을 독립변수로, 값을 시간에 따른 종속변수로 취급하며, 취급해 값을 시간의 함수로 표현하는 한 각 시간 대의 데이터의 관계성을 무시하기 쉽지 않다.
전통적으로 데이터 분석에는 다양한 통계 기반 방법론들이 사용되어 왔다. 시계열 데이터를 분석하는 널리 알려진 분석 방법은 ARIMA 모델을 사용한 방법인데, 이 방법 역시 통계 기반 분석 방법에 해당된다.
한편 하나의 equipment에서는 표현한다. 이러한 시계열 데이터 함수를 근사하거나 예측하기 위해서 지금까지는 주로 통계 기반의 분석 방법을 사용해 왔으며, 이중 대표적인 방법론은 ARIMA 모델이 있다. 다만 최근에는 의사결정나무(Decision Tree)를 생성하는 기계학습 방법을 사용하는 등 인공지능 방법론을 적용하기도 한다.
한편 하나의 장비 또는 환경에서는 여러 개의 센서가 부착되어 동시에 여러 태그의 데이터가 생산된다. 하나의 센서가 여러 종류의 데이터를 생한하는 경우도 있다. 이 경우 단일 태그 데이터만 사용하는 것이 아닌 모두 혹은 일부의 태그 데이터를 활용해 상황을 종합적으로 판단하고 결정을 내리기 위한 분석 방법이 필요하다. 이러한 환경을 다변량 시계열 데이터(Multivariate Time-series Data)라고 부른다.
다변량 시계열 데이터 역시 일반적으로 통계적인 데이터 분석 방법을 적용해 분석한다.
딥러닝을 활용한 데이터 분석
전통적으로 데이터 분석에는 여러 다양한 통계 기반 방법론들이 적용되어 왔다. 통계 분석 패키지에는 일반적으로 많은 통계 함수가 제공된다. 사용자 입장에서는 데이터에 대한 사전 분석을 통해 원하는 결과를 얻기 위한 통계 방법론을 선택하고, 이를 바탕으로 분석을 진행한다. 이러한 방식은 기계학습을 적용할때에도 크게 다르지 않다. 데이터에 대한 사전 분석을 통해 가장 효과적인 특징과 모델을 선택하는 과정을 거친다. 이러한 사전 분석 과정을 탐사 분석이라고 부르기도 한다.
하지만, 다루는 데이터의 양이 증가하고 특성이 복잡해지고, 동시에 분석해야 하는 데이터의 개수가 많아짐에 따라 데이터 탐사 분석 단계의 난이도가 올라간다. 특히 데이터에 내재된 의미를 찾아내기 위한 기계 학습에서는 이러한 내재된 의미를 잘 선택할 수 있는 깊은 특징을 선택해야 하지만, 기존 탐사 분석 방법으로는 쉽지 않았다. 또한 다변량 시계열 데이터를 분석하기 위해서는 탐사 분석 단계에서 다차원 분석 및 시각화를 시도해야 하는데, 인간의 인지 능력 상 이를 처리하는데 어려움이 있다.
딥러닝은 이러한 전통적인 데이터 분석 방법의 한계를 극복하기 위해 제시된 방법이다. 딥러닝은 특징 선택 과정도 학습의 일부로 포함시킨다. 예를 들어 이미지 분석에 주로 사용되는 CNN(Convolutional Neural Network) 방법론에서는 이미지 픽셀의 주변 픽셀과의 관계에서 이미지에 포함된 원시 특징(Privimitive Feature)를 학습을 통해 자동으로 선택할 수 있다. 이와 유사하게 시계열 데이터에서는 대표적으로 순환 신경망 네트워크(RNN, Recurrent Neural Network) 방법론과 그 변형 방법론이 이러한 역할을 한다.
...
검사할 때는 이 모델 공간에 적절한 방식으로 질의를 해 과거 일정 기간의 데이터를 입력했을 때 가장 자연스러운 시퀀스를 생성해낸다. 이 시퀀스와 실제 데이터 상의 시퀀스를 비교해 일정 기준 이상의 차이가 발생하면 모델은 이를 비정상으로 판단하게 된다.
CEMS 분석 센터에서는 위에서 설명한 순환 딥러닝 모형과 생성 모형을 IoT 데이터에 적합한 형태로 구축, 사용해 다변량 시계열데이터를 분석하고 이상을 파악한다. 이를 통해 사용자의 손을 가장 덜 타는 쉬운 방법으로 데이터를 분석해 이상 데이터를 찾아낼 수 있는 기능을 제공한다.
대시보드(CEMS Dashboard)와 잡(Job)
CEMS 분석 센터는 CEMS에서 생성한 대시보드를 분석 대상으로 대상으로 한다.
예를 들어 여름철 생활날씨의 감시를 위해 ‘온도’, ‘습도’, ‘강수량’, ‘일조량’ 4개의 태그 데이터가 수집되는 상황을 가정해보자. 여기에 ‘온도’, ‘습도’, ‘강수량’ 3개의 데이터를 사용하는 ‘불쾌지수’라는 대시보드가 있다면 분석 센터에서 잡을 생성할 때 ‘불쾌지수’ 대시보드를 선택할 수 있으며, ‘온도’, ‘습도’, ‘강수량’ 세 태그 데이터를 활용한 다변량 시계열 분석 모형을 생성할 수 있다.
만약 ‘습도’, ‘일조량’의 두 태그 데이터를 활용해 모형을 생성하고자 한다면, 먼저 이 두 태그 데이터를 활용해 대시보드를 새로 생성해야 한다. 이에 반해, ‘온도’, ‘습도’ 두 태그 데이터로 모형을 생성하고자 한다면 대시보드를 별도로 생성할 필요가 없으며, 모형을 생성할 때 ‘강수량’ 태그 데이터를 ‘불쾌지수’ 대쉬보드에서 제외시키면 된다학습 데이터에서 제외시킬 수 있는 UI를 제공한다.
이와 같이 대시보드와 분석에 사용할 태그를 선택해 생성된 모형을 잡(Job)이라고 한다. 동일한 대시보드를 사용해 잡을 생성하더라도 기저 모형, 태그 선택을 달리하거나 몇 가지 기본 파라미터를 변경하여 여러 개의 잡을 생성할 수 있다. 즉 대시보드와 잡은 1:N의 관계를 가지게 된다.
...
비정상 문턱값(threshold)의 계산은 학습 시점의 데이터를 기준으로 결정하며, 99% 아웃라이어를 비정상 데이터로 판독한다. 물론 그래프를 통해 99% 이내의 데이터 분포 상황도 눈으로 확인할 수 있다. 다만 개별 태그의 비정상은 등록된 비정상과 화면에서 보이는 비정상이 일부 차이를 보일 수 있다. 이는 그래프 상에 표시할 때 사용성 측면에서 빠른 계산을 위해 서버에서 계산하는 방법과 웹에서 계산하는 방식이 미세하게 차이가 나기 때문이며, 이러한 차이와 비정상 판단 방식, 계산 방식 등은 지속적으로 개선될 예정이다.
기저 모형
현재 CEMS 분석 센터에서는 다음의 기저 모형을 제공한다.
Basket-decoder 모형
Basket-decoder 모형은 분석 대상의 모든 태그를 시간에 따른 순환 신경망으로 학습해 하나의 통(Basket)을 학습하여, 동시에 개별 태그를 전체 통에 질의해 얻은 벡터를 사용해 개별 태그의 디코더를 학습한다.
통은 모든 태그 데이터를 종합한 비정상 점수를 계산하는데 사용되며, 개별 태그의 디코더는 입력된 개별 태그의 시퀀스를 바탕으로 학습된 시퀀스를 재현하여(Auto-encoder) 입력 태그의와 distance 기반의 비정상 점수를 계산한다.