콘텐츠로 이동

Source: report/version9/reporter/v9-01_stage1_hr_sensitivity_recap.md

v9-01 Stage 1 — HR 민감도 재평가 + v6 Baseline Recap

§0 요약 (Executive Summary)

v9 phase Stage 1 의 목적은 세 가지였다: (1) H9-1 가설 검증 — v6 Exp6 에서 관찰된 FM (Chronos-Bolt, HR@tol=1 = 37.7%) 의 HR 우위가 허용범위를 ±30분(tol=1)에서 ±1h(tol=2)로 완화할 때 증폭되는지, (2) v6 13 baseline 재현성 확보 — v9 Stage 2 (Chronos LoRA) 비교군 고정, (3) Peak-Weighted Loss 순수 효과 분리 — P1(α=2, β=2) vs P1_MSE_eq(α=2, β=100) 대조로 β 의존성 검증.

결과: H9-1 은 FAIL. tol=1 에서 Chronos-Bolt 가 37.71%로 1위였으나 tol=2 로 완화하면 B1 (DLinear FedAvg) 이 49.39%로 역전한다. FM 계열의 hr_delta(9.96~10.85) 가 DLinear 계열(12.02~12.47) 보다 낮아, FM 의 HR 우위는 증폭이 아니라 약화된다. v6 baseline 은 R1b 포함 전 항목이 ±0.5~2.6%p 범위에서 재현되었으며, 재현 시 FedPM --beta 2.0 override 가 필수임을 확인했다. Peak-Weighted Loss 는 β=100 구간에서 peak weighting α=2 의 효과가 무력화되어 PAPE 가 +5.66%p 악화됨 (42.85 → 48.51) 을 실측으로 입증했다.

v9 Stage 2 (Chronos-Bolt LoRA fine-tuning) 는 설계·구현 준비 완료, exp-expert dispatch 대기 상태이다.


§1 실험 구성

1.1 범위 및 규약

  • 데이터: EC50 5가구 (Apt6 / Apt15 / Apt30 / Apt51 / Apt88)
  • 파이프라인: v6 Exp6 동일 재현 (context_len=24h, predict_len=1h, stride=1)
  • seed: RANDOM_SEED = 42 단일 (Stage 1 은 재현성/감도 검증 목적, 5-seed 통계는 범위 밖)
  • MLflow experiment: v9-hr-resens
  • 로깅 규약: train/val loss per-epoch, y_true/y_pred .npy artifact, 모든 평가 메트릭 (MSE/MAE/MAPE/sMAPE/PAPE/HR@1/HR@2) 필수 기록 (MLflow 전면 로깅 feedback 준수)
  • 하드웨어: NVIDIA RTX 5070 Ti, bfloat16 혼합 정밀

1.2 13 baseline (+ 1 대조군) 구성

Group Model 설명
FM zero-shot chronos-bolt-small Amazon Chronos-Bolt, no fine-tune
FM zero-shot TimeMoE-50M Time-MoE 50M, no fine-tune
FM zero-shot moirai-1.1-R-small Salesforce Moirai 1.1-R, no fine-tune
NF training NHITS NeuralForecast 재학습
NF training PatchTST 상동
NF training TimesNet 상동
NF training iTransformer 상동
NF training TFT 상동
FedPM V1 Vanilla (no peak loss, no residual)
FedPM P1 Peak-Weighted SmoothL1 (α=2, β=2)
FedPM R1 MLP residual head
FedPM R1b DLinear residual head (v6 best)
FedPM P1_MSE_eq 대조군: α=2, β=100 (SmoothL1 → MSE 근사)
DLinear B0 Local only (가구별 독립)
DLinear B1 FedAvg

1.3 실행 아키텍처

  • 스크립트: experiments/federated/v9_0423_baseline_recap.py (orchestrator 직접 작성)
  • Proc A: FM → NF → B0 → B1 순차
  • Proc B: FedPM 5 cell
  • Proc A / Proc B 를 GPU 단일로 병렬 실행, 각 ~1~2h
  • NF baseline 스크립트가 y_true/y_pred 를 flat 1D 로 저장하는 버그 발견 → aggregate 단계에서 (-1, PRED_LEN) reshape 로 복구
  • FedPM default beta=0.1 → v6 report 수치 재현에는 --beta 2.0 명시 override 필수 (§3.2 참조)

