"시계열 예측 한다고 ARIMA·Prophet 만지작거리다 시간 다 가는데, 모델 학습 없이 그냥 한 번에 안 될까?"
📌 핵심 3줄 요약
- 구글 TimesFM은 2억 파라미터급 시계열 파운데이션 모델로, 사전 학습된 가중치만으로 제로샷 예측이 가능하다.
- HuggingFace에서 가중치를 받아 단변량 시계열 한 줄만 넘기면 최대 horizon 길이까지 한 번에 예측이 떨어진다.
- 한국 공공데이터 전력 수요·검색 트렌드 CSV에 그대로 적용해도 Prophet 대비 셋업 시간이 압도적으로 짧다.
1. TimesFM이 뭐고 왜 쓰는가
TimesFM(Time-series Foundation Model)은 구글 리서치가 공개한 디코더 전용 트랜스포머 기반 시계열 예측 모델이다. 1,000억 개 이상의 실제·합성 시계열 포인트로 사전 학습되어, 새로운 데이터셋에 학습을 다시 돌리지 않고도 곧장 예측값을 뽑을 수 있는 게 핵심이다. 전력 수요, 매출, 트래픽 같은 단변량 시계열에서 ARIMA/Prophet을 대체하거나 베이스라인으로 쓰기에 좋다.
💡 핵심 한 줄
TimesFM은 "도메인 학습이 끝난 시계열용 GPT"라고 보면 된다. 사용자가 할 일은 데이터를 정렬·결측 처리해서 넘기는 것뿐이다.
2. 공식 스펙 한눈에 정리
실전에서 가장 자주 막히는 지점이 입력 길이·예측 horizon·메모리다. 공식 저장소·HuggingFace 카드 기준 핵심 수치를 표로 정리했다.
| 항목 | timesfm-1.0-200m | timesfm-2.0-500m |
|---|---|---|
| 파라미터 | 약 2억 | 약 5억 |
| 최대 입력 컨텍스트 | 512 포인트 | 2,048 포인트 |
| 예측 horizon | 최대 128 | 최대 128 |
| 변수 유형 | 단변량 | 단변량(공변량은 외부 래퍼) |
| CPU 추론 | 가능(분 단위) | GPU 권장 |
| 라이선스 | Apache-2.0 | Apache-2.0 |
실험·블로그용이면 200m으로 충분하다. 매출·전력 데이터처럼 일 단위 1~2년치(약 300~700포인트)는 512 컨텍스트에 잘 들어맞는다.
3. 5분 안에 첫 예측 띄우기
아래 코드는 파이썬 3.10 이상, timesfm 패키지 1.x 기준이다. 가상환경 새로 파고 그대로 붙여 넣으면 된다.
처음 실행하면 약 800MB 가중치를 받는다. 2회차부터는 캐시에서 즉시 로드되어 CPU에서도 1~3초 안에 응답이 떨어진다.
4. 한국 데이터 적용 — 전력 수요 CSV로 끝내기
전력거래소가 공개하는 시간대별 전력 수요 CSV(date, hour, demand_mw)를 그대로 쓴다고 가정한다. 핵심은 결측 보간과 빈도 인자 freq다.
⚠️ 흔한 실수
- 결측 시간대를 그냥 비워두면 시퀀스 길이가 어긋나 예측값이 휘어진다 →
asfreq("H").interpolate()로 채우기. freq=[0]은 일·시간처럼 빈도 높은 데이터,freq=[2]는 월간 매출 같은 저빈도. 잘못 지정하면 MAE가 20~30% 악화될 수 있다.
네이버 데이터랩 검색 트렌드 CSV(주 단위)도 동일하게 asfreq("W").interpolate() + freq=[1]로 바꾸기만 하면 된다.
5. TimesFM vs Prophet vs ARIMA
같은 데이터에 세 방법을 돌릴 때 셋업 비용과 운영 특성이 어떻게 갈리는지 정리했다.
| 기준 | TimesFM | Prophet | ARIMA |
|---|---|---|---|
| 학습 단계 | 불필요(제로샷) | 시리즈별 fit | 시리즈별 fit + 차수 탐색 |
| 계절성 처리 | 내장(추정) | 명시적 설정 | SARIMA로 별도 |
| 외생 변수 | 외부 래퍼 필요 | add_regressor | ARIMAX |
| 최초 실행 시간 | 가중치 다운로드 후 초 단위 | 초~분 | 분 단위(차수 탐색) |
| 데이터 양 요구 | 짧아도 동작(수십~) | 최소 1~2주기 | 정상성 확보 필요 |
새 시리즈가 끊임없이 추가되는 SaaS 환경이라면 TimesFM 한 줄로 베이스라인을 깔고, 특정 시리즈만 Prophet으로 보강하는 조합이 운영 부담이 가장 낮다.
⚠️ 단점과 주의할 점
- 단변량 가정이 강하다 — 가격·프로모션 같은 외생 변수를 직접 받지 않으므로, 영향 큰 도메인은 별도 회귀로 잔차를 보정해야 한다.
- 예측 구간(분위수)이 점추정 대비 보수적이지 않을 때가 있다 — 리스크 관리용으로는 분위수 출력 검증이 필요하다.
- horizon 128을 넘으면 슬라이딩 방식으로 이어 붙여야 하고, 오차가 누적된다.
- Apache-2.0 라이선스지만 상용 SaaS 임베딩 전에는 약관 변경 여부를 출시 시점에 다시 확인해야 한다.
✅ 핵심 정리
- TimesFM은 학습 단계를 건너뛰고 제로샷으로 단변량 시계열을 예측한다.
- 200m 모델은 컨텍스트 512·horizon 128로 CPU에서도 실용 속도를 낸다.
- 데이터는 결측 보간 + 정확한
freq지정이 정확도의 8할이다. - 새 시리즈 베이스라인은 TimesFM, 외생 변수 큰 시리즈는 Prophet 병행이 현실적이다.
🚀 지금 바로 할 일
pip install "timesfm[torch]"로 패키지를 설치하고 위forecast.py를 그대로 실행해 더미 시계열로 동작 확인.- 손에 있는 CSV(매출·트래픽·전력 등) 1개를
asfreq+interpolate로 정돈해 최근 512포인트만 잘라 넣고 horizon 64로 첫 예측. - 같은 데이터에 Prophet 또는 ARIMA를 돌려 MAE·MAPE를 비교한 뒤, 베이스라인을 어느 쪽으로 둘지 결정.
💬 의견
시계열 예측에 파운데이션 모델을 이미 써보셨다면, 가장 효과를 본 도메인과 막혔던 데이터 특성을 댓글로 공유 부탁드립니다.
참고 자료
- google-research/timesfm GitHub
- timesfm-1.0-200m-pytorch · HuggingFace
- timesfm-2.0-500m-pytorch · HuggingFace
- Google Research Blog — A decoder-only foundation model for time-series forecasting
- Prophet 공식 문서
작성자: AI/데이터 도메인에서 시계열 예측·MLOps 파이프라인을 다뤄온 엔지니어. 본 글은 공식 저장소·HuggingFace 모델 카드·구글 리서치 블로그를 1차 자료로 삼고, 한국 공공데이터 CSV 적용 시 실제 막혔던 지점들을 정리해 작성했다.
'AI 튜토리얼' 카테고리의 다른 글
| LiveKit Agents 실시간 음성 AI 만들기 완벽 가이드 (2026) (0) | 2026.06.19 |
|---|---|
| Anthropic Skills 공식 레포 완벽 분석 (2026): SKILL.md부터 첫 호출까지 (0) | 2026.06.18 |
| SurfSense 설치: NotebookLM 오픈소스 대안 (2026) (0) | 2026.06.16 |
| Claude Code + Apple Foundation Models 연동 가이드 (OS 27 베타, 2026) (0) | 2026.06.15 |
| aisuite Python 5분 시작: OpenAI·Claude·Gemini 통합 (2026) (0) | 2026.06.14 |