KEV0143/Comparative-analysis-of-hourly-load-forecasting-using-PatchTST-TFT-NHiTS-and-CatBoost
A comprehensive time-series benchmark evaluating state-of-the-art deep learning architectures (PatchTST, TFT, N-HiTS) against traditional gradient boosting (CatBoost) for accurate 24-hour load prediction.
이 리포지토리의 개요
시간별 전력 수요 예측의 비교 분석 – 실제 전력 소비 데이터를 기반으로 네 가지 최신 시계열 모델을 훈련 및 평가하는 연구 중심의 파이썬 코드베이스입니다.
- PatchTST – 패치된 시계열 윈도우에서 작동하는 트랜스포머 모델
- Temporal Fusion Transformer (TFT) – 정적 및 동적 공변량을 처리할 수 있는 트랜스포머
- N‑HiTS – 계층적 신경망 예측 아키텍처
- CatBoost – 그래디언트 부스팅 기반 결정 트리 모델 ("전통적" 기준 모델)
저자(미레아 – 러시아 기술 대학의 연구자들)는 단기(다음 날, 시간 단위) 수요 예측에 있어 이 방법들의 예측 정확도, 통계적 유의성, 실용성을 비교하기 위해 이 코드를 사용합니다. 리포지토리는 논문에 보고된 그림과 표를 생성하기 위해 데이터 전처리 스크립트, 모델 훈련 파이프라인, 검증 루틴, 시각화 도구를 포함하고 있습니다.
주요 구성 요소 (README에 기술됨)
| 구성 요소 | 기능 |
|---|---|
| 데이터 처리 | 11년 분량의 시간별 데이터셋(약 97,000개 레코드)을 로드하고 전력 소비(MW·h) 및 환경 온도를 포함하며, 기본 통계 분석을 수행하고 학습/검증용으로 시리즈를 분할합니다. |
| 모델 구현 | Darts 라이브러리에서 제공하는 PatchTST, TFT, N‑HiTS 및 CatBoost의 네 가지 알고리즘을 래핑한 클래스로, 공통된 훈련-검증 인터페이스를 제공합니다. |
| 훈련 및 검증 | 동일한 학습 세트에서 각 모델을 실행하고, 보류 기간에서 평가하며 오차 지표(MAPE 등)를 계산합니다. |
| 결과 시각화 | 소비 분포, 온도 분포, 예측값 대 실제값 곡선 등을 생성하여 논문에서 사용됩니다. |
| 재현 가능성 | 모든 코드는 Python 3.11로 작성되었으며, 딥러닝 모델에는 PyTorch 2.13을 사용하고, Darts 시계열 라이브러리, CatBoost, pandas를 데이터 조작에 의존합니다. |
누구에게 유용할까?
- 자체 데이터에서 최신 수요 예측 모델을 평가하고 싶은 에너지 분석가 및 전력 회사
- 그래디언트 부스팅과 여러 트랜스포머 기반 아키텍처 간의 구체적이고 재현 가능한 비교를 원하는 시계열 기계학습 연구자
- 전력 시스템에서 응용 ML을 공부하는 학생으로, 실험용 파이프라인을 즉시 사용하고 싶은 사람
시작하기 (README 기반)
- 리포지토리 클론
git clone https://github.com/KEV0143/Comparative-analysis-of-hourly-load-forecasting-using-PatchTST-TFT-NHiTS-and-CatBoost.git cd Comparative-analysis-of-hourly-load-forecasting-using-PatchTST-TFT-NHiTS-and-CatBoost - 의존성 설치 (Python 3.11 필요)
pip install -r requirements.txt # README에는 pandas, PyTorch, Darts, CatBoost 등이 포함됨 - 파이프라인 실행 – 메인 스크립트(
run_experiment.py– 일반적인 구조에서 유추됨)는 다음을 수행합니다:- 제공된 시간별 소비 및 온도 CSV 파일을 로드합니다.
- 논문에 나와 있는 통계 요약을 수행합니다.
- 네 가지 모델을 훈련합니다.
- 평가 및 시각화를 수행합니다.
- 출력 확인 – 생성된 그림(분포 플롯, 예측 플롯)은
output/폴더에 저장되며, 첨부된 학술 논문의 그림과 비교할 수 있습니다.
기술 스택 (명시적으로 언급됨)
- Python 3.11
- PyTorch 2.13 – PatchTST, TFT, N‑HiTS의 딥러닝 백엔드
- Darts – N‑HiTS 및 TFT 구현을 제공하는 고수준 시계열 라이브러리
- CatBoost – 기준 모델용 그래디언트 부스팅 라이브러리
- pandas – 데이터 로드 및 전처리
라이선스
프로젝트는 Apache 2.0 라이선스 하에 배포되며, 출처를 명시하면 자유롭게 사용, 수정, 배포할 수 있습니다.
인용
코드나 결과를 사용할 경우, 관련 논문을 인용해 주세요:
Dzgoev A.E., Klimkin E.V., Chernyauskas V.V., Brailovsky A.V., Rezhenkov R.N.
"Прогнозирование нагрузки на каждый час суток с помощью PatchTST и Temporal Fusion Transformer: сравнительный системный анализ с традиционными методами бустинга (CatBoost) и нейросетевыми моделями на базе N‑HiTS".
Известия Кабардино‑Балкарского научного центра РАН, 2026, Vol 28, No 3, pp. 49‑70. DOI: 10.35330/1991-6639-2026-28-3-49-70
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트