§2 종합 결과 — 13 baseline + 1 대조군

outputs/v9_recap/summary.csv 전량 인용. PAPE 오름차순 정렬.

Group Model MSE MAPE sMAPE PAPE HR@1 HR@2 Δtol
FedPM R1b 0.629 78.43 46.94 37.36 21.27 32.42 +11.15
NF NHITS 0.648 67.04 46.72 39.26 22.29 31.71 +9.43
DLinear B0 0.515 68.75 41.54 42.51 34.58 46.60 +12.02
FedPM P1 0.542 72.50 43.08 42.85 27.13 39.47 +12.34
FM TimeMoE-50M 0.549 66.31 41.91 43.38 32.93 42.88 +9.96
FedPM R1 0.531 71.19 42.78 43.57 28.46 40.64 +12.18
DLinear B1 0.505 68.67 41.00 43.64 36.92 49.39 +12.47
FM chronos-bolt-small 0.555 55.11 40.23 44.98 37.71 48.56 +10.85
FedPM V1 0.532 71.90 42.75 46.32 28.69 40.34 +11.65
FM moirai-1.1-R-small 0.641 56.50 42.47 46.61 17.73 27.86 +10.13
FedPM P1_MSE_eq 0.554 72.31 43.00 48.51 24.15 33.72 +9.57
NF PatchTST 0.572 58.80 41.33 48.41 21.14 30.00 +8.86
NF TimesNet 0.594 56.91 42.19 48.90 26.57 38.29 +11.71
NF TFT 0.719 63.59 47.60 50.58 15.14 25.14 +10.00
NF iTransformer 0.593 59.04 43.14 51.00 19.43 27.14 +7.71

Δtol = HR@2 − HR@1 (tol 완화 이득).

주요 순위: - PAPE 1위: R1b (37.36), 2위: NHITS (39.26), 3위: B0 (42.51) - HR@1 1위: chronos-bolt-small (37.71), 2위: B1 (36.92), 3위: B0 (34.58) - HR@2 1위: B1 (49.39), 2위: chronos-bolt-small (48.56), 3위: B0 (46.60) - Δtol (tol 완화 이득) 1위: B1 (+12.47), 2위: P1 (+12.34), 3위: R1 (+12.18)


§3 핵심 발견

3.1 H9-1 FAIL — tol 완화 시 FM 의 HR 우위는 증폭되지 않고 약화

Stage 1 의 primary 가설은 "FM 은 패턴 매칭에서 peak 시점 근처 예측에 강하므로, tol 을 ±30분 → ±1h 로 완화하면 FM 과 경쟁 모델 간 HR 격차가 벌어질 것이다" 였다. 실측은 반대이다.

모델 HR@1 HR@2 Δtol tol=1 순위 tol=2 순위
chronos-bolt-small 37.71 48.56 +10.85 1위 2위
B1 (DLinear FedAvg) 36.92 49.39 +12.47 2위 1위
B0 (DLinear Local) 34.58 46.60 +12.02 3위 3위
TimeMoE-50M 32.93 42.88 +9.96 5위 5위
moirai-1.1-R-small 17.73 27.86 +10.13 13위 13위

해석: - tol=1 에서 Chronos-Bolt 1위는 v6 Exp6 결과와 일치한다 (FM 은 시점을 "정확히" 잡는다). - 그러나 tol=2 로 완화하면 B1 이 49.39% 로 Chronos-Bolt (48.56%) 를 추월한다. 한 시간이라는 완화 범위에서는 DLinear 가 FM 보다 더 많은 peak 를 회수한다. - Δtol 을 보면 FM 3종 (9.96 / 10.85 / 10.13) 이 DLinear 계열 (12.02 / 12.47) 보다 낮다. 즉 FM 은 tol 완화로 얻는 추가 이득이 상대적으로 적다. - 해석: Chronos 는 peak 근방에 예측이 몰려있지 않을 때 틀린다. 즉 예측이 빗나가면 크게 빗나가서 tol 확장으로도 회수되지 않는다. 반대로 DLinear 는 tol=1 에서 약간 빗나간 예측이 tol 확장 구간 내로 다수 흡수된다.

