시계열 예측 기초: 추세 · 계절성 · 자기상관 · 지수평활 · ARIMA · 평가 지표
자기상관 · 차분 · 기준선 · 지수평활 · ARIMA와 MAE · MAPE · MASE를 손계산하는 시계열 예측 수업
먼저 알아야 할 것
다루는 내용
시계열을 추세 · 계절성 · 나머지로 나눠 보고, 자기상관 r_k와 차분으로 정상성을 다룹니다. 평균 · 나이브 · 계절 나이브 · 드리프트 기준선과 단순 지수평활, ARIMA(p,d,q)의 구성과 특수한 경우를 FPP3 교재 흐름으로 정리합니다. 시간 순 교차 검증과 MAE · RMSE · MAPE · MASE를 같은 예로 손계산하고, DeepAR · N-BEATS · PatchTST · Chronos 등 딥러닝 · 기초 모델 예측의 위치를 원 논문 초록 기준으로 소개합니다.
해설
시계열 예측 기초: 추세 · 계절성 · 자기상관 · 지수평활 · ARIMA · 평가 지표
매출, 서버 트래픽, 전력 수요, 재고처럼 시간 순서대로 쌓이는 숫자를 시계열(time series) 이라 합니다. 시계열 예측은 일반 머신러닝과 두 가지가 다릅니다. 미래 정보를 절대 쓰면 안 되고(시간 순 검증), "그냥 어제 값"이라는 아주 강한 기준선이 있다는 점입니다. 이 수업은 Hyndman · Athanasopoulos의 『Forecasting: Principles and Practice』(3판) 흐름을 따라 기초 개념과 지표를 손계산하고, 딥러닝 예측 모델의 지형까지 정리합니다.
| 항목 | 내용 |
|---|---|
| 참고 출처 | Hyndman · Athanasopoulos, 『Forecasting: Principles and Practice』 3판(OTexts, 온라인판) 2.8 · 5.2 · 5.8 · 5.10 · 8.1 · 9.1 · 9.5절, DeepAR(arXiv 1704.04110), N-BEATS(arXiv 1905.10437), PatchTST(arXiv 2211.14730), Chronos(arXiv 2403.07815) |
| 트랙 · 수준 | 시계열 · 기초 |
| 이 수업이 다루는 범위 | 추세 · 계절성 · 잡음, 자기상관(ACF), 정상성과 차분, 기준선 예측(평균 · 나이브 · 계절 나이브 · 드리프트), 이동평균 · 단순 지수평활, ARIMA 개요, 시간 순 교차 검증, MAE · RMSE · MAPE · MASE, 딥러닝 · 기초 모델 개요 |
들어가기 전에
- 확률과 통계 최소한: 기댓값 · 분산 · 조건부 확률 · 베이즈 정리 — 평균 · 분산 · 상관
- 모델 평가와 과적합: 데이터 나누기 · 혼동 행렬 · 정규화 — 학습 · 검증 · 테스트 나누기. 시계열에서는 이것을 '시간 순'으로 바꿉니다.
- 순환 신경망(RNN)과 LSTM 직관 — 딥러닝 예측 모델 부분에 필요(선택)
한눈에 보기
- 시계열을 추세 · 계절성 · 나머지로 나눠 보는 눈을 기릅니다.
- 자기상관 를 계산하고, 차분으로 정상성을 만드는 이유를 압니다.
- 평균 · 나이브 · 드리프트 · 단순 지수평활 예측을 손으로 만듭니다.
- MAE · RMSE · MAPE · MASE를 같은 예로 계산하고, MASE가 1보다 작다는 뜻을 설명할 수 있습니다.
- 시간 순 교차 검증과, DeepAR · N-BEATS · PatchTST · Chronos 같은 딥러닝 예측의 위치를 압니다.
1. 시계열의 세 성분과 자기상관
직관(해설용 비유). 카페 하루 매출을 떠올립니다. 단골이 늘며 천천히 오르는 흐름(추세, trend), 주말마다 뛰는 반복(계절성, seasonality — 꼭 계절이 아니라 '정해진 주기'), 그리고 비 오는 날 같은 예측 못 할 흔들림(나머지 · 잡음)이 겹쳐 있습니다. 예측은 앞의 두 가지를 잡아내고, 세 번째는 '불확실성'으로 표현하는 일입니다.
자기상관(autocorrelation). "오늘 값이 칸 전 값과 얼마나 같이 움직이나"를 잽니다(교재 2.8절).
| 기호 | 뜻 |
|---|---|
| 시각 의 값 | |
| 전체 평균 | |
| 시차(lag), 몇 칸 전과 비교하는지 | |
| 관측 개수 | |
| 시차 의 자기상관(−1~1) |
읽는 법(교재 설명). 추세가 있으면 작은 시차의 가 크고 양수이며 천천히 줄어듭니다. 계절성이 있으면 주기의 배수 시차(예: 주간 데이터에서 7, 14)에서 가 커집니다. 아무 패턴 없는 잡음(백색 잡음)이라면 의 약 95%가 안에 들어옵니다.
숫자로 해 보기(해설용, numpy로 확인). 학습 데이터 6개 , 평균 13.
- 편차: , 제곱합
- 시차 1 곱의 합:
2. 정상성과 차분
정상성(stationarity). 통계적 성질(평균 · 분산 · 자기상관 모양)이 언제 관측하든 같은 시계열입니다(교재 9.1절). 추세나 계절성이 있으면 정상이 아닙니다. 많은 고전 모델(ARIMA의 AR · MA 부분)이 정상 시계열을 가정하므로, 먼저 정상으로 만듭니다.
차분(differencing). 바로 앞 값과의 차이를 새 시계열로 씁니다.
| 기호 | 뜻 |
|---|---|
| 차분한 값(변화량) | |
| 계절 주기(월별 데이터의 연 주기면 12) |
숫자로 해 보기(해설용). 위 의 1차 차분은 입니다. 올라가던 수준(추세)이 사라지고 '얼마나 변했나'만 남았습니다. 차분 후 시차 1 자기상관은 약 −0.46으로, 원래의 양의 상관이 없어졌습니다. 교재는 정상 시계열의 ACF는 빠르게 0으로 떨어지고, 비정상 시계열은 천천히 줄어든다고 설명하며, 차분이 필요한지 판단하는 단위근 검정(KPSS 검정: 귀무가설이 '정상'이라 p값이 작으면 차분 필요)을 소개합니다.
3. 기준선 예측: 이기기 어려운 단순한 방법들
교재 5.2절의 네 가지 기준선입니다. 새 모델은 반드시 이들과 먼저 비교 해야 합니다.
| 방법 | 예측식 | 뜻 |
|---|---|---|
| 평균 | 과거 평균 | |
| 나이브 | 마지막 값 그대로 | |
| 계절 나이브 | 같은 계절의 마지막 값 | 지난주 같은 요일 값 |
| 드리프트 | 처음과 끝을 잇는 직선 연장 |
숫자로 해 보기(해설용). 학습 , 실제 미래 값 .
- 평균: 13, 13
- 나이브: 16, 16
- 드리프트: 기울기 →
이동평균(moving average). 최근 개 평균으로 흔들림을 걸러 추세를 봅니다. 3칸 이동평균은 입니다. 추세를 보는 도구이지 그 자체로 좋은 예측법은 아닙니다(교재 3장의 분해에 쓰임).
단순 지수평활(SES, 교재 8.1절). 최근 값일수록 무게를 지수적으로 더 주는 가중 평균입니다.
| 기호 | 뜻 |
|---|---|
| 시각 의 수준(평활값) | |
| 평활 계수. 클수록 최근 값에 민감(1이면 나이브와 같음) |
숫자로 해 보기(해설용). , 으로 시작하면 은 가 됩니다. 미래 예측은 모두 14.75입니다. 교재 표대로 이면 가장 최근 값의 무게는 0.2, 그 전은 0.16, 그 전은 0.128 … 로 줄어듭니다. SES는 추세가 없을 때 맞는 방법이라, 이 데이터처럼 오르는 시계열에는 늦게 따라옵니다. 추세 · 계절을 더한 확장이 홀트(Holt) · 홀트-윈터스 방법입니다.
4. ARIMA 개요
구성(교재 9.5절). ARIMA 는 세 부품의 조합입니다.
- AR(, 자기회귀): 과거 값 개의 선형 결합
- I(, 적분 = 차분 횟수): 정상으로 만들려고 차분한 횟수
- MA(, 이동평균 오차): 과거 예측 오차 개의 선형 결합(위의 '이동평균 평활'과는 다른 개념)
| 기호 | 뜻 |
|---|---|
| 번 차분한 값 | |
| 상수 | |
| AR 계수 | |
| MA 계수 | |
| 시각 의 예측 못 하는 오차(백색 잡음) |
특수한 경우(교재 표). ARIMA(0,0,0) = 백색 잡음, ARIMA(0,1,0) = 랜덤워크(상수가 있으면 드리프트 포함 랜덤워크 = 드리프트 예측), ARIMA(,0,0) = 자기회귀, ARIMA(0,0,) = 이동평균. 즉 앞 절의 나이브 · 드리프트 예측도 ARIMA의 한 경우입니다.
숫자로 해 보기(해설용). AR(1) 에서 이면 1칸 뒤 예측은 , 2칸 뒤는 입니다. 계속 가면 장기 평균 로 다가갑니다. 정상 AR 모델의 먼 미래 예측은 평균으로 돌아갑니다.
왜 아직도 배우나. 데이터가 적고 패턴이 단순한 시계열에서 ARIMA · 지수평활은 빠르고, 해석되며, 예측 구간까지 줍니다. 딥러닝이 이기는지는 데이터마다 확인해야 합니다.
5. 평가: 시간 순 검증과 지표
시간 순 교차 검증(교재 5.10절). 무작위로 섞어 나누면 미래로 과거를 맞히는 '정보 누설'이 생깁니다. 대신 예측 기준점을 굴려 가며(rolling forecasting origin) 평가합니다.
flowchart LR
D[시간 순 데이터] --> S1[학습 1..3 → 4 예측]
D --> S2[학습 1..4 → 5 예측]
D --> S3[학습 1..5 → 6 예측]
S1 --> E[오차 모으기]
S2 --> E
S3 --> E
E --> M[MAE · RMSE · MASE 평균]
M --> C{기준선<br/>나이브 · 계절 나이브보다 나은가}
C -->|예| U[모델 채택 · 예측 구간 함께 보고]
C -->|아니오| B[기준선 사용 · 특징 재검토]지표(교재 5.8절). 예측 오차 에 대해
| 지표 | 장점 | 주의 |
|---|---|---|
| MAE | 원래 단위, 이해 쉬움 | 다른 단위 시계열끼리 비교 불가 |
| RMSE | 큰 오차에 더 큰 벌점 | 이상치에 민감, 단위 의존 |
| MAPE | 단위 없음(%) | 이면 정의 안 됨, 0 근처에서 폭발 |
| MASE | 단위 없음, 0 문제 없음 | 분모는 학습 데이터 의 1칸 나이브 오차 평균 |
계절 데이터는 MASE 분모를 계절 나이브 오차()로 바꿉니다. 교재는 sMAPE는 쓰지 말라는 Hyndman · Koehler의 권고도 소개합니다.
숫자로 해 보기(해설용, numpy로 확인). 학습 , 실제 .
- MASE 분모: 학습 데이터의 1칸 차이 절댓값 의 평균
| 예측법 | 예측 | 오차 | MAE | RMSE | MAPE | MASE |
|---|---|---|---|---|---|---|
| 나이브 | 16, 16 | 2, 1 | 1.50 | 1.58 | 8.50% | 0.94 |
| 평균 | 13, 13 | 5, 4 | 4.50 | — | — | 2.81 |
| 드리프트 | 17.2, 18.4 | 0.8, −1.4 | 1.10 | — | — | 0.69 |
나이브의 MAPE는 입니다. MASE가 1보다 작다 는 것은 "학습 구간의 1칸 나이브 예측 평균 오차보다 작다"는 뜻입니다(교재 설명). 이 예에서는 추세를 반영한 드리프트가 가장 좋습니다. 단, 테스트 점 2개로 결론 내리면 안 되고, 위 그림처럼 여러 기준점에서 평균해야 합니다.
6. 딥러닝 예측과 시계열 기초 모델
언제 딥러닝인가. 비슷한 시계열이 수천 개(상품별 판매량, 센서별 측정값) 있고, 외부 변수가 많을 때 강점이 있습니다. 시계열 하나하나 따로 맞추는 고전 방법과 달리, 여러 시계열을 한 모델이 함께 학습 해 패턴을 공유합니다.
| 모델 | 핵심 아이디어(원 논문 초록 기준) |
|---|---|
| DeepAR(2017) | 관련 시계열 다수로 자기회귀 RNN을 학습해, 값 하나가 아니라 확률분포(예측 구간) 를 예측. 기존 최고 방법 대비 약 15% 정확도 개선 보고 |
| N-BEATS(2019) | 완전 연결 층을 깊게 쌓고 앞 · 뒤 잔차 연결로 연결. M3 · M4 · TOURISM에서 통계 기준선보다 약 11%, M4 대회 우승 방법보다 약 3% 개선 보고. 해석 가능한 구성도 가능 |
| PatchTST(2023, ICLR) | 시계열을 구간(패치)으로 잘라 트랜스포머 토큰으로 쓰고, 채널(변수)을 각각 독립된 단변량 시계열로 다룸. 긴 과거를 적은 계산으로 봄 |
| Chronos(2024) | 값을 스케일링 · 구간화해 이산 토큰 으로 바꾸고, T5 계열 언어 모델 구조(약 20M~710M 파라미터)를 교차 엔트로피로 학습. 42개 데이터셋 벤치마크에서 평가 |
숫자로 해 보기(해설용). 길이 512인 과거를 패치 길이 16으로 겹치지 않게 자르면 토큰은 개입니다. 어텐션 점수 행렬은 칸에서 칸으로 256배 줄어듭니다. PatchTST가 긴 과거를 볼 수 있는 이유가 이것입니다(실제 논문은 패치를 겹치게도 자릅니다).
기초 모델(foundation model)의 뜻. Chronos처럼 대량의 다양한 시계열로 미리 학습한 모델은 새 시계열에 추가 학습 없이(제로샷) 예측을 냅니다. 언어 모델이 "다음 토큰"을 예측하듯 "다음 값 구간"을 예측하는 셈입니다(→ 언어 모델의 기본). 긴 시퀀스를 효율적으로 다루는 상태 공간 모델 계열은 Mamba 에서 볼 수 있습니다.
실무 체크리스트(해설용 정리).
- 나이브 · 계절 나이브 기준선과 MASE부터 계산합니다.
- 시간 순 교차 검증만 씁니다(무작위 분할 금지).
- 미래 시점에 알 수 없는 특징(예: 당일 확정 매출)을 입력에 넣지 않았는지 확인합니다.
- 점 예측뿐 아니라 예측 구간(불확실성)을 함께 보고합니다.
연습 문제
- 에서 나이브 · 드리프트의 1칸 뒤 예측은?
- 풀이: 나이브 8, 드리프트 입니다.
- 위 데이터의 MASE 분모(1칸 나이브 오차 평균)는? 실제 다음 값이 10이고 나이브 예측을 썼다면 MASE는?
- 풀이: 차이 의 평균 . 오차 이므로 MASE 입니다.
- 실제 값이 , 예측이 이면 MAPE를 쓸 수 있나요?
- 풀이: 인 시점에서 가 정의되지 않으므로 쓸 수 없습니다. MAE(0.5)나 MASE를 씁니다.
- SES에서 이면 어떤 방법과 같아지나요?
- 풀이: 이므로 마지막 값 그대로, 즉 나이브 예측과 같습니다.
- 월별 데이터에서 계절 차분 를 하는 이유는?
- 풀이: 같은 달끼리 빼서 매년 반복되는 계절 패턴을 없애고 정상에 가깝게 만들기 위해서입니다.
스스로 점검
- 시계열에서 데이터를 무작위로 섞어 검증하면 안 되는 이유는?
- 답: 미래 값이 학습에 들어가 과거를 맞히는 정보 누설이 생기고, 실제 사용 상황(과거로 미래 예측)과 달라져 성능이 부풀려지기 때문입니다.
- MASE가 0.8이라는 것은 무슨 뜻인가요?
- 답: 예측 오차의 평균이, 학습 구간에서 1칸 나이브 예측이 낸 평균 오차의 80% 수준이라는 뜻입니다. 1보다 작으면 그 기준보다 낫습니다.
- 정상 AR(1) 모델로 아주 먼 미래를 예측하면 어떻게 되나요?
- 답: 과거 값의 영향이 계수의 거듭제곱으로 줄어들어, 예측이 장기 평균 으로 수렴합니다.
용어 정리
| 용어 | 쉬운 뜻 |
|---|---|
| 시계열 | 시간 순서대로 기록한 숫자 줄 |
| 추세 · 계절성 | 장기적인 오르내림 · 정해진 주기로 반복되는 패턴 |
| 자기상관(ACF) | 시계열이 몇 칸 전의 자기 자신과 얼마나 같이 움직이는지 |
| 백색 잡음 | 패턴 없이 서로 독립인 흔들림 |
| 정상성 | 언제 보든 통계적 성질이 같은 성질 |
| 차분 | 바로 앞(또는 같은 계절) 값과의 차이를 새 시계열로 쓰는 것 |
| 나이브 · 드리프트 예측 | 마지막 값 그대로 · 처음과 끝을 잇는 직선 연장 |
| 단순 지수평활 | 최근 값에 지수적으로 더 큰 무게를 준 가중 평균 |
| ARIMA | 자기회귀 · 차분 · 오차 이동평균을 합친 고전 예측 모델 |
| 시간 순 교차 검증 | 예측 기준점을 앞으로 굴려 가며 과거만으로 미래를 평가하는 방법 |
| MAE · RMSE · MAPE · MASE | 절대 오차 평균 · 제곱 평균 제곱근 · 백분율 오차 · 나이브 대비 비율 오차 |
| 예측 구간 | 미래 값이 들어올 것으로 보는 범위(불확실성 표현) |
| 시계열 기초 모델 | 다양한 시계열로 미리 학습해 새 시계열에 바로 쓰는 모델 |
더 깊이 보려면
- 『Forecasting: Principles and Practice』 3판 — 3장(분해), 8장(지수평활 · ETS), 9장(ARIMA), 12장(고급 방법). R(fable) 코드가 함께 있습니다.
- DeepAR · N-BEATS · PatchTST · Chronos 원 논문 — 각 모델이 어떤 데이터에서 어떤 기준선과 비교했는지 확인하는 습관이 중요합니다.
다음에 볼 것
- 모델 설명하기: 특징 중요도 · 순열 중요도 · 부분 의존 · LIME · SHAP — 다음 트랙: 만든 모델이 무엇을 보고 예측하는지 설명하는 법
- 순환 신경망(RNN)과 LSTM 직관 — DeepAR 같은 자기회귀 예측 모델의 바탕
- Mamba: 선택적 상태 공간 모델로 선형 시간 시퀀스 모델링 — 긴 시퀀스를 효율적으로 다루는 최신 시퀀스 모델
라이선스
본문은 KAITABASE 자체 해설입니다. 참고 교재 『Forecasting: Principles and Practice』(OTexts)는 온라인으로 무료 공개되어 있으나, 첫 화면에서 라이선스 표기는 확인하지 못해 요약 · 인용만 했습니다. 시계열 숫자 예는 이 수업을 위해 만든 해설용 예이며 numpy로 계산을 확인했습니다.
출처
- Rob J Hyndman · George Athanasopoulos, Forecasting: Principles and Practice, 3rd ed., OTexts: https://otexts.com/fpp3/
- 2.8 Autocorrelation: https://otexts.com/fpp3/acf.html
- 5.2 Some simple forecasting methods: https://otexts.com/fpp3/simple-methods.html
- 5.8 Evaluating point forecast accuracy: https://otexts.com/fpp3/accuracy.html
- 5.10 Time series cross-validation: https://otexts.com/fpp3/tscv.html
- 8.1 Simple exponential smoothing: https://otexts.com/fpp3/ses.html
- 9.1 Stationarity and differencing: https://otexts.com/fpp3/stationarity.html
- 9.5 Non-seasonal ARIMA models: https://otexts.com/fpp3/non-seasonal-arima.html
- David Salinas 외, DeepAR: Probabilistic Forecasting with Autoregressive Recurrent Networks, 2017: https://arxiv.org/abs/1704.04110
- Boris N. Oreshkin 외, N-BEATS: Neural basis expansion analysis for interpretable time series forecasting, 2019: https://arxiv.org/abs/1905.10437
- Yuqi Nie 외, A Time Series is Worth 64 Words: Long-term Forecasting with Transformers(PatchTST), ICLR 2023: https://arxiv.org/abs/2211.14730
- Abdul Fatir Ansari 외, Chronos: Learning the Language of Time Series, 2024: https://arxiv.org/abs/2403.07815
AI 원리부터 이해하기 · 시계열 모듈
시계열 모듈 학습
이 글은 시계열 모듈의 학습 자료입니다. 전체 1개 자료 중 1번째입니다.
출처·원문
원문 보기요약만