c24165b8bc
에이전트 8종(대화형/프로그래머 C·S/디자이너/설계자/기획자/QA/PD/PM)에게 [공통 기본 능력 + 롤별 Specialty] 2층으로 지식을 주입하기 위한 재분류. 문서 내용·포맷은 무수정, 폴더 이동만 (6,372개 문서 수 보존 확인). - Topic_Programming → Domain_Programming (내부 구조 보존) - Topic_Graphic → Domain_Design - Topic_Business → Domain_Product - Topic_General → Domain_General - _Common 신설: Math(구 Topic_Math_Specialty), Reasoning(구 General/From_Thinking & Reasoning), Reasoning_Creativity(구 General/From_창의성), Communication(Poetic_Blog_Writing + From_writing) - 타 도메인의 From_* 폴더는 유지 (출처 표기일 뿐, 이미 도메인에 맞게 분류된 문서) - 빈 폴더 정리 (memory/procedures) - 에이전트→폴더 매핑은 workspace의 .astra/agent-knowledge-map.json (9개 에이전트) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5.6 KiB
5.6 KiB
id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
| id | title | category | status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | verification_status | tags | raw_sources | last_reinforced | github_commit | tech_stack | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wiki-2026-0508-time-series-analysis | Time Series Analysis | 10_Wiki/Topics | verified | self |
|
none | A | 0.9 | applied |
|
2026-05-10 | pending |
|
Time Series Analysis
매 한 줄
"매 시간 축 위의 dependency가 modeling target". ARIMA의 classical 1970s 시대를 거쳐, 2020s에 Transformer-based foundation models (TimeGPT, Chronos, Moirai) 가 zero-shot forecasting을 가능케 했다. 매 2026 현재 hybrid (statistical + neural) 가 production default.
매 핵심
매 components
- Trend: long-term direction.
- Seasonality: periodic (daily, weekly, yearly).
- Cyclic: aperiodic fluctuations.
- Residual: noise / unexplained.
매 stationarity
- Strict / weak stationarity 의 distinction.
- ADF, KPSS test 로 확인.
- Differencing, log transform, Box-Cox 로 stationarize.
매 model spectrum
- Classical: ARIMA, SARIMA, ETS (Exponential Smoothing), Holt-Winters.
- ML: XGBoost on lag features, LightGBM (M5 winner).
- Deep: LSTM, Temporal Fusion Transformer, N-BEATS, N-HiTS.
- Foundation models (2024+): TimeGPT, Chronos (Amazon), Moirai (Salesforce), TimesFM (Google).
매 응용
- Demand forecasting (retail, supply chain).
- Anomaly detection (monitoring, fraud).
- Financial markets (volatility, price).
- Energy load prediction.
💻 패턴
Pattern 1: ARIMA baseline (statsmodels)
from statsmodels.tsa.arima.model import ARIMA
import pandas as pd
ts = pd.read_csv("sales.csv", parse_dates=["date"], index_col="date")["y"]
model = ARIMA(ts, order=(2, 1, 2), seasonal_order=(1, 1, 1, 12))
fit = model.fit()
forecast = fit.forecast(steps=12)
Pattern 2: Prophet (Meta)
from prophet import Prophet
df = pd.DataFrame({"ds": dates, "y": values})
m = Prophet(yearly_seasonality=True, weekly_seasonality=True)
m.add_country_holidays(country_name="KR")
m.fit(df)
future = m.make_future_dataframe(periods=90)
fc = m.predict(future)
Pattern 3: Darts (unified library, 2026 modern)
from darts import TimeSeries
from darts.models import TFTModel # Temporal Fusion Transformer
series = TimeSeries.from_dataframe(df, "ds", "y")
train, val = series.split_before(0.8)
model = TFTModel(
input_chunk_length=24,
output_chunk_length=12,
hidden_size=64,
lstm_layers=2,
num_attention_heads=4,
)
model.fit(train, val_series=val)
pred = model.predict(n=12)
Pattern 4: Foundation model zero-shot (Chronos)
from chronos import ChronosPipeline
import torch
pipe = ChronosPipeline.from_pretrained(
"amazon/chronos-t5-large",
device_map="cuda",
torch_dtype=torch.bfloat16,
)
context = torch.tensor(history) # no fine-tune
forecast = pipe.predict(context, prediction_length=24, num_samples=20)
median = forecast.median(dim=1).values
Pattern 5: Anomaly detection (rolling z-score)
import numpy as np
def rolling_anomaly(ts, window=30, threshold=3.0):
rolling_mean = ts.rolling(window).mean()
rolling_std = ts.rolling(window).std()
z = (ts - rolling_mean) / rolling_std
return np.abs(z) > threshold
Pattern 6: Backtesting (walk-forward)
from sklearn.model_selection import TimeSeriesSplit
tscv = TimeSeriesSplit(n_splits=5)
scores = []
for train_idx, test_idx in tscv.split(X):
model.fit(X[train_idx], y[train_idx])
pred = model.predict(X[test_idx])
scores.append(mape(y[test_idx], pred))
Pattern 7: Nixtla statsforecast (fast classical)
from statsforecast import StatsForecast
from statsforecast.models import AutoARIMA, AutoETS
sf = StatsForecast(
models=[AutoARIMA(season_length=12), AutoETS(season_length=12)],
freq="M",
n_jobs=-1,
)
sf.fit(df)
forecast = sf.forecast(h=12, level=[80, 95])
매 결정 기준
| 상황 | Approach |
|---|---|
| <1000 points, single series | ARIMA / Prophet |
| Many related series, hierarchical | Nixtla statsforecast (parallel) |
| Multivariate, many covariates | TFT, N-BEATSx (Darts) |
| Zero-shot, no training data | Chronos / TimeGPT / TimesFM |
| Real-time anomaly | Rolling z-score / Isolation Forest |
기본값: Prophet for prototype, Darts TFT or Chronos zero-shot for production.
🔗 Graph
- 부모: Machine Learning · Statistics
- 변형: ARIMA · Prophet
- 응용: Anomaly Detection
- Adjacent: 데이터 사이언스 및 ML 엔지니어링 · Transformer · Foundation Models
🤖 LLM 활용
언제: temporal data forecasting, anomaly detection, capacity planning. 언제 X: cross-sectional data without time component, pure classification.
❌ 안티패턴
- No stationarity check: ARIMA에 non-stationary series 직접 적용.
- Random shuffling: time series 의 train/test split 에 random shuffle 사용 (data leakage).
- MAPE on near-zero values: division-by-zero / explosion. SMAPE 또는 MASE 사용.
- Ignoring seasonality: yearly/weekly cycle 의 무시.
- Look-ahead bias: future information 의 feature engineering 에 사용.
🧪 검증 / 중복
- Verified (Hyndman, "Forecasting: Principles and Practice" 3rd ed; M-competition results; Chronos paper 2024).
- 신뢰도 A.
🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — full TSA spectrum (classical → foundation models) with code |