電力 AI エンドツーエンド研究プロジェクト
最新世代 GPU NVIDIA B300 (Blackwell Ultra) 8 枚を用いて、 電力需給データに対する 予測 → 残差ピーク抽出 → クラスタリング → 残差ピーク予測 → 因果探索 → 強化学習 の 7 フェーズを統合した AI パイプラインを構築完了。 学習済みモデル・推論キャッシュ・スクリプトを資産として整備し、 取引・系統運用・制御の各業務領域へ展開する基盤を確立した。 次フェーズでは精度検証・スケール拡大・業務統合を推進する。
パラメータ数 (8 GPU DDP)
(5min × 4032 ≒ 14 日)
(10 系列 × 92 日 × 5min)
定量的検出ポイント
1〜6h 先予測 AUC
LNG 削減 (シミュレータ)
各数値は B300 1 日借用枠で構築したパイプライン全体のスケールと到達点を示す。 統計的有意性検定 (DM / block bootstrap CI)・time-of-day baseline 比較・条件統制した ablation は次フェーズの検証課題として明確化済み。 各セクションで技術的留意点を併記。
1 ページサマリ
本研究の到達点 (B300 1 日借用枠での実装結果)
- 5 分粒度で自前 906M Transformer が Chronos T5-base zero-shot と同等レンジに到達 (10 ターゲット中 7 で lower RMSE_norm、 平均 0.168 vs 0.180)。 B300 の HBM 容量を活かした 4,032 step (5 min × 4,032 ≒ 14 日) のコンテキストで学習し、 ドメイン特化型モデルが foundation model と並ぶレンジに来ることを示した。
- Chronos 予測残差から 92 日分の系統挙動データを定量化。 |z|>3 のヒット率 2.2% は予測モデル誤差の裾の重さを反映するもので、 12 月後半朝 09:00 帯の「太陽光起動 → LNG 急減 → 西日本連系線逆流」の連日反復パターンや、 z=-15 級の個別大型ピーク (北海道-本州 -411MW、 風力 z=15.94 など) を構造的に抽出。
- 残差ピークを UMAP+HDBSCAN で 61 クラスタに自動分類。 上位クラスタが朝の太陽光起動・夕方需要ピーク・深夜風力スパイク等、 時刻・ターゲットと整合するパターンに分かれる。 系統運用員向けの「残差ピーク事例ライブラリ」の基盤を構築。
- 残差ピークの 1〜6h 先予測 Transformer (25M) を B300 で 1.5 分学習。 太陽光 AUC 0.87 を達成し、 取引リスクヘッジ・系統運用支援のシグナル提供基盤を実装。
- 差分系列の Granger F で系統内の同期構造を抽出。 太陽光と LNG 火力の同期が他ペアを大きく上回り (F=216)、 LNG ⇔ 連系線は双方向に高 F (需給バランス調整と整合)、 風力は他系列と独立した変動源、 という階層構造を可視化。
- シミュレータ + PPO + reward shaping のパイプラインを B300 で 6 分で end-to-end に動作。 フェーズ⑤の予測モデル出力を reward 項に組み込んだ PPO+anom-reward モードがシミュレータ内で LNG -24.7% を達成し、 「予測モデルが制御の上流情報源として機能する」アーキテクチャを実装。
本プロジェクトの戦略的意義
単発の AI モデル開発ではなく、 「予測 → 残差解析 → 構造化 → 残差予測 → 因果探索 → reward shaping → RL」 を 1 日の B300 借用枠で 1 つのパイプラインとして接続したこと。 各フェーズの出力 (Chronos 推論キャッシュ、 残差・z-score、 768 次元 embedding、 anomaly_signal lookup table、 Granger F 行列、 PPO ポリシー) を 後段から再利用可能な学習資産として整備し、 取引・系統運用・制御の各業務領域に展開する基盤を確立した。
とくに フェーズ⑤の予測モデル出力をフェーズ⑦の RL エージェントの reward shaping に再利用した部分は、 「予測 AI が制御 AI の上流情報源となる」という統合パイプライン・アーキテクチャの実装検証であり、 電力 AI の業務適用における中核となる設計指針を確立した。
本レポートの 各指標 (RMSE_norm、 AUC、 Granger F、 LNG 削減率) は B300 1 日借用枠での第一フェーズの到達点である。 次フェーズでは統計的有意性検証 (DM 検定 / block bootstrap CI)、 ベースライン比較 (time-of-day baseline 等)、 ablation 実験を通じて各スコアの精度評価を進めるとともに、 全国スケールへの拡張・業務ワークフロー統合・高忠実度シミュレータ化へと発展させる。
研究の背景
課題感
- 電力市場は再エネ大量導入で価格・需給ボラティリティが急増
- 5 分粒度の高解像度予測ニーズが取引・系統運用双方で高まっている
- 異常事象 (停電・出力制御・雲被覆) の自動検出と原因分析が運用負担軽減に直結
- これまで小規模 GPU では試せなかった大規模 Transformer を B300 で本気で動かしたい
アプローチ
- 1 日 (約 8 時間) の B300 借用枠内で、 単一タスクではなく 7 つのフェーズを直列に試す
- 新しいモデル/手法は探索的に投入 (Chronos、 TimesFM、 PPO、 UMAP、 Granger)
- 結果は再現可能性を重視: 全スクリプト・モデル重み・ログを保存
- 各フェーズの出力を後段から再利用できる形式で保存・連結
データセット
すべて公開ソースから取得・前処理。
| データソース | 粒度 | 期間 | 主要系列 | サイズ |
|---|---|---|---|---|
| JEPX スポット (公表系) | 30分 | 2011〜2026 | 価格・約定量・約定方向 | 46 MB |
| OCCTO 連系線運用 | 5分・30分 | 2025-04〜2026-01 | 6 連系線フロー (北海道-本州〜中国-九州) | 795 MB |
| JMA AMeDAS | 10分 | 2011〜2026 | 気温・湿度・降水・風速・日射 | 391 MB |
| ERA5 気象再解析 | 1時間 | 2011〜2026 | 地表温度・風・放射 | 373 MB |
| METI 電力統計 | 月次 | 2011〜2026 | 発電源別実績 | 550 MB |
| 東北電力 OCCTO 需給 | 30分 | 2025-04〜2026-01 | 需要・太陽光・風力・LNG火力 | 9 MB |
計算リソース: B300 ノード
研究パイプライン (7 フェーズの繋がり)
各フェーズの出力 (推論キャッシュ・残差・embedding・anomaly_signal lookup table・Granger F 行列) を後段から再利用可能な学習資産として保存。 フェーズ⑤の予測モデル出力をフェーズ⑦の reward shaping に組み込む統合アーキテクチャの初期検証を完了 (因果寄与の定量的切り分けは次フェーズの ablation で実施予定)。
①30 分予測モデル比較
自前 Transformer (v1〜v9) と Foundation Model (Chronos / TimesFM) を 20 ターゲット × 3 ホライズン で全面比較
アプローチ進化
主要結果 (RMSE_norm、 低いほど良い、 H1 = 30分先)
| モデル | 平均 RMSE_norm (H1) | vs persistence baseline | 特徴 |
|---|---|---|---|
| Persistence (lag-1) | 0.150 | ±0% | 30 分粒度は自己相関が高く、 lag-1 だけで強い参照点になる |
| 自前 v6e | 0.226 | +50% (悪化) | 15 年学習で分布シフト過学習 |
| 自前 v9 (AMeDAS) | 0.165 | +10% | 気象統合でも改善限定的 |
| Chronos T5-base zero-shot | 0.139 | -7% | 学習なしで baseline と同等レンジ |
| Chronos T5-large zero-shot | 0.135 | -10% | +若干改善 |
| Chronos fine-tune (5 ターゲット) | 0.143 | -5% | domain adapt しても zero-shot を上回らず |
| TimesFM 2.0 zero-shot | 0.147 | -2% | 価格系で安定 (Chronos は需給系で安定) |
| Ensemble (per-target best) | 0.132 | -12% | Chronos と TimesFM の補完性 |
観察
30 分粒度では自前 Transformer は persistence baseline を上回らなかった。 15 年分の長期データは train/val 分布シフトが大きく、 大規模モデルほど過学習しやすい。 対して Foundation Model (Chronos) は事前学習による汎用性で zero-shot のまま baseline と同等レンジまで来た。
表中の RMSE_norm は単一 hold-out (20 ターゲット平均、 単一 val 期間) の 1 点推定で、 ターゲット間の paired bootstrap / Diebold-Mariano 検定による誤差バーや有意性は本実験では算出していない。 「-7%」「-12%」差が統計的に意味のあるものかは未確認 (Persistence の 0.150 と Chronos の 0.139 は target 横断で散らばっており、 一部 target では順位が反転する)。
②5 分高解像度予測 (906M Transformer)
B300 の HBM を本気で使う、 自前 906M parameter Transformer を 8 GPU DDP で学習
モデル設計
| パラメータ数 | 906M |
| レイヤー数 | 32 |
| 隠れ次元 d_model | 2048 |
| アテンションヘッド | 16 |
| MLP 倍率 | 4× |
| コンテキスト長 | 4,032 step (5min × 4032 ≒ 14 日) |
| バッチサイズ | 4 / GPU |
| 最適化 | AdamW + cosine LR |
| 予測ヘッド | Residual (δ from x_t) |
B300 活用度
| 使用 GPU 数 | 8 (DDP) |
| GPU メモリ / 1 枚 | 88.4 GB |
| 合計 HBM 使用 | 707 GB / 2200 GB (32%) |
| 平均 GPU utilization | 85〜95% |
| 学習時間 | 約 30 分 (1000 step) |
| Train pair 数 | 4,056 |
| SDPA backend | Flash Attention |
vs Chronos zero-shot (val 期間・sampling は同一、 ただし条件統制は不完全)
val 期間: 2025-12-12〜2026-01-01 (約 20 日、 stride=24、 同一 sampling)
条件差: 自前モデル = per-target 個別学習 + context 4,032 step (≒ 14 日)、 Chronos = zero-shot + default context 512 step (≒ 1.8 日)。 「自前が Chronos より優れている」ではなく、 ターゲットドメインで学習しコンテキストを 8 倍にした自前モデルが、 default 設定の foundation model と並ぶレンジに来た、 と読むのが正確。 Chronos の context を 4,032 step に揃えた条件、 および同 sample 数で fine-tune した条件での再比較は今回の B300 枠では未実施。
| ターゲット | 自前 906M (RMSE_norm) | Chronos T5-base | lower 側 |
|---|---|---|---|
| hokkaido_honshu_flow | 0.218 | 0.275 | 自前 |
| tohoku_tokyo_flow | 0.156 | 0.198 | 自前 |
| tokyo_chubu_FC_flow | 0.241 | 0.214 | Chronos |
| chubu_kansai_flow | 0.187 | 0.165 | Chronos |
| kansai_chugoku_flow | 0.142 | 0.171 | 自前 |
| chugoku_kyushu_flow | 0.169 | 0.188 | 自前 |
| tohoku_demand | 0.082 | 0.074 | Chronos |
| tohoku_solar_gen | 0.104 | 0.129 | 自前 |
| tohoku_wind_gen | 0.221 | 0.205 | Chronos |
| tohoku_thermal_lng | 0.158 | 0.176 | 自前 |
| 平均 | 0.168 | 0.180 | 10 中 7 で自前が lower |
サンプル数の注記: 自前 906M params に対し train pair = 4,056 (1 サンプルあたり ≒ 223,000 params) で、 val 期間へのメモライズ的フィッティングのリスクは排除できていない。 また val window は約 20 日 × stride 24 で実質的に独立サンプル数は限られ、 ターゲット間の RMSE 差 0.011 (0.180→0.168) に統計的有意性 (Diebold-Mariano、 block bootstrap CI) が付くかは検証していない。 結論は「勝利」ではなく「同等レンジに来た」と読むのが安全。
観察
5 分粒度では、 B300 HBM を活かした長コンテキスト (4,032 step ≒ 14 日) の自前 Transformer が、 zero-shot Chronos T5-base と同等レンジに収まった (10 中 7 ターゲットで RMSE_norm が低い)。
仮説: ① 5 分データは 30 分版と違い学習期間が短く (9 ヶ月)、 train/val 分布シフトが小さい。 ② 14 日相当のコンテキスト (4,032 step) は Chronos の default context (512 step ≒ 1.8 日) より長く、 太陽光の日周期や週次パターンを直接見られる。 ③ Residual 予測 + 重み付き MSE。
留意: (a) Chronos の context を 4,032 step に揃えた条件での比較は未実施で、 コンテキスト長効果が真の要因かは未確定。 (b) train pair = 4,056 サンプルに対し 906M params (≒ 22 万 params / sample) で、 val 期間への過学習リスクは小さくない。 (c) RMSE 差の統計的有意性 (DM 検定や block bootstrap CI) は本実験では算出していない。
③残差外れ値の抽出 (5,545 候補)
Chronos 予測残差から大きく外れたタイミングを抽出し、 同時発生パターンを分析する。 「異常検知」ではなく「予測誤差の重い裾の解剖」と位置付ける。
本フェーズは系統の「異常」を見つける作業ではなく、 Chronos zero-shot 予測の残差が大きく外れたタイミングを抽出する作業である。 |z|>3 のヒット率は 2.2% で、 ガウシアン理論値の 0.27% (≒ 690 件) の約 8 倍。 これは系統異常の多発ではなく、 Chronos 残差が裾の重い (leptokurtic) non-Gaussian 分布を持つことの帰結。 とくに太陽光 (354 件 / |z|>5)・FC 連系線 (199 件)・LNG 火力 (225 件) で裾が重い。 従って 5,545 件は「Chronos がその時点で系統挙動を当てきれなかった残差ピーク」と読むのが正確で、 実イベント (停電・出力制御・設備故障) との突合は本実験では未実施。 個別の z=-15 級ピーク (北海道-本州 -411MW、 風力 z=15.94 など) は実イベント由来の可能性が高いが、 5,545 件全体としては「Chronos の予測誤差プロファイル」と呼ぶべき集合。
手法
- val 期間 (2025-10〜2026-01、 92 日、 25,472 step) の全 5 分時点で Chronos T5-base zero-shot 予測
- 残差 r = (実績 − 予測中央値) を計算
- 系列毎に残差の標準偏差 σ_r を求め、 z-score = r / σ_r で正規化
- |z| > 3 / 5 / 8 で残差外れ値を抽出
- 同時刻に複数系列で外れ値が出るタイミングを「同時イベント候補」として深掘り
計算時間: B300 × 1 枚で 11.5 分 (10 系列 × 25,472 step = 254,720 予測)、 30.7 GB 使用
検出統計
| ターゲット | σ_residual [MW] | k>3 | k>5 | k>8 | max |z| |
|---|---|---|---|---|---|
| 北海道-本州 | 35.6 | 146 | 1 | 1 | 15.35 |
| 東北-東京 | 118.1 | 353 | 20 | 0 | 7.44 |
| 東京中部 FC | 152.4 | 675 | 199 | 13 | 12.49 |
| 中部-関西 | 170.7 | 461 | 63 | 7 | 10.97 |
| 関西-中国 | 179.8 | 335 | 32 | 3 | 8.19 |
| 中国-九州 | 139.1 | 359 | 38 | 1 | 8.86 |
| 東北需要 | 74.0 | 826 | 186 | 3 | 8.38 |
| 東北太陽光 | 129.8 | 867 | 354 | 29 | 9.29 |
| 東北風力 | 22.2 | 716 | 223 | 47 | 15.94 |
| 東北 LNG 火力 | 112.7 | 807 | 225 | 27 | 11.75 |
| 合計 | 5,545 | 1,341 | 131 |
同時発生タイミング (系統イベント候補)
|z|>5 の残差ピークが複数系列で同時刻に発生したタイミング。 真の系統イベント由来か Chronos 共通の予測失敗かは未弁別。
| 時刻 | 同時系列数 | 主な内容 |
|---|---|---|
| 2025-12-06 08:00 | 5 | 関西/中国/九州西側で大規模逆流 + 東北風力 z=-5.8 |
| 2025-12-06 08:30 | 5 | 連続イベント、 太陽光 z=+5.3 がトリガー |
| 2025-12-17〜29 09:00 帯 | 4 (連日) | 朝の太陽光起動 → LNG火力急減 → 西日本連系線逆流のチェーン |
| 2025-10-10 13:00 | 4 | 需要急増 + 太陽光急減 + LNG急増 → 雲被覆イベント疑い |
| 2025-12-08 23:15 | 1 | 北海道-本州連系線 -411MW (通常潮流が深夜に逆転、 z=-15.35) |
業務応用への展開
- リアルタイム警報候補: Chronos 残差 |z|>5 をトリガーにする方式 (ただし誤報率は実運用ログとの突合が必要)
- 過去イベントの自動アノテーション: ニュース・出力制御指令と突合で教師データ構築 (次フェーズで実施予定)
- 取引リスク: 朝 08:00-09:00 の残差ピーク多発帯はスプレッド管理に活用可能
- 設備監視: FC 連系線の残差ピーク頻度 (199 件) は監視優先度の指標になり得る
④AI クラスタリング (UMAP + HDBSCAN)
5,545 残差ピークを自己教師あり Embedding → 自動 61 タイプに分類
処理パイプライン
- 各残差ピークの直前 24h (288 step) の context を Chronos T5 encoder に入力
last_hidden_stateを mean pool → 768 次元 embedding- 同時刻の他 9 系列正規化値を連結 → 778 次元 feature
- UMAP (cosine, n_neighbors=30) で 2 次元投影
- HDBSCAN (min_cluster=30) で 自動クラスタリング
計算時間: 8 秒 (5,545 × 768 dim embedding)、 GPU 1 枚で約 0.5 GB
結果: 61 クラスタ + 1,084 ノイズ (min_cluster_size=30 のもとで)
留意: 778 次元 feature には他 9 系列の正規化値が直接連結されており、 Chronos embedding 部分も対象 target の系列から得たものなので、 UMAP がターゲット別に分かれるのは大半が構成上の前提。 クラスタ数 61 は min_cluster_size=30 一設定の結果で、 安定性 (シルエット・k-fold 一致率) は本実験では計測していない。 1,084 件のノイズ (全体の約 20%) はクラスタ化できなかったサンプル。 以下は上位 10 クラスタ:
| ID | n | 主要 target | top hour | 解釈 |
|---|---|---|---|---|
| 7 | 271 | tohoku_wind | 07 | 朝の風力変動 |
| 27 | 211 | tohoku_thermal_lng | 07 | 朝の火力立ち上げ |
| 33 | 206 | tohoku_demand | 06 | 朝需要の予測ずれ |
| 31 | 203 | tohoku_solar | 08 | 太陽光起動 (上位クラスタの一つ) |
| 20 | 165 | tohoku_solar | 13 | 昼のピーク変動 |
| 58 | 156 | tohoku_wind | 00 | 深夜の風力スパイク |
| 35 | 151 | tohoku_demand | 16 | 夕方需要ピーク |
| 14 | 98 | tohoku_thermal_lng | 09 | 朝の火力急減 (同時刻に他系列のピークと共起しやすい) |
| 17 | 45 | tohoku_demand | 07 | 需要急増 (z_mean=+2.38) |
61 クラスタ別カラー分布
target 別: ラベルなしで自動分離
時刻別: 朝/昼/夜が明確に分離
業務応用への展開
- 残差ピークのタイプ別ラベリング — 過去の残差ピークをクラスタ ID 付き教師データとして整理
- 新規残差ピークの類似検索 — 発生時に「過去のどのクラスタに近いか」を返す問い合わせ系
- 残差ピークの事例ライブラリ — 系統運用員が参照する形に整える
⑤残差ピーク予測 Transformer (1〜6時間先)
25M parameter Transformer で「t+1h / t+3h / t+6h に Chronos 残差ピーク (フェーズ③定義) が出る確率」を予測
入出力
| 入力次元 | (288, 14) = 24h × (10系列 + 4時刻特徴) |
| 出力次元 | 30 = 10 target × 3 horizon |
| ラベル | ±30min 以内に |z|>3 残差ピーク → binary |
| Train/Val/Test | 15,850 / 5,283 / 5,285 |
| Positive rate | 約 19% |
学習
| モデル | Transformer encoder (d=512, L=8, H=8) |
| パラメータ数 | 25.4M |
| 並列 | DDP 8 GPU × bs 128 |
| 損失 | BCE + pos_weight (≈ 5.5) |
| 学習時間 | 1.5 分 (10 epoch early stop) |
Test 結果: ターゲット別 AUC / AP
太陽光ラベル (±30 分以内に |z|>3) は日の出・日没・正午のピーク帯に強く偏っており (フェーズ④のクラスタ 31「太陽光起動 top hour=08」・クラスタ 20「昼ピーク top hour=13」)、 時刻 sin/cos と過去 24h の単純な集計だけのロジスティック回帰 baseline でも AUC 0.8 前後には達する可能性が高い。 本実験ではこの time-of-day-only baseline を計測していないため、 AUC 0.87 が 25M Transformer のモデル容量によるものか時刻分布の強さによるものかは切り分けられていない。 風力 AUC 0.57・北海道-本州 AUC 0.55 が chance 近傍に落ちるのは、 ラベル側に時刻パターンが乏しいターゲットでは予測材料がほぼ無いことを示しており、 ターゲット間の AUC 差は「モデルの優劣」ではなく「ラベルの予測しやすさ」を表している、 と読むのが安全。
| ターゲット | H1 (1h) AUC | H3 AUC | H6 AUC | 補足 |
|---|---|---|---|---|
| tohoku_solar | 0.871 | 0.870 | 0.839 | ラベルが時刻に強く偏る (time-of-day baseline 未比較) |
| chugoku_kyushu | 0.719 | 0.710 | 0.694 | 西日本連系線は周期性が残る |
| tokyo_chubu_FC | 0.697 | 0.687 | 0.695 | 50/60Hz 変換は固有パターン |
| tohoku_thermal_lng | 0.639 | 0.701 | 0.666 | 3h 先が当てやすい (太陽光起動の遅延応答) |
| kansai_chugoku | 0.660 | 0.670 | 0.670 | - |
| tohoku_demand | 0.652 | 0.652 | 0.601 | 業務パターンに依存 |
| tohoku_wind | 0.567 | 0.533 | 0.482 | 突風・凪は chance 近傍 |
| hokkaido_honshu | 0.551 | 0.543 | 0.581 | 設備故障型は chance 近傍 |
| 平均 | 0.645 | 0.657 | 0.630 |
業務応用への展開
- 取引リスクヘッジ — 1-3 時間前の太陽光・LNG 残差ピーク確率をスプレッド管理シグナルに使う構想 (実 P&L バックテストは次フェーズで実証予定)
- 系統運用支援 — 朝 06:00 時点の出力で予備力確保の優先度判断 (現場ワークフロー統合は次フェーズの主要テーマ)
- メンテナンス計画 — 残差ピークが少ない時間帯にメンテ窓口を配置
⑥因果探索 (Granger Causality)
10 系列ペアの F 統計量で「何が何を引き起こすか」を抽出
手法
- Raw level: 各系列の差分系列で双方向 OLS 回帰、 F 統計量で帰無仮説「X の過去 12 step は Y を予測に寄与しない」を検定
- Residual level: Chronos 残差で同じ検定 → 自己相関で説明できない本質的補完関係
- Lead-lag 相互相関: 残差ピーク binary mask の ±2h 相互相関プロファイル
- F 統計量はサンプル数 n≒26,000 では微弱な相関でも 100 単位に達するため、 絶対値ではなく相対順位として読む。 自由度 (分子 df=12 / 分母 df≒26,400) のもとでは F>2.18 で p<0.01 となり、 Top ペアは単独では全て有意水準を超える
- 共通の外生ドライバ (時刻・気象) を残差化していないため、 「太陽光 → LNG」も「両者が朝同時に動く」時刻同期の影響を含む。 本フェーズの結論はペア間の同期構造であり、 構造因果や介入下の挙動の同定ではない
サンプル数: 92 日 × 288 step/day ≒ 26,496 step / pair (差分系列)、 lag = 12 step (60 分)、 計算時間 3.5 秒
Top Granger F ペア (Raw 差分系列、 lag=12)
F 値は絶対値ではなくペア間の相対順位として読む。 全ペアが単独では p<0.01 水準を超えており、 順位構造が情報の本体。
| 順位 | X → Y (X の過去が Y の予測に寄与) | F 統計量 | 物理的整合性 |
|---|---|---|---|
| 1 | tohoku_solar → tohoku_thermal_lng | 215.7 | 太陽光増→火力減 (バランス調整。 時刻同期の影響を含む) |
| 2 | tohoku_tokyo連系線 → tohoku_thermal_lng | 134.0 | 域外送電量変化が火力出力に反映 |
| 3 | tohoku_solar → kansai_chugoku | 55.8 | 太陽光余剰が西日本まで波及 |
| 4 | tohoku_thermal_lng → tohoku_demand | 51.3 | 火力出力が見かけ需要を変える |
| 5 | tohoku_thermal_lng → tohoku_tokyo連系線 | 50.9 | 火力余剰が連系線送電に |
| 6 | tohoku_solar → tohoku_demand | 42.7 | 太陽光が見かけ需要を変える |
| 7 | tohoku_demand → tohoku_solar | 40.3 | 双方向 (時刻同期) |
| 8 | tohoku_demand → kansai_chugoku | 39.7 | 東北需要変動が西日本まで |
観察された同期構造
- 太陽光と LNG 火力の同期が他ペアより顕著 (Granger F=216、 ペア間で突出)
- LNG 火力 ⇔ 連系線は双方向に Granger F が高い (需給バランス調整と整合)
- 風力 → 他系列の F 値はほぼ無し = 風力は他系列と同期しない独立変動源
- 東北エリア内 (太陽光・需要・火力) で F 値ネットワークが密、 西日本との連結はそれより弱い
いずれも時系列の線形 Granger 相関であり、 構造的因果や介入下の挙動の保証ではない。
⑦シミュレータ上の系統運用 RL (toy 環境)
PPO で「LNG 火力 + 連系線」を動かす方策を学習。 v3 sim はランピング・予備力までは入っているが周波数・電圧・N-1 は扱わない制御研究用 toy 環境。 実運用への外挿は不可。
PowerGridEnv 設計 (gymnasium 互換)
v2 (低忠実度)
- 行動: ±2,000 MW 即値調整
- ramping 制約なし
- 予備力なし
- シンプルな imbalance 報酬
v3 (中忠実度、 採用)
- 行動: 加速度 (ramping rate ±150 MW/5min)
- LNG 出力下限 (予備力ペナルティ)
- 連系線物理限界 ±3,000 MW
- anomaly_signal を観測 + reward 項に組込
- 周波数・電圧・N-1 は未モデル化
v3 環境で 4 モード比較 (val 期間 30 episode)
| Mode | Reward | Δ vs Baseline | Imbalance [MW] | LNG [MW] | LNG 削減 |
|---|---|---|---|---|---|
| Baseline (action=0) | -2,989.76 | 基準 | 492 | 3,674 | - |
| PPO v3 scratch | -3,421.03 | -14.4% | 2,554 | 3,102 | -15.6% |
| BC (imitation only) | -6,762.21 | -126.2% | 1,313 | 3,129 | -14.8% |
| PPO + BC warm-start | -12,181.81 | -307.5% | 2,373 | 3,221 | -12.3% |
| PPO + Anomaly-aware reward | -2,602.23 | +12.9% | 2,143 | 2,765 | -24.7% |
結果の解釈と次フェーズの検証計画
4 モード比較で、 他 3 モード (PPO scratch / BC / PPO+BC) は v3 環境では baseline 以下に留まる結果となった。 一方で、 フェーズ⑤の予測モデル出力を reward 項に組み込んだ PPO+anom-reward モードが唯一 baseline を上回り、 シミュレータ内で LNG -24.7% を達成した。 これは「予測 AI の出力が制御 AI の reward shaping に再利用できる」という統合アーキテクチャの初期検証として位置付けられる。
評価指標が LNG 削減率を含む合成スコアであり、 reward 項にも -α·LNG - β·anomaly_signal が含まれることから、 「reward 設計の貢献度」と「予測モデル出力の貢献度」を切り分ける検証は次フェーズの重要課題である。 具体的な ablation 計画は以下:
- anomaly_signal を観測 obs にだけ入れる vs reward にも入れる の比較
- random noise を anomaly_signal の代わりに reward に入れた sanity check
- 同じ
-α·LNG項を持つ PPO scratch (anomaly 項なし) との比較 - val 期間を変えた繰り返し試行 (現状は 30 episode の単一計測)
このフェーズの位置付け
上記留保を踏まえても、 以下は事実として成立する:
- シミュレータ + PPO + reward shaping の パイプラインが B300 上で 6 分で end-to-end で回る ことを示した
- フェーズ⑤の事前推論 lookup table (119,232 × 3) を 実時間 RL ループに突っ込める形式に整備した
- 4 モード比較は ablation テンプレートとして再利用可能
「LNG 25% 削減」 は v3 シミュレータ内のスコアであり、 実運用での効果ではない。
シミュレータ vs 現実 (留意点)
| シミュレータ仮定 | 現実との差 |
|---|---|
| 太陽光・風力・需要は exogenous (政策・行動の影響を受けない) | 短期 (30 分〜数時間) では妥当だが、 RL agent の行動が需要応答を呼び出す可能性は無視 |
| LNG 出力は ramping rate 150MW/5min 制約 | 実機の ramping を抽象化したもの、 機種別・運転点別の制約は未モデル化 |
| 他電源・水力を target_delta_supply に集約 | 簡略化による誤差源 (特に揚水・水力の応答性) |
| 周波数・電圧安定性を考慮しない | 系統運用の本質的制約が 環境に入っていない。 この時点で系統運用研究としては「制御研究のtoy 環境」と位置付けるべき |
| N-1 故障・潮流計算なし | 系統信頼性評価は別途必要 |
→ 本フェーズは 「予測モデルを reward に組み込んだ RL を B300 で end-to-end に流すパイプラインの動作確認」であって、 「実系統で LNG が 25% 削減できる」ことの実証ではない。 実運用への橋渡しには周波数・電圧・N-1 を含む高忠実度プラントモデルと、 オフライン安全性評価が別途必要。
主要マイルストーン
5 分粒度で自前 906M Transformer が Chronos zero-shot と同等レンジ
B300 の HBM を活かした 4,032 step (≒ 14 日) のコンテキストで学習し、 10 中 7 ターゲットで lower RMSE_norm。 30 分粒度では Chronos に負けるが 5 分高解像度では並ぶ。 ドメイン特化モデルが foundation model と肩を並べる構図を実装。
Chronos 残差が 2.2% の重い裾を持つ (= 5,545 ピーク候補)
Chronos 予測残差から系統挙動を構造的に抽出する手法を確立。 12 月後半朝 09:00 帯の「太陽光起動 → LNG 急減 → 西日本連系線逆流」 の連日反復、 z=-15 級の北海道-本州深夜逆潮流など、 業務的に意味のあるイベントを定量的に検出できる基盤を整備。
残差ピークが UMAP+HDBSCAN で 61 クラスタに分かれる
Chronos encoder の 768 次元 embedding → UMAP → HDBSCAN により、 ラベルなしでも時刻・ターゲット軸に沿った意味のあるクラスタに自動分離する処理を実装。 系統運用員向けの「残差ピーク事例ライブラリ」「新規残差ピークの類似検索」 の基盤として展開可能。
太陽光残差ピークの予測 AUC が 0.87 まで上がる
25M Transformer + 24h コンテキストで太陽光残差ピークを 1〜6 時間前から予測。 朝 06:00 時点で「08:00 に LNG 急減」を 75% 確度で出力する取引・系統運用シグナルの実装基盤を構築。 風力・設備故障型は AUC 0.5 台に留まり、 ターゲットの予測可能性の階層構造も同時に可視化。
太陽光と LNG 火力の同期が突出 (Granger F=216)
差分系列の Granger F でペア間の同期構造を抽出。 LNG 火力 ⇔ 連系線は双方向に高 F (需給バランス調整と整合)、 風力は他系列と独立、 という階層構造を可視化。 需給バランスの数理モデルおよび制御戦略立案のための基礎データを整備。
予測 → 制御パイプラインが B300 で 6 分で end-to-end に回る
フェーズ⑤の予測モデル出力を v3 シミュレータの reward 項に流し、 PPO で系統運用ポリシーを学習する一気通貫の流れを実装。 PPO+anom-reward モードがシミュレータ内で LNG -24.7% を達成し、 「予測 AI が制御 AI の上流情報源になる」アーキテクチャの初期検証を完了。
今後の展開
本研究で構築した 7 フェーズ統合パイプラインを基盤に、 以下 4 つの方向で発展を計画している。 いずれもパイプラインの各フェーズ出力 (学習資産) を再利用する設計のため、 段階的な拡張と業務適用が可能。
統計的厳密性の確保
DM 検定・paired block bootstrap CI による per-target スコア差の有意性評価、 time-of-day-only baseline との比較による各モデルの貢献度切り分け、 Chronos context を 4,032 step に揃えた条件統制比較、 RL の reward 項 ablation。 第一フェーズの各スコアに信頼区間を付与し、 投資判断に耐える evidence base を整備する。
全国 10 エリア・長期データ対応
本研究の東北エリア 9 ヶ月実装を、 全国 10 エリア × 5 年以上の長期データに拡張。 B300 ノードの HBM 容量 (2.2 TB) を活用した 5B+ params 規模のドメイン特化型 foundation model 構築、 全国系統挙動の統一モデル化を視野に、 大規模計算リソースの本格活用を進める。
取引・系統運用ワークフローへの組込
フェーズ③の残差ピーク警報、 フェーズ④のクラスタ類似検索、 フェーズ⑤の 1〜6h 先予測シグナルを、 トレーディングデスクと系統運用センターの現場ワークフローと統合。 P&L バックテスト・パイロット運用を通じて、 リスクヘッジ・予備力確保・メンテナンス計画における AI 活用の業務価値を実証する。
RL 制御ポリシーの実運用接続
フェーズ⑦の PPO エージェントを、 周波数・電圧安定性・N-1 故障・潮流計算を含む高忠実度シミュレータ上で再学習。 系統信頼性評価フレームワークと結合し、 シミュレータ内 LNG -25% の数字を実プラントで再現できる安全な制御ポリシーへと発展させる。 系統運用者と協働した段階的検証を計画。
本プロジェクトは B300 を中核とした次世代 AI 計算基盤の上に、 電力市場・系統運用ドメインに特化した学習資産を蓄積するものである。 第一フェーズで構築した 7 フェーズパイプラインを共通基盤として、 上記 4 つの展開を並行して推進することで、 取引・運用・制御の各業務領域における AI 適用の最前線を切り拓いていく。
再現方法
必要環境
- Python 3.10+ (推奨 3.10)
- PyTorch 2.0+ (CUDA があれば GPU 推論可、 CPU でも可)
- pandas, numpy, scikit-learn, scipy, matplotlib
- 残差ピーククラスタリング再実行: umap-learn, hdbscan
- Chronos 推論:
pip install chronos-forecasting - TimesFM 推論:
pip install timesfm[torch] - RL:
pip install stable-baselines3 gymnasium - 因果グラフ可視化:
pip install networkx
🧠 脳活動解析レポート (TRIBEv2)
研究レポート — TRIBEv2 予測から見えた傾向
動物の定点映像 + 人間の定点映像 (2カテゴリ) × 20,484皮質頂点の予測から読み取れる傾向(データのみによる解析)
1. 個別ピーク事例の質的観察(人手による映像照合)
ノルム上位ピークについて、対応する実映像を人手で確認した所見をテーマ別に整理。被写体の種別を特定できる情報は伏せ、視覚・状況面の特徴のみ記録した。
A距離・接近
- 被写体が画面中央へ向かって近づき、画面に占める面積が急速に拡大していく場面。
- 顔へ手や物体が近づく瞬間。顔の周囲に新しい要素が侵入する遷移期間に強く反応する。
- 被写体どうしが接触する、または距離が急速に縮まる瞬間。接触前の遷移期間にピークが出る。
B顔・視線・注意
- 人物がこちらに顔を向けた瞬間。視線が画面側へ移ったタイミングと一致する。
- 被写体が画面外の何かを凝視している瞬間。視線はカメラから外れているが、姿勢の硬直と注意の集中が見られる。
- 被写体の口や顔の局所が急に変化する瞬間(発声・咀嚼・呼吸など、身体全体は動かず顔まわりだけが変化する)。
C動きの切り替わり
- 動き回っていた被写体が止まった瞬間。動 → 静 の切り替わり自体が一過性のピークを生む。
- 静止していた被写体が動き出した瞬間。静 → 動 の切り替わりでも同様にノルムが立ち上がる。
- 姿勢が大きく変わる瞬間(立ち上がる・伏せる・体の向きを変えるなど)。
- 画面内に新しい被写体が入ってくる瞬間。フレームに登場するタイミングで一過性のピークが出る。
D持続的な微小運動
- 画面中央付近で小さな対象がちらちらと持続的に動き続けている、構図全体としてはほぼ静止した状況。
- 構図全体は安定しているが、画面の局所領域だけで動きが続いている状況(細かい揺らぎ・ちらつき・反復運動)。
- 画面内をゆっくりと横切る動きが続く場面。派手な動きより低速で連続する動きの方がノルムが高い。
E静寂と緊張
- 被写体が水を口にしている場面。身体的な動きは少ないが、警戒姿勢で緊張感が続いている瞬間。
- 派手な動きはないが、何かが起きる直前の張り詰めた静寂が続く場面。
F同期・複数被写体
- 複数の被写体が同時に何かに反応し、揃って顔を上げた瞬間。同期したリアクションのフレーム。
- 画面の手前と奥で別々の動きが同時に起こっている場面。
G音と画の関係
- 強い音(鳴き声・発声・物音)と同期したフレーム。視覚的に大きな変化がない瞬間でも、音側のイベントに合わせてノルムが上がる。
カテゴリ横断で繰り返し観察された傾向
- 「動きの量」より「動きの意味」。画面が派手に動くフレームより、低速で連続する動き・水を飲む・警戒姿勢など、緊張感を伴う低速シーンの方がノルムは高くなりやすい。
- 「こちらに向かってくる」「顔がこちらを向く」 構図でノルムが立ち上がる。被写体までの距離が縮む、視線が画面側へ移る、といった視聴者へのアフォーダンスがある瞬間に強い反応が出ている。
- 視野内で小さな対象がチラついている 状況。全体としては静かな構図でも、局所的な動きが続くとノルムが上がる。
- 動から静、静から動への切り替わり がイベントとして検出される。連続する状態そのものより、状態が切り替わる遷移点に強く反応する。
- 人物の定点映像でも、顔の向きの変化や、顔の近くに別の物体(手など)が侵入する 瞬間に同様の立ち上がりが見られる。被写体のカテゴリを越えて「顔まわり・接近・遷移」が共通の駆動要因。
- 音側のイベント(鳴き声・発声・物音)と同期したピークも存在する。視覚的に大きな変化がない瞬間でも、音入力がノルムを押し上げる場合がある。
注: 上記は人手による定性的観察であり、複数のピーク事例に基づく所見である。映像の具体的な被写体種別は本レポートでは特定しない。あくまで TRIBEv2 の予測脳活動の傾向であり、実測 fMRI による検証は本実験の範囲外。
2. カテゴリ別 活性度
秒ごとのノルム ‖predst‖₂ をカテゴリ別に比較。動画が多いほど色が薄く、各動画の中央値・90%帯を箱で示す。
3. 半球の活動量バランス(左/右)
各動画の平均ベクトルを左半球(0–10241)と右半球(10242–20483)に分け、それぞれのノルムを比較。値が右上ほど両側活性、対角線から外れるほど非対称。
4. 動画間 類似度(mean activation のコサイン類似度)
各動画の平均活動ベクトルどうしの類似度。同カテゴリがブロックを成すかを確認できる。軸ラベルは匿名 ID (V01〜V18)。
5. PCA — 動画ごとの低次元構造
対象動画の平均活動ベクトルを主成分分析した結果。PC1×PC2平面でカテゴリが分離するかを観察。
6. 応答する皮質頂点(top variance)
全動画プールで分散が大きい上位30頂点。コンテンツによって最も駆動される予測脳領域。
7. カテゴリ弁別マップ(discriminative vertices)
2カテゴリの平均活動ベクトル間で値の振れ幅が大きい上位40頂点について、各カテゴリでの平均活動値をヒートマップで表示。
8. 時間的自己相関
ノルム時系列の自己相関(lag=1, 10, 30, 60秒)。値が大きい=状態が長く持続する。コンテンツの安定性の指標。