29
Time Series Classification By Data Mutation 안명호 www.deepnumbers.com

Time series classification

Embed Size (px)

Citation preview

Page 1: Time series classification

Time Series Classification

By Data Mutation

안명호

www.deepnumbers.com

Page 2: Time series classification

Who am i?

• 안명호, MHR Inc

• www.deepnumbers.com

• 어느 날 알게 된 머신러닝에 흠뻑 빠져 그동안

애지중지하던 클라우드를 버리고 머신러닝으로

전향하였다. 이제 더는 다른 기술은 관심을 두지 않고

머신러닝 한길만으로 정했기에 머신러닝을 공부하며

어려운 수식들을 다시 보느라 고생하고 있지만,

하루하루 배워가는 지식에 행복해하며 지내고 있다.

Page 3: Time series classification

Time Series Data?

• 시계열(時系列, time series)은일정 시간 간격으로 배치된 데이터들의 수열을

말한다. 시계열 해석(time series analysis)라고 하는 것은 이런 시계열을

해석하고 이해하는 데 쓰이는 여러 가지 방법을 연구하는 분야이다.

• 예컨대, 이런 시계열이 어떤 법칙에서 생성되어서 나오느냐는 기본적인 질문을

이해하는 것이 궁극적인 목표라고 할 수 있다.

• 시계열 예측(time series prediction)이라고 하는 것은 주어진 시계열을 보고

수학적인 모델을 만들어서 미래에 일어날 것들을 예측하는 것을 뜻하는 말이다.

일반적으로 이런 방법들은 공학이나 과학계산, 혹은 금융시장에서의 주가 예측

등에서 많이 쓰인다.

FromWIKI

Page 4: Time series classification

Time Series Data Example –주가

Page 5: Time series classification

Time Series Data Example - ECG

http://grammarviz2.github.io/grammarviz2_site/morea/anomaly/experience-a2.html

Page 6: Time series classification

TSC(Time Series Classification)?

시계열데이터를 분석해 분류하는 것

http://alumni.cs.ucr.edu/~ychen053/

Page 7: Time series classification

TSC Example - 주가예측

http://tutorials.topstockresearch.com/ChartPatterns/Triangles/TutorialsOnTriangleChartPattern.html

만약에 이미 알려진 주가의 패턴을 남보다 빨리 알 수 있다면…….

Page 8: Time series classification

Time Series Classification Examples

• 서버나 데이터센터의 전력사용량 예측

• 전자기파의 에러검출

• 주식시장의 주가예측

• ECG 데이터를 이용한 심장병 발생예측

• 영유아의 패혈증 조기진단

• 네트워크 트래픽 종류 판별

• ….........

현실세계에서 매우 광범위하게 적용가능

Page 9: Time series classification

Problems in TSC

여러가지 문제가 있지만 가장 골치 아픈 2가지

Scale Noise

Page 10: Time series classification

Problem #1 : Scale

• 시계열데이터의 불규칙한 시간간격(Time Scale)

• 예를 들어 서버의 에너지 사용량 시계열 데이터의 패턴이 있을때,

해당 패턴들이 모두 동일한 시간간격내에 존재하지 않고 서로 다른

시간간격내에 존재하기 때문에, 패턴을 인식하기 위해서는 동일한

패턴의 데이터들을 적정한 시간간격으로 변화시키거나 혹은 이러한

시간간격을 무시하고 특징(Feature)를 찾아내는 등의 방법이

필요하게 된다.

Page 11: Time series classification

Scale Problem

Same or not?

A B

Page 12: Time series classification

Problem #2 : Noise

•불규칙적인 노이즈

•측정시점에서의 계측장비나 혹은 상황의 변화로 인해 노이즈가

발생할 수 있고, 측정대상이 어떠한 이유로 인해 엉뚱한 값을

만들어낼 수도 있다. 따라서 이러한 노이즈를 최소화시키고

시계열데이터의 고유한 특징을 가지고 있는 데이터를

추출하거나, 노이즈를 제거하는 방법이 요구된다.

Page 13: Time series classification

Noise Problem

http://www.spectraworks.com/Help/prediction.html

Page 14: Time series classification

TSC, Not so easy…

Page 15: Time series classification

Key Idea for TSC

서로 다른 Scale과 Noise를 데이터에 추가해 학습시킨다면?

Page 16: Time series classification

TSC by Data Mutation

• 시간간격 문제를 처리하기 위해서는 변종데이터를 생성하는데 필요한 파라메터인

Window의값을 다양하게 사용해 Time Scale을 변경한다. 아울러 Up-sampling으로

scale을 늘리고, down-sampling을이용해 time scale을 줄여 CNN이 특정 패턴의

시간간격의 변화에 민감하지 않도록 학습시킨다.

• 노이즈에 강인하도록 만들기 위해서는 원본 데이터로부터 해당 데이터의 특징을 잘

표현할 수 있는 특성치(feature)를 추출해야 하는데, 이를 위해 Upsampling, hamming,

blackman과 같은 filtering을적용한다

원본데이터의 특성을 유지하면서 Scale과 Noise에 강인하도록 학습

Page 17: Time series classification

TSC by Data Mutation & CNN

Raw Data

Mutated Data #1

Mutated Data #2

Mutated Data #N

CNN Model #1

CNN Model #2

CNN Model #N

Ensemble CNN Model

변종 데이터들은 원본 데이터를 다양한 시간간격을 포함하고, 이상치와 특이치를 제외한데이터를 가지고 있어 CNN에 다양한 원본 데이터의 변형에 노출시켜 다각도로 특성을 학습

Page 18: Time series classification

Key Idea – Data Mutation

Smoothing Filtering Sampling

3가지 방법을 이용해 원본데이터의 특성을 유지하면서

Scale과 Noise에 강인한 데이터 생성

Page 19: Time series classification

Smoothing

to smooth a data set is to create an approximating function that attempts to

capture important patterns in the data, while leaving out noise or other fine-

scale structures/rapid phenomena.

http://fedc.wiwi.hu-berlin.de/xplore/tutorials/xegbohtmlnode44.html

ARIMA Model

Page 20: Time series classification

Filtering

• a filter is a device or process that

removes some unwanted components

or features from a signal.

• Filtering is a class of signal processing,

the defining feature of filters being the

complete or partial suppression of some

aspect of the signal

• Upsampling, hamming, blackman등의

filter 적용

Page 21: Time series classification

Sampling

• sampling is the reduction of a continuous

signal to a discrete signal. A common example is

the conversion of a sound wave (a continuous

signal) to a sequence of samples (a discrete-

time signal).

• Up-sampling으로 scale을 늘리고, down-

sampling을 이용해 time scale을 줄여 CNN이특정

패턴의 시간간격의 변화에 민감하지 않도록 학습

http://fourier.eng.hmc.edu/e161/lectures/filterbank/node1.html

Down & Up Sampling

Page 22: Time series classification

Learning : CNN

기존의 CNN을 변형해서 여러개의 Weak CNN Model을 만든다면

https://sites.google.com/site/shahriarinia/home/ai/machine-learning/neural-networks/deep-learning/theano-mnist/3-convolutional-neural-network-lenet

Page 23: Time series classification

CNN for Data Mutation Process

Data Mutation Weak Learners Ensemble Learner

CNN을 활용한 Softmax Ensemble Model

Page 24: Time series classification

CNN for Data Mutation

Data

FilteredData

FilteredData

FilteredData

filter2Data

FilteredData

FilteredData

FilteredData

filter1

FilteredData

FilteredData

FilteredData

filter3

filter1

filter1

filter1

mutator2

mutator3

mutator1

General CNN CNN for Data Mutation

Page 25: Time series classification

CNN : Weak Learner

1-D Convolution

1-D Convolution

1-D Convolution

Max PoolingSame Filter

동일한 Filter를 적용하고, Max Pooling을이용해 Overfitting 방지

Page 26: Time series classification

Ensemble by Softmax

다수의 CNN을 사용하기 때문에, 하나의 데이터에 대해 다수의 CNN에서 패턴인식에 대한

결과값을 내놓는다. Softmax는 다수의 CNN에서 계산한 결과값을 통합해 최종적인 결과를

내놓기 위한 것으로 각 CNN별로 적절한 가중치를 계산해 최종 결과값을 계산

Page 27: Time series classification

To Find Optimal Parameters

• Parameters to be set

• Window Size

• Filter Size

• Pool Size

• Activation Function

• Learning Rate

• Batch Training Count

• And so on…..

∑𝑫𝒂𝒕𝒂𝒔𝒆𝒕𝑨𝒄𝒄𝒖𝒓𝒂𝒄𝒚∑𝐃𝐚𝐭𝐚𝐬𝐞𝐭𝐒𝐓𝐃

Optimum Parameter

Page 28: Time series classification

TSC by Data Mutation Result

Comparison by Error Rate

Page 29: Time series classification

감사합니다.