시계열 기초
시간에 숨겨진 패턴
매출이 오른 것인가, 계절적 패턴인가?
아이스크림 가게 사장님이 기뻐합니다. "7월 매출이 1월보다 3배나 높아!" 하지만 이것은 성장일까요, 단순히 여름이라서일까요?
시간 데이터에는 여러 패턴이 겹쳐 있습니다. 전체적으로 오르는 추세(trend), 매년 반복되는 계절성(seasonality), 그리고 설명할 수 없는 잔차(residual). 이 세 겹을 분리해야 진짜 성장인지, 단순한 계절 효과인지 구분할 수 있습니다.
이 장에서는 시계열 데이터의 구성 요소를 분해하고, 이동평균으로 노이즈를 걸러내며, 자기상관 분석과 예측 기법을 직접 체험합니다.
시계열이란 무엇인가?
시계열(Time Series)은 시간 순서대로 관측된 데이터입니다. 주식 가격, 기온, 월별 매출, 일일 방문자 수 등이 모두 시계열입니다. 보통의 데이터와 다른 점은, 순서가 중요하다는 것입니다.
시계열 데이터는 양파와 같습니다. 겉에서부터 한 겹씩 벗기면 서로 다른 패턴이 나옵니다.
1층 (겉): 원본 데이터 -- 모든 것이 섞여 있음
2층: 추세 -- 장기적으로 올라가는지 내려가는지
3층: 계절성 -- 매년(매월, 매주) 반복되는 패턴
4층 (속): 잔차 -- 추세와 계절성으로 설명되지 않는 나머지
쉽게 말하면: 양파를 겹겹이 벗겨내면 각 층이 드러나듯, 원본 데이터에서 추세를 빼고, 계절성을 빼면, 순수한 잔차(노이즈)만 남습니다. 각 층을 따로 분석하면 "진짜 성장인지, 계절 효과인지, 우연인지"를 구분할 수 있습니다.
(가법 모형) 또는
Y(t) = 추세(T) x 계절성(S) x 잔차(R)
(승법 모형 -- 계절 진폭이 추세에 비례할 때)
실습 1: 시계열 분해 기계
가상의 월별 소매 매출 데이터를 분해합니다. 원본 데이터에서 추세를 빼고, 계절성을 빼면, 잔차만 남습니다. 각 요소를 켜고 끄면서 데이터의 구성을 직접 확인하세요.
실습 2: 이동평균 탐색기
이동평균(Moving Average)은 시계열의 노이즈를 걸러내는 가장 기본적인 도구입니다. 일정 구간(윈도우)의 평균을 구해 원래 값을 대체합니다.
주식 차트에서 "5일 이동평균선"을 본 적 있나요? 어제-그제-그끄저께-...의 평균을 이어 그린 선입니다. 윈도우가 클수록 곡선이 매끄러워지지만, 최신 변화에 반응이 느려집니다. 카메라의 블러 효과와 같습니다 -- 블러가 강할수록 세부가 사라지고 큰 윤곽만 남습니다.
실습 3: 자기상관(ACF) 분석
시계열에서 "오늘 값은 어제 값과 비슷한가? 일주일 전 값과는?"를 측정하는 것이 자기상관(Autocorrelation)입니다. ACF 차트에서 유의한 시차(lag)를 찾으면 데이터의 숨은 주기를 발견할 수 있습니다.
자기상관은 "나 자신과의 상관"입니다. 다른 변수와의 관계가 아니라, 같은 데이터의 과거 값과 현재 값이 얼마나 비슷한지를 측정합니다.
메아리를 생각해보세요. 소리를 지르면 일정 시간 뒤에 메아리가 돌아옵니다. 자기상관은 "데이터의 메아리"입니다. 12개월 전 값과 상관이 높다면, 이 데이터에는 12개월 주기의 계절성이 있다는 뜻입니다.
단계별 이해:
- Lag 1 자기상관이 높다 = 오늘 값이 어제 값과 비슷하다 (관성이 있다)
- Lag 7 자기상관이 높다 = 일주일 전 값과 비슷하다 (주간 패턴이 있다)
- Lag 12 자기상관이 높다 = 12개월 전 값과 비슷하다 (연간 계절성이 있다)
- 모든 Lag의 자기상관이 0에 가깝다 = 완전한 랜덤 (예측 불가)
시계열 데이터
ACF (자기상관 함수)
실습 4: 예측 샌드박스
이제 직접 예측을 해봅시다. 세 가지 방법을 비교합니다. "나이브 모델을 이길 수 있을까?"가 핵심 질문입니다.
나이브 (Naive)
"내일은 오늘과 같다." 마지막 관측값을 그대로 반복.
이동평균 (MA)
최근 K개 관측값의 평균으로 예측.
지수평활 (ES)
최근 값에 더 높은 가중치. alpha가 클수록 최근 중시.
시계열 분석 체크리스트
| 단계 | 질문 | 도구 |
|---|---|---|
| 1. 시각화 | 데이터에 추세, 계절성, 이상치가 보이는가? | 시계열 그래프 |
| 2. 분해 | 추세와 계절성을 분리할 수 있는가? | 이동평균, STL 분해 |
| 3. 자기상관 | 과거 값과 현재 값 사이에 상관이 있는가? | ACF / PACF |
| 4. 정상성 | 평균과 분산이 시간에 따라 일정한가? | ADF 검정, 차분 |
| 5. 모델링 | 어떤 모델이 적합한가? | ARIMA, 지수평활, ML |
| 6. 검증 | 예측이 나이브 모델보다 나은가? | MAE, RMSE, 교차 검증 |
- 시계열 데이터는 추세 + 계절성 + 잔차로 분해할 수 있다.
- 이동평균은 노이즈를 제거하는 기본 도구이다. 윈도우 크기가 커질수록 매끄럽지만 반응이 느려진다.
- 자기상관(ACF)은 데이터의 숨은 주기를 발견하는 열쇠이다.
- 예측의 기본 벤치마크는 나이브 모델이다. 이를 이기지 못하는 복잡한 모델은 불필요하다.
- 지수평활은 단순하면서도 강력한 예측 기법이다.
다음 장 예고: 지금까지 배운 회귀, 정규화, 시계열을 종합하여 실전 예측 프로젝트를 수행합니다.