Skip to content
PART 3 · 19장

시계열 기초

시간에 숨겨진 패턴

매출이 오른 것인가, 계절적 패턴인가?

아이스크림 가게 사장님이 기뻐합니다. "7월 매출이 1월보다 3배나 높아!" 하지만 이것은 성장일까요, 단순히 여름이라서일까요?

시간 데이터에는 여러 패턴이 겹쳐 있습니다. 전체적으로 오르는 추세(trend), 매년 반복되는 계절성(seasonality), 그리고 설명할 수 없는 잔차(residual). 이 세 겹을 분리해야 진짜 성장인지, 단순한 계절 효과인지 구분할 수 있습니다.

이 장에서는 시계열 데이터의 구성 요소를 분해하고, 이동평균으로 노이즈를 걸러내며, 자기상관 분석과 예측 기법을 직접 체험합니다.

시계열이란 무엇인가?

시계열(Time Series)은 시간 순서대로 관측된 데이터입니다. 주식 가격, 기온, 월별 매출, 일일 방문자 수 등이 모두 시계열입니다. 보통의 데이터와 다른 점은, 순서가 중요하다는 것입니다.

시계열의 핵심 -- 순서가 생명입니다: 일반 데이터(예: 고객 목록)는 행의 순서를 바꿔도 분석 결과가 같습니다. 하지만 시계열은 다릅니다. 주식 가격 데이터의 행을 랜덤으로 섞으면(셔플하면)? 추세도, 계절성도, 자기상관도 모두 사라집니다. 의미 없는 숫자 더미가 됩니다. 시계열에서 "시간 순서"는 데이터의 DNA와 같아서, 이것을 파괴하면 모든 정보가 증발합니다.
비유: 양파 껍질 벗기기
시계열 데이터는 양파와 같습니다. 겉에서부터 한 겹씩 벗기면 서로 다른 패턴이 나옵니다.
1층 (겉): 원본 데이터 -- 모든 것이 섞여 있음
2층: 추세 -- 장기적으로 올라가는지 내려가는지
3층: 계절성 -- 매년(매월, 매주) 반복되는 패턴
4층 (속): 잔차 -- 추세와 계절성으로 설명되지 않는 나머지

쉽게 말하면: 양파를 겹겹이 벗겨내면 각 층이 드러나듯, 원본 데이터에서 추세를 빼고, 계절성을 빼면, 순수한 잔차(노이즈)만 남습니다. 각 층을 따로 분석하면 "진짜 성장인지, 계절 효과인지, 우연인지"를 구분할 수 있습니다.
Y(t) = 추세(T) + 계절성(S) + 잔차(R)
(가법 모형) 또는
Y(t) = 추세(T) x 계절성(S) x 잔차(R)
(승법 모형 -- 계절 진폭이 추세에 비례할 때)

실습 1: 시계열 분해 기계

가상의 월별 소매 매출 데이터를 분해합니다. 원본 데이터에서 추세를 빼고, 계절성을 빼면, 잔차만 남습니다. 각 요소를 켜고 끄면서 데이터의 구성을 직접 확인하세요.

목표: 체크박스로 추세/계절성/잔차를 각각 켜고 끄세요. 원본 데이터에서 각 요소가 어떤 역할을 하는지 눈으로 확인하세요. "분해 실행" 버튼을 누르면 애니메이션으로 분리 과정을 볼 수 있습니다.
관측치 수
-
추세 방향
-
계절 주기
-
잔차 표준편차
-
관찰 포인트: 원본 데이터만 보면 "매출이 오르는 건가?"라고 착각할 수 있습니다. 하지만 분해해보면 추세가 완만한데 계절성이 강해서 올라 보이는 경우가 많습니다. 잔차가 크면 예측이 어려운 데이터이고, 잔차가 작으면 패턴이 잘 포착된 것입니다.

실습 2: 이동평균 탐색기

이동평균(Moving Average)은 시계열의 노이즈를 걸러내는 가장 기본적인 도구입니다. 일정 구간(윈도우)의 평균을 구해 원래 값을 대체합니다.

쉽게 말하면 -- 창문을 슬라이드시키며 평균 구하기: 이동평균은 데이터 위에 일정한 크기의 "창문(윈도우)"을 올려놓고, 그 창문 안에 보이는 값들의 평균을 구하는 방식입니다. 창문을 한 칸씩 오른쪽으로 밀면(슬라이드시키면), 매번 새로운 평균이 나옵니다. 이 평균들을 이어 그리면 부드러운 곡선이 됩니다.

주식 차트에서 "5일 이동평균선"을 본 적 있나요? 어제-그제-그끄저께-...의 평균을 이어 그린 선입니다. 윈도우가 클수록 곡선이 매끄러워지지만, 최신 변화에 반응이 느려집니다. 카메라의 블러 효과와 같습니다 -- 블러가 강할수록 세부가 사라지고 큰 윤곽만 남습니다.
목표: 윈도우 크기를 바꿔가며 스무딩 효과를 관찰하세요. 작은 윈도우(3)는 빠르게 반응하지만 울퉁불퉁하고, 큰 윈도우(12)는 매끄럽지만 변화를 늦게 잡습니다.
윈도우: 6
윈도우 크기
-
원본 분산
-
노이즈 정도
스무딩 후 분산
-
안정화 정도
분산 감소율
-
이동평균의 한계: 이동평균은 데이터의 양쪽 끝에서 값을 잃습니다(윈도우 크기만큼). 또한 급격한 변화(구조적 변곡점)에 늦게 반응합니다. 이 때문에 단순 이동평균은 예측 도구가 아닌 패턴 탐색 도구로 사용합니다.

실습 3: 자기상관(ACF) 분석

시계열에서 "오늘 값은 어제 값과 비슷한가? 일주일 전 값과는?"를 측정하는 것이 자기상관(Autocorrelation)입니다. ACF 차트에서 유의한 시차(lag)를 찾으면 데이터의 숨은 주기를 발견할 수 있습니다.

쉽게 말하면 -- 오늘 데이터가 어제/그저께와 얼마나 닮았는가?
자기상관은 "나 자신과의 상관"입니다. 다른 변수와의 관계가 아니라, 같은 데이터의 과거 값과 현재 값이 얼마나 비슷한지를 측정합니다.

메아리를 생각해보세요. 소리를 지르면 일정 시간 뒤에 메아리가 돌아옵니다. 자기상관은 "데이터의 메아리"입니다. 12개월 전 값과 상관이 높다면, 이 데이터에는 12개월 주기의 계절성이 있다는 뜻입니다.

단계별 이해:
- Lag 1 자기상관이 높다 = 오늘 값이 어제 값과 비슷하다 (관성이 있다)
- Lag 7 자기상관이 높다 = 일주일 전 값과 비슷하다 (주간 패턴이 있다)
- Lag 12 자기상관이 높다 = 12개월 전 값과 비슷하다 (연간 계절성이 있다)
- 모든 Lag의 자기상관이 0에 가깝다 = 완전한 랜덤 (예측 불가)
목표: 데이터 유형을 바꿔가며 ACF 패턴의 차이를 관찰하세요. 계절성이 있는 데이터는 특정 시차에서 높은 자기상관이 나타납니다. 파란 점선 밖의 막대가 "통계적으로 유의한" 자기상관입니다.

시계열 데이터

ACF (자기상관 함수)

Lag 1 자기상관
-
유의한 시차 수
-
최대 상관 시차
-
실무 활용: ACF에서 12개월 주기가 보이면 계절 조정이 필요합니다. ACF가 천천히 감소하면 추세가 존재합니다 -- 차분(differencing)을 고려하세요. ACF가 모두 유의하지 않으면 완전한 랜덤 -- 이 경우 정교한 모델보다 단순 평균이 최선입니다.

실습 4: 예측 샌드박스

이제 직접 예측을 해봅시다. 세 가지 방법을 비교합니다. "나이브 모델을 이길 수 있을까?"가 핵심 질문입니다.

나이브 (Naive)

"내일은 오늘과 같다." 마지막 관측값을 그대로 반복.

이동평균 (MA)

최근 K개 관측값의 평균으로 예측.

지수평활 (ES)

최근 값에 더 높은 가중치. alpha가 클수록 최근 중시.

도전: 예측 방법과 파라미터를 조절해서 나이브 모델보다 낮은 MAE/RMSE를 달성해보세요. "나이브 모델을 이기기 어렵다면, 이 데이터는 예측이 어렵다"는 뜻입니다.
alpha: 0.30
나이브 MAE
-
기준선
선택 모델 MAE
-
선택 모델 RMSE
-
나이브 대비
-
낮을수록 좋음
핵심 교훈: 실무에서 "나이브 모델을 이기는가?"는 가장 기본적인 벤치마크입니다. 복잡한 모델이 단순한 나이브 모델도 이기지 못한다면, 그 복잡성은 불필요합니다. 지수평활은 alpha 하나만으로 놀라울 정도로 좋은 예측을 할 수 있습니다.
예측의 한계 -- 멀리 예측할수록 부정확해진다: 내일 날씨는 꽤 정확히 예측할 수 있지만, 한 달 뒤 날씨는 거의 맞출 수 없습니다. 시계열 예측도 마찬가지입니다. 예측 기간(horizon)이 길어질수록 불확실성이 급격히 커집니다. 1개월 뒤 매출 예측은 쓸 만하지만, 1년 뒤 예측은 "추세가 유지된다면"이라는 강한 가정 위에 서 있습니다. 예측값과 함께 반드시 예측 구간(confidence interval)을 제시해야 하며, "이 예측은 X개월까지만 신뢰할 수 있다"는 한계를 명시하는 것이 정직한 분석입니다.

시계열 분석 체크리스트

단계 질문 도구
1. 시각화데이터에 추세, 계절성, 이상치가 보이는가?시계열 그래프
2. 분해추세와 계절성을 분리할 수 있는가?이동평균, STL 분해
3. 자기상관과거 값과 현재 값 사이에 상관이 있는가?ACF / PACF
4. 정상성평균과 분산이 시간에 따라 일정한가?ADF 검정, 차분
5. 모델링어떤 모델이 적합한가?ARIMA, 지수평활, ML
6. 검증예측이 나이브 모델보다 나은가?MAE, RMSE, 교차 검증
시계열의 함정: 시계열 데이터에서는 일반적인 교차 검증을 쓰면 안 됩니다. 미래 데이터로 과거를 예측하는 "데이터 누출"이 발생하기 때문입니다. 반드시 시간 순서를 유지한 검증(walk-forward validation)을 사용하세요.
이 장의 핵심
  • 시계열 데이터는 추세 + 계절성 + 잔차로 분해할 수 있다.
  • 이동평균은 노이즈를 제거하는 기본 도구이다. 윈도우 크기가 커질수록 매끄럽지만 반응이 느려진다.
  • 자기상관(ACF)은 데이터의 숨은 주기를 발견하는 열쇠이다.
  • 예측의 기본 벤치마크는 나이브 모델이다. 이를 이기지 못하는 복잡한 모델은 불필요하다.
  • 지수평활은 단순하면서도 강력한 예측 기법이다.

다음 장 예고: 지금까지 배운 회귀, 정규화, 시계열을 종합하여 실전 예측 프로젝트를 수행합니다.