[시계열 데이터] 1. introduction
실생활 활용도가 매우 높은 시계열 데이터! 에 대해서 공부해보려고 한다.
일단 tutorialspoint라는 사이트에서 time series tutorial이라는 글들을 찾았는데 이거 공부하고 책으로도 보면 좋을 것 같다.
https://www.tutorialspoint.com/time_series/time_series_python_libraries.htm
사실 책은 좋은 책을 못찾아서 나중에 다시 찾아봐야겠다.😥
시계열 데이터란?
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(유전 알고리즘)
- 좋은 솔루션이 결국 가장 최적의 솔루션이라는 원칙에 따라 작동
'AI Theory' 카테고리의 다른 글
[23.07.20.] 서울대학교 Data Science Day Review (0) | 2023.07.21 |
---|---|
[Boostcourse beyond ai] Optimization (0) | 2023.05.31 |
[boostcourse beyond ai] Nueral Network (0) | 2023.05.29 |
[Paper Review] You Only Look Once: Undefied, Real-Time Object Detection (0) | 2023.02.15 |