본문 바로가기
수학&통계학

시계열 분석 (3) : 시계열 분해, 이동평균, 지수평활법, 평가지표

by 코스믹구구 2026. 5. 15.
1편에서 정상성과 자기상관, 2편에서 AR/MA/ARIMA를 배웠다.
이번 3편에서는 시계열 데이터를 구성 요소로 분해하는 시계열 분해, 잡음을 제거하고 패턴을 파악하는 이동평균, 과거 값에 가중치를 두는 지수평활법, 그리고 예측 성능을 측정하는 평가 지표까지 정리한다.

1. 시계열 분해 (Time Series Decomposition)

왜 분해하는가?

시계열 데이터를 보면 여러 패턴이 뒤섞여 있다. "이번 달 매출이 늘었는데, 이게 진짜 성장인가, 아니면 그냥 여름이라 오른 것인가?" 이 질문에 답하려면 추세와 계절성을 분리해야 한다. 시계열 분해는 데이터를 구성 요소별로 나눠서 각각을 이해하고 분석하는 기법이다.

가법 분해 vs 승법 분해

시계열을 어떻게 분해하느냐에 따라 두 가지 방식이 있다.

가법 분해 (Additive)
y(t) = T(t) + S(t) + R(t)

구성 요소들을 더한다.
계절 변동의 절대적 크기가 일정할 때 사용.

예) 여름마다 아이스크림이 항상 100개씩 더 팔림
→ 계절 효과가 추세와 무관하게 일정
승법 분해 (Multiplicative)
y(t) = T(t) × S(t) × R(t)

구성 요소들을 곱한다.
계절 변동의 상대적 비율이 일정할 때 사용.

예) 여름마다 아이스크림이 항상 30%씩 더 팔림
→ 계절 효과가 추세에 비례하여 증가
💡 어느 방식을 쓸지 어떻게 결정하나?
시계열 그래프에서 시간이 지날수록 계절 변동폭이 커지면 승법, 일정하면 가법.
승법은 로그를 취하면 가법으로 변환된다: log(y) = log(T) + log(S) + log(R)
→ 승법 분해를 로그 변환 후 가법 분해로 처리하는 것이 일반적.

STL 분해 (Seasonal and Trend decomposition using Loess)

가장 강력하고 현대적인 시계열 분해 방법이다. 로컬 가중 회귀(Loess)를 이용해 추세와 계절성을 유연하게 추출한다. 기존 가법/승법 분해보다 이상치에 강건하고 계절 패턴이 변해도 적응한다.

📌 분해 결과 활용
추세 분석: 장기적 성장/감소 방향 파악
계절성 조정: 계절성 제거 후 순수 추세만 비교 (계절 조정 매출)
이상치 탐지: 잔차가 갑자기 커지는 시점 = 비정상 이벤트
예측 성능 향상: 추세·계절성을 따로 모델링해 더 정확한 예측

 

2. 이동평균 (Moving Average) 스무딩

이동평균은 시계열의 잡음을 제거하고 전체적인 패턴(추세)을 더 뚜렷하게 보이게 하는 기법이다. 2편에서 다룬 MA 모형과는 다른 개념이다. MA 모형은 예측 공식이고, 이동평균 스무딩은 데이터 전처리/시각화 도구다.

단순 이동평균 (Simple Moving Average, SMA)

SMA_k(t) = (y(t) + y(t−1) + ··· + y(t−k+1)) / k
k: 윈도우 크기 (몇 개의 값을 평균할지)
각 시점에서 직전 k개 값의 평균 계산
📌 편의점 일별 매출 3일 이동평균 계산
원본 데이터
월: 80 화: 95 수: 70 목: 105 금: 120 토: 150 일: 110
3일 이동평균 (k=3)
수: (80+95+70)/3 = 81.7
목: (95+70+105)/3 = 90.0
금: (70+105+120)/3 = 98.3
토: (105+120+150)/3 = 125.0
일: (120+150+110)/3 = 126.7

→ 원본의 요동이 완만해지며 주간 추세가 드러남
k 값에 따른 효과
k 작음 (3일): 잡음 일부 제거, 단기 패턴 보임
k 큼 (30일): 잡음 많이 제거, 장기 추세만 보임. 하지만 최근 변화에 반응 느림

가중 이동평균 (Weighted Moving Average, WMA)

단순 이동평균은 k개 값에 동일한 가중치를 준다. 가중 이동평균은 최근 값에 더 큰 가중치를 주어 최근 변화를 더 반영한다.

WMA_k(t) = Σ wᵢ · y(t−i+1)   (i=1 to k), where Σwᵢ = 1
예) k=3, 가중치 (0.5, 0.3, 0.2): 오늘 50%, 어제 30%, 그제 20% 반영
→ 오늘에 가까울수록 더 큰 가중치

