Time-Series 4

[Time-Series] Time-Series with Machine Learning

Contents Time-Series with Machine Learning 우리가 일반적으로 알고 있는 기계 학습(Machine Learning)을 시계열 구조를 가진 데이터에 적용할 때에는 문제가 발생한다. 기계 학습에서 결정 경계(Decision Boundary)를 설정할 때 고정된 시점에 대해서만 다루고 있으나, 시계열 데이터는 시간의 흐름에 따라 관측치가 변화하기 때문에 이를 고려하지 못하기 때문이다. 예를 들어, $x$를 입력하면 $y$를 출력하는 함수 $f(x) = y$가 있다고 가정하자. 시계열 데이터의 경우는 $t = 0$일 때 $f(x) = y$가 나올 순 있으나, $t=1$인 경우에는 $f(x) = z$가 될 수 있다. 이와 같은 경우는 시계열 데이터 뿐만 아니라 자연어처리(Natur..

Time-Series 2022.06.01

[Time-Series] 시계열 데이터에서의 교차검증(Cross-Validation)

머신러닝이나 딥러닝, 통계 모델을 다루다 보면 모델의 예측 성능 및 적합도를 판단하기 위해 혹은 과적합(Over-fitting)을 방지하기 위해 교차검증을 사용한다. 교차검증은 LOOCV(Leave-One-Out Cross Validation) 혹은 k-fold Cross Validation을 주로 사용하지만 시계열 데이터의 경우 이와 같은 방식을 사용하게 되면 문제가 발생한다. 시계열 데이터는 시간의 순서를 고려해야하기에 이같은 방식을 사용하면 시간의 흐름이 뒤바뀌어 제대로된 성능을 발휘할 수 없기 때문이다. 그렇다면 시계열 데이터에서 교차검증은 어떤 식으로 수행 해야할까? Nested Cross-Validation은 Rolling이라고도 부르며 Rolling basis로 교차 검증을 수행하는 것이다...

Time-Series 2022.05.25

시계열 데이터에서 전처리하는 방법

Contents 시계열(Time-Series) 데이터에서 전처리 과정에서 수행하는 일은 결측치를 제거하는 것과 노이즈(Noise)를 제거하는 것이다. 결측치와 노이즈는 예측 성능을 떨어뜨리는 녀석들 중 하나이기에 사전에 전처리 과정을 수행하여 처리한 후 작업을 수행하는 것이 옳다. 결측치 (Missing Values) 결측치는 말 그대로 값이 존재하지 않는 값을 의미한다. 예를 들어, 식당의 매출을 예측하는 경우 식당의 휴무일에는 매출이 존재하지 않을 것이다. 이와 같은 경우 이를 제거하고 예측하는 형태로 진행할 수 있을 것이다. 실제 데이터를 다룰 때 휴무일과 같은 경우로 데이터가 없을 수도 있고, 단순히 누락되었을 수도 있다. 일반적인 데이터의 구성에서는 큰 문제가 되지 않는다면 결측치를 제거하면 된..

Time-Series 2022.05.24

Time-Series 시계열 입문하기.

Contents 시계열 분석은 다양한 분야에서 사용되고 있다. 단순히 사용자 출입 로그나 행동에 대한 분석을 하는 것도 시계열 분석으로 접근할 수 있다. 시계열 분석은 기본 통계 모델인 ARIMA와 딥러닝 기반인 RNN, CNN+LSTM 등 모델이 존재한다. 딥러닝이 최신 기술이라고 예전의 전통적인 통계모델을 무시할 수 없다. 일반적으로 이상치가 존재하지 않는 경우에는 ARIMA 등 전통적인 모델의 성능이 더 잘나올 수 있다. 즉, 패턴이 명확한 데이터의 경우에는 머신러닝 기법을 사용하는 것이 일반적으로 성능이 좋으며, 패턴이 복잡한 경우 일반적으로 딥러닝 기법을 사용하는 것이 성능이 좋다. 시계열 데이터는 '시간의 흐름에 따라 관측치가 변하는 데이터'를 의미하며, 우리가 가지고 있는 데이터에서 시간이라..

Time-Series 2022.05.14
반응형