데이터 한 그릇

5)시계열의 통계모델3 본문

시계열 분석/Practical TIme Series Analysis

5)시계열의 통계모델3

장사이언스 2022. 10. 26. 17:57

벡터자기회귀

 

실세계에서는 서로 관련성이 있는 여러 시계열이 병렬로 존재할 수 있다

여러 변수에 대한 AR(p) 모델을 생성해볼 수 있다, 이러한 모델은 변수들에게 서로 영향을 주고받는 상황을 제공한다는 장점을 가진다

대신 적합은 모든 변수에 대해 균등하게 이루어진다

한편 계열이 정상이 아닌 경우 전에 살펴본 모델처럼 차분이 적용될 수 있다

 

외생변수와 내생변수

변수가 서로 영향을 주는 모델을 사용할 때 통계에서는 이 변수들을 내생변수(endogenous) 라고 한다
모델 내에서 보이는 현상을 통해 이 변수들의 값이 설명될 수 있다는 의미이다

외생변수(exogenous) 는 이와는 대조적인 개념으로 모델 내에서는 변수들의 설명이 어렵다는 뜻을 가진다
즉 가정을 통한 설명이 불가능하다는 의미다
따라서 이러한 변수의 값을 수용할 뿐 값이 왜 그런지 의문을 제기하지 않는다

 

모든 시계열은 자신뿐만 아니라 다른 시계열도 추정하여 예측하므로 변수 한 개당 방정식 한개를 가지게 된다

책의 설명이 너무 부실하다고 생각하여 구글링을 통한 이해를 해보겠다

 


https://otexts.com/fppkr/VAR.html

 

지금까지 우리가 다룬 모델은 단방향 관계만을 가지고 있다, 과거의 값이 현재의 값에 영향을 끼친다는 전제의 모델들 뿐이다. 하지만 양방향으로 서로 영향을 주고 받는 경우가 존재한다. 즉, 지금까지는 목적 예상변수(forecast variable)와 예측변수(predictor variable)의 단반향성 영향만을 고려했다면 양방향성(bi-directional relationship)을 고려할 수 있다

 

VAR 모델은 시계열의 벡터를 예측하는 단변량(univariate) 자기회귀 모델의 일반적인 형태

시스템에서 고려하는 변수 당 하나의 식을 포함, 각 식의 우변은 상수와 시스템의 모든 변수의 시차(lag)를 포함

 2차원 VAR(1)은 다음과 같다

 

 

먼저 잔차 e_1,t 와 e_2,t 를 살펴보면 이 둘은 동시에 상관관계플 가질 수 있는 백색잡음(white noise) 이다

 

계수 𝝓_ij,ℓ 은 y_i에 대한 변수 y_j의 ℓ번째 시차의 영향을 잡아낸다

계수 𝝓_ii,ℓ 은 변수 y_i의 ℓ번째 시차의 영향을 잡아낸다

 

만일 모델링한 시계열이 정상성을 나타낸다면, VAR 로 직접 데이터를 맞춰서 예측한다

만일 시계열이 정상성을 나타내지 않는다면 정상성을 나타내도록 데이터에서 차분을 하고 VAR 모델을 맞춘다

두 경우 모두 최소 제곱 원리를 이용하는 식으로 모델을 추정한다

각 식에서 e_i,t 값의 합을 최소화하여 매개변수를 추정한다

 

 

반복적으로 VAR 로부터 예측값을 얻고, 시스템에 있는 각 변수에 대한 예측값을 낸다

시간 T까지의 모든 관측값에 대해 2차원 VAR(1) 을 맞춘것을 가정한다

그러면 아래의 식으로부터 한 단계 앞 예측값을 얻는다

 

또 다시 0으로 둔 오차, 매개변수를 추정값으로 바꾼 것, y1과 y2 의 알려지지 않은 값을 제외하고는 맨 처음 보여줬던 수식과 같은 형태임을 확인할 수 있다

이러한 과정을 통해서 미래의 모든 시점에 대해 이 과정을 반복할 수 있다

 

VAR 을 사용할 때는 두 가지 판단을 해야만 한다 얼마나 많은 변수와(K) 얼마나 많은 시차값(p) 이 시스템에 있어야 하는지다

VAR 에서 추정할 계수의 수는 K + pK^2 와 같다(또는 식 하나당 1 + pK)

예를 들어 K=5변수와 p = 3 시차값이 있는 VAR에 대해 추정할 전체 80개의 계수에 대해 식 하나당 16개의 계수가 존재한다

5 + 3 * 5 * 5 = 80, K=5 이기 때무네 80 / 5 = 16, 즉 하나의 식당 16개의 계수가 존재

만일 추정할 계수가 많아지게 되면 예측에 들어오는 추정 오차가 커지게 된다

 

실제로는 K를 작게 두고 서로 상관관계가 있는(분석가치가 있고 예측할 쓸모가 있는) 변수만 포함한다

넣을 시차값(lag)의 수를 고를 때 흔히 정보기준(information criteria)을 사용한다

 

벡터자기회귀는 이정도까지만 알아두고 필요하면 구글링해서 코딩하도록 하자

 


통계 모델의 변형

지금까지 교재에서 배운 것 이외에 시계열 데이터를 위해 개발된 다양한 통계 모델이 존재한다

ARIMA 모델을 확장하거나 ARIMA 모델과는 다른 시간의 역동성을 가정한다

계절성 ARIMA

계절성 ARIMA(SARIMA) 모델은 승법(multiplicative) 계절성을 가정한다

따라서 SARIMA 모델은 ARIMA(p,d,q) x (P,D,Q)m 과 같이 표현된다

 

계절적 행동 자체를 상정하는 SARIMA 모델은 계절주기당 시간 관계의 수를 정하는 m을 가진 ARIMA 과정이라고 볼 수도 있다

이 인수의 중요한 점은 모델이 시간상 인접한 데이터가 동일한 계절 또는 서로 다른 계절에 있어도 시간적으로 근접한 일반적인 방법으로 서로의 영향을 인식한다는 것(인접한 데이터인데 동일한 계절의 영향, 서로 다른 계절의 영향만을 고려하지 않고 일반적으로 시간적으로 근접하면 발생하는 영향을 인식해줌)

 

계절적 효과를 다뤄야 하기 때문에 ARIMA 모델보다 SARIMA 를 식별하는 게 더 까다롭다

다행히 forecast 패키지의 auto.arima() 는 일반적인 ARIMA 의 추정 작업처럼 이 문제를 다룰 수 있다

 

만일 SARIMA 를 쓰고 싶다면 구글링해서 찾아보도록 하자

계층적 시계열 모델

계층적 시계열은 실세계에서 꽤 흔하지만 많이 드러나지는 않는다

다음은 계층적 시계열이 발생하는 일부 상황을 나열한다

 

회사 제품의 월별 총 수요는 SKU 번호로 세분화

전체 유권자의 주간 정치 여론조사는 여성/남성 또는 히스패닉/아프리카계 미국인과 같은 인구통계(demographics) 별로 세분화된다

EU를 방문하는 일일 총 관광객 수를 EU의 각 회원국을 방문한 관광객 수로 세분화한다

 


시계열 통계 모델의 장단점

 

장점

  • 통계 모델은 간단하고 투명해서 모델의 파라미터 측면을 보면 명확하게 이해할 수 있다
  • 어느 정도 작은 데이터셋에 적용해도 여전히 좋은 결과를 얻을 수 있다
  • 다뤄진 간단한 통계 모델 및 이를 변형한 모델은 상당히 좋은 성능을 보이며, 매우 복잡한 머신러닝 모델과 비교해도 손색이 없다, 따라서 과적합이라는 위험성 없이도 좋은 성능을 얻을 수 있다
  • 모델의 차수 선택 및 파라미터 추정에 대해 잘 개발된 자동화 방법론은 예측을 간단하게 만든다

 

단점

  • 데이터 셋이 커지면 성능을 보장하지 않는다
  • 비선형적 관계가 많은 데이터를 설명하는데 적합하지 않다

 

Comments