시계열분석003

+ 이나스AI에는 인공지능 관련 다양한 강의가 있습니다.

- Object detection, Text To Speech, Reinforcement learning, OCR, Chatbot, Time series prediction,

- Meta learning, eXplainable AI, Transformer/BERT/GPT, Graph-based ML, etc

- 소스코드, 다이어그램 및 중간데이터에 기반하여 인공지능 알고리즘들의 작동원리와 구조를 이해하기 쉽고 정확하게 설명합니다.


+ 작업할 때 켜놓는 라이브 스트리밍 study with me 채널도 운영하고 있습니다.



1. 시계열의 분포

- 시계열은 데이터의 분포를 확인하는 것이 중요하다. 이를 위해, 히스토그램이나 커널 밀도 추정 (KDE, Kernel Density Estimation) 에 의한 확률 밀도 함수를 통해 분포를 확인 할 수 있다.

- 아래 그래프 중 상단 그림은 전년 동기 대비 경제성장률 (실질 GDP 증감)을 나타낸 것이며, 하단 그림은 경제성장률의 히스토그램 및 추정된 확률밀도함수를 나타낸다.




2. 시계열 분포 검정

- 여러 통계 기법은 정규분포를 가정하므로, 시계열 분포가 정규분포를 따르는지 확인할 필요가 있다. 정규분포를 따르지않는다면, 로그 차분 등의 전처리를 통해 시계열 분포가 정규분포에 가깝도록 만들어 볼 수 있다.

2-1. 정규성을 검정하는 방법

2-1-1. 통계적 기법

2-1-1-1. 자크-베라 검정

- 정규분포는 첨도는 3, 왜도는 0 정도이다. 이러한 정보를 이용해 정규성을 검정하는 방법이다.

2-1-1-2. 샤피로-윌크스 검정

2-1-1-3. 콜모고로프-스미르노프 검정

2-1-2. 시각화 기법

2-1-2-1. Q-Q plot

- 정규성을 따를때 (좌)와 따르지 않을때 (우)의 패턴. 정규성을 따를 때, 대각선을 따라 점들이 나열되어있다.



2. 시계열의 자기 상관

2-1. 개념

- 아래의 시계열을 보자. 18이라는 값까지 오는데 과거의 특징이나 패턴들이 영향을 미쳤다고 볼 수 있다. 즉, 자기상관이 있는 것이다. 

10, 12, 14, 12, 16, 18

이러한 자기상관 (시계열 데이터에서 과거의 데이터가 특정 데이터에 미친 영향)을 측정하는 지표들이 있다.

2-2. 표본상관계수

- 상관계수는 두 변수의 관계를 나타내는 지표이다. 보통 표본을 통해 데이터를 분석하므로, 표본상관계수를 사용하게 되며, 아래와 같이 표현된다.

$$$r = \dfrac{\sum\limits_{t} (X_t - \bar{X}) (Y_t - \bar{Y})  }{ \sqrt{\sum\limits_{t} (X_t - \bar{X})^2 \sum\limits_{t}(Y_t - \bar{Y})^2} }$$$

$$$r>0$$$ : 두 변수 X, Y 가 같은 방향으로 움직임, X가 증가하면 Y도 증가

$$$r<0$$$ : 두 변수 X, Y 가 반대 방향으로 움직임, X가 증가하면 Y는 감소

$$$r=1$$$ 또는 $$$r=-1$$$ : 두 변수 X, Y 가 완전히 선형 관계를 가짐

$$$r=0$$$ : 두 변수 X, Y 에 선형 관계가 없음

- 비선형관계가 있는 두 변수 X, Y 의 관계는 표본상관계수로 측정하기 어렵다.

2-3. 표본 자기 상관계수

- 위의 상관계수 (표본자기상관계수)는 두 변수 X, Y 에 관한 관계를 나타냈다면, 자기상관계수는 X 와 X 의 자기상관관계를 나타낸다.

- 두 확률변수 $$$Y_t$$$, $$$Y_{t+h}$$$ 의 자기상관계수는 시점 t가 무한할 때, 아래와 같이 표현되며, 이를 이론적 자기상관계수라고 한다.

$$$\rho(h) = \dfrac{Cov(Y_t,Y_{t+h})}{Var(Y_t)}$$$

- 하지만, 시점 t가 무한한 시계열은 상정하기 어려우므로, 시점 t가 유한한 시계열 샘플 데이터로 자기상관계수를 추정하게 되는데, 추정은 아래의 식으로 할 수 있으며, 이를 표본자기상관계수라고 한다.

$$$\hat{\rho}(h) = \dfrac{\sum\limits_{t={k+1}}^{T} (Y_t - \bar{Y}) (Y_{t-h} - \bar{Y})  }{ \sum\limits_{t=1}^T (Y_t - \bar{Y})^2}$$$

2-4. 표본자기상관계수 계산

- 아래의 데이터에서 passengers 컬럼은 시간에 따른 비행기 탑승객 수를 시계열로 나타낸 것이다. 각 시차별로 10시차까지 lagged 된 데이터를 생성하였다.

- 시차가 0일 때, 표본자기상관계수는 아래와 같이 계산된다.

$$$\hat{r}_0 = \dfrac{\sum\limits_{t=1+0}^{144}  (y_t-\bar{y}) (y_{t-0}-\bar{y}) }  { \sum\limits_{t=1}^{144} (y_t-\bar{y})^2 }$$$

$$$= \dfrac{(y_1-\bar{y})(y_1-\bar{y}) + (y_2-\bar{y})(y_2-\bar{y}) + \dots + (y_{144}-\bar{y})(y_{144}-\bar{y}) }{  (y_1-\bar{y})^2+(y_2-\bar{y})^2+\dots+(y_{144}-\bar{y})^2  }$$$

$$$= \dfrac{(112-280)(112-280) + (118-280)(118-280) + \dots + (432-280)(432-280) }{  (112-280)^2+(118-280)^2+\dots+(432-280)^2  } = 1$$$

where,

$$$\bar{y} = \dfrac{112+118+132+\dots+432}{144}=280$$$

- 시차가 3일 때, 표본자기상관계수는 아래와 같이 계산된다.

$$$\hat{r}_3 = \dfrac{\sum\limits_{t=1+3}^{144}  (y_t-\bar{y}) (y_{t-3}-\bar{y}) }  { \sum\limits_{t=1}^{144} (y_t-\bar{y})^2 }$$$

$$$= \dfrac{(y_4-\bar{y})(y_1-\bar{y}) + (y_5-\bar{y})(y_2-\bar{y}) + \dots + (y_{144}-\bar{y})(y_{141}-\bar{y}) }{  (y_1-\bar{y})^2+(y_2-\bar{y})^2+\dots+(y_{144}-\bar{y})^2  }$$$

$$$= \dfrac{(129-280)(112-280) + (121-280)(118-280) + \dots + (432-280)(508-280) }{  (112-280)^2+(118-280)^2+\dots+(432-280)^2  } = 0.80668116$$$

where,

$$$\bar{y} = \dfrac{112+118+132+\dots+432}{144}=280$$$

- 시차가 0부터 10까지 표본자기상관계수는 아래와 같다.

$$$ \hat{r}_i =  \{ 1, 0.94804734, 0.87557484, 0.80668116, 0.75262542, 0.71376997, 0.6817336 , 0.66290439, 0.65561048, 0.67094833, 0.70271992 \}$$$

($$$i=0,1,\dots,10$$$)

2-5. 표본자기상관계수 의미

- 표본자기상관계수가 높으면, 시계열 데이터에서 자기 상관성이 높다는 의미이다.

- 불안정 시계열에서는 다수의 시차에서 표본자기상관계수값들이 높게 나온다.



3. 자기상관계수의 검정

3-1. 기본적인 검정 방법

- 표본자기상관계수가 0.1이 나왔다면, 이 값이 정말 0과 다른건지 검정하는 것이다. 데이터가 많다면, 0.1 이라는 값도 유의미한 표본자기상관계수이겠지만, 데이터가 적다면, 우연하게도 0.1이 나올 수 있기때문에, 정말 0과 다른 값이 나왔는지 통계적 검정이 필요하다.

- 가설 설정

$$$H_0 : \rho(h) = 0$$$

$$$H_1 : \rho(h) \ne 0$$$

- 귀무가설 하에서 표본자기상관계수는 아래의 정규분포를 따른다.

$$$\hat{\rho}(h) \sim N(0,\dfrac{1}{n})$$$

- 만약, 표본자기상관계수 (추정된 자기상관계수)가 검정통계량으로서 5% 유의수준에서 기각역을 아래와 같이 벗어났다면, 귀무가설을 기각한다.

$$$|\hat{\rho}(h)| > \dfrac{1.96}{\sqrt{n}}$$$

3-2. 상관도표를 사용한 검정

- 상관도표는 시차별로 표본자기상관계수의 값을 기각역과 함께 그래프로 표시한것이다. 아래의 그래프는 위의 passengers 시계열 데이터에서 시차 0부터 10까지에 대하여 상관도표를 나타낸 것이다. 상관계수의 값이 높은 것을 알 수 있고, 기각역 밖에 있으므로 귀무가설을 기각한다 (자기상관이 0이 아니다. 자기상관이 있다)


3-3. 륭-박스 검정

- 우리는 관측된 시계열 데이터를 모델링 하는 시계열 모형을 만들게 된다. 이러한 통계적 모형에는 오차가 있게 된다. 이러한 잔차들이 랜덤한지, 즉, 백색잡음계열인지 점검할 필요가 있다. 이러한 목적으로 사용되는 방법이 륭-박스 검정이며, 여기에 표본자기상관계수가 사용되게 된다.

- 정규분포등에서 무작위로 추출하여 얻어진 백색잡음 시계열은 자기상관이 존재하지 않는다. 아래의 륭-박스 검정의 귀무가설은 m개의 자기상관이 모두 0임을 의미한다. m을 무한히 하지는 않고 4, 8, 12, 16 정도로 시행해본 후 결과를 살펴보게 된다. 

$$$H_0 : \rho(1) = \rho(2) = \dots = \rho(m) =0$$$

- 검정통계량은 아래와같이 계산된다.

$$$Q_m = n(n+2) \sum\limits_{h=1}^m \dfrac{\hat{\rho}(h)^2}{(n-h)}$$$

- 검정통계량은 귀무가설하에서 자유도 m인 카이제곱분포를 따른다. 계산된 검정통계량 $$$Q_m$$$ 이 카이제곱분포의 $$$\chi_{m,\alpha}^{2}$$$ 기각역보다 크면 ($$$Q_m>\chi_{m,\alpha}^{2}$$$), 유의수준 $$$\alpha$$$ 에서 귀무가설을 기각한다 (자기상관이 있다).



+ 이나스AI에는 인공지능 관련 다양한 강의가 있습니다.

- Object detection, Text To Speech, Reinforcement learning, OCR, Chatbot, Time series prediction,

- Meta learning, eXplainable AI, Transformer/BERT/GPT, Graph-based ML, etc

- 소스코드, 다이어그램 및 중간데이터에 기반하여 인공지능 알고리즘들의 작동원리와 구조를 이해하기 쉽고 정확하게 설명합니다.


+ 작업할 때 켜놓는 라이브 스트리밍 study with me 채널도 운영하고 있습니다.

댓글

이 블로그의 인기 게시물

[논문 full 번역 + 이해를 위한 추가설명] CRNN, An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition

[논문 full 번역 + 이해를 위한 추가설명] DQN, Playing Atari with Deep Reinforcement Learning

CUDA 와 CuDNN 의 설치, 삭제 및 버전 변경