본문 바로가기

AI Theory

[시계열 데이터] 1. introduction

[시계열 데이터] 1. introduction

실생활 활용도가 매우 높은 시계열 데이터! 에 대해서 공부해보려고 한다. 

일단 tutorialspoint라는 사이트에서 time series tutorial이라는 글들을 찾았는데 이거 공부하고 책으로도 보면 좋을 것 같다.

https://www.tutorialspoint.com/time_series/time_series_python_libraries.htm 

 

Time Series - Python Libraries

Time Series Python Libraries - Python has an established popularity among individuals who perform machine learning because of its easy-to-write and easy-to-understand code structure as well as a wide variety of open source libraries. A few of such open sou

www.tutorialspoint.com

사실 책은 좋은 책을 못찾아서 나중에 다시 찾아봐야겠다.😥


 

시계열 데이터란?

 a sequence of observations over a certain period

시계열 데이터의 종류

  •  univariate time series:a single variable at periodic time instances over a period
  • multivariate time series:  values taken by multiple variables at the same periodic time instances over a period

 


시계열 데이터 분석에 사용되는 파이썬 라이브러리

  • numpy
    • 과학 컴퓨팅에 사용되는 라이브러리
    • N차원 배열객체에서 작동
    • 기본적 수학 기능 뿐만 아니라 더 복잡한 기능 제공
  • pandas
    • series, dataframe, panel과 같은 효율적 데이터 구조 제공
    • 데이터 수집~데이터 분석까지 가능
  • scipy
    • scientific, technical computing에 사용
    • 최적화, 신호 및 이미지처리, 선형대수학 등에 대한 기능 제공
  • scikit-learn
    • 다양한 사용자 정의 가능한 머신러닝 모델 포함
  • statsmodel
    • 통계 데이터 탐색 및 모델링에 사용됨
  • matplotlib
    • 데이터 시각화에 사용됨
  • datetime
    • 시간 관련 조작 기능 제공

시계열 데이터 모델링

시계열 데이터에는 4가지의 요소를 갖고있다.

  • level: series value가 변하는 평균값
  • trend: 시간에 따라 변하는 변수 증감소량
  • seasonality:  time series의 주기성
  • noise: 환경적 요인으로 인해 발생한 추가적 관측값

이러한 요소들을 파악하기 위해 자주 사용되는 모델들이 있다.

자세한 내용은 나중에 공부한 뒤 이 글에 링크로 추가할 예정

 


 

시계열 데이터 분석에 자주 사용되는 모델들

1. Naive methods

  • 가장 기본적인 추정 기술
  • 정교한 모델링 기술과 비교하는 데에 사용됨

 

2. Auto regression

  • 과거 시간대의 값을 이용해 미래 시간대의 값을 예측
  • Naive methods보다는 데이터에 적합하지만 seasonality를 설명할 수 없음

 

3. ARIMA

  • 변수값을 고정 시계열의 이전 시간 단계에서 이전 값과 잔차 오류의 선형 함수로 모델링함
  • 그러나 실제 데이터는  non-stationary and have seasonality이므로 seasonal ARIMA와 Fractional ARIMA가 개발되었다.
  • 또한 일변량 시계열에서 작동하여 여러 변수를 처리하기 위한 VARIMA가 등장하였다.

 

4. Exponential smoothing

  • 변수 값을 이전 값의 지수 가중 선형 함수로 모델링함
  • seasonality와 trend를 처리할 수 있다.

 

5. LSTM

  • 장기종속성을 설명하기 위해 시계열에 사용되는 순환 신경망
  • 다변량 시계열의 추세(trend) 포착 가능

parameter 교정 방법

1. Hit and Try

  • 수동 보정
  • 시계열 시각화 진행 후 직관적으로 일부 파라미터값을 적합할 때까지 변경
  • 모델에 대한 깊은 이해가 필수적
    • 예를 들어, ARIMA 모델의 경우 p 파라미터에 대한 자동 상관도표, q 파라미터에 대한 부분 자동 상관 도표 및 ADF 테스트를 통해 시계열의 정상성을 확인할 수 있으며, d 파라미터 설정을 통해 수동 보정을 수행할 수 있다.

 

2. Grid search

  • 가능한 모든 파라미터 조합에 대해 모델을 구축하고 loss가 최소인 모델을 선택함
  • 시간이 오래 걸린다는 단점이 있다
  • 따라서 교정할 파라미터 수와 범위가 적을 때 유용하다.

 

3. genetic algorithm(유전 알고리즘)

  • 좋은 솔루션이 결국 가장 최적의 솔루션이라는 원칙에 따라 작동