콘텐츠로 이동

Source: report/version10/exp-expert/v10-04_E2_NHITS_FreqBand_analysis.md

v10-04: E2 NHITS + Frequency-Band Codebook — 단독 분석

0. Executive Summary

  • 결과: E2 (MinimalNHITS + FreqBandCB(low/mid/high) × M=32 × d=64, FedAvg + per-band Memory Alignment γ=0.98/0.95/0.85, peak-α=2.0, VQ_high_loss × 2)는 30 round 학습 후 test_pape=84.97%, test_hr1=13.22%, test_hr2=18.41%, test_mse=0.4816 로 종료. v10 VQ 4종 중 PAPE 워스트 (E1=55.01, E4=67.59, E2=84.97).
  • B3 NHITS noVQ 대비 +40.31 PAPE, v9-01 NHITS recap 39.26 대비 +45.71 PAPE, B0 DLinear Local 42.51 대비 +42.46 PAPE. v10 frequency-band 이식이 동일 backbone 무-VQ 대비 일관되게 악화.
  • H10-1 판정 = FAIL (강한 형태). 검증 기준 두 축 — PAPE < B0=42.51 그리고 high-freq CB util > 50% (설계서 §1.2) — 모두 위반. high-freq CB 평균 util 6.47%, peak window vs non-peak window 분리 로깅 자체가 누락(설계서 §9.2 명세 미구현)이라 가설의 정성 증거조차 수집 불가.
  • 3-band 동시 collapse: round 0 부터 low/mid/high 모두 util 5–6% 출발. 30 round 동안 low가 11.8%까지 회복, mid 10.6%, high는 6.5% 이하 유지(오히려 r=18 이후 더 하락). collapse alert가 매 round 3 band 모두에서 트리거.
  • best_round=19, best_val_pape=307.76% (z-score scale validation 기준) — round 20–30 에서 추가 악화. 학습 발산 패턴.
  • 결정적 발견 (smoking gun): 예측 분포가 평탄화 collapse. y_pred 평균 0.25 vs y_true 평균 0.39, peak_pred 평균 0.31 vs peak_true 평균 2.01 [정의 (A) window-wise max 후 평균; 정의 (B) pred_at_argmax 12.5%, 정의 (C) overall max 32.6%로도 평탄화 일관 확인 §3.3.1] — 모델이 peak 의 약 15% 진폭만 예측. std 비율 0.45/0.73=0.61 (per-household ratio mean=0.27, # ratio<0.20 = 24/50, broad-based collapse §3.3.2). y/ŷ correlation 0.411. 즉 "peak-α=2.0 + VQ_high×2" 가중이 작동했음에도 quantization noise 와 3-stack additive 합성이 평탄한 평균 회귀 예측을 강화.
  • E2_simple ablation (revision 1 통합): weighting 균일 + K-means++ 비활성 변형에서 PAPE 68.35 (본 84.97 대비 -16.62) 로 표면 개선처럼 보이나, MSE 1.40 (본 0.48 대비 +191% 악화) / std_ratio 0.066 (1/10 더 평탄) / corr -0.003 / best_round=0 으로 더 극단적 단조 상수 출력 collapse 임이 확인. PAPE 개선은 분모-분자 비율에 단조 상수가 우연히 favorable 했기 때문. 4 후보 (3-stack additive / VQ_high×2 / γ=0.85 / K-means++ cliff) 중 어느 것도 simple 로 분리되지 않음. "E2 drop, v11 STFT/wavelet 재설계" 결론은 simple 결과로 약화되지 않고 강화 (§3.3.4).
  • 통신량 trade-off: bytes_per_round 24,576 (B3 NHITS noVQ 90,912 대비 −73.0%) — 그러나 PAPE +40.31. 통신 절감 대비 성능 손실 비율이 v10 4 E* 중 가장 비현실적.
  • 다음 단계 권고: E2 drop. v11 에서 (a) FreqBandCB 를 명시적 STFT/wavelet 기반 frequency 분해로 재설계, (b) NHITS 의 hierarchical additive 합성과 VQ noise 의 상호작용 회피 (예: residual quantization, 또는 마지막 stack 만 VQ 이식), (c) cb_util_{band}_{peak|nonpeak} 로깅 의무화 — 가설 검증의 정성 증거 수집 자체가 불가능했던 phase 설계 결함 시정.

1. 메트릭 요약 표

ID Model test_pape test_hr1 test_hr2 test_mse best_round bytes/round comm-vs-B3
E2 NHITS + FreqBandCB 84.97 13.22 18.41 0.4816 19 24,576 −73.0%
B3 NHITS noVQ (FedAvg) 44.66 17.14 37.14 0.7732 26 90,912 baseline
Phase1 NHITS Local (no-FL, no-VQ) 37.23 19.66 29.45 0
v9-01 recap NHITS (NF) 39.26 22.29 31.71 0.648 0
B0 DLinear Local (recap) 42.51 34.58 46.60 0.515 0
B1 DLinear FedAvg (recap) 43.64 36.92 49.39 0.505
B3 R1b (recap) FedPM+DLinear (v6 R1b) 37.36 21.27 32.42 0.629
E1 NBEATSx + DecompCB 55.01 15.71 31.43 0.8074 16
E4 Crossformer + PQ 67.59 n/a n/a 0.7901 23

E2 vs B3 동일 backbone 비교 (가장 직접 통제 비교): - ΔPAPE = +40.31 (84.97 vs 44.66) - ΔHR@1 = −3.92 (13.22 vs 17.14) - ΔHR@2 = −18.73 (18.41 vs 37.14) — peak 시간 ±2h 이내 적중률이 절반 이하로 무너짐 - ΔMSE = −0.2916 (0.4816 vs 0.7732, MSE는 오히려 E2가 낮음)

MSE만 보면 E2가 좋아 보이는 함정: §3.3.3 평탄화 collapse 분석 참조. 평균 회귀 예측은 MSE를 줄이지만 peak는 잡지 못함. peak 기반 메트릭(PAPE/HR)이 모두 무너진 것이 일관된 진단. 본 함정은 E2 평탄화 specific — E1 (PAPE 55.01 / MSE 0.81) / E4 (PAPE 67.59 / MSE 0.79) 는 PAPE/MSE 동시 악화로 함정 패턴 없음. reporter 단계에서 "MSE-only 보고 금지" 권고는 E2 평탄화 collapse 와 묶어 narrative 화해야 함.


2. 가설 H10-1 판정

2.1 설계서 §1.2 falsification 조건

H10-1: NHITS + Frequency-band CB 에서 high-freq CB 가 peak 정보를 선택적으로 집중한다. Falsification: PAPE ≥ 42.51 (= B0) 또는 high-freq CB util < 50%.

2.2 검증

기준 임계 관측 판정
test_pape < B0=42.51 < 42.51 84.97 FAIL (+42.46 위반)
high-freq CB util > 50% > 50% 6.47% (round-mean) FAIL (43.5pp 위반)
peak vs non-peak window 분리 활성 high/non-peak 비율 > 2× 측정 자체 불가 FAIL (로깅 미구현)

세 축 모두 위반. H10-1 falsification 조건이 OR 이므로 단일 축 위반만으로도 기각이 충족되며, 본 case 는 두 축이 독립적으로 위반되어 robust 한 기각. (revision 0 의 "강한 형태" 표현은 "독립 두 축 동시 위반" 으로 정확화.)

2.3 정성 증거의 부재 (설계 결함 disclosure)

설계서 §9.2 는 cb_util_{cb_id}_{peak|nonpeak} per-round 로깅을 H10-1 검증 hook 으로 명시했으나, experiments/federated/v10_e2_nhits_freqband.py:686-699mlflow.log_metric 호출은 일반 codebook_utilization_{name} 만 기록. peak-window 분리 로깅이 구현 누락됨.

이로 인해 본 분석은 H10-1 의 "high-freq CB가 peak 정보를 집중" 명제의 정성 증거 (peak 시점에서만 high CB 가 활성되는 패턴)를 직접 측정할 수 없다. 다만 round-aggregated util 자체가 6.47% 로 codebook 채널이 거의 활성화되지 않은 상태이므로, peak/non-peak 분리 없이도 가설은 "검증 자체가 의미 없음" 수준으로 무효. 이는 가설을 약하게 기각하는 것이 아니라 강하게 기각.


3. +40.31 PAPE 악화 원인 분석

본 phase 점수 추정만 보고 (seed=42 단일). 인과 주장 금지, 패턴 보고만.

3.1 3-band 동시 collapse — round-by-round trajectory

round val_pape val_hr1 util_low util_mid util_high align_low align_mid align_high
0 362.41 13.69 0.057 0.060 0.051 0.976 0.971 0.965
1 387.85 13.07 0.069 0.065 0.053 0.055 0.054 0.109
5 340.36 16.70 0.102 0.081 0.087 0.049 0.050 0.054
10 354.08 18.16 0.124 0.113 0.071 0.054 0.051 0.064
15 339.88 19.62 0.130 0.122 0.066 0.058 0.059 0.040
19 (best) 307.76 19.64 0.131 0.120 0.059 0.040 0.057 0.031
25 327.55 19.29 0.124 0.117 0.058 0.038 0.051 0.026
29 (final) 342.17 19.21 0.118 0.106 0.065 0.043 0.039 0.026

관찰 (점추정): - 모든 round 에서 3 band 모두 util < 20% — Collapse Alert 매 round 3회 트리거 (collapse_alert_low/mid/high = 1). - low / mid 는 round 0→13 까지 5.7% → 13.8% 로 점진 상승 후 plateau. - high band 는 round 4 (8.8%) 가 peak 후 continuous decline → final 6.5%. peak 정보를 가장 많이 담아야 할 stack 이 학습 진행과 함께 codebook 사용을 줄임. - peak-α=2.0 + VQ_high_loss × 2 가중에도 high band 만 수축하는 패턴은 "high CB 가 peak 신호를 인코딩하지 못해 task loss 가 high stack 의 forecast 출력 자체를 0 쪽으로 누르는 방향" 으로 해석 가능. 단 단일 seed 점추정이라 강한 인과 주장 금지.

3.2 alignment_sim_mean 의 round 0→1 cliff

round 0: 0.976 / 0.971 / 0.965 → round 1: 0.055 / 0.054 / 0.109. 약 18×–20× 하락. 이는 K-means++ init (round 0 끝의 model.freq_cb.initialize_from_data) 직후 server aggregate 한 codebook 이 클라이언트 next-round local 학습에서 거의 직교 한 방향으로 이동했음을 시사. Memory Alignment γ=0.98/0.95/0.85 의 EMA-style 보호가 작동하기 전에 aggregate 가 codebook 을 deviation 시킴. 이 cliff 가 collapse 의 trigger 일 가능성 — 그러나 ablation 부재라 가설 수준.

Cliff 가 K-means++ unique 가 아닐 가능성 (revision 1 추가): E2_simple 은 kmeans_init=False (random init) 임에도 best_round=0 (학습 사실상 미진행). 이는 round 1 cliff 가 K-means++ init 의 stochasticity 가 아니라 codebook random init 후 첫 FedAvg aggregation 이 항상 발생시키는 일반 현상 일 가능성을 시사. 후보 #4 (K-means++ cliff) 의 가설 강도는 simple 결과로 약화 — 그러나 단일 ablation 이라 강한 기각은 아님.

3.3 평탄화 collapse — predictions 분포 분석 (smoking gun)

artifact path: mlruns/738860791398377455/3d377754b8a54dbaafcf4ec85000e8ba/artifacts/predictions/e2_y_pred.npy (1657 windows × H=24, z-score scale).

3.3.1 Aggregate 통계 + denominator 정의

통계 y_true y_pred 비율
mean 0.393 0.251 0.64×
std 0.727 0.446 0.61×
min −0.794 −0.887
max 3.962 1.289 0.33×
peak_mean (windowwise max) [정의 (A)] 2.011 0.310 0.154×
corr(y_true, y_pred) 0.411

peak denominator 정의 (본 보고서 채택값 = (A)): - (A) window-wise max 후 평균 = 1657 windows 각각에서 max_h y_true[w,h] 계산 후 mean. 채택. 결과: 2.011 / 0.310 = 0.154 (15.4%). - (B) pred_at_argmax(y_true) = argmax 시점에서의 prediction 값 평균. 결과: 0.252 / 2.011 = 0.125 (12.5%) — true peak 시점에서 모델이 예측한 값이 더 낮음. - (C) overall max 비교 = y_true.max() / y_pred.max() = 3.962 / 1.289 = 0.326 (32.6%). 단일 outlier window dominated.

세 정의 모두 평탄화를 일관되게 시사 (15%, 12%, 33%). 본문은 (A) 채택 — 가구별·window별 peak 분포의 평균이라 robust. (B)/(C) 는 robustness check 용 footnote.

3.3.2 가구별 분산 — broad-based collapse 확인 (Apt51 cherry-picking lesson 준수)

50가구 각각의 std(y_pred[h]) / std(y_true[h]) 비율 분포:

통계 per-household std_ratio (n=50)
mean 0.267
std 0.148
min / 5% / 25% / median / 75% / 95% / max 0.056 / 0.080 / 0.150 / 0.259 / 0.349 / 0.536 / 0.625
IQR [0.150, 0.349]
# households with ratio < 0.20 24 / 50 (48%)

관찰: 가구의 절반이 std_ratio < 0.20 (진폭 보존도 20% 미만)이며, IQR [0.15, 0.35] 가 좁지 않음에도 95-percentile 이 0.54 에 그쳐 어떤 가구도 진폭을 80% 이상 보존하지 못함. 단일 outlier 1-2 가구가 평균을 끌어내린 것이 아니라 50가구 전반에 걸친 broad-based collapse. v9-06 revision 1 lesson (Apt51 cherry-picking 검증 순서 — 분포 disclosure → outlier 식별 → 변호 거부) 을 준수해 점추정 단일 비율 (62%) 의 본문 단독 보고를 가구 분포로 보강.

3.3.3 해석

  • 모델이 peak window 에서 실제 peak 진폭의 약 15% 만 예측 (정의 (A) 기준). 즉 거의 평탄한 평균 회귀 출력.
  • std 도 평균 ~62% (가구별 mean 0.267 — 가구별 가중 차이로 두 수치가 다름. aggregate-level 0.61 / per-household-mean 0.27 사이 차이는 가구간 분산이 다른 분모-분자 결합 효과) 로 축소 → variance 부족.
  • y/ŷ correlation 0.411 — 약한 상관, 대부분 "평균값 출력".
  • MSE 0.4816 이 좋아 보이는 이유 = MSE 는 평균 회귀 예측을 보상한다. 그러나 peak-task 입장에서 무용. 이것이 PAPE / HR 메트릭이 동시에 무너지면서 MSE 만 좋아지는 이유.

MSE 함정 적용 범위 (E2 specific): 본 함정은 E2 평탄화 collapse 에 specific 한 패턴이며 v10 일반론이 아님. v10 다른 모델 비교: - E1 (NBEATSx+DecompCB): PAPE 55.01 / MSE 0.8074 — PAPE 와 MSE 가 동시 악화 (B3 0.7732 대비 +0.04). 함정 패턴 없음. - E4 (Crossformer+PQ): PAPE 67.59 / MSE 0.7901 — 마찬가지 PAPE/MSE 동시 악화. 함정 패턴 없음. - E2 만 PAPE 84.97 (워스트) / MSE 0.4816 (best) 의 trade-off — 평탄화가 MSE 를 좋아 보이게 만드는 메커니즘이 E2 unique.

따라서 reporter 단계의 "MSE-only 보고 금지" 권고는 v10 합본 narrative 에서 E2 의 평탄화 collapse 와 묶어 제시해야 하며, E1/E4 에는 적용되지 않음.

3.3.4 평탄화 메커니즘 — 후보 4 가지 + E2_simple ablation 검증

후보 메커니즘 (점추정 가설, 단일 seed): 1. 3-stack additive 합성 + 동시 collapse: y_hat = forecast_low + forecast_mid + forecast_high. 3 stack 의 quantization noise 가 평균적으로 0 에 가까운 codeword 만 활성 → 합산 결과가 0 쪽으로 수축. 2. VQ_high_loss × 2 의 의도 역전: peak-focus 의도였으나 commitment loss 만 키워 high stack 의 hidden representation 이 codebook 의 좁은 영역으로 강제 수렴 → quantized hidden 이 거의 단일 vector 에 가까워짐 (util 6.5% 의 다른 표현). high stack forecast 가 평탄 0 출력에 수렴. 3. per-band γ=0.85 (high) 의 over-aggregation: high band 의 server-side EMA 비율을 가장 낮게 (0.85) 둔 의도는 "client-specific peak 정보 흡수" 이지만, 단일 seed 50가구 환경에서 client-side codebook 변동성이 수렴 신호보다 noise 가 더 큰 상태이면 γ 작은 편일수록 noise 가 codebook 으로 더 많이 누적. 이는 1번 가설과 결합 시 high CB collapse 가속. 4. K-means++ init → round 1 cliff: §3.2. init 직후 codebook 이 client 학습 방향과 정합하지 못해 round 1 에서 alignment_sim 급락 → encoder 가 quantized output 을 사용하지 못하고 평탄 출력으로 "VQ bypass" 방향으로 학습.

E2_simple ablation 결과 통합

본 critique cycle 에서 추가 확보된 ablation: E2_simple (run_id 621d889c2f61483ba3222f9710b10d36, params: vq_strategy=FreqBandCBSimple, kmeans_init=False, peak_alpha=2.0 하지만 weighting 균일).

메트릭 E2 본 (3d377754) E2_simple (621d889c) 비교
test_pape 84.97 68.35 simple −16.62 (개선처럼 보임)
test_mse 0.4816 1.4036 simple +0.92 = 191% 악화
test_hr1 13.22 12.31 simple −0.91
std_ratio (y_pred std / y_true std) 0.61 0.066 simple 1/10 = 더 평탄
corr(y_true, y_pred) 0.411 −0.003 simple 거의 무상관
best_round 19 / 30 0 / 30 simple 학습 자체 미진행

simple 의 PAPE 16 개선은 "회복" 이 아니라 "다른 형태의 더 극단적 collapse": - std_ratio 0.066 = simple 출력은 거의 단조 상수 (mean ≈ 1.03 균일 출력 추정). - corr −0.003 = 입력 신호와 거의 무상관 — 학습된 신호 자체 없음. - best_round=0 = 첫 round 에서 best 갱신 후 한 번도 개선되지 못함 (학습 진행 실패). - MSE 1.40 (B3 0.77 의 1.8×, E2 본 0.48 의 2.9×) = MSE 함정조차 사라짐. 단조 상수 출력은 평균값 회귀보다도 나쁨.

simple 의 PAPE 개선은 단조 상수 출력이 PAPE 분모-분자 비율에 우연히 favorable 했기 때문 (PAPE 는 |peak_true − peak_pred| / |peak_true| 형태로, peak_pred 가 거의 일정하면 peak_true 큰 window 에서 분모도 크고 분자도 큰 부분 상쇄). MSE/std/corr 의 다축 검증 없이 PAPE 만 보면 simple 이 "회복" 으로 오인될 수 있는 denominator-favorable collapse mode 의 전형적 사례.

후보 4 ablation 분리 검증
후보 simple 에서 제거된 요인 simple 결과 시사 분리 판정
#1 3-stack additive 유지 (NHITS backbone 동일) simple 도 평탄화 collapse → 분리 미완 분리 미완
#2 VQ_high×2 제거 (균일 weighting) simple 도 collapse, 오히려 더 극단적 약하게 기각 (#2 단독 원인 아님)
#3 γ=0.85 비대칭 제거 (simple 명세 추정) simple 도 collapse 약하게 기각 (#3 단독 원인 아님)
#4 K-means++ cliff 제거 (kmeans_init=False) simple best_round=0 → cliff 가 K-means unique 가 아닐 가능성 약화 (random init 에서도 첫 FedAvg 직후 cliff 발생 가능)

결론: simple ablation 은 4 후보 중 어느 것도 분리하지 못했으며, simple 자체가 더 극단적 collapse mode 로 빠짐. "VQ_high×2 와 γ=0.85 만 제거하면 회복" 의 변호는 거부됨. 4 후보는 여전히 enumerate 단계이며, 본 E2 디자인 (NHITS + MaxPool-band CB + 3-stack additive forecast 합성) 자체에 collapse 를 강제하는 구조적 요인이 있다는 가설이 simple 결과로 강화.

expert "E2 drop, v11 STFT/wavelet 재설계" 결론은 simple 결과로 약화되지 않고 강화됨. simple ablation 으로도 회복 불가능 = 디자인 자체 결함.

3.4 best_round=19 의 의미

  • best_val_pape = 307.76 @ round 19 — z-score scale validation PAPE. round 0 (362.41) 부터 round 19 까지 16% 개선 후 round 20 부터 다시 322–344 사이 진동.
  • best_round=19/30 은 학습 progressive convergence 가 아닌 최저점 운 (lucky local minimum).
  • round-window 평균 정정 (mlflow metrics/round_val_pape 직접 재계산):
  • round 10-19 mean = 335.74 (std 12.17)
  • round 20-29 mean = 335.07 (std 9.58)
  • 차이 = −0.67 (−0.20%)
  • 통계적 검정 (revision 1 추가):
  • Welch t-test: t = 0.13, p = 0.899
  • Mann-Whitney U: u = 48, p = 0.910
  • 두 검정 모두 두 구간이 동일 분포라는 귀무가설을 기각하지 못함 → divergence 가설은 통계적으로 강하게 기각.
  • 해석: 30 round 추가 학습이 무의미. round 19 이후도 wide plateau. divergence 라기보다 정체. 학습 길이 문제는 아니며, VQ 메커니즘의 작동 자체가 안 되어 plateau.

Note: revision 0 의 수치 (10-19 평균 339.4 / 20-29 평균 333.5 / 차이 -5.9, -1.7%) 는 산정 오류였음. 정정된 차이 -0.67 (-0.20%) 은 plateau 결론을 더 강하게 지지.

val_pape vs test_pape 의 한 자릿수 차이 (340% vs 85%) 는 z-score 스케일에서 peak_true 가 0 근처인 validation window 가 test window 보다 더 많기 때문. compute_pape 는 |peak_true|>1e-5 valid mask 만 적용하므로 z-score normalization 후 작은 peak window 에서 값이 폭발. test set 은 분포가 달라 peak_true 평균 2.01 로 정상 범위 → 두 수치 모두 동일 scale 의 같은 모델이지만 z-score window peak 분포 차이로 다른 자릿수가 나옴. 본 분석은 test_pape 84.97 을 단일 정식 지표 로 채택하고, val_pape 는 round-trajectory 패턴 비교용으로만 사용.

3.5 NHITS hierarchical pooling × FreqBandCB 의 구조적 부정합 가능성

설계서 §3.6 / §5.2 는 NHITS 의 pooling kernel hierarchy 가 자연스럽게 frequency 분리를 한다고 가정. 그러나: - MaxPool(8/4/2) 은 amplitude-based downsampling 으로, 명시적 frequency-domain 분해 (STFT, wavelet) 가 아님. 동일 시계열을 단순 down-sample 한 3 view 가 "low/mid/high freq" 로 명명될 뿐, 정보 채널이 직교한다고 보장되지 않음. - 3 stack hidden h_low/h_mid/h_high 가 서로 강하게 상관일 경우, 3 codebook 이 동일 representation manifold 의 다른 partition 을 학습해야 하는데, 단일 task loss 를 공유하므로 3 codebook 이 redundancy 로 수렴 → 각 CB util 이 모두 낮게 유지되는 패턴과 정합. - 즉, "구조 정합 (structural match)" 의 전제 — backbone 의 자연 분해가 codebook 축에 매핑된다 — 가 NHITS+MaxPool 의 경우 구조적으로 약함. E1 (NBEATSx 의 basis expansion 분해는 명시적 trend/seasonal/generic 직교성 강함) 보다 정합도 낮은 것이 PAPE 55.01 vs 84.97 의 한 후보 설명.


4. 통신량 trade-off

ID bytes/round test_pape comm-savings vs B3 PAPE 손실 savings/PAPE-loss 비
B3 (NHITS noVQ) 90,912 44.66 baseline
E2 (NHITS+FreqBand) 24,576 84.97 −73.0% +40.31 −1.81 % saving / pape-pp
E1 (확인 필요) 55.01 +10.35
E4 (확인 필요) 67.59 +22.93

E2 는 v10 VQ 4 E* 중 통신 절감 대비 성능 손실 비가 가장 비현실적. 73% 통신 절감을 위해 PAPE 가 1.9× 악화. on-device ESS 배포 관점에서 무의미.


5. 다른 v10 VQ 모델과의 비교 — E2 가 worst 인 이유 (점추정 가설)

ID Backbone VQ test_pape util 평균 정성적 collapse 패턴
E1 NBEATSx DecompCB (trend/seasonal/generic) 55.01 trend 5.0 / seasonal 20.3 / generic 9.9 trend collapse, seasonal 가 가장 살아남음
E2 NHITS FreqBandCB (low/mid/high) 84.97 low 11.8 / mid 10.6 / high 6.5 3-band 동시 collapse, high 가장 낮음
E4 Crossformer PQ (4 sub × M=16) 67.59 sub1 16.8 / sub2 17.2 / sub3 17.3 / sub4 10.2 4 sub-space 중 3개 균일 plateau, 1개 (sub4) 만 약간 낮음

E2 가 worst 인 정성적 후보 설명: 1. Backbone–VQ 정합도 가장 약함 (§3.5): NHITS의 MaxPool 분해는 명시적 직교 분해가 아닌 단순 다중-rate down-sampling. NBEATSx 의 basis expansion 직교 vs Crossformer 의 cross-dim attention 분할이 구조적으로 더 명시적. 2. 3-stack additive 합성의 quantization noise 누적 (§3.3 가설 1): forecast = f_low + f_mid + f_high. 3 quantization noise 가 합산. NBEATSx 도 stack 합성이지만 (a) basis expansion 이 구조적 prior 를 강제, (b) trend stack 의 polynomial coeff 3-d θ 가 noise 흡수 capacity 작음. Crossformer 는 sub-space 분할 후 attention 으로 재조립 → noise 가 attention weight 으로 부분 dampened. 3. VQ_high_loss × 2 의 의도 역전 (§3.3 가설 2): peak-focus weighting 이 high stack 의 commitment loss 만 키워 collapse 가속. E1/E4 는 균일 weighting (β=0.25) 이라 이런 비대칭 collapse 압박이 없음. 4. per-band γ=0.85 (high) 가 noise 누적 가속 (§3.3 가설 3): E1 은 PER_CB_GAMMA 미상이지만, E4 PQ 는 단일 γ 사용 (sub-space 별 차등 γ 없음) — 비대칭 γ 자체가 E2 unique.

위 4 요인은 모두 E2 디자인에 unique 하며, 4 요인 동시 작용이 "v10 VQ 워스트" 결과의 가장 단순한 정성 설명. 단 단일 seed/단일 ablation 부재이므로 인과 주장 금지.


6. 성공 기준 vs 관측

기준 (설계서 §1.3) 임계 관측 판정
Strict Pass (4 E* 중 ≥1 충족) PAPE ≤ 43 AND HR@1 ≥ 37 84.97 / 13.22 E2 단독 FAIL (4 E* 합본 판정은 reporter)
Watch Pass (보조) PAPE ≤ 43 OR HR@1 ≥ 37 84.97 / 13.22 둘 다 위반 E2 단독 FAIL
Collapse-Free 모든 CB util ≥ 20% low 11.8 / mid 10.6 / high 6.5 FAIL (3 CB 모두 위반, 30 round 전체)
Peak-Specialization high CB peak window 선택 활성 측정 미구현 FAIL (정성 증거 미수집)
H10-1 (high-freq CB peak focus) PAPE < 42.51 AND high CB util > 50% 84.97 / 6.5 FAIL

E2 는 모든 적용 가능한 성공 기준에서 FAIL. v10 phase 합본 판정은 reporter 단계에서 4 E* 수합 후 결정.


7. 한계 (Limitations & Risks)

  • 단일 seed (42): 본 보고는 점추정만. PAPE 84.97 의 분산 미상. 단 v9-06 NHITS seed 분산 (~3-5%p) 을 고려해도 +40 PAPE 악화는 noise 로 설명 불가능한 magnitude.
  • B3 vs E2 의 학습 길이 동일성: 둘 다 30 round, local_epoch=3 — 통제 비교 OK. 그러나 E2 는 K-means++ init 추가 step 이 있으므로 round 1 의 cliff (§3.2) 가 B3 에는 없음. 학습 일정이 완전히 동일하지는 않음.
  • per-CB peak/non-peak 활성도 로깅 부재: H10-1 의 정성 증거 부재 (§2.3). 본 보고는 round-aggregated util 만 사용한 약한 형태의 검증. addendum 에서 로깅 추가 후 재실행 가능하나, util 6.5% 자체가 강한 기각 신호이므로 재실행 우선순위 낮음.
  • MSE 가 좋은 함정 미인식 시 위험: §3.3 평탄화 collapse 분석 없이 MSE 0.48 만 본다면 "성공" 으로 오판할 수 있음. reporter 단계에서 MSE-only 비교 금지 권고.
  • 3-band collapse 의 인과 메커니즘 4 후보 (§3.3) 미확정: ablation 부재. v11 에서 가설 1–4 를 분리할 ablation 설계 필요 (예: VQ_high × 1 vs × 2, γ=0.95 균일 vs 차등, K-means++ vs random init, single-stack VQ vs 3-stack VQ).

8. 다음 단계 권고

  1. E2 drop: 본 설계 (NHITS + MaxPool-band CB) 는 v11 에서 재시도하지 않음. v10 phase 의 다른 3 E* 결과와 합본해 reporter 가 v10 합본 판정.
  2. v11 재설계 후보 (만약 freq-band CB 자체를 살릴 가치가 있다고 reporter/critic 단계에서 결정한다면):
  3. STFT/wavelet 명시적 분해: NHITS pooling 대신 FFT-bin 또는 DWT level 별로 codebook 매핑. backbone–VQ 정합도 강화.
  4. Single-stack VQ (high only): 3 stack 모두 VQ 가 아닌 high stack 만 VQ. low/mid 는 dense forecast. 평탄화 collapse 의 원인 후보 1 (3-stack 합성 noise 누적) 제거.
  5. Residual quantization on stack outputs: stack hidden 직접 quantize 가 아닌, stack 간 residual 만 quantize (RQ-VAE 방식). 3 stack quantization noise 누적 회피.
  6. 로깅 의무화: 모든 v11 VQ 실험에서 cb_util_{cb_id}_{peak|nonpeak} per-round 강제. v10-02 §9.2 명세를 engineer contract 에 명시.
  7. MSE-only 보고 금지: v10 합본 reporter 가 E2 MSE 0.4816 (B3 0.7732 대비 −0.29) 을 단독 인용하지 않도록 §3.3 평탄화 collapse 진단을 main narrative 에 포함.
  8. Bytes/PAPE trade-off 표기 표준화: §4 의 comm-savings/pape-loss-pp 비 를 v10 합본 보고서의 표준 메트릭으로 채택 권고.

9. 참조

  • 본 run: MLflow v10-multi-model-vq exp 738860791398377455, run_id 3d377754b8a54dbaafcf4ec85000e8ba (E2_NHITS_FreqBand_seed42, FINISHED)
  • 비교 runs:
  • B3: run_id 7fc14b2e5b094123bed857591d2a8016 (B3_NHITS_noVQ_seed42)
  • E1: run_id 1f7606b7b2774ee480105ced08fb8572 (E1_NBEATSx_DecompCB_seed42)
  • E4: run_id 885b2ae059d64705a873af8d4e5245ba (E4_Crossformer_PQ_seed42)
  • 코드: experiments/federated/v10_e2_nhits_freqband.py, src/peak_analysis/vq_layers/freq_band_cb.py, src/peak_analysis/fed_learning/memory_alignment_v10.py
  • 설계: report/version10/lab-leader/v10-02_vq_multi_model_design.md, docs/decisions/ADR-010_v9_baseline_to_v10_vq_multi_model.md
  • recap baseline: v9-01 NHITS PAPE 39.26, v9-06 reporter

판정

E2 NHITS + FreqBandCB 는 H10-1, Strict, Watch, Collapse-Free 모든 성공 기준에서 FAIL. v10 VQ 4 EPAPE 워스트 (84.97), 동일 backbone B3 noVQ 대비 +40.31 PAPE, 통신량 73% 절감 대비 PAPE 1.9× 악화. 근본 원인 후보 4 가지 (§3.3.4) 식별 — E2_simple ablation 으로 어느 후보도 분리되지 않음 (simple 은 더 극단적 단조 상수 collapse 로 빠짐). 단일 seed 한계로 인과 분리 미완. E2 drop 권고, v11 재설계 시 STFT/wavelet 명시적 분해 + single-stack VQ + peak/non-peak 로깅 의무화 가 후속 후보. simple ablation 결과로 v11 권고는 약화되지 않고 강화됨* (디자인 자체 결함 시사).


Revision 1 Changelog (2026-04-25)

critic verdict CONDITIONAL PASS 의 5 P0 + 일부 P1 항목 반영:

  • §3.3 → §3.3.1/3.3.2/3.3.3/3.3.4 로 분할 재구성:
  • §3.3.1: peak denominator 정의 (A)/(B)/(C) 명시. 본문 (A) 채택, (B) 12.5% / (C) 32.6% 병기로 robustness 확인 (P0-#3).
  • §3.3.2: per-household std_ratio 분포표 추가. mean=0.267, IQR=[0.15, 0.35], #ratio<0.20 = 24/50 — broad-based collapse 확인 (Apt51 cherry-picking lesson 준수, P0-#4).
  • §3.3.3: MSE 함정 적용 범위 명시. E2 specific 패턴 (E1/E4 는 동시 악화) — reporter narrative guard (P0-#5).
  • §3.3.4: E2_simple ablation (run_id 621d889c2f61483ba3222f9710b10d36) 통합. PAPE 68.35 / MSE 1.40 / std_ratio 0.066 / corr -0.003 / best_round=0. 후보 4 어느 것도 분리되지 않음. simple 변호 거부 (P0-#2).
  • §3.4 plateau 수치 정정 (P0-#1): round 10-19 평균 339.4 → 335.74 (std 12.17), round 20-29 평균 333.5 → 335.07 (std 9.58). 차이 -0.67 (-0.20%). Welch t p=0.899, Mann-Whitney p=0.910 추가. plateau 결론은 정정으로 더 강하게 지지.
  • §0 Executive Summary 갱신: smoking gun bullet 에 정의 (A)/(B)/(C) 분기 + per-household 분산 reference 추가. simple ablation bullet 신설.
  • §1 메트릭 표 footnote 갱신: MSE 함정의 E2 specific 패턴 명시.
  • §2.2 H10-1 표현 정정 (P1): "강한 형태 기각" → "OR 조건 두 축 독립 위반의 robust 한 기각" 으로 정확화.
  • §3.2 K-means++ cliff 가설 약화 disclosure (P1): simple kmeans_init=False 에서도 best_round=0 → cliff 가 K-means unique 가 아닐 가능성 disclose.
  • §3.3 npy artifact path 정정 (P2): fully qualified path mlruns/738860791398377455/3d377754b8a54dbaafcf4ec85000e8ba/artifacts/predictions/e2_y_pred.npy.

핵심 결론은 변경 없음: E2 drop 유지, v11 재설계 권고 유지, simple "16 좋아짐" 변호 거부. revision 1 은 narrative 보강과 통계 검정 추가로 결론을 더 강하게 지지.