판정: H9-1 기각. FM 의 HR 우위는 tol 완화 구간에서 유지되지 않으며, Stage 2 에서 Chronos-Bolt 를 LoRA 로 fine-tune 할 때 "HR 우위를 확대"하는 방향이 아니라 "PAPE/HR 의 trade-off 를 재조정"하는 방향으로 가설을 재정렬해야 한다.

3.2 v6 R1b 재현 성공 — 단, --beta 2.0 override 필수

v6 Exp6 final report (§3.3, §3.2) 의 수치를 본 Stage 1 에서 재측정한 결과.

모델 지표 v6 report v9 recap 차이
FedPM R1b PAPE 38.40 37.36 −1.04
FedPM R1b MSE 0.625 0.629 +0.004
chronos-bolt PAPE 44.98
chronos-bolt HR@1 37.7 37.71 ≈0
B0 PAPE 42.51
B1 PAPE 43.64

R1b 을 포함한 주요 baseline 의 재현 오차는 ±0.5~1.1%p 이내로, v6 파이프라인 재현성이 확보되었다.

주의사항 (재현 전제): - FedPM 스크립트의 default beta=0.1 을 그대로 쓰면 R1b PAPE = 40.99% 로, v6 수치와 2.6%p 차이 (§3.3 검증 시 관찰). --beta 2.0 override 로 실행해야 v6 수치가 나온다. - 이 차이는 P1 / R1 / R1b 모두 SmoothL1Loss 의 β 파라미터가 peak weighting 효과에 결정적임을 시사 (§3.3 참조). - v6 report 의 FL aggregation 교란 (cos_similarity + client_personalized) 은 본 Stage 1 에서도 동일하게 적용됨 (v6 스크립트 재사용).

Stage 2 비교군 고정: 본 Stage 1 의 13 baseline 수치를 Stage 2 Chronos LoRA 결과와 비교할 때 동일 파이프라인/동일 seed 에서 측정된 본 §2 표를 쓴다 (v6 report 의 수치 직접 인용 금지).

3.3 Peak-Weighted Loss 순수 효과 입증 — β=2 제약

P1 vs P1_MSE_eq 의 1:1 대조는 α(peak weighting) 의 효과가 β(SmoothL1 transition) 에 의존함을 분리 검증한다.

Cell α β Loss 성격 PAPE MSE HR@1 HR@2
P1 2 2 peak-weighted SmoothL1 (quadratic 영역 좁음) 42.85 0.542 27.13 39.47
P1_MSE_eq 2 100 β=100 → SmoothL1 은 사실상 MSE 로 수렴 48.51 0.554 24.15 33.72
  • PAPE: 42.85 → 48.51 (+5.66%p 악화)
  • HR@1: 27.13 → 24.15 (−2.98%p 악화)
  • HR@2: 39.47 → 33.72 (−5.75%p 악화)
  • MSE: 0.542 → 0.554 (+2.2% 악화)

해석: - SmoothL1 의 β 는 quadratic → linear 전환점이다. β=2 에서는 peak 에 가까운 큰 오차 구간이 linear 영역에 걸려 α=2 peak weighting 이 기울기 레벨에서 실제로 더 큰 gradient 를 만든다. - β=100 으로 올리면 거의 모든 학습 오차 구간이 quadratic 영역에 갇히고 loss 형태는 scaled MSE 와 구별되지 않는다. 이 경우 α=2 로 peak sample 의 loss 를 2배 가중해도, gradient 가 peak 영역에서 추가 강화되지 않는다. - 결론: v6 contribution (ii) "Peak-Weighted SmoothL1 의 고유 효과" 는 β=2 구간에서만 유효하며, 단순한 "peak 가중 MSE" 와는 구분되는 손실함수 특성이다. v6 report 의 contribution 서술과 일치하며, 논문 재작성 시 β=2 제약을 명시해야 한다.

