v9-06 Baseline Extension 2 — Phase 종합 요약 보고서
0. Executive Summary
- H9-6a Strict FAIL — Track A (NBEATSx/TSMixer/TiDE) + Track B (SCINet/Pyraformer/Crossformer) 6 모델 모두
PAPE ≤ 43 AND HR@1 ≥ 37 양축 gating 미충족. ETSformer 는 TSLib 소스 CUDA device mismatch 로 SKIP (분모 6).
- Watch 판정은 정의 종속적 — v9-06 설계 Watch (AND, PAPE ≤ 46 AND HR@1 ≥ 30) 기준 SCINet 단독 PASS (PAPE 42.35 / HR@1 34.48). v9-05 설계 Watch (OR, PAPE ≤ 43 또는 HR@1 ≥ 37) 재판정 시 SCINet (PAPE 단일축) + NBEATSx (PAPE 단일축) 2종 PASS. SCINet 은 두 정의 모두 PASS 하여 robust, NBEATSx 는 v9-05 OR 기준에서만 PASS.
- NBEATSx PAPE 34.58 은 20-모델 중 점추정 1위이나 95% CI [30.71, 38.46] 이 R1b (37.36) 와 N-HiTS (39.26) 을 모두 포함 — 1-sample t-test p ≈ 0.15 (n=15). R1b / N-HiTS 대체·갱신 주장은 통계적으로 불가. "실무 가치 있는 baseline" 수준으로 제한.
- VQ 후보 2종 잠정 선별 (통계 겸손 톤): SCINet (Watch PASS, MSE 1위 0.498, SCI-Block interact 단계 VQ 삽입 후보) + NBEATSx (PAPE 점추정 1위, basis-expansion theta space VQ 매핑). 두 후보 모두 "VQ backbone 확정"이 아닌 "VQ 삽입 실험 진입 자격 최초 획득" 수준.
- v9-05 Critical C1 재발 없음 — Track A
EpochMLflowCallback + Track B raw loop mlflow.log_metric(step=epoch) 으로 per-epoch 로깅 6 모델 전수 검증 완료. CLAUDE.md 규약 충족.
- Wall-clock 71.0분 (설계 예산 2-3h 의 59%). Track A NF 3종 모두
max_steps=500 한계 도달, early_stop 미 trigger → 수렴 여부 미확인 (P3 후속 sweep 권고).
- 사용자 결정 필요 사항 4건: (1) SCINet + NBEATSx VQ 이식 실험 착수 여부·우선순위, (2) ETSformer TSLib 1-line 패치 재시도, (3) Track A max_steps=1000 재실험, (4) Watch 정의 표준화 (v9-05 OR vs v9-06 AND).
1. 실험 배경 및 범위
1.1 배경 — v9-05 Phase 학습점 연장
v9-05 는 NF Transformer 3종 (Autoformer / Informer / FEDformer) 을 평가하여 PAPE ≤ 43 AND HR@1 ≥ 37 gating 전수 FAIL (PAPE 52.04-53.40, HR@1 15.33-27.05) 결과를 얻었다 (report/version9/reporter/v9-05_baseline_ext_summary.md). v9-05 reporter §8.1 에서 다음 관찰이 도출되었다:
- N-HiTS (v6, PAPE 39.26) 와 v9-05 신규 3종 간 PAPE 격차 13%p — hierarchical interpolation + multi-rate sampling 구조가 peak 축에 우위.
- Autoformer (MovingAvg decomposition) + Informer (ProbSparse attention) + FEDformer (Fourier top-k) 공통점 = decomposition + attention 계열이 peak 좌표를 smoothing 하는 가설 (ablation 미수행).
v9-05 reporter §8.1 은 "Track B TSLib 4종 중 기계학습적으로 1차 3종과 강하게 차별되는 카테고리는 SCINet (non-attention hierarchical) 정도" 라고 명시했다. 본 phase 는 이 관찰을 검증하기 위해 (A) N-HiTS 친척인 MLP 계열 3종 + (B) TSLib 4종을 함께 평가하여 VQ-친화 backbone 후보를 재탐색하는 extension 으로 설계되었다.
1.2 범위
- Track A (NeuralForecast MLP 3종): NBEATSx / TSMixer / TiDE — N-HiTS 선조 basis-expansion + all-MLP + dense encoder 구조.
- Track B (TSLib 4종 → 3종 평가): SCINet / ETSformer / Pyraformer / Crossformer. ETSformer 는 TSLib
src/tslib/models/ETSformer_EncDec.py:156 CUDA device mismatch 로 smoke 단계 SKIP — 본 실행 분모 3.
- 대상 데이터: EC50 5가구 (Apt6 / Apt15 / Apt30 / Apt51 / Apt88), year=2016, seeds {42, 7, 123}, input_size=96, horizon=24.
- 재인용: v9-05 3종 + v6/v9-01 기존 11 baseline (NHITS / TFT / TimesNet / PatchTST / iTransformer / DLinear / Chronos / TimeMoE / moirai / B0 / B1 / R1b) 는 재학습 없이 §3 병합 표에 인용.
- 범위 외: VQ 결합 / FL / KD — 순수 예측 성능 벤치마크 한정.
1.3 실행 조건
| 항목 |
Track A |
Track B |
| 스크립트 |
experiments/forecasting/v9_0424_baseline_extension_2.py (단일 파일, --track 스위치) |
동일 |
| 하이퍼 |
input_size=96, horizon=24, max_steps=500, early_stop_patience_steps=50, val_check_steps=50, lr=1e-3, batch_size=32, scaler=standard |
seq_len=96, label_len=48, pred_len=24, features=S, lr=1e-3, batch_size=32, train_epochs=50, patience=5 |
| Per-epoch 로깅 |
EpochMLflowCallback(pl.Callback) → NF trainer_kwargs["callbacks"] 주입 |
raw torch loop 내 매 epoch mlflow.log_metric(..., step=epoch) 직접 호출 |
| TSLib git hash |
— |
4e938a1767106324dd753b2a44832bf870a0252e |
| Run 수 |
3 × 5 × 3 = 45 |
3 × 5 × 3 = 45 (ETSformer 제외) |
| 합계 |
90 FINISHED + 1 aggregate_mean |
MLflow experiment v9-baseline-ext-2 (id=230168135891700392) |
- 하드웨어: NVIDIA RTX 5070 Ti 단일 GPU 순차.
- 집계 원천:
outputs/v9_baseline_ext_2/summary.csv (90 records).
2. 결과 요약 테이블
2.1 v9-06 신규 6 모델 — 5-apt × 3-seed 평균 (n=15 per model)
| Model |
Track |
MSE |
MAE |
MAPE (%) |
sMAPE (%) |
PAPE (%) |
HR@1 (%) |
HR@2 (%) |
Strict |
v9-06 Watch (AND) |
| NBEATSx |
A |
0.671 ± 0.458 |
0.543 ± 0.229 |
71.03 ± 9.60 |
49.01 ± 6.55 |
34.58 ± 7.00 |
22.86 ± 5.15 |
32.76 ± 5.47 |
FAIL |
FAIL (HR@1 −7.14%p) |
| TSMixer |
A |
0.570 ± 0.385 |
0.470 ± 0.193 |
56.35 ± 5.71 |
40.39 ± 2.92 |
53.77 ± 5.82 |
29.33 ± 12.70 |
42.86 ± 16.94 |
FAIL |
FAIL |
| TiDE |
A |
0.549 ± 0.370 |
0.466 ± 0.189 |
55.72 ± 4.81 |
40.49 ± 3.40 |
49.49 ± 6.70 |
32.19 ± 11.73 |
46.00 ± 16.57 |
FAIL |
FAIL (PAPE +3.49%p) |
| SCINet |
B |
0.498 ± 0.333 |
0.471 ± 0.194 |
69.11 ± 6.91 |
42.21 ± 4.27 |
42.35 ± 3.38 |
34.48 ± 18.04 |
46.38 ± 18.19 |
FAIL (HR@1 −2.52%p) |
PASS |
| Pyraformer |
B |
0.669 ± 0.434 |
0.573 ± 0.234 |
88.57 ± 18.38 |
49.21 ± 6.11 |
47.26 ± 8.01 |
14.86 ± 9.08 |
20.29 ± 12.44 |
FAIL |
FAIL |
| Crossformer |
B |
0.547 ± 0.361 |
0.501 ± 0.201 |
73.53 ± 7.53 |
44.67 ± 4.79 |
44.45 ± 7.38 |
21.24 ± 15.61 |
34.00 ± 19.98 |
FAIL |
FAIL |
주: ± 는 n=15 sample std. 가구 간 편차가 dominant. apt 내 3-seed std 는 §2.3 참조.
2.2 20-모델 통합 비교 (v9-06 + v9-05 + v6/v9-01 baseline)
| Source |
Model |
n |
seeds |
MSE |
PAPE |
HR@1 |
HR@2 |
비고 |
| v9-06 |
NBEATSx |
15 |
{42,7,123} |
0.671 |
34.58 |
22.86 |
32.76 |
점추정 PAPE 1위, CI [30.71, 38.46] |
| v9-01/v6 |
R1b (FedPM+DLinear) |
5 |
{42} |
0.629 |
37.36 |
21.27 |
32.42 |
NBEATSx CI 포함 |
| v9-01/v6 |
NHITS |
5 |
{42} |
0.648 |
39.26 |
22.29 |
31.71 |
NBEATSx CI 상한 +0.80%p |
| v9-06 |
SCINet |
15 |
{42,7,123} |
0.498 |
42.35 |
34.48 |
46.38 |
Track B Watch PASS, MSE 1위 |
| v9-01/v6 |
B0 (DLinear Local) |
5 |
{42} |
0.515 |
42.51 |
34.58 |
46.60 |
|
| v9-01/v6 |
TimeMoE-50M |
5 |
{42} |
0.549 |
43.38 |
32.93 |
42.88 |
|
| v9-01/v6 |
B1 (DLinear FedAvg) |
5 |
{42} |
0.505 |
43.64 |
36.92 |
49.39 |
|
| v9-06 |
Crossformer |
15 |
{42,7,123} |
0.547 |
44.45 |
21.24 |
34.00 |
boundary FAIL |
| v9-01/v6 |
Chronos-Bolt (ZS) |
5 |
{42} |
0.555 |
44.98 |
37.71 |
48.56 |
HR@1 1위 |
| v9-01/v6 |
moirai-1.1-R-small |
5 |
{42} |
0.641 |
46.61 |
17.73 |
27.86 |
|
| v9-06 |
Pyraformer |
15 |
{42,7,123} |
0.669 |
47.26 |
14.86 |
20.29 |
|
| v9-01/v6 |
PatchTST |
5 |
{42} |
0.572 |
48.41 |
21.14 |
30.00 |
|
| v9-01/v6 |
TimesNet |
5 |
{42} |
0.594 |
48.90 |
26.57 |
38.29 |
|
| v9-06 |
TiDE |
15 |
{42,7,123} |
0.549 |
49.49 |
32.19 |
46.00 |
|
| v9-01/v6 |
TFT |
5 |
{42} |
0.719 |
50.58 |
15.14 |
25.14 |
|
| v9-01/v6 |
iTransformer |
5 |
{42} |
0.593 |
51.00 |
19.43 |
27.14 |
|
| v9-05 |
FEDformer |
15 |
{42,7,123} |
0.600 |
52.04 |
27.05 |
40.29 |
|
| v9-05 |
Autoformer |
15 |
{42,7,123} |
0.660 |
52.91 |
15.33 |
23.52 |
|
| v9-05 |
Informer |
15 |
{42,7,123} |
0.648 |
53.40 |
20.67 |
32.48 |
|
| v9-06 |
TSMixer |
15 |
{42,7,123} |
0.570 |
53.77 |
29.33 |
42.86 |
PAPE 20위 |
Seed 비대칭 경고: v9-05/v9-06 은 n=15 (5-apt × 3-seed), v9-01/v6 는 n=5 (5-apt × seed=42 단일). 순위 robustness 는 seed=42 subset 교차 확인 (expert §5.3).
2.3 Per-apt × per-model PAPE (%) 및 HR@1 (%), 3-seed mean ± std
PAPE (%) — lower is better
| Model |
Apt6 |
Apt15 |
Apt30 |
Apt51 |
Apt88 |
| NBEATSx |
32.92 ± 1.11 |
28.23 ± 0.47 |
33.63 ± 1.11 |
47.51 ± 0.32 |
30.64 ± 0.27 |
| TSMixer |
52.18 ± 0.62 |
43.74 ± 0.49 |
55.41 ± 0.15 |
59.44 ± 1.17 |
58.07 ± 0.51 |
| TiDE |
44.70 ± 0.04 |
39.20 ± 0.12 |
53.33 ± 0.18 |
56.19 ± 0.19 |
54.04 ± 0.37 |
| SCINet |
39.88 ± 0.72 |
37.88 ± 0.98 |
46.53 ± 1.36 |
43.14 ± 2.03 |
44.32 ± 0.67 |
| Pyraformer |
47.46 ± 3.08 |
34.87 ± 1.68 |
48.70 ± 8.91 |
52.51 ± 4.57 |
52.78 ± 4.05 |
| Crossformer |
35.19 ± 2.85 |
39.41 ± 2.06 |
48.12 ± 7.12 |
50.72 ± 5.59 |
48.79 ± 3.55 |
HR@tol=1 (%) — higher is better
| Model |
Apt6 |
Apt15 |
Apt30 |
Apt51 |
Apt88 |
| NBEATSx |
20.00 ± 4.29 |
19.05 ± 4.36 |
27.14 ± 4.29 |
28.10 ± 0.82 |
20.00 ± 3.78 |
| TSMixer |
22.86 ± 1.43 |
25.24 ± 0.82 |
26.19 ± 2.18 |
52.86 ± 6.23 |
19.52 ± 2.18 |
| TiDE |
23.33 ± 2.97 |
25.71 ± 1.43 |
35.24 ± 0.82 |
52.86 ± 2.47 |
23.81 ± 2.18 |
| SCINet |
20.48 ± 2.18 |
25.71 ± 2.47 |
31.43 ± 10.30 |
67.62 ± 1.65 |
27.14 ± 2.86 |
| Pyraformer |
13.33 ± 12.32 |
15.71 ± 3.78 |
16.19 ± 11.64 |
9.52 ± 9.29 |
19.52 ± 10.33 |
| Crossformer |
23.33 ± 2.18 |
12.86 ± 6.55 |
7.62 ± 7.05 |
44.29 ± 16.84 |
18.10 ± 11.10 |
3-seed 내 PAPE 재현성 (apt-wise std 평균)
| Model |
apt-wise mean PAPE std |
| TiDE |
0.18 |
| TSMixer |
0.59 |
| NBEATSx |
0.66 |
| SCINet |
1.15 |
| Crossformer |
4.24 |
| Pyraformer |
4.46 |
- Track A 3종 모두 < 1%p — 재현성 우수. Track B attention variant (Pyraformer / Crossformer) 는 4%p+ 로 raw torch loop 의 seed 비결정성 (설계 R6 실현).
3. Gating 판정 — 3정의 병기
3.1 H9-6a (Strict, v9-06 AND, v9-05 OR)
| Model |
PAPE |
HR@1 |
Strict (PAPE ≤ 43 AND HR@1 ≥ 37) |
v9-06 Watch (PAPE ≤ 46 AND HR@1 ≥ 30) |
v9-05 Watch (PAPE ≤ 43 OR HR@1 ≥ 37) |
| NBEATSx |
34.58 |
22.86 |
FAIL |
FAIL (HR@1 −7.14%p) |
PASS (PAPE 단일축) |
| TSMixer |
53.77 |
29.33 |
FAIL |
FAIL |
FAIL |
| TiDE |
49.49 |
32.19 |
FAIL |
FAIL (PAPE +3.49%p) |
FAIL |
| SCINet |
42.35 |
34.48 |
FAIL (HR@1 −2.52%p) |
PASS |
PASS (PAPE 단일축) |
| Pyraformer |
47.26 |
14.86 |
FAIL |
FAIL |
FAIL |
| Crossformer |
44.45 |
21.24 |
FAIL |
FAIL |
FAIL (boundary, PAPE +1.45%p) |
해석:
- Strict FAIL (6/6): 전 모델 양축 동시 달성 미충족. v9-06 VQ 후보 확정 조건 부재.
- v9-06 Watch PASS: SCINet 단독. seed std 1.15%p (Watch 안정 기준 < 2.00%p 충족). Track B 내 유일.
- v9-05 Watch (OR) 병기 재판정: SCINet / NBEATSx 2개 모델이 PAPE 단일축으로 PASS. SCINet 은 두 정의 모두 PASS (결론 robust). NBEATSx 는 v9-05 OR 기준에서만 PASS.
- Crossformer boundary: PAPE 44.45 는 v9-05 Watch 43 임계에 +1.45%p 미달로 boundary FAIL. apt-wise seed std 2.06-7.12%p 범위 내이므로 3-seed 확대 시 변동 가능.
3.2 Watch 정의 사후성 의혹 (critic Major 1 반영)
- v9-05 Watch:
(PAPE ≤ 43 OR HR@1 ≥ 37) — 단일축 OR, 엄격 임계.
- v9-06 Watch:
(PAPE ≤ 46 AND HR@1 ≥ 30) — 양축 AND, 완화 임계.
- 두 정의 간 차이: 결합자 OR → AND, PAPE 임계 43 → 46, HR@1 임계 37 → 30.
- 임계값 46 / 30 의 정량적 근거는 v9-06 설계서 / 결과 모두에서 명시되지 않음 — 사후적 정합화 의혹 완전 배제 불가. SCINet 결과 관찰 이후 설계 단계 정의 변경이 이루어진 정황.
- 완화 조치: v9-05 Watch 병기 재판정으로 결론 robust 여부 확인 (§3.1). SCINet 은 두 정의 모두 PASS — 정의 선택에 대해 강건.
- 향후 phase 의 Watch 정의는 표준화 필요 (§10 Action #4).
| Metric |
SCINet |
Pyraformer |
Crossformer |
SCINet 상대 우위 |
| PAPE (lower) |
42.35 |
47.26 |
44.45 |
OK (−2.10%p vs Crossformer) |
| HR@1 (higher) |
34.48 |
14.86 |
21.24 |
OK (+13.24%p vs Crossformer) |
| HR@2 (higher) |
46.38 |
20.29 |
34.00 |
OK (+12.38%p vs Crossformer) |
| MSE (lower) |
0.498 |
0.669 |
0.547 |
OK |
- H9-6b 판정: SUPPORTED (분모 ETSformer 제외 2모델). SCINet 이 Pyraformer / Crossformer 대비 전 4축 최선. SCI-Block binary tree + N-HiTS hierarchical 동류 가설의 수치적 근거 확보.
- 한계: 원문 분모 3 → 2 축소 — ETSformer 포함 시 결과 변동 가능 (§9.3 P2 후속).
| Model |
PAPE |
HR@1 |
(PAPE > 43 OR HR@1 < 37) |
| Pyraformer |
47.26 |
14.86 |
YES (양축 FAIL) |
| Crossformer |
44.45 |
21.24 |
YES (양축 FAIL) |
| ETSformer |
— |
— |
미검증 |
- H9-6c 판정: PARTIAL (2/3, ETSformer 미검증). 원문 분모 3 → 실효 분모 2 로 축소된 상태의 denominator manipulation 약점 (critic Critical 1). 기존 "SUPPORTED (2/2)" 표기는 revision 1 에서 PARTIAL 로 조정.
- 평가된 5/5 FAIL + ETSformer 미검증 1건: v9-05 NF 3종 (Autoformer/Informer/FEDformer) + v9-06 Pyraformer/Crossformer 모두 "attention + smoothing/decomposition" 카테고리에서 공통 FAIL. "decomposition + attention 계열이 household peak 축에서 구조적으로 handicapped" 가설의 외부 validation 부분 지지 (단 ablation 미수행, ETSformer 미평가 한정).
4. 통계적 비유의 — NBEATSx PAPE 점추정 1위
4.1 95% 신뢰구간 분석 (critic Major 2 반영)
- NBEATSx PAPE: n=15, mean = 34.58, sample std = 7.00, SE = 7.00 / √15 = 1.81.
- 95% CI = [30.71, 38.46] (t-분포 df=14 기준).
| 참조 |
PAPE |
NBEATSx 95% CI [30.71, 38.46] 포함 |
| R1b (FedPM+DLinear) |
37.36 |
포함 |
| N-HiTS (v6) |
39.26 |
미포함 (CI 상한 +0.80%p) |
4.2 1-sample t-test
- H0: NBEATSx PAPE mean = 37.36 (R1b), 대립가설: NBEATSx < 37.36.
- n=15 전체: t = (34.58 − 37.36) / 1.81 = −1.54, p ≈ 0.15 (one-sided).
- seed=42 subset (n=5, std_seed42=7.57): t = −0.83, p ≈ 0.44 (one-sided).
4.3 결론 — 표현 교정 강제
- NBEATSx 의 PAPE 점추정 1위 (34.58) 는 R1b (37.36) 와 95% CI 중첩 및 p ≥ 0.15 로 통계적 우위 주장 불가. 95% CI 상한 (38.46) 은 N-HiTS (39.26) 조차 근접 포함 경계.
- 금지 표현: "R1b / N-HiTS 갱신", "20모델 중 1위 달성", "R1b 대체 가능".
- 허용 표현: "점추정 기준 20-모델 중 1위 (n=15, mean=34.58, 95% CI [30.71, 38.46])", "통계적 구별 불가", "실무 가치 있는 baseline".
- 근거: R1b 는 FL aggregation (가구 간 공통 signal), NBEATSx 는 per-apt 학습 — 학습 조건 asymmetry. 또한 NBEATSx 는 4/5 가구 (Apt6/15/30/88) 에서 R1b 점추정 대비 −3.73 ~ −9.13%p 우위나, Apt51 에서는 +10.15%p 열세 (per-apt 비대칭). 전체 평균 우위도 통계 비유의.
5. VQ 후보 선별 근거 + 후속 이식 track 제안
통계 겸손 톤: 아래 두 후보 모두 "VQ backbone 확정" 이 아니라 "VQ 삽입 실험 진입 자격 최초 획득" 수준. ADR-009 archive 의 "DLinear+VQ near-collapse (codebook utilization 4%)" 교훈을 반영한 보수적 표현.
5.1 VQ 후보 1순위 — SCINet (v9-06 Watch PASS, Track B 유일)
- 선정 근거:
- 절대 Watch 통과: PAPE 42.35 (≤ 46) AND HR@1 34.48 (≥ 30). v9-05 Watch (OR) 도 PAPE 단일축 PASS — 두 정의 robust.
- MSE 20-모델 1위 (0.498) — B1 (0.505) 을 제치고 최소.
- 재현성: PAPE seed std 1.15%p (Track B 내 최소).
- Apt51 HR@1 67.62 은 Chronos zero-shot (69.04) / B1 (69.95) 에 근접하는 절대 최고치 (단 Apt51 spike 는 전-모델 공통 현상, §6 참조).
- VQ 삽입점 설계-수준 논거 (ADR-009 재검토 필요):
- 후보 삽입점 1: SCI-Block interact 단계 (odd/even split 후 fused feature) 에 VQ — 각 level codebook 크기 block size 비례 축소. FL 관점: 가구 공통 low-resolution codebook + 가구 특화 high-resolution residual.
- 후보 삽입점 2: upsample 이전 fused feature (encoder 말단) 단일 codebook — layer-wise dependency 감소.
- 문헌 근거 tier: SCI-Block 에 VQ 직접 이식한 원 논문 없음. 유사 구조 근거로 HDT (Hierarchical Decomposition Transformer, AAAI 2024) 의 tree-like multi-resolution decomposition 에서 level 별 representation quantization 사례 — "유사 구조 1편 문헌 근거" 수준.
- 불확실성:
- HR@1 34.48 은 Strict gating 37.00 에 −2.52%p 미달. VQ 삽입 시 typical 정확도 하락 (문헌상 1-5%p) 시 Watch 이탈 가능.
- Apt-wise HR@1 seed std (Apt30 10.30%p) 는 VQ 삽입으로 악화 가능성.
5.2 VQ 후보 2순위 — NBEATSx (PAPE 점추정 1위, 통계 비유의)
- 선정 근거:
- PAPE 축 20-모델 점추정 1위 (34.58, 95% CI [30.71, 38.46]). R1b / N-HiTS 와 통계적 구별 불가 (§4) — 실무 가치 있는 baseline 수준.
- Track A 재현성: PAPE seed std 0.66%p (Track A 2위).
- N-HiTS 선조 구조: basis-expansion (identity / trend / seasonality) + backward/forward residual. v9-05 NHITS 13%p 우위 관찰과 정합.
- VQ 삽입점 설계-수준 논거:
- 후보 삽입점 1: basis coefficient theta space 에 VQ — Sparse-VQ Transformer 2024 "FFN-free + VQ" 철학과 동류. 각 stack (identity / trend / seasonality) block 별 theta 생성, discrete codebook 매핑.
- 후보 삽입점 2: Stack 입력 (backward residual) 에 VQ — 선행 stack 이 제거하지 못한 residual quantize 후 다음 stack 전달.
- 문헌 근거 tier: VQ-TR (OpenReview) — transformer 내부 표현에 basis-expansion-style quantization 적용. basis 표현 quantization 공통 개념으로 "1편 근거" (직접 근거 아님).
- 장점 vs SCINet: basis 가 명시적 (trend / seasonality) 분리 → codebook 해석 tractable. FL 공유 시 "trend codebook 가구 공통 / seasonality codebook 가구 특화" 분할 설계 자연스러움.
- 불확실성:
- HR@1 축 실패: 22.86 (−14.14%p). peak 시점 정확도 낮은 모델이 peak 분석 track base 로 적절한가 — 연구 동기와 상충. VQ 이식 후 PAPE 는 유지되나 HR@1 이 더 악화될 리스크.
- Apt51 PAPE 47.51 단일 outlier: 다른 4가구 (28-34) 대비 크게 열세. seed std 0.32%p 로 안정적 실패 — 구조적 약점. basis expansion 이 Apt51 주기성과 부정합 가설.
- 통계 비유의: PAPE 점추정 1위가 seed 확장 시 변동 가능 (§4.2 p ≈ 0.15).
5.3 VQ 후보 외 판정
- TSMixer (PAPE 53.77): 단일축 PAPE 도 미통과 → 부적합.
- TiDE (PAPE 49.49 / HR@1 32.19): HR@1 축 30.00 임계 +2.19%p, PAPE 축 49.49 > 46 → Watch FAIL. dense encoder VQ 논거 약함 (설계 §2.1.3).
- Pyraformer / Crossformer: H9-6c FAIL → 부적합.
- ETSformer: 미평가 (SKIP).
5.4 종합 — VQ 후보 결정 위임
- 설계서 §1.4 Pass 조건 FAIL → ADR-009 조항에 따라 VQ 재시도 여부는 사용자 결정 사항.
- 분석적 권고: v9-05 이후 2차 착수에서 처음 등장한 VQ-친화 후보 2종 확보. 단 "backbone 자체가 Strict 37% HR@1 에 미달한 상태에서 VQ 를 더하는 설계" 의 근본 위험 (v9-05 §8.3 P1) 은 여전히 유효.
- 후속 이식 track 제안 (§10 Action #1).
6. Per-apt 관찰 — Apt51 spike 재해석
6.1 Apt51 은 전-모델 공통 "쉬운 가구" (critic Major 3 반영)
| Model |
Apt51 HR@1 |
전 가구 대비 HR@1 |
| NBEATSx |
28.10 |
+5.24 (vs 22.86) |
| TSMixer |
52.86 |
+23.53 (vs 29.33) |
| TiDE |
52.86 |
+20.67 (vs 32.19) |
| SCINet |
67.62 |
+33.14 (vs 34.48) |
| Pyraformer |
9.52 |
−5.34 (역방향 이상값) |
| Crossformer |
44.29 |
+23.05 |
| Chronos-Bolt (ref) |
69.04 |
— |
| B1 (ref) |
69.95 |
— |
- 6 모델 Apt51 HR@1 mean = 42.54, 5-apt 전체 HR@1 mean = 26.46 → 전 모델 평균 +16.08%p spike.
- 해석 교정: 기존 expert draft 의 "SCINet hierarchical down-up sampling + 주기성 가구 정합" 해석은 TSMixer (all-MLP, non-hierarchical) / TiDE (dense encoder, non-hierarchical) / Crossformer (cross-dim attention, non-hierarchical) 도 Apt51 HR@1 44-53 spike 보이는 점으로 반증. Apt51 spike 는 데이터 특성 (가구 소비 패턴의 주기성) 에 귀속, 특정 모델 구조와의 단일 정합 해석 성립 불가.
- 사후 가설 재등록 필요: "Apt51 = 전 모델 HR@1 +16%p spike 가구" 는 사전 등록된 가설 아님. 다음 phase 설계서에 사전 가설로 재등록 필요 (§10 Action 후속 P4).
- 부가적 여지: SCINet Apt51 67.62 는 Chronos / B1 zero-shot + FL baseline 에 근접하는 상대 최고치 — Apt51 데이터 특성을 고정해도 SCINet 이 추가 모델링 우위를 확보한다는 가설은 성립 가능 (단 단일 해석 금지).
- Pyraformer 역방향 이상값 (Apt51 HR@1 9.52): pyramidal attention 의 multi-scale tree 가 seq_len=96 짧은 context 에서 무력화 가설 (설계 §2.2.3 R2) 의 증거.
6.2 NBEATSx Apt51 outlier
| Apt |
NBEATSx PAPE |
R1b 37.36 대비 |
| Apt6 |
32.92 |
−4.44%p |
| Apt15 |
28.23 |
−9.13%p |
| Apt30 |
33.63 |
−3.73%p |
| Apt51 |
47.51 |
+10.15%p (열세) |
| Apt88 |
30.64 |
−6.72%p |
| Mean |
34.58 |
−2.78%p (통계 비유의) |
- NBEATSx 는 per-apt level 에서 R1b 를 전 가구 uniformity 로 이긴 것이 아님 — 4/5 가구 우위 + Apt51 단독 열세의 결과. Apt51 열세 단독으로도 "R1b 대체" 주장 반례 충분.
- R1b (FL aggregation) vs NBEATSx (per-apt 학습) 학습 조건 asymmetry → NBEATSx + FL (FedAvg / FedPM) 실험 이 본 관찰의 자연스러운 후속 (§10 후속 P5).
6.3 Track B attention variant 의 apt-level 변동
- Pyraformer seed std per apt (PAPE): Apt30 8.91%p, Apt51 4.57%p, Apt88 4.05%p — Apt30 3-seed variance 42.69/54.04/49.35 (~11%p spread).
- Crossformer 동일 양상 (Apt30 seed std 7.12%p).
- 결론 (H9-6c 지지) 은 5-apt 평균 기준 robust 하나, apt-level 해석은 seed 노이즈 주의.
7. Critic 반영 내역 (Revision 1, 2026-04-25)
exp-critic 판정은 revision 요청 수준 (Critical 1 + Major 3 + Minor 5). exp-expert revision 1 에서 전량 반영, 재실험 없음.
7.1 Critical 수정
| # |
지적 |
반영 요약 |
| C1 |
H9-6c Denominator Manipulation — ETSformer SKIP 미포함 상태에서 "SUPPORTED (2/2)" 표기는 원문 분모 3 축소 |
판정 "SUPPORTED (2/2)" → "PARTIAL (2/3, ETSformer 미검증)". ETSformer TSLib ETSformer_EncDec.py:156 ≤5 line device fix (index_tuple.to(f.device)) 한 번만 시도 후 SKIP 사실 자기-인정. P2 후속 조치로 차기 phase 재시도 등록. |
7.2 Major 수정
| # |
지적 |
반영 요약 |
| M1 |
Watch 정의 사후성 의혹 |
v9-05 Watch (OR, 43/37) vs v9-06 Watch (AND, 46/30) 정의 차이 명시. 46/30 정량 근거 부재 자기-인정. v9-05 Watch 병기 재판정 신설 — SCINet 양 정의 PASS (robust), NBEATSx v9-05 OR 에서 PAPE 단일축 PASS, Crossformer boundary 기록. |
| M2 |
NBEATSx 통계 비유의 |
95% CI [30.71, 38.46] 이 R1b 37.36, N-HiTS 39.26 모두 포함. 1-sample t-test p ≈ 0.15 (n=15) / p ≈ 0.44 (seed=42 n=5). "R1b / N-HiTS 갱신" 표현 금지, "점추정 1위, 실무 가치 있는 baseline" 으로 대체. |
| M3 |
Apt51 Cherry-picking 재발 |
SCINet Apt51 HR@1 67.62 의 "hierarchical 정합" 해석을 TSMixer 52.86 / TiDE 52.86 / Crossformer 44.29 spike 로 반증. "Apt51 = 전 모델 +16%p spike 가구 (데이터 특성)" 로 귀속. 사후 가설 재등록 필요성 P4 등록. |
7.3 Minor 수정
- m1: Crossformer PAPE 44.45 boundary FAIL 기록
- m2: VQ 문헌 tier — SCINet HDT AAAI 2024 (유사 구조), NBEATSx VQ-TR (basis-expansion quantization) 각 1편 근거
- m3: Track A max_steps=500 한계 도달, 수렴 여부 미확인 기록, P3 후속 (max_steps=1000 재실험)
- m4: SCINet wall-clock breakdown
- m5: H9-6b 분모 "ETSformer 미포함 2모델" 명시
7.4 불변 사항
- H9-6a Strict FAIL.
- SCINet v9-06 Watch PASS.
- VQ 후보 SCINet + NBEATSx 2종.
- Per-epoch MLflow 로깅 6 모델 전수 검증 완료.
8. Wall-clock 및 MLflow 규약 준수 증거
8.1 Wall-clock 집계
| Model |
n |
mean (s) |
std (s) |
total (s) |
설계 예상 |
| NBEATSx |
15 |
24.0 |
1.57 |
359.6 |
120-180s |
| TSMixer |
15 |
25.0 |
0.68 |
374.4 |
120s |
| TiDE |
15 |
26.1 |
0.55 |
391.9 |
120-180s |
| SCINet |
15 |
107.3 |
26.80 |
1609.2 |
120s |
| Pyraformer |
15 |
28.6 |
10.43 |
429.2 |
180s |
| Crossformer |
15 |
73.2 |
21.28 |
1097.9 |
120s |
| 합계 |
90 |
— |
— |
4262.1 (71.0 min) |
설계 2-3h |
- 실측 71.0분 = 설계 하한 (2h) 의 59% — 예산 초과 없음.
- SCINet 107.3s/run 최장 — SCI-Block 재귀 depth (default 3) × 4-stage (downsample → conv1d → interact → upsample) 연산 누적 (가설 수준, ablation 미수행).
- Track A 3종 std ≤ 1.57s — 일관.
8.2 Track A max_steps 한계 도달 (P3 후속 필요)
| Model |
train_loss history n |
early_stop trigger |
| NBEATSx |
500 (max_steps) |
미 trigger |
| TSMixer |
500 (max_steps) |
미 trigger |
| TiDE |
500 (max_steps) |
미 trigger |
- 수렴 전 중단 가능성 — 500 수렴 가정은 본 phase 근거로는 불충분.
- Track B 는 정상: SCINet 12-26 epochs, Pyraformer 7-18, Crossformer 7-14 (train_epochs=50 미만 early_stop trigger).
- P3 후속: Track A NF 3종
max_steps=1000 재실험으로 NBEATSx PAPE 점추정 안정성 검증 필요.
8.3 MLflow Per-epoch 로깅 검증 (v9-05 Critical C1 재발 방지)
Track A EpochMLflowCallback(pytorch_lightning.Callback) 주입 + Track B raw torch loop 내 mlflow.log_metric(..., step=epoch) 직접 호출. MlflowClient().get_metric_history(run_id, "train_loss") 길이 검증:
| Model |
샘플 run |
train_loss n |
val_loss n |
결과 |
| NBEATSx |
A_NBEATSx_Apt88_seed123 |
500 |
11 |
OK |
| TSMixer |
A_TSMixer_Apt88_seed123 |
500 |
11 |
OK |
| TiDE |
A_TiDE_Apt88_seed123 |
500 |
11 |
OK |
| SCINet |
B_SCINet_Apt88_seed123 |
12 |
12 |
OK |
| Pyraformer |
B_Pyraformer_Apt88_seed123 |
18 |
18 |
OK |
| Crossformer |
B_Crossformer_Apt88_seed123 |
14 |
14 |
OK |
- 6 모델 전수 OK + random 5 샘플 추가 검증 OK.
- CLAUDE.md 규약 "Training loss → mlflow.log_metric(step=) per epoch/round" 충족.
- v9-05 P1 강제사항 계승 성공.
8.4 MLflow 전체 상태
| 카테고리 |
개수 |
| Active FINISHED (Track A × 45) |
45 |
| Active FINISHED (Track B × 45) |
45 |
| Active FINISHED (aggregate_mean) |
1 |
| 소계 (active) |
91 |
| Deleted (smoke + 실패 tombstone) |
10 |
| 전체 |
101 |
9. 한계
- ETSformer 미검증 — 분모 축소 (Critical 1). TSLib
src/tslib/models/ETSformer_EncDec.py:156 CUDA device mismatch 로 SKIP. ≤5 line 패치 (index_tuple.to(f.device)) 한 번만 시도 후 종료. H9-6c 분모 3 → 2 축소는 denominator manipulation 약점. 차기 phase 1-line 패치 후 재시도 필요 (P2).
- NBEATSx 통계 비유의 (Major 2). 95% CI [30.71, 38.46] 이 R1b (37.36) 포함, p ≈ 0.15 (n=15) / 0.44 (seed=42 n=5). "R1b / N-HiTS 대체·갱신" 주장 금지. n 확장 또는 CI overlap 없는 모델 발견 없이는 통계 우위 주장 불가.
- Watch 정의 46/30 정량 근거 부재 (Major 1). v9-05 OR → v9-06 AND 정의 변경이 SCINet 결과 관찰 이후 이루어진 정황, 사후적 정합화 의혹 완전 배제 불가. 완화 조치로 병기 판정 실시 (§3.1).
- Apt51 Cherry-picking 교정 (Major 3). SCINet Apt51 HR@1 67.62 의 "hierarchical 구조 정합" 단일 해석은 비-hierarchical 모델 spike 로 반증. Apt51 은 전-모델 공통 "쉬운 가구" 로 재귀속. 사후 가설 재등록 필요 (P4).
- Track A max_steps=500 한계 도달 — 수렴 여부 미확인 (Minor 3). NBEATSx / TSMixer / TiDE 모두 early_stop 미 trigger. 500 수렴 가정 불충분, max_steps=1000 재실험 필요 (P3).
- R1b 대체의 비대칭성. NBEATSx 가 R1b 를 전 가구 uniformity 로 이긴 것이 아니라 4/5 가구 우위 + Apt51 단독 열세 (+10.15%p) 의 결과. R1b 는 FL aggregation, NBEATSx 는 per-apt 학습 — 학습 조건 asymmetry. 동등 조건 R1b 재실행 없이 직접 비교 한계.
- Ablation 미수행. NBEATSx PAPE 34.58 의 구조적 원인 (identity stack / n_polynomials / n_harmonics / dropout=0.0 중 dominant 요인) 미규명. SCINet SCI-Block depth 기여도 (wall-clock 107.3s 원인) 미분석.
- Track B raw torch loop seed 비대칭 확대 (설계 R6 실현). Pyraformer/Crossformer PAPE seed std 4%p+ (Track A 0.2-0.7%p 대비 ~6×). SCINet 1.15%p 로 상대적 안정. 3-seed 의 HR 축 noise 해소 한계.
- v6/v9-01 baseline 과 seed 비대칭. n=5 (seed=42) vs n=15 (3-seed). expert §5.3 seed=42 subset 교차 확인으로 순위 robustness 확보하나, apt-level 상대 우위는 seed 선택 변동 가능.
10. Action Items / 사용자 결정 필요 사항
설계서 §1.4 및 §6.4 규약상, H9-6a Strict FAIL 귀결 시 후속 방향은 사용자 결정 사항이다. 본 보고서는 옵션 선택을 강제하지 않으며, 판단 자료만 정리한다.
#1 — VQ 이식 실험 착수 (SCINet + NBEATSx)
- 배경: v9-05 전수 FAIL 이후 v9-06 2차에서 Watch PASS (SCINet) + PAPE 단일축 점추정 1위 (NBEATSx) 로 처음 등장한 VQ-친화 후보 2종 확보.
- 제안 옵션:
- 옵션 1a: SCINet 우선 이식 (Watch PASS, MSE 1위, HDT 유사 구조 근거). SCI-Block interact 단계 latent codebook.
- 옵션 1b: NBEATSx 우선 이식 (PAPE 점추정 1위, basis-expansion theta space codebook, VQ-TR 철학 정합). 단 HR@1 22.86 낮음.
- 옵션 1c: 두 후보 병렬 이식 (VQ 이식 friction / 정확도 저하 리스크 분산).
- ADR-009 교훈 반영: DLinear+VQ near-collapse (codebook utilization 4%) 재발 방지 — codebook 초기화, commitment loss weighting, EMA update 등 설계 선행 필요. VQ 이식 후 typical 정확도 하락 (1-5%p) 시 Watch 이탈 가능성 사전 대비.
- 결정 필요: 착수 여부 + 우선순위 + 이식점 범위 (interact 단계 vs encoder 말단 vs theta space 등).
- 패치 대상:
src/tslib/models/ETSformer_EncDec.py:156 의 index_tuple 텐서를 .to(f.device) 로 이동 (≤5 line).
- 효과: 성공 시 H9-6c 분모 3 복원 + denominator manipulation 약점 해소. 실패 시 ETSformer 구조적 부적합 증거로 결론.
- 비용: smoke 단일 모델 (3 epochs, 1 apt, 1 seed) ≤ 5분.
- 결정 필요: 단일 모델 smoke 후 본 실행 편입 여부. 본 phase 수치는 그대로 유지하고 supplement 로 기록하는 방안도 고려 가능.
#3 — Track A max_steps 확장 재실험
- 배경: NBEATSx / TSMixer / TiDE 모두
max_steps=500 한계 도달, early_stop 미 trigger → 수렴 여부 미확인.
- 영향: NBEATSx PAPE 점추정 1위 (34.58) 가 진짜 수렴 값인지 검증 필요. 500 수렴 가정은 본 phase 근거로는 불충분 — 1000 으로 재실험 시 CI 폭 축소 또는 점추정 변동 가능.
- 비용: 3 models × 5 apts × 3 seeds × 2× wall-clock (대략 per-run 50s) = ~38분.
- 결정 필요: 재실험 착수 여부. 실시 시 NBEATSx PAPE 안정성 검증 + CI 폭 축소로 통계 비유의 재평가 가능.
#4 — Watch 정의 표준화 (향후 phase)
- 배경: v9-05 Watch =
(PAPE ≤ 43 OR HR@1 ≥ 37) (OR, 단일축), v9-06 Watch = (PAPE ≤ 46 AND HR@1 ≥ 30) (AND, 완화 임계). 46/30 정량 근거 부재 — 사후성 의혹 (§9 #3).
- 옵션:
- 표준 A: v9-05 OR 정의 채택 (엄격 임계, 단일축 통과 허용). 논리: 단일축 통과 모델은 VQ 이식 진입 자격으로 충분.
- 표준 B: v9-06 AND 정의 채택 (완화 임계, 양축 AND). 논리: 양축 동시 충족이 실용적으로 더 의미.
- 표준 C: Strict (43/37) 단일 기준으로 복귀, Watch 개념 폐기. 논리: Watch 는 본질적으로 정의 종속적이므로 제거.
- 결정 필요: phase 간 표준 정의 + 임계 정량 근거 문서화 (ADR 수준).
#5 — 후속 P2-P6 (expert §9.3 중 사용자 결정 대기 사항)
- P4 Apt51 사전 가설 재등록: "Apt51 = 전 모델 HR@1 +16%p spike 가구 (데이터 특성)" 를 다음 phase 설계서 사전 가설로 등록. Apt51 제외 EC50 변형 vs 전체 EC50 비교 실험 필요 여부 결정.
- P5 NBEATSx + FL 결합 실험: per-apt 학습의 Apt51 drift 를 FL aggregation (FedAvg / FedPM) 이 완화할지 사전 등록 가설로 별도 phase 설계 여부.
- P6 SCINet SCI-Block depth ablation: wall-clock 107.3s 의 재귀 depth 기여도 / PAPE·HR 성능 trade-off.
11. 참조 경로
| 유형 |
경로 |
| 설계서 |
report/version9/lab-leader/v9-06_baseline_extension_2.md |
| exp-expert 결과 (revision 1) |
report/version9/exp-expert/v9-06_baseline_ext_2_results.md |
| exp-critic 판정 |
report/exp-critic/v9-06_baseline_ext_2_critic.md |
| 선행 phase summary |
report/version9/reporter/v9-05_baseline_ext_summary.md |
| v9-04 phase summary |
report/version9/lab-leader/v9-04_phase_summary.md |
| 본 보고서 |
report/version9/reporter/v9-06_baseline_ext_2_summary.md |
| 학습 스크립트 |
experiments/forecasting/v9_0424_baseline_extension_2.py |
| 원시 결과 |
outputs/v9_baseline_ext_2/summary.csv (90 records) |
| 메트릭 JSON |
outputs/v9_baseline_ext_2/metrics/*.json (90 파일) |
| 체크포인트 (Track B) |
outputs/v9_baseline_ext_2/checkpoints/{track}_{model}_{apt}_seed{seed}/best.pt |
| MLflow experiment |
v9-baseline-ext-2 (id=230168135891700392), 91 active + 10 deleted |
| TSLib git hash |
4e938a1767106324dd753b2a44832bf870a0252e |
최종 판정
- H9-6a (Strict, PAPE ≤ 43 AND HR@1 ≥ 37): FAIL (6/6 모델 미충족).
- H9-6a (v9-06 Watch, PAPE ≤ 46 AND HR@1 ≥ 30): SCINet 단독 PASS (PAPE 42.35, HR@1 34.48).
- H9-6a (v9-05 Watch 병기, PAPE ≤ 43 OR HR@1 ≥ 37): SCINet + NBEATSx 2종 PAPE 단일축 PASS. Watch 정의 선택에 SCINet 판정 robust.
- H9-6a (단일축 PAPE 점추정): NBEATSx 점추정 1위 (34.58, 95% CI [30.71, 38.46], R1b 37.36 포함, p ≈ 0.15) — 통계 비유의, "갱신·대체" 주장 금지.
- H9-6b (SCINet Track B 내 상대 우위, 분모 ETSformer 제외 2모델): SUPPORTED (부분 근거).
- H9-6c (TSLib Transformer variants FAIL): PARTIAL (2/3, ETSformer 미검증).
- VQ 후보 잠정: SCINet (1순위, Watch PASS) + NBEATSx (2순위, PAPE 점추정 1위 통계 비유의). 확정 아닌 "VQ 삽입 실험 진입 자격 최초 획득".
- Per-epoch MLflow 로깅: v9-05 Critical C1 재발 없음, 6 모델 전수 검증 완료.
- Wall-clock: 71.0분 (설계 예산 2-3h 의 59%).
- 본 phase status: exp-critic revision cycle 완료 (Critical 1 + Major 3 + Minor 5 전량 반영, revision 1, 2026-04-25). 상류 gate 통과. 재실험 없음.
- 후속 phase 진입 시 P1 강제사항 유지: Per-epoch MLflow 로깅 (EpochMLflowCallback for Track A + raw loop direct log for Track B).
- 후속 결정: VQ 이식 착수 / ETSformer 보강 / max_steps 확장 / Watch 정의 표준화 4건 사용자 결정 위임.