개요
Time Series data 시계열 데이터는 이름 그대로 시간의 흐름에 따른 데이터를 의미한다.
기온, 주가, 센서 데이터 등등이 시계열 데이터다.
시계열 데이터는 다음과 같은 특징을 지닌다.
- 추세 (Trend): 장기적인 증가 또는 감소의 경향 부동산 가격의 지속적인 상승 등
- 계절성 (Seasonality): 일정한 주기(시간 단위)마다 반복되는 패턴 월별 아이스크림 판매량 증가 (여름)
- 순환성 (Cyclic): 장기적인 경기 요인에 의한 변화 (비정기적) 경제 호황과 불황
- 불규칙성 (Irregular/Noise): 예측 불가능한 요소 자연재해, 갑작스런 정책 변화 등
정상성 (Stationary):
시계열 데이터가 시간의 흐름에 따라서 평균과 분산이 변하지 않음을 의미한다.
이 정상성을 만족하느냐 아니냐에 따라서 적용 가능한 방법론들이 달라지게 된다.
그리고 전처리를 통해서 정상성을 만족하는 데이터로 변환하기도 한다.
시계열 데이터의 전처리
- 결측값 (missing values) 처리 (interpolation, forward/backward fill 등)
- 정규화 / 표준화 (scaling)
- 리샘플링 (resampling): 데이터 주기를 변경 (예: 분 단위 → 일 단위)
- 시차 특성 생성 (lag features)
- 차분 (differencing): 추세 제거 용도
시계열 데이터의 분석
Spectral Analysis (주파수 분석)
시계열 데이터의 주기성을 활용하는 방법이다.
Trend, seaonality, cyclical irregularity를 찾는다. 일종의 decompostion이다.
Harmonics Anaylsis:
다양한 주파수 (frequency)의 성분으로 분해.
Fourier Transform와 spectral density estimation이 대표적인 방법 중 하나다.
Non-stationary TS data에 대한 분석
Wavelet Transform과 STFT (Short-Time Fourier Transform)을 적용
Filtering
잡음 (noise)를 제거하거나 숨겨진 상태를 추정하는 방법이다.
Kalman Filter, IIR (Infinite Impulse Response), FIR (Finite Impulse Response)
ARIMA 계열
자기상관성 (autocorrelation)과 이동평균 (moving average)와 차분 (differencing)를 이용한 예측 모델.
- AR(p)
- MA(q)
- ARMA(p, q)
- ARIMA(p, d, q)
- SARIMA
- ARCH
- GARCH
Estimation
ARIMA나 GARCH 등과 같은 모델의 모수들 (parameters)을 추정한다.
Stochastic Process
어떤 분포를 따르는 시계열 데이터가 시간의 흐름에 따라서 어떻게 될지를 예측하는 모델이다.
- Random Walk
- Hidden Markov Model (HMM)
- Wiener Process (Brownian Motion)
- Poisson Process
Smoothing
노이즈나 작은 스케일의 데이터를 제거하려는 방법론이다.
- Exponential Filtering
- Kalman Filter
- Moving Average
State-Space Models (SSM)
제어 공학 (Control Engineering)에서 사용하던 방법론으로,
현재 상태와 외부에서 주어지는 제어 변수의 합으로 현재 상태의 변화율와 현재 결과 (output) 를 예측하는 방법론이다.
다음 상태를 예측하는게 아니라 변화율에 대한 함수기 때문에 미분 방정식의 형태다.
딥러닝에서는 S4와 Mamba 등의 모델로 알게 된 모델이다.
Regression
- Linear regression
- Polynomial regression
Panel Analysis
횡단면 (cross-sectional) 데이터와 시계열 데이터를 모두 활용한 분석 방법
- Fixed Effects
- Random Effects
Deep Learning based Models
RNN, LSTM, Transformer, S4, Mamba, 구글의 날씨 예측 모델 Nowcasting 등
그외
Facebook의 Prophet
Unsuperivsed Machine Learning
- Classification
- Clustering
- Segmentation
위 내용은 분석 방법론이라기 보단 분석의 태스크 혹은 목적이다.
Frequency Domain and Time Domain
Time Domain에서는 시간이 독립변수가 되어서 시간의 흐름에 따른 종속변수가 시그널의 값으로 해석한다.
Frequency Domain에서는 frequency 주파수에 따라서 어떻게 distributed 분포하는지를 알아보게 된다.
프리퀀시 도메인에서 푸리에 변환을 비롯한 온갖 수학적인 테크닉을 많이 사용하게 된다.
여담
지금까지 배웠던 시계열 데이터 분석을 정리해보면,
1. 기본적인 ARIMA와 ACF, PACF 보는 방법,
2. 회귀분석의 경우 통계학과와 경제학과의 계량경제학 (Econometrics)에서 배운 OLS와 5가지 기본 가정,
그리고 이분산성에 대한 Goldfeld-Quandt test, Breusch–Pagan test, White test, 다중공선성과 VIF,
자기공선성에 대한 Durbin-Watson test, Breusch-Godfrey LM test, GLS, FGLS, Cochran-Orcutt's iteration,
Instrumental Variables (IV) 등등
3. HMM, Wiener Process과 같은 확률과정
4. SSM 계열 - S4, HiPPO
5. RNN, LSTM, Transformer 등 딥러닝 모델들
이정도인듯하다.
SSM 계열이나 Fourier Transform이나 Kalman filter 이쪽은 공부는 했는데 애매하게 알고 있어서 복습이 필요하다.
Dynamic Time Warping (DTW)이랑 Panel analysis도 대략적인 개념을 들어봤는데 더 깊은 공부가 필요하다.
Poisson process나 GARCH도 어떤 모델인지 궁금한데 언제 공부할지는 모르겠다.
References:
https://en.wikipedia.org/wiki/Time_series
Time Series Analysis and Its Applications With R Examples, Robert H. Shumway, and David S. Stoffer, Springer
https://www.lgresearch.ai/blog/view?seq=427
https://kr.mathworks.com/help/dsp/ug/spectral-analysis.html
https://medium.com/enjoy-algorithm/pre-processing-of-time-series-data-c50f8a3e7a98
https://en.wikipedia.org/wiki/Smoothing
https://en.wikipedia.org/wiki/Stationary_process
https://en.wikipedia.org/wiki/Stochastic_process
https://en.wikipedia.org/wiki/State-space_representation
https://huggingface.co/blog/lbourdois/get-on-the-ssm-train
https://blog.naver.com/vnf3751/220866129578
https://slowsteadystat.tistory.com/7
https://en.wikipedia.org/wiki/Time_domain
https://en.wikipedia.org/wiki/Frequency_domain
'Time Series' 카테고리의 다른 글
ARIMA 계열 모델들 - 작성중 (0) | 2025.05.18 |
---|---|
HiPPO (2020) 논문 리뷰 (0) | 2025.05.17 |
Wave 파동 기본 개념 정리 (0) | 2025.04.28 |