시계열분석의 이해
시간 순서로 기록된 데이터에서 패턴을 찾고 미래를 예측하는 분석
시계열분석(Time Series Analysis)은 시간의 흐름에 따라 기록된 데이터에서 패턴을 찾고, 그 패턴을 바탕으로 미래를 예측하는 분석 방법입니다. 일반적인 데이터 분석이 여러 대상의 차이나 변수 간 관계를 살펴본다면, 시계열분석은 시간의 순서 자체를 중요하게 다룹니다. 오늘의 매출은 어제의 매출과 연결되어 있을 수 있고, 이번 달의 수요는 지난해 같은 달의 수요와 비슷한 패턴을 보일 수도 있습니다. 월별 매출이 꾸준히 증가하는지, 여름마다 높아지는지, 특정 시기에만 급격히 감소하는지를 구분하면 단순히 과거 매출을 확인하는 것을 넘어 앞으로의 매출을 예측하는 데 활용할 수 있습니다. 이 장에서는 시계열 데이터의 특징과 구성 요소, 시계열분석이 답하는 질문, 그리고 분석할 때 주의할 점을 알아봅니다.
시계열 데이터란?
시계열 데이터는 일정한 시간 순서에 따라 관측한 데이터입니다. 매달의 매출, 시간대별 교통량, 일별 주가, 일별 기온처럼 우리 주변의 많은 데이터가 시계열입니다.
그림 1처럼 월별 매출에서는 매출의 변화를 보고 향후 매출을 예측하고, 시간대별 교통량에서는 출퇴근 시간의 반복적인 증가와 감소를 파악합니다. 일별 주가에서는 가격의 움직임과 변동성의 변화를, 일별 기온에서는 계절에 따른 변화와 단기적인 변동을 분석합니다. 시계열 데이터는 일반적으로 시간 변수와 측정값으로 구성됩니다.
| 월 | 매출 |
|---|---|
| 1월 | 120 |
| 2월 | 125 |
| 3월 | 132 |
| 4월 | 140 |
| 5월 | 155 |
| 6월 | 170 |
그림 2처럼 이 데이터만 보면 매출이 증가하고 있다는 사실을 알 수 있습니다. 하지만 매출이 계속 증가할 것인지, 특정 계절에 매출이 높아지는 것인지, 일시적인 변화인지는 아직 알기 어렵습니다. 시계열분석은 이러한 패턴을 구분하는 데서 시작합니다.
시계열은 어떤 요소로 이루어질까?
시계열 데이터에는 여러 종류의 변동이 함께 나타날 수 있습니다. 대표적으로 추세, 계절성, 순환, 불규칙 변동을 구분합니다.
장기간에 걸쳐 데이터가 증가하거나 감소하는 방향입니다. 예: 온라인 쇼핑 이용자가 몇 년에 걸쳐 꾸준히 증가하는 현상.
일정한 주기를 두고 반복되는 패턴입니다. 예: 여름마다 아이스크림 판매량이 증가하거나 연말마다 선물 수요가 높아지는 현상.
경기나 산업 환경 등의 영향으로 수년간 이어지는 상승과 하락입니다. 계절성과 달리 주기가 일정하지 않을 수 있습니다. 예: 경기 확장기에 소비가 늘었다가 침체기에 감소하는 현상.
추세나 반복 패턴만으로 설명하기 어려운 단기적인 변동입니다. 예: 갑작스러운 사고, 예상치 못한 기상 변화, 일회성 행사로 인한 매출 변화.
네 가지 요소는 서로 배타적인 선택지가 아닙니다. 그림 4처럼 하나의 시계열 안에 여러 요소가 동시에 존재할 수 있습니다. 매출이 장기적으로 증가하면서 매년 연말에 급증하고, 특정 달에는 예상치 못한 감소를 겪을 수도 있습니다.
구성 요소는 어떻게 결합될까?
시계열을 구성 요소로 나누어 이해할 때는 크게 가법 모형과 승법 모형을 사용합니다.
Yt: 시점 t의 실제 관측값 · Tt: 추세 · St: 계절성 · Ct: 순환 변동 · It: 불규칙 변동
가법 모형(Additive Model)은 각 요소가 더해져 관측값을 만든다고 가정하며, 그림 5의 왼쪽처럼 계절에 따른 변동 폭이 대체로 일정할 때 적합합니다. 승법 모형(Multiplicative Model)은 각 요소가 곱해져 관측값을 만든다고 가정하며, 오른쪽처럼 데이터 수준이 높아질수록 계절 변동의 크기도 커지는 경우에 유용할 수 있습니다.
그림 6처럼 평소 월 매출이 100이고 연말 효과가 매출을 약 20만큼 높인다면(가법), 연말 매출은 다른 요소가 같을 때 약 120입니다. 연말 효과가 20%라면(승법) 역시 120이지만, 평소 매출이 200으로 증가하면 가법은 220, 승법은 240이 됩니다.
| 구분 | 가법 모형 | 승법 모형 |
|---|---|---|
| 결합 방식 | 요소를 더함 | 요소를 곱함 |
| 계절 변동 | 절대적인 크기가 비슷함 | 데이터 수준에 따라 크기가 달라짐 |
| 예시 | 매년 약 20만큼 증가 | 매년 약 20% 증가 |
실제 데이터를 분석할 때 두 모형 중 어느 쪽이 적절한지는 그래프와 데이터의 특성을 함께 살펴 판단합니다. 모든 시계열이 네 가지 요소를 뚜렷하게 포함하는 것도 아닙니다.
시계열분석은 어떤 질문에 답할까?
시계열분석의 목적은 단순히 과거의 변화를 설명하는 데 그치지 않습니다. 분석 목적에 따라 사용하는 방법도 달라집니다.
| 분석 목적 | 확인하려는 질문 | 관련 방법 |
|---|---|---|
| 패턴 파악 | 장기적으로 증가하는가? | 추세 분석 |
| 반복 패턴 파악 | 매년 같은 시기에 값이 높아지는가? | 계절성 분석, 시계열 분해 |
| 시간적 의존성 확인 | 이전 시점의 값이 현재 값과 관련 있는가? | 자기상관, ACF · PACF |
| 예측 | 다음 달 매출은 얼마일까? | ETS, ARIMA, SARIMA |
| 변수 간 관계 | 금리 변화가 다른 경제 변수와 어떻게 연결되는가? | VAR, VECM |
| 변동성 분석 | 가격 변동의 크기가 시기에 따라 달라지는가? | ARCH, GARCH |
매출 예측을 하고 싶다면 추세와 계절성을 파악하는 것만으로 끝나지 않습니다. 과거 매출이 현재 매출에 얼마나 영향을 주는지, 데이터가 안정적인 통계적 특성을 갖는지, 어떤 예측 모형이 적합한지도 살펴봐야 합니다. 또한 그림 7처럼 예측은 하나의 값이 아니라 범위로 제시되며, 먼 미래일수록 그 범위가 넓어집니다.
시계열분석에서 무엇을 주의해야 할까?
시간 순서가 있다는 이유만으로 모든 데이터에 같은 방법을 적용할 수 있는 것은 아닙니다.
매일, 매주, 매월처럼 데이터가 어떤 간격으로 기록되었는지 확인합니다. 간격이 불규칙하다면 별도의 처리가 필요할 수 있습니다.
장기적인 증가와 반복적인 변화를 구분하지 않으면 실제 패턴을 잘못 해석할 수 있습니다.
정책 변경, 코로나19와 같은 충격, 사업 모델의 변화로 과거 패턴이 더 이상 유지되지 않을 수 있습니다.
예측 모형을 평가할 때 미래의 데이터가 학습 과정에 섞이면 실제 성능보다 좋게 나타날 수 있습니다.
그림 8처럼 구조 변화 이후에는 과거 패턴을 그대로 이어 붙인 예측(회색)이 실제와 크게 어긋납니다. 과거 패턴이 반복되더라도 미래가 반드시 같은 방식으로 움직인다는 보장은 없습니다.
특히 시계열 예측에서는 그림 9의 아래처럼 데이터를 무작위로 섞어 학습용과 평가용으로 나누는 방식이 적절하지 않을 수 있습니다. 일반적으로 위처럼 과거 데이터를 학습에 사용하고, 그보다 뒤에 있는 데이터를 예측 평가에 활용합니다.
2019년 1월부터 2023년 12월까지의 월별 매출(60개월)은 뚜렷한 증가 추세와 12개월 주기의 계절성을 보였다. 계절 변동 폭이 매출 수준에 비례해 커지는 양상이어서 승법 구조를 가정하였다. 예측 성능은 마지막 12개월을 평가 구간으로 두고 시간 순서를 유지해 평가하였다.
시간의 순서를 지키며 패턴을 나누어 읽어야 합니다.
- 시계열분석은 시간의 순서에 따른 데이터의 패턴과 변화를 분석하는 방법입니다.
- 추세는 장기적인 방향, 계절성은 일정한 주기의 반복, 순환은 불규칙한 장기 변동, 불규칙 변동은 나머지 단기적 변화를 의미합니다.
- 시계열의 구성 요소는 가법 또는 승법 방식으로 결합해 설명할 수 있습니다.
- 분석 목적에 따라 패턴 설명, 시간적 의존성 분석, 예측, 변동성 분석 등 서로 다른 방법을 사용합니다.
- 예측 결과를 신뢰하려면 시간 순서를 지키고, 구조 변화와 불확실성도 고려해야 합니다.
다음은 02 자기상관과 시차 — ACF, PACF입니다. 과거의 값이 현재의 값과 얼마나 관련되어 있는지 확인하고, 이 관계가 시계열 모형을 선택할 때 어떻게 활용되는지 살펴봅니다.
시계열분석은 시간 순서로 기록된 데이터를 추세 · 계절성 · 순환 · 불규칙 변동으로 나누어 이해하고 미래를 예측합니다. 계절 폭이 일정하면 가법, 수준에 비례하면 승법 모형이 어울리며, 예측을 평가할 때는 반드시 과거로 학습하고 미래로 검증해야 합니다.