0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「燃料が上がれば電気代が上がる」だけでは足りない - 電力市場価格を予測するときに直面した3つの非燃料要因と、その実務的な解き方

0
Last updated at Posted at 2026-05-02

はじめに

個人開発の電力比較サイト (エネジェント) で、 家庭向け電気代シミュレーションに使う JEPX (日本卸電力市場) の月平均価格予測 を作っています。

電力業界に少しでも触れたことがある人なら、 まず思いつく素朴なモデルはこんな感じです。

JEPX の月平均価格 ≒ (原油価格・天然ガス価格・石炭価格を組み合わせた線形式) + 月別の季節補正

WTI 原油・LNG・石炭の月次値で線形回帰して、 残差を月別に補正する。 過去 12 ヶ月平均の燃料費を将来に当てはめている多くの比較サイトより、 一段マシな水準にはなります。

ただ、 これだけでは解けない問題が 3 つあります。

  1. 市場が燃料コストから乖離する局面 (例: 2026 年 4 月のクジラ問題)
  2. 当月の途中でしか分からない情報を活かせない
  3. 同じエリアでも年によって需給バランスが大きく違う (暖冬・冷夏)

本記事は、 これら 3 つを構造的に整理し、 個人プロジェクトの範囲でどう解いたかをまとめます。 商用ベンダーや学術研究と比べて簡素ですが、 「燃料だけのモデルから一段抜け出すのに必要な発想」のメモとして読んでもらえれば。

問題 1: 市場が燃料コストから乖離する (クジラ問題)

何が起きたか

2026 年 4 月、 JEPX 東京エリアの月平均が 20.62 円/kWh まで跳ねました。 燃料 (WTI/LNG/石炭) は前月から動いておらず、 線形回帰モデルは 16 円台を予測。 1 kWh あたり約 4.5 円も外しました。

原因は JERA グループの社内 PPA (相対契約) 終了 でした。 詳細は日経エネルギーNextの記事に詳しいですが、 一言で言うと:

JERA が東京電力 EP・中部電力ミライズに供給していた電力 (合計約 800 億 kWh/年、 業界では「クジラ」と呼ばれる) の社内 PPA が 2026 年 3 月末で終了。
4 月以降、 東電 EP と中部ミライズは 市場 (JEPX) で電力を買う比率が大幅に増え、 売り側の JERA も市場に売り出すようになった。
その結果、 売り入札・買い入札ともに 10% 前後増加し、 価格形成が変わった。

これは 燃料コストでは説明できない構造変化 です。 線形回帰は「過去のパターン」を学習しているので、 構造が変わった瞬間の価格は予測できません。

構造的な打ち手

「事前に予測する」ことは無理ですが、 発生から 1〜2 週間で気づいて補正することはできます。 JEPX のスポット価格は 30 分単位で日々観測できるので、 「予測した時点で当月の途中まで観測されているスポット価格」と「モデル予測値」の差を、 当月予測に強く反映する設計にしました。

具体的には、 例えば 4/15 時点で「4 月の月平均」を予測する場合:

  • 4/1〜4/14 の 30 分スポット平均 = 約 19.5 円/kWh (実際に観測されている)
  • 燃料モデルの 4 月予測値 = 約 16.0 円/kWh
  • 差分 = +3.5 円/kWh

この差分を「当月予測に対しては強く、 翌月以降に対しては弱く (時間が経つにつれ減衰させて)」反映します。 結果、 4 月の月平均予測値は 16.0 → 19.5 円付近に補正されます。

事前予測ではなく 「観測された結果を即座に取り込む」 という発想です。

実際の効果を 2026 年 4 月だけで測ると:

モデル 2026 年 4 月予測の平均誤差
燃料モデルのみ 約 2.3 円/kWh
燃料モデル + 当月途中スポット補正 約 1.2 円/kWh

誤差が約半分。 構造変化に「事前」では無理でも「事後すぐ」なら追えます。

問題 2: 「燃料月平均」が「実際の発電コスト」と一致しない

月内変動の罠

WTI が月内で +45% 急騰した月 (例: 2026 年 3 月) があると、 月平均予測がどうしても外れます。

直感的に: WTI 月平均は「月内の毎日の終値の平均」なので、 月末に急騰しても中庸な値になる。 一方、 発電所の燃料調達は 当月分と前月分にまたがって分散ヘッジ されているため、 実際の発電コストは「最近 2 ヶ月の燃料平均」に近い。

構造的な打ち手

燃料の説明変数を、 単月値ではなく 「対象月 + 前月の単純平均」 に置き換える。

燃料(対象月) = (Pink_Sheet[対象月] + Pink_Sheet[対象月 − 1ヶ月]) / 2

これだけで翌月予測の平均誤差が約 -10% 改善しました。

「先物カーブを取ってきて重み付きヘッジを再現すべきでは」という指摘もありえますが、 商用 LNG 先物データは有料です。 無料データで作る範囲では、 月次の 2 ヶ月移動平均で 8 割は捉えられているという割り切り。

問題 3: 暖冬・猛暑による需給バランスの年次変動

エリアによって違う事情

過去のバックテストで「北海道と四国の予測誤差が他エリアより大きい」ことに気づきました。

直感的な仮説:

  • 北海道: 冬の暖房需要が支配的、 暖冬年と寒冬年で需要が大きく違う
  • 四国: 夏の冷房 + 太陽光発電量で日中スポットが大きく動く

線形回帰の月別ダミーだけでは、 こうした 「同じ月でも年によって違う」 変動を吸収しきれません。

構造的な打ち手

気温データ (Open-Meteo Historical Weather API・無料) からエリアごとの 暖房度日 (HDD) ・冷房度日 (CDD) を計算して説明変数に追加。

HDD(月, エリア) = 18°C を下回った日数分の「不足度」を月で合計 ← 暑い日はゼロ、 寒い日ほど大きい
CDD(月, エリア) = 22°C を上回った日数分の「超過度」を月で合計 ← 寒い日はゼロ、 暑い日ほど大きい

これを燃料モデルの式に追加することで、 「暖冬 = 需要が伸びない = 価格が下がる」という年次変動を取り込めます。

将来の予測時に対象月の気温は分かりませんが、 前年同月の気温で代替しても他エリアより精度が上がる結果が出ました。

3 つを「予測月数」に応じて使い分ける

ここが個人的に一番面白かったところです。

3 つの打ち手は 「どれくらい先を予測するか」によって効き目が違う のです。

どれくらい先を予測? 一番効く打ち手 理由
当月 (今月の月平均) 当月途中スポット補正 既に半分くらいの日次データが観測されている
翌月 気温 (HDD/CDD) 季節要因が一番強く効く
2〜3 ヶ月先 燃料 2 ヶ月平均 + 季節パターン 燃料の中長期トレンドが支配的、 気温データは無いので前年同月で代替

そこで、 「予測する将来何ヶ月先か」によって最適なモデルを切り替える設計にしました。 (機械学習用語で「アンサンブル」と呼ばれる手法に近いですが、 要は 状況によって違う道具を使い分ける ということです)

ベースライン (燃料線形回帰のみ) との比較:

予測月数 ベースライン平均誤差 本モデル平均誤差 改善率
当月 1.53 円/kWh 1.21 円/kWh -21%
翌月 1.79 円/kWh 1.69 円/kWh -6%
2 ヶ月先 1.85 円/kWh 1.72 円/kWh -7%
3 ヶ月先 2.20 円/kWh 1.74 円/kWh -21%

家庭向け電気代に換算すると、 4 人世帯 (年 5,000 kWh) で 年間 ±5,000〜8,500 円ぶれる程度の精度。 商用ベンダーの有償サービスには及びませんが、 「比較サイトの試算値として実用に足る」水準にはなりました。

残された課題と今後

取引量シグナル

クジラ問題のような構造変化を より早く 捉えるには、 JEPX の入札曲線 (売り・買いの注文量) を活かすのが筋が良さそうです。 現状は約定価格 (結果) だけ見ていますが、 入札の偏り (例: 売りが急減) が出始めた段階で警告できる可能性があります。

太陽光出力データ

九州エリアは出力制御が頻発するため、 「日中の太陽光発電量」がスポット価格を大きく動かしています。 OCCTO (電力広域的運営推進機関) のエリア需給実績データを取り込めば、 気温だけでは捉えきれない再エネ要因を明示的にモデル化できます。

モデルの非線形化

JEPX 価格は需給逼迫時に 供給曲線の右端 (古い石油焚き等) が点灯することで、 燃料コストとは比例しない急騰を起こします。 線形回帰では平常時しか捉えられないため、 LightGBM などの非線形手法に置き換える価値はあります。 ただしサンプル数 (月次 × 数年) が少ない時系列でツリーモデルを使うと過学習しやすく、 慎重な検証が必要です。

まとめ

「燃料が上がれば電気代が上がる」は正しいですが、 燃料だけでは説明しきれない要因が 3 つ ありました。

問題 構造的な打ち手
市場が燃料コストから乖離する (構造変化) 当月途中スポット価格で補正、 発生後 1-2 週で追従
燃料月平均が実際の発電コストと一致しない 燃料を 2 ヶ月移動平均に置き換え
暖冬・猛暑で需給が年次変動する 気温度日 (HDD/CDD) を説明変数に追加

そして「何ヶ月先を予測するかによって効く打ち手は違う」ので、 状況に応じて道具を切り替えるのが現実解でした。

エネジェントは公開しています: https://enegent.jp/

電力市場の月平均予測は学術論文がまだ少ない領域です (日次・時間別が中心)。 「自分はもっと良い特徴量を入れている」「商用ベンダーはこういう手法を使っている」等あれば、 ぜひコメントで教えてください。


(本記事は Claude Opus 4.7 と一緒に試行錯誤した結果のメモです)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?