중심 이동평균 (Centered Moving Average)

시계열 분해에서 추세를 추출할 때 주로 사용한다. 현재 시점 전후의 값을 모두 사용해 더 매끄러운 추세선을 만든다.

CMA_k(t) = (y(t−k/2) + ··· + y(t) + ··· + y(t+k/2)) / k
단, 중심 이동평균은 시계열의 양끝 값을 잃는다 (미래값 필요)
→ 미래 예측이 아닌 사후 분석(추세 추출)에만 사용

 

반응형

 

3. 지수평활법 (Exponential Smoothing)

핵심 아이디어

이동평균은 최근 k개 값에만 가중치를 두고, k개 이전은 완전히 무시한다. 지수평활법은 모든 과거 값을 사용하되, 오래될수록 지수적으로 작은 가중치를 준다. 최근 값은 크게, 오래된 값은 거의 0에 가깝게 반영하는 것이다.

① 단순 지수평활 (Simple Exponential Smoothing, SES)

추세나 계절성이 없는 데이터에 사용한다.

S(t) = α · y(t) + (1−α) · S(t−1)
α (알파): 평활 계수 (0 < α < 1)
α에 가까울수록 최근 값 중시, (1−α)에 가까울수록 과거 예측값 유지
예측: ŷ(t+1) = S(t)
📌 SES 예시 — 카페 일별 판매량 (α=0.3)
초기값 S(1) = y(1) = 100
S(2) = 0.3×120 + 0.7×100 = 36 + 70 = 106
S(3) = 0.3×90 + 0.7×106 = 27 + 74.2 = 101.2
S(4) = 0.3×130 + 0.7×101.2 = 39 + 70.8 = 109.8

α=0.3: 과거를 70% 유지하며 천천히 적응
α=0.9: 최근 90% 반영, 과거 거의 무시 → 변화에 민감하게 반응
💡 α 값 선택에 따른 효과
α → 0: 예측값이 과거 평균에 가까움. 변화에 느리게 반응. 매끄러운 곡선
α → 1: 예측값이 직전 값에 가까움. 변화에 즉각 반응. 잡음 많이 포함
최적 α는 훈련 데이터에서 MSE를 최소화하는 값으로 자동 추정한다.

② Holt's 이중 지수평활 (Double Exponential Smoothing)

SES는 추세가 있는 데이터에서 체계적으로 늦게 반응한다. Holt의 방법은 수준(Level)과 추세(Trend)를 따로 평활해서 추세를 반영한다.

수준: L(t) = α · y(t) + (1−α) · [L(t−1) + T(t−1)]
추세: T(t) = β · [L(t) − L(t−1)] + (1−β) · T(t−1)
예측: ŷ(t+h) = L(t) + h · T(t)
α: 수준 평활 계수  |  β: 추세 평활 계수  |  h: 예측 기간

③ Holt-Winters 삼중 지수평활 (Triple Exponential Smoothing)

추세와 계절성이 모두 있는 데이터에 사용한다. 수준·추세·계절성 세 가지를 모두 따로 평활한다. ARIMA 이전에 실무에서 가장 많이 쓰이던 방법이며 지금도 많이 사용된다.

수준: L(t) = α · [y(t)/S(t−s)] + (1−α) · [L(t−1)+T(t−1)]
추세: T(t) = β · [L(t)−L(t−1)] + (1−β) · T(t−1)
계절: S(t) = γ · [y(t)/L(t)] + (1−γ) · S(t−s)
예측: ŷ(t+h) = [L(t) + h·T(t)] · S(t−s+h)
α: 수준 평활  |  β: 추세 평활  |  γ: 계절 평활  |  s: 계절 주기
위는 승법(Multiplicative) 버전 / 가법 버전은 ÷, × 대신 +, − 사용
방법 수준 추세 계절성 파라미터
SES α
Holt (이중) α, β
Holt-Winters (삼중) α, β, γ

 

4. 시계열 예측 평가 지표

모형을 만들었으면 "얼마나 잘 예측하는가?"를 측정해야 한다. 이를 위해 실제값(y)과 예측값(ŷ)의 차이를 다양한 방식으로 계산한다.

주요 예측 오차 지표

MAE (평균 절대 오차)
MAE = (1/n) · Σ|y(t) − ŷ(t)|

오차의 절댓값 평균.
단위가 원본과 같아 해석 쉬움.
이상치에 덜 민감.
RMSE (제곱근 평균 제곱 오차)
RMSE = √[(1/n) · Σ(y(t)−ŷ(t))²]

큰 오차에 더 큰 패널티.
단위가 원본과 같음.
이상치에 민감.
MAPE (평균 절대 백분율 오차)
MAPE = (1/n) · Σ|y(t)−ŷ(t)|/|y(t)| × 100%

오차를 비율(%)로 표현.
단위 다른 모형 간 비교 가능.
y=0 근처에서 발산 문제.
SMAPE (대칭 MAPE)
SMAPE = (1/n) · Σ|y−ŷ|/((|y|+|ŷ|)/2) × 100%

MAPE의 비대칭 문제 개선.
0~200% 범위로 제한됨.
y=0일 때도 안정적.
📌 예측 오차 계산 예시
실제값 vs 예측값 (주별 배달 주문 수)
주차: 1 2 3 4 5
실제(y): 200 220 180 250 230
예측(ŷ): 210 205 195 240 225
오차: −10 15 −15 10 5
지표 계산
MAE = (10+15+15+10+5)/5 = 11.0건
RMSE = √((100+225+225+100+25)/5) = √135 ≈ 11.6건
MAPE = (10/200 + 15/220 + 15/180 + 10/250 + 5/230)/5 × 100
= (5.0% + 6.8% + 8.3% + 4.0% + 2.2%)/5 = 5.3%

훈련-검증 분할 방법

시계열 데이터는 일반 데이터처럼 무작위로 나눠서는 안 된다. 시간 순서를 반드시 유지해야 한다.

⚠️ 데이터 누출 (Data Leakage) 주의
시계열에서 미래 데이터가 학습에 포함되는 것을 데이터 누출이라 한다.
• 정규화(평균·분산 계산) 시 전체 데이터를 사용하면 안 됨 → 훈련 데이터만 사용
• 이동평균 계산 시 미래값 포함 금지 (중심 이동평균 사용 주의)
→ 누출이 있으면 테스트 성능이 비현실적으로 좋게 나오고, 실제 배포 후 성능이 크게 떨어진다.

 

5. 전통 방법을 넘어서 — 현대적 시계열 모형

ARIMA, 지수평활법은 강력하고 해석 가능하지만 한계도 있다. 비선형 패턴, 여러 외부 변수의 영향, 매우 긴 의존성 등을 처리하기 어렵다. 최근에는 더 강력한 방법들이 사용된다.

모형 특징 장점 단점
Prophet
(Facebook)
추세+계절성+휴일 효과 분리 자동화, 해석 용이, 결측값 처리 복잡한 의존성 처리 한계
LSTM
(딥러닝)
장기 의존성 학습 비선형, 복잡한 패턴 처리 데이터 많이 필요, 해석 어려움
Transformer 어텐션으로 긴 시퀀스 처리 병렬화, 매우 긴 의존성 데이터 매우 많이 필요
XGBoost/LGBM 특성 공학 후 ML 적용 빠르고 강력, 외부 변수 쉽게 포함 시간 의존성 직접 처리 못함
💡 전통 vs 현대 — 무엇을 선택해야 하는가?
• 데이터가 적고 해석이 중요하면: ARIMA, 지수평활법
• 계절성과 휴일 효과가 있으면: Prophet
• 데이터가 충분하고 비선형 패턴이 있으면: LSTM, Transformer
• 외부 변수가 많고 특성 공학이 가능하면: XGBoost/LightGBM
→ 실무에서는 여러 모형을 앙상블하는 것이 가장 좋은 성능을 내는 경우가 많다.

📌 핵심 정리

  • 시계열 분해: y(t) = T + S + R (가법) 또는 y(t) = T × S × R (승법)
  • 가법 vs 승법: 계절 변동폭이 일정하면 가법, 비례해 커지면 승법
  • STL 분해: Loess 기반. 이상치에 강건하고 유연한 현대적 분해 방법
  • 단순 이동평균(SMA): k개 값의 평균. 잡음 제거. k 클수록 매끄럽고 반응 느림
  • 가중 이동평균(WMA): 최근 값에 더 큰 가중치. 변화에 더 빠르게 반응
  • 중심 이동평균: 전후 값 모두 사용. 사후 분석(추세 추출)에만 사용
  • SES: α·y(t)+(1−α)·S(t−1). 추세/계절성 없는 데이터. α→1이면 최근 중시
  • Holt (이중): 수준+추세 평활. α, β 두 파라미터
  • Holt-Winters (삼중): 수준+추세+계절성 평활. α, β, γ 세 파라미터
  • MAE: 이상치에 강건 / RMSE: 큰 오차 패널티 / MAPE: 비율(%) 표현
  • 시계열 분할: 시간 순서 유지 필수. 미래 데이터 학습 사용 금지
  • 데이터 누출: 미래값이 학습에 포함되면 비현실적 성능 → 실전 실패

▶ 1편(정상성·ACF/PACF) → 2편(AR·MA·ARIMA) → 3편(분해·이동평균·지수평활·평가) 순서로 읽으면 시계열 분석의 전체 흐름이 완성된다.

728x90
반응형