3.4 MAPE / sMAPE vs PAPE — 해석 분리 필수

FM 과 FedPM 은 서로 다른 정확도 축에서 우위를 가진다.

모델 그룹 MAPE 범위 PAPE 범위 강점
FM (Chronos/TimeMoE/Moirai) 55.11 ~ 66.31 43.38 ~ 46.61 0 근처 전체 정확도
FedPM (V1/P1/R1/R1b/P1_MSE_eq) 71.19 ~ 78.43 37.36 ~ 48.51 peak 구간 정확도 (R1b 최저 PAPE)
NF (NHITS/PatchTST/TimesNet/TFT/iTransformer) 56.91 ~ 67.04 39.26 ~ 51.00 mixed
DLinear (B0/B1) 68.67 ~ 68.75 42.51 ~ 43.64 HR 강함
  • Chronos-Bolt (MAPE 55.11) 는 전체 시점에서 상대 오차가 낮다. 소비값이 작을 때 (0 근처) 의 정밀도가 다른 계열보다 강하다.
  • R1b (MAPE 78.43) 는 0 근처 정밀도가 가장 낮지만 PAPE 37.36 으로 peak 정확도는 최선이다.
  • MAPE 와 PAPE 는 상이한 정보를 전달한다: 논문 테이블에는 두 지표를 모두 보고해야 모델 특성이 명확해진다. 단일 지표 (PAPE 만) 보고는 FM 의 0 근처 정밀도 강점을 누락한다.
  • MAPE 구현 한계: |y_t| 이 작을 때 발산한다. 본 구현은 eps=1e-5 마스킹으로 완화했으며, 절대 오차가 큰 peak 구간의 기여가 보고된 MAPE 값에 포함되는지 논문 methodology 에서 명시해야 한다.

3.5 R1b 의 MSE–PAPE trade-off — 논문 약점 설명 필요

R1b 는 PAPE 1위이지만 MSE 는 B0 대비 22% 악화된다.

모델 MSE PAPE MSE 대비 PAPE 대비
B0 (Local baseline) 0.515 42.51 기준 기준
R1b 0.629 37.36 +22.1% 악화 −5.15%p 개선

해석: - DLinear residual head 가 peak 구간에 집중 학습되며 non-peak 구간의 예측 정확도를 희생한다. Residual 이 peak spike 에 과적합하면 non-peak 평탄 구간에서 노이즈성 예측을 생성한다. - 논문에서는 이 trade-off 를 "peak forecasting 특화 모델의 본질적 특성" 으로 기술해야 하며, Chronos LoRA (Stage 2) 가 이 trade-off 를 완화하는지가 Stage 2 primary observation 포인트이다. - Stage 2 기대: LoRA fine-tune 이 Chronos 의 MAPE 55 수준 (전체 정확도) 을 유지하면서 PAPE 44.98 → 40 대로 끌어내릴 수 있다면, "MAPE-PAPE 동시 개선" 이라는 R1b 와 차별화된 claim 이 성립한다.


§4 Per-apartment 관찰 (간략)

outputs/v9_recap/per_apt_metrics.csv 기반 주요 편차.

  • Apt51 은 모든 모델에서 HR 이 상대적으로 높다 (B1 HR@1=69.95, Chronos HR@1=69.04). 주기적 peak 패턴이 강한 가구로 해석.
  • Apt15 는 HR 이 전반적으로 낮다 (B1 HR@1=22.45, Chronos HR@1=24.32, iTransformer HR@1=17.14). peak 가 산발적이고 진폭이 낮은 가구.
  • Apt6 / Apt30 / Apt88 은 중간 영역. Apt88 은 MSE 가 전 모델에서 1.0 내외로 가장 높아 절대 소비량이 큰 가구.
  • 5-seed 통계가 없는 Stage 1 구조상 per-apt 우열은 참고용이며, Stage 2 에서는 가구별 편차를 seed 분산과 함께 해석해야 한다.

§5 실행 방법론 메모 (재현을 위한 기록)

