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 기반)

  1. 리포지토리 클론
    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
    
  2. 의존성 설치 (Python 3.11 필요)
    pip install -r requirements.txt   # README에는 pandas, PyTorch, Darts, CatBoost 등이 포함됨
    
  3. 파이프라인 실행 – 메인 스크립트(run_experiment.py – 일반적인 구조에서 유추됨)는 다음을 수행합니다:
    • 제공된 시간별 소비 및 온도 CSV 파일을 로드합니다.
    • 논문에 나와 있는 통계 요약을 수행합니다.
    • 네 가지 모델을 훈련합니다.
    • 평가 및 시각화를 수행합니다.
  4. 출력 확인 – 생성된 그림(분포 플롯, 예측 플롯)은 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

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트