본문 바로가기

Data Science/Time series data

[Time Series Forecasting] 시계열 데이터 예측 모델 (Time Series Forecasting model) 개발

728x90

출처 : https://www.researchgate.net/publication/351129595/figure/fig1/AS:1017874273542145@1619691546187/A-multiple-multivariate-time-series-forecasting-problem-where-each-multivariate_W640.jpg

 

1.       Time Series Forecasting model의 분류

1)      Univariate / Multivariate

  • Univariate : 하나의 특성을 사용
  • Multivariate: 여러 개의 특성 사용

2)      Single step / Multi step

  • Single step :  특정한 1개의 시점을 예측
  • Multi step : 이후 n개의 시점을 예측

2. Top 10 Time Series Forecasting model 알고리즘

  1. Autoregressive (AR) : 시계열의 이전 값과 이후 값 사이 어느 정도의 상관 관계(자기 상관)가 있을 때 사용
  2. Autoregressive Integrated Moving Average (ARIMA) : 시계열 예측에 있어 가장 많이 사용되는 모델, 시계열 데이터 내 자체적으로 lagged (지연된) 데이터를 생성해 이를 예측한 오류를 기반으로 계산하는 방식
  3. Seasonal Autoregressive Integrated Moving Average (SARIMA) : ARIMA에 계절성을 확장시킨 모델
  4. Exponential Smoothing (ES) : 추세 또는 계절성을 사용한 univariate 데이터 예측 방법
  5. XGBoost
  6. Prophet
  7. LSTM (Deep Learning)
  8. DeepAR
  9. N-BEATS
  10. Temporal Fusion Transformer (Google)

3.       Time Series Forecasting model 개발 관련 참고 사이트

1) CNN 기반 시계열 예측

- Keras

- univaraite/multivaraite, single/multi step에 대한 모델 개발 가이드를 상세히 설명

 

How to Develop Convolutional Neural Network Models for Time Series Forecasting

Convolutional Neural Network models, or CNNs for short, can be applied to time series forecasting. There are many types of […]

machinelearningmastery.com

- 플랫폼 : Pytorch

- 위 사이트의 univariate model을 Pytorch로 구현한 것

 

[CNN]Time-series Forecasting with Pytorch

Explore and run machine learning code with Kaggle Notebooks | Using data from Daily Power Production of Solar Panels

www.kaggle.com

 

 

2) RNN, LSTM, GRU 예측 모델

- 플랫폼: Pytorch

- 영어로 된 튜토리얼이지만 코드와 설명이 깔끔해 RNN 기반 예측 모델 입문용 참고 사이트로 추천

 

Building RNN, LSTM, and GRU for time series using PyTorch

Revisiting the decade-long problem with a new toolkit

bkaankuguoglu.medium.com

 

3) RNN 기반 Autoencoder Multistep 예측 모델

- 플랫폼 : Pytorch

- (미진행)

 

Encoder-Decoder Model for Multistep time series forecasting using Pytorch

Learn how to use encoder-decoder model for multi-step time series forecasting

towardsdatascience.com

 

3. 시계열 예측 딥러닝 모델에 영향을 주는 요소

1) 데이터 수 : 늘릴수록 성능 향상

2) history data : 이전 시점을 얼마만큼 사용하는지에 따라 성능 변화 없음 (어차피 자체적으로 현재 시점에서 가까운 데이터에 대한 가중치를 높게 설정하기 때문)

3) future data : 현재 시점을 기준으로 더 멀수록 예측의 정확도가 낮아짐

4) 이상치 필터링 : 이상치를 필터링할수록 성능이 눈에 띄게 성능이 향상됨 but 이상치를 필터링할 경우, 학습한 데이터 중 이상치가 없어 이상에 대한 예측이 불가함, 이상치가 축적되었을 때 학습

반응형