EunGyeongKim

[ML] 시계열분석 본문

ML & DL/시계열

[ML] 시계열분석

EunGyeongKim 2023. 3. 30. 14:34

시계열 데이터는 시간의 흐름에 따라 순서대로 관측되어 시간의 영향을 받는 데이터를 말함(주가, 실업률 데이터, 통화량, 금리와 같은 데이터).

과거 시계열 데이터의 패턴을 식별하고, 이 패턴을 이용하여 미래의 시계열의 움직임을 예측함

 


시계열 데이터 구분하기

 

시계열 데이터는 추세(Trend), 순환변동(Cycle), 계절변동(Seasonal), 우연변동(Random Fluctuations)으로 구분하여 분석 가능

  • 추세 : 장기간에 걸쳐서 이루어지는 변동
  • 순환변동 : 계절변동이 아닌 주기적으로 나타나는 변동
  • 계절변동 : 계절에 따라 나타나는 변동
  • 우연변동 : 규칙적인 움직임이 없는 변동
    •  = 백색잡음 (white noise) 
    • 평균이 0이고 분산이 일정한 변동

시계열 예측모델

시계열 회귀분석(time series regression), 이동평균법(moving average), 지수평활법(exponential smoothing), ARIMA모델, 다양한 머신러닝 방법 등이 있음

추세모델 ( Trend model)

추세가 없을때, 선형 추세, 이차함수 추세, 다차함수 추세 모델 등이 있음

추세모델은 선형모델을 가정함.

\( y_t = TR_t + \epsilon _t \)

  • 추세가 없는 모델 : \( TR_t = \beta_0 \)
    • 시계열 데이터의 단순평균을 이용하는 모델
  • 추세가 있는 모델 -> 회귀분석 모델로 추세를 추정
    • 선형 추세모델 : \( TR_t = \beta_0 + \beta_1t \)
    • 이차함수 추세모델 : \( TR_t = \beta_0 + \beta_1t + \beta_2t^2\)
    • 다차함수 추세모델 : \( TR_t = \beta_0 + \beta_1t + \beta_2t^2 + \cdots + \beta_kt^k \)
      • 회귀분석모델은 다음과 같이 설정할 수 있음
        • \( y_t = \beta_0 + \beta_1t + \beta_2t^2 + \cdots + \beta_kt^k + \epsilon_t, \epsilon_t \sim N(0, \sigma ^2) \)
        • 일반적인 최소제곱법으로 \( \beta \) 값을 추정함
        • \( \hat{\beta} = argminL(\beta),  \) 이때 \( L(\beta) = \sum_{t=1}^{T} (y_t - (\beta_0+ \beta_1t + \beta_2t^2 + \cdots + \beta_kt^k))^2 \)

 

변동(Cycle)

변동은 삼각함수 모델을 가정함.

 

Reference

정호성, 파이썬을 이용한 경제 및 금융 데이터 분석, 자유아카데미(2023.1.31)

 

 

Comments