- 시계열 데이터는 다양한 패턴으로 나타날 수 있으며, 이를 몇 가지 성분으로 나누는 작업은 시계열을 이해하는데 도움이 됨
- 시계열 패턴에는 `추세(trend)`, `계절성(seasonality)`, `주기(cycle)` 3가지가 존재
- 시계열을 성분으로 나눌 때는 종종 추세와 주기를 결합하여 추세-주기 성분으로 다룸
- 단순히 추세라고 부르기도 함
- 결국 시계열은 `추세-주기` 성분, `계절성` 성분, 시계열의 나머지 요소를 포함하는 `나머지(reminder)` 성분으로 구성된다 볼 수 있음
시계열 성분
- 덧셈 분해(additive decomposition)
- y_t : 데이터
- S_t : 계절 성분
- T_t : 추세-주기 성분
- R_t : 나머지 성분
- y_t, S_t, T_t, R_t 모두 시점 t에서의 양의 값
- 곱셈 분해(multiplicative decomposition)
- 계절성 요동의 크기나 추세-주기 주위의 변동이 시계열의 수준에 의해 변하지 않으면 덧셈 분해가 가장 적절
- 계절성 패턴에서 변동이나 추세-주기 주위의 변동이 시계열의 `수준(level)`에 비례하게 나타나면 곱셈 분해가 더 적절
- 경제 분야 시계열을 다룰 때는 곱셈 분해를 사용
- 곱셈 분해를 사용하는 것 대신 먼저 시계열의 변동이 시간에 따라 안정적으로 나타나는 것으로 보일 때까지 데이터를 변환하여 덧셈 분해를 사용하는 것도 하나의 방법
- 로그 변환을 사용하면 덧셈 모델이 곱셈 분해를 사용했을 때와 동일
전자 장비 제조 예시
- 전자 장비에 대한 신규 주문 지수 데이터를 분해
- 유럽 지역 16개국에서 전자 장비에 대한 신규 주문량을 나타내는 데이터
- 근무일 기준으로 조정되었고, 2005년 값이 100이 되도록 조정한 데이터
- 추세-주기 성분 T_t는 빨간색, 원본 데이터 y_t는 회색
- 계절성과 작은 무작위적 변동(random fluctuation)을 무시하면, 추세-주기가 시계열의 전반적인 움직임을 나타냄
- `STL` 기법을 사용하여 데이터를 덧셈 분해한 후 아래쪽 세 패널에 세 가지 성분(trend, seasonality, remainder)를 표시
- 이러한 성분들을 모아서 더하면 위쪽 패널에 나타낸 데이터를 재구성하는 것이 가능
- 아래쪽 나머지 성분은 계절과 추세-주기 성분을 데이터에서 뺀 나머지
- 계절 성분이 시간에 따라 느리게 변하며, 두 개의 연이은 연도가 비슷한 패턴을 갖고 서로 멀리 떨어진 연도는 다른 계절성 패턴을 갖음
- 오른쪽 회색 막대는 같은 크기를 나타내지만 세로축 눈금에 따라 크기가 다르게 보임
- 가장 아래 패널에서 큰 회색 막대는 나머지 성분의 변동이 데이터에서 나타나는 변동의 1/4 정도임을 나타냄
계절성으로 조정된 데이터
- 원본 데이터에서 계절성분을 제거한 결과 값을 `계절성으로 조정된(seasonally adjusted)` 데이터라고 부름
- 덧셈 분해에서 계절성으로 조정된 데이터는 (y_t - S_t)로 주어지고, 곱셈 분해는 (y_t/S_t)를 이용하여 계산
- 계절성에 의한 변동이 주된 관심사가 아닌 경우 계절성으로 조정된 시계열은 유용
- 예를 들어 월별 실업률 데이터를 다룰 때 계절성 변동보다는 중요한 경제 상황 때문에 나타나는 변동을 강조하기 위해 데이터를 계절성으로 조정
- 학교를 졸업한 사람이 일자리를 찾는 것 때문에 나타나는 실업률 증가는 계절성 변동이지만, 경기 침체 때문에 실업자가 많아서 생기는 증가는 비계절성
- 실업률 데이터를 연구하는 사람들은 비계절성 변동에 관심이 많으므로 계절성으로 데이터를 조정
- 계절성으로 조정된 시게열에는 추세-주기 성분도 있고, 나머지 성분도 있음
- 시계열이 매끄럽지 않고, 하락세나 상승세라는 표현이 오해를 불러 일으킬 수 있음
- 시계열에서 전환점을 살펴보는 것과 어떤 방향으로의 변화를 해석하려는 것이 목적이라면, 계절성으로 조정된 데이터보다는 추세-주기 성분을 사용하는 것이 더 나음
이동평균(moving average)
- 고전적인 분해 방법의 첫 번째 단계는 추세-주기를 측정하기 위해 `이동평균(moving average)` 방법을 사용하는 것
이동 평균 평활
- `차수(order)` m의 이동 평균은 다음과 같음
- m = 2k + 1
- k 기간 안의 시계열 값을 평균하여 시간 t의 추세-주기를 측정
- 표의 마지막 열은 추세-주기의 측정값을 나타내는 차수 5의 이동평균
- 5-MA가 있는 열의 각 값은 5년의 기간의 관측값을 평균하여 가운데 값으로 나타낸 것
- 이동평균의 차수는 추세-주기 추정치의 매끄러운 정도를 결정
- 일반적으로, 더 큰 차수가 더 매끄러운 곡선을 의미
- 단순 이동평균은 보통 3,5,6과 같은 홀수 차수이기 때문에 대칭적
- m = 2k + 1 차수의 이동평균에서는 가운데 값과 양쪽에서 각각 k개의 관측값을 평균하기 때문에 m이 짝수이면 대칭 x
이동평균의 이동평균
- 짝수 차수 이동 평균을 대칭적으로 만들기 위해서 이동평균값을 또다시 이동평균
- 마지막 열의 2x4-MA는 4-MA를 구하고 나서 2-MA를 구했다는 의미
- 이전 열에 있는 값을 가지고 차수 2인 이동평균을 계산
- 4-MA 열의 첫 두 값은 451.25(443+410+420+532), 448.75(410+420+532+433)/4이 두 값의 평균 450.00이 2x4-MA 열의 첫 번째 값
- 2-MA가 짝수 차수(현재는 4) 이동평균 다음에 오면 `차수 4의 중심화된 이동평균(centred moving average of order 4)`
- 다음 식은 2x4-MA를 나타낸 식이며, 관측값을 가중 평균한 것임과 동시에 대칭적
- 3x3-MA도 종종 사용
- 일반적으로 짝수 차수 MA를 대칭적으로 만들기 위해 짝수 차수 MA를 다음에 사용해야 함
- 홀수 차수 MA 다음에는 홀수 차수 MA를 사용
계절성 데이터에서 추세-주기를 측정하기
- `중심화된 이동평균(centered moving average)`의 주 용도는 계절성 데이터에서 추세-주기를 측정하는 것
- 2x4-MA에서 첫 번째와 마지막 항이 앞뒤 연도의 영향을 받아 한 해의 각 분기에 같은 가중치가 주어짐
- 평균 때문에 계절성 변동이 사라지게 되고, 결과값에 계절적인 변동이 거의 남지 않음
- 분기별 데이터에 2x8-MA이나 2x12-MA를 사용해도 비슷한 결과
- 일반적으로 2xm-MA은 m+1 차수의 `가중 이동평균(weighted moving average)`와 동일
- 첫 번째와 마지막 값을 제외한 모든 관측값에는 1/m 가중치를, 첫 번째와 마지막 값은 1/(2m)의 가중치를 두고 계산
- 따라서 계절성 주기가 짝수이면서 차수 m이면, 추세-주기를 측정하기 위해 `2xm-MA`를 사용
- 계절성 주기가 홀수이면서 차수 m이면, 추세-주기를 측정하기 위해 `m-MA`를 사용
가중 이동평균(weighted moving average)
- 이동평균의 조합이 `가중 이동평균(weighted moving average)`가 됨
- 일반적으로 가중 m-MA는 다음과 같이 표현
- k = (m-1) / 2
- a_j : 가중치(가중치를 모두 더하면 1이며, a_j = a_-j로 대칭적)
- 단순 m-MA는 모든 가중치를 1/m으로 같게 둔 특별한 경우
- 더욱 매끄러운 추세-주기를 얻을 수 있다는 점이 주된 장점
- 관측값에 가중치를 전부 고려하지 않고, 천천히 증가하다가 감소하는 가중치를 이용하여 더 매끄러운 곡선을 구함
고전적인 분해법
- 고전적인 분해 기법은 단순한 편이며 다른 시계열 분해 방법의 기초가 됨
- 주기 m이 있는 시계열
- 분기별 데이터에서는 m=4, 월별 데이터는 m=12, 주별 패턴이 있는 일별 데이터는 m=7
- 고전적인 분해를 다룰 때는 성분이 매년 일정하다고 가정
- 곱셈 계절성에서는 계절성분을 구성하는 m 값을 `계절성 지수(seasonal indices)`라고 함
덧셈 분해
- m이 짝수이면, 2xm-MA를 사용하여 추세-주기 성분 T^_t를 계산(m이 홀수이면 m-MA를 사용)
- 추세를 제거한 시계열을 계산 : y_t - T^_t
- 각 계절마다 계절성분을 측정하기 위해 해당 계절에 대해 추세를 제거한 값의 평균을 계산
- 월별 데이터에서 3월의 계절성분은 데이터에서 추세를 제거한 모든 3월 값의 평균
- 그러면 이러한 계절성분 값이 0 근처의 값이 되도록 조정
- 이러한 월별 값을 순서대로 모으고 각 연도의 데이터에 대한 수열을 복제하여 계절성분을 계산해 S^_t를 얻음
- 계절성과 추세-주기 성분을 빼서 나머지 성분을 계산 : R^_t = y_t - T^_t - S^_t
곱셈 분해
- m이 짝수이면 2xm-MA, m이 홀수이면 m-MA를 사용하여 추세-주기 성분 T^_t를 계산
- 추세를 제거한 시계열을 계산 : y_t/T^_t
- 각 계절마다 계절성분을 측정하기 위해 해당 계절에 대해 추세를 제거한 값의 평균을 계산
- 월별 데이터에서 3월의 계절성분은 데이터에서 추세를 제거한 모든 3월 값의 평균
- 그러면 이러한 계절성분 값이 m 근처의 값이 되도록 조정
- 이러한 월별 지수값을 순서대로 모으고 각 연도의 데이터에 대한 수열을 복제하여 계절성분을 계산해 S^_t를 얻음
- 계절성과 추세-주기 성분을 나누어 나머지 성분을 계산 : R^_t = y_t/(T^_t*S^_t)
고전적인 분해에 대한 첨언
- 고전적인 분해법이 여전히 널리 사용되지만, 여러 문제점이 존재하여 추천하는 방법은 아님
- 처음 몇 개와 마지막 몇 개의 관측값에 대한 추정값을 얻을 수 없음
- m=12일 때, 처음 6개와 마지막 6개 관측값에 대한 추정값은 존재 x
- 결과적으로 같은 기간에 대해 나머지 성분을 측정하는 것도 불가능
- 추세-주기 측정은 데이터에 나타나는 급격한 증가나 감소를 과도하게 매끄럽게 함
- 고전적인 분해법은 계절성분이 매년 반복된다는 것을 가정하여 시간적으로 변하는 계절적이 변화를 다룰 수 없음
- 예를 들어 전기 수요 패턴은 에어컨이 더욱 보급되면서 시간이 지남에 따라 변했지만 이를 반영할 수 없음
- 가끔 짧은 기간의 시계열 값이 특별히 이상하거나 하는 특이한 값을 다루기에 적절하지 않음
추세와 계절성의 강도 측정하기
- 시계열 분해는 시계열에서 추세와 계절성의 강도를 측정하는 데 사용할 수 있음
- T_t는 평활된 추세 성분, S_t는 계절성 성분, R_t는 나머지 성분
- 추세가 강하게 나타나는 데이터에서는, 계절성으로 조정된 데이터가 나머지 성분보다 훨씬 더 큰 변동성을 나타내야 함
- Var(R_t) / Var(T_t + R_t)가 상대적으로 작아야 함
- 추세가 거의 없거나 아예 없는 데이터의 경우에는 두 분산값이 근사적으로 같아야 함
- 추세의 강도를 다음과 같이 정의
- 추세의 강도를 0부터 1 사이의 값으로 얻음
- 나머지 성분의 분산이 계절성으로 조정된 데이터의 분산보다 훨씬 더 클 수 있어 최소값은 0
- 계절성의 강도는 다음과 같이 정의
- 시계열의 계절성 강도 F_s가 0에 가까우면 거의 계절성이 없다는 것을 의미
- 계절성이 강하게 나타나면 Var(R_t)이 Var(S_t + R_t)에 비해 훨씬 작아 1에 가까워짐