NF Baseline 실험 결과 보고서
- 실험: NeuralForecast 학습 기반 Baseline (5 Models × 5 Apartments)
- 날짜: 2026-04-15
- 스크립트:
experiments/forecasting/v6_0415_nf_baseline.py
- MLflow: experiment
NF-Baseline
1. 실험 설정
- 모델: PatchTST, iTransformer, TimesNet, NHITS, TFT
- 가구: Apt6, Apt15, Apt30, Apt51, Apt88 (EVAL_HOUSEHOLDS)
- 조건: train/val/test = 0.7/0.1/0.2, input_size=96, horizon=24
- 학습: 가구별 독립 학습 (B0와 동일 조건)
2. 모델별 평균 성능 (5가구 평균)
| Model |
MSE |
MAE |
PAPE (%) |
HR (%) |
| NHITS |
0.639 |
0.525 |
39.73 |
22.57 |
| PatchTST |
0.572 |
0.480 |
48.41 |
21.14 |
| TimesNet |
0.585 |
0.484 |
47.52 |
29.43 |
| iTransformer |
0.584 |
0.487 |
51.17 |
23.43 |
| TFT |
0.719 |
0.547 |
50.58 |
15.14 |
3. B0 (DLinear) 대비 비교
| Metric |
B0 |
NHITS |
PatchTST |
TimesNet |
| MSE |
0.522 |
0.639 |
0.572 |
0.585 |
| PAPE |
42.55% |
39.73% |
48.41% |
47.52% |
| HR |
— |
22.57% |
21.14% |
29.43% |
4. 가구별 PAPE 상세
| Apt |
B0 |
PatchTST |
iTransformer |
TimesNet |
NHITS |
TFT |
| Apt6 |
40.96 |
45.22 |
44.03 |
44.87 |
39.28 |
42.04 |
| Apt15 |
38.25 |
35.50 |
40.41 |
35.19 |
30.98 |
39.65 |
| Apt30 |
41.86 |
54.14 |
54.34 |
51.26 |
40.09 |
54.96 |
| Apt51 |
46.89 |
58.90 |
61.01 |
57.71 |
51.35 |
59.20 |
| Apt88 |
44.80 |
48.28 |
56.07 |
48.58 |
36.95 |
57.06 |
| Mean |
42.55 |
48.41 |
51.17 |
47.52 |
39.73 |
50.58 |
5. 핵심 발견
- NHITS가 PAPE 최선 (39.73%) — B0(42.55%)를 2.82%p 능가. 특히 Apt88(36.95%)와 Apt15(30.98%)에서 크게 개선
- MSE 기준으로는 모든 NF 모델이 B0보다 나쁨 — PatchTST(0.572)가 가장 근접하지만 B0(0.522) 미달
- MSE vs PAPE 트레이드오프: NHITS는 MSE가 가장 나쁘지만(0.639) PAPE는 가장 좋음 → 피크에 집중하면 전체 정확도가 희생됨
- TFT가 전 지표 최악 — 소규모 가구 단위 데이터에서 Attention 기반 모델의 한계
- TimesNet이 HR 최선 (29.43%) — 피크 시점 정확도는 높지만 크기 예측은 부정확
6. 이전 세션 실패 원인
build_models()가 5개 모델을 전부 GPU에 올린 후 1개만 사용 → 메모리 비효율
logger.error가 WARNING 레벨에 의해 무시되어 에러가 보이지 않았음
- 수정:
build_single_model() + torch.cuda.empty_cache() + print traceback
7. 의의
NHITS의 PAPE 39.73%는 현재까지 전체 실험 중 가장 낮은 PAPE. FeDPM P1(42.67%)보다도 좋다. 다만 MSE가 높아 전체 예측 정확도와의 트레이드오프가 존재한다.