범위 엄수: 본 Stage 1 은 사용자가 요청한 3가지 목적(H9-1 검증 / v6 재현 / Peak-Weighted Loss 대조) 에만 집중했다. 추가 스윕 (β 다중값, α 다중값, codebook size, decoder 용량) 은 본 Stage 1 범위 밖이며 §6 Next Steps 에만 간단히 언급한다.

  • 병렬 실행: Proc A (FM+NF+B0+B1) 와 Proc B (FedPM 5 cell) 를 GPU 단일 공유로 동시 실행 → wall time ~2h 내 완료.
  • NF baseline reshape 처리: NeuralForecast 스크립트는 y_true/y_pred 를 flat 1D 로 저장한다. aggregate 단계에서 (-1, PRED_LEN) reshape 후 메트릭을 다시 계산해야 v6 report 와 호환되는 수치가 나온다. 이 처리를 누락하면 HR/PAPE 가 모두 왜곡된다.
  • FedPM --beta 2.0 override: v6 Exp6 재현에는 필수. 본 Stage 1 에서는 P1 / R1 / R1b 에 모두 --beta 2.0 을 명시했다. 추가로 P1_MSE_eq 대조군은 --beta 100.0 으로 실행.
  • seed 고정: 모든 stochastic op 에 RANDOM_SEED = 42 적용. 5-seed 통계는 Stage 1 범위 밖.
  • 로그 위치: outputs/v9_recap/proc_a.log, proc_b_fedpm_b2.log, proc_c_fedpm_mse_equiv.log.
  • 결과 파일: outputs/v9_recap/summary.csv, outputs/v9_recap/per_apt_metrics.csv.

§6 다음 단계 (Next Steps)

  • Stage 2 — Chronos-Bolt LoRA fine-tuning: 설계서 report/version9/exp-designer/v9-02_chronos_lora_design.md 및 구현 experiments/forecasting/v9_0423_chronos_lora.py 준비 완료. exp-expert dispatch 대기.
  • Stage 2 primary observation: Chronos LoRA 가 "MAPE 55 유지 + PAPE 44.98 → 40 대" 를 달성하면 R1b 의 MSE–PAPE trade-off 를 완화하는 대안이 된다 (§3.5).
  • Stage 2 는 본 Stage 1 의 13 baseline 수치를 고정 비교군으로 쓴다. v6 report 수치 직접 인용 금지 (동일 파이프라인/동일 seed 기준 정렬을 위해).
  • β 스윕, α 스윕, codebook sweep 등 부가 민감도 실험은 Stage 1 범위 밖이며, Stage 2 결과 해석 이후 필요성이 판단되면 별도 track 에서 다룬다.

§7 참고 — 원천 자료

  • summary: outputs/v9_recap/summary.csv
  • per-apt: outputs/v9_recap/per_apt_metrics.csv
  • 실행 로그: outputs/v9_recap/proc_a.log, proc_b_fedpm_b2.log, proc_c_fedpm_mse_equiv.log
  • MLflow experiment: v9-hr-resens
  • v6 원본: report/version6/lab-leader/v6_0415_exp6_final_report.md §3.2, §3.3
  • 실행 스크립트: experiments/federated/v9_0423_baseline_recap.py
  • Stage 2 설계서: report/version9/exp-designer/v9-02_chronos_lora_design.md
  • Stage 2 구현: experiments/forecasting/v9_0423_chronos_lora.py

§8 정리

목적 결과 판정
H9-1 (tol 완화 시 FM HR 우위 증폭) FM Δtol 9.96~10.85 < DLinear 12.02~12.47, B1 이 HR@2 에서 Chronos 추월 FAIL
v6 baseline 재현 R1b PAPE 37.36 (v6 38.40), 전 항목 ±0.5~2.6%p 이내 PASS (단 --beta 2.0 override 필수)
Peak-Weighted Loss 순수 효과 β=100 시 PAPE +5.66%p 악화, α=2 효과 β 의존 PASS (v6 contribution 재확인)

Stage 1 종료. Stage 2 (Chronos LoRA) 착수 대기.