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.

このリポジトリの概要

時系列電力負荷予測の比較分析 – 実世界の電力消費データ上で4つの現代的な時系列モデルを訓練・評価する研究指向のPythonコードベースです。

  • PatchTST – パッチ化された時系列ウィンドウで動作するTransformerモデル
  • Temporal Fusion Transformer (TFT) – 静的および動的共変量を扱えるTransformer
  • N‑HiTS – ヒエラルキー構造を持つニューラル予測アーキテクチャ
  • CatBoost – 決定木に基づく勾配ブースティングモデル(「従来の」ベースライン)

著者(MIREA – ロシア技術大学の研究者)は、短期間(翌日、時単位)の負荷予測において、これらの手法の予測精度、統計的有意性、実用性を比較するためにこのコードを使用しています。リポジトリには、データ前処理スクリプト、モデル訓練パイプライン、検証ルーチン、可視化ツールが含まれており、2026年の学術誌論文で報告された図表の生成に使用されています。


キーとなるコンポーネント(READMEに記載)

コンポーネント 機能
データ処理 11年分の時系列データ(約97,000レコード)を読み込み、電力消費(MW·h)と環境温度を含み、基本的な統計分析を行い、学習・検証用にデータを分割します。
モデル実装 Darts ライブラリから提供されるPatchTST、TFT、N‑HiTSおよびCatBoostの4つのアルゴリズムをラップしたクラスで、共通の訓練・検証インターフェースを提供します。
訓練と検証 同じ学習セットで各モデルを実行し、ホールドアウト期間で評価し、誤差指標(例:MAPE)を計算します。
結果の可視化 消費量分布、温度分布、予測値 vs. 実測値の曲線などを生成し、論文で使用されています。
再現性 すべてのコードはPython 3.11で記述され、深層学習モデルにはPyTorch 2.13を使用。Darts 時系列ライブラリに加え、CatBoostとpandasをデータ操作に依存しています。

どのような人にとって役立つでしょうか?

  • 自社データ上で最先端の負荷予測モデルを評価したいエネルギー分析担当者や電力会社
  • 勾配ブースティングと複数のTransformerベースアーキテクチャの間で、実証可能な比較を行いたい時系列機械学習の研究者
  • 電力システムにおける応用機械学習を学ぶ学生で、実験用の即時実行パイプラインを必要とする人

はじめ方(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つのモデルを訓練する
    • 評価とプロットを実行する
  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

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト