メインコンテンツへ

太陽光の発電量予測

背景

太陽光発電予測は、Tensor Cloudの中核機能です。自動化された需給管理が可能になり、Tensor Cloudが電力市場で取引を行い、発電、販売、調達計画を送配電事業者に提出できます。併設型蓄電池の場合、経済的に最適化された充放電スケジュールの作成に不可欠なインプットとなります。

太陽光発電予測は、有料のワークスペースでTensor Cloud上の全ての運転中のプロジェクトに対して30分毎に生成されます。

構成要素とアーキテクチャ

市場価格予測と同様に、Tensor Cloudの太陽光発電予測サービスは、主に2つの構成要素からなります。

  1. 各プロジェクトのために個別の予測モデルをトレーニングするトレーニングサービス
  2. トレーニングされたモデルを使用して、各プロジェクトの太陽光発電量を予測する予測サービス

トレーニングサービス

機械学習モデルのトレーニングサービスは、週に3回(日本時間の日曜日、火曜日、木曜日の23:00)実行され、前回のトレーニング実行以降に新しい発電データが利用可能なプロジェクトの太陽光発電予測をトレーニングします。

モデルアーキテクチャ

モデルは、ユーザーから提供された過去の発電データと過去の気象予報を用いてトレーニングされます。各モデルのハイパーパラメータは、検証期間(トレーニング中は使用されない)で最高のパフォーマンスを達成するように個別に調整されます。モデルは、05:00から20:00までの30分間隔の全ての時間帯に対して、一括で太陽光発電予測を作成し、1回で合計30スロットをカバーします(15時間、2スロット/時間の解像度)。この期間外の時間帯はゼロとみなされます。

過去の気象予報は、様々な国の気象機関から入手されます。各プロジェクトについて、過去の発電データに最も適合する気象ソースの組み合わせを特定します。各ソースから時間解像度で最大13の気象変数が使用されます。具体的な気象ソースと変数については、以下に詳述します。

対象となるプロジェクトは、次の基準を満たしている必要があります。

  1. 運用中としてマークされている
  2. 太陽光発電システムのCODが過去である

トレーニングデータ

Tensor Cloudは、十分な過去のデータが利用可能な場合、ワークスペース内の各プロジェクトに対して個別の機械学習モデルをトレーニングします。通常、機械学習モデルは、プロジェクトの30日から60日分のクリーンな過去の発電データから作成できます。Tensor Cloudは、出力抑制があった日、または1時間以上の連続した欠損値がある日をトレーニングデータセットから自動的に除外します。

モデル検証

各プロジェクトについて、まず最大5つの候補モデルをトレーニングし、それぞれ異なる気象ソースの組み合わせを使用します。トレーニングが完了すると、これらのモデルは、現時点まで変更されていない最新のデータで構成されるテスト期間で評価されます。並行して、太陽光発電シミュレーションエンジンで使用されているのと同じ技術に基づいたシミュレーションモデルが、同じ期間で実行されます。機械学習モデルが物理シミュレーションモデルよりも優れたパフォーマンスを発揮しない場合、それらは拒否され、物理モデルが予測に使用されます。それ以外の場合は、テスト期間で最高のRMSE精度を持つ機械学習モデルが採用されます。RMSEは、全てのスロットを考慮して計算されます。

RMSE=t=1T(gtgt^)2T\text{RMSE} = \sqrt{ \frac{\sum_{t=1}^T (g_t-\hat{g_t})^2}{T}}

ここで、TTは検証期間の総時間ステップ数、gtg_tは時間ttでの実際の発電量、gt^\hat{g_t}は予測値です。

このアプローチにより、誤ったトレーニングデータが予測品質に影響を与えるのを防ぎます。Tensor Cloudは、パフォーマンスが低い場合にシミュレーションモデルにフォールバックするためです。

予測サービス

予測サービスは、30分毎に実行され、以下に説明するロジックに基づいて各実行で決定される予測期間にわたって、各プロジェクトの発電量を予測します。

各プロジェクトについて、予測サービスは、トレーニングサービスによって作成されたトレーニング済みのモデルをロードしようとします。トレーニング済みのモデルがない場合(例えば、そのプロジェクトの過去の発電データがない場合、またはプロジェクトがプラットフォームに追加されたばかりである場合)、またはトレーニング済みのモデルが検証に合格しなかった場合、代わりに物理シミュレーションアプローチが使用されます。

予測期間の決定

全てのプロジェクトに対して最大14日先までの予測を生成し、30分毎に更新します。ただし、予測の更新頻度は、予測された時間がどれだけ先にあるかによって異なります。長期予測は、最終的にはより新しい予測によって更新され、頻度が低く信頼性の低い気象入力に依存し、更新頻度が高すぎると過剰なデータが生成されるため、更新頻度が低くなります。

太陽光発電予測が以下の期間よりも古くならないことを保証します。

  • 現在から12時間以内のスロットについては30分
  • 12〜24時間については1時間
  • 24〜48時間については2時間
  • 3〜7日目については6時間
  • 8〜14日目については24時間

気象データ

ソース

当社の気象予報は、いくつかの国の気象プロバイダーから集約されています。現在、モデルをトレーニングする際に、以下のソースを検討しています。

国の気象プロバイダー気象モデル空間解像度時間解像度更新頻度
気象庁(JMA)MSM0.05°(約5 km)1時間3時間毎
NOAA NCEPGFS0.11°(約13 km)1時間6時間毎
ECMWFIFS 0.25°0.25°(約25 km)3時間6時間毎
英国気象庁(UK Met Office)UKMO Global0.09°(約10 km)1時間6時間毎
中国気象局(CMA)GFS GRAPES0.125°(約15 km)3時間6時間毎

将来的には、追加のソースが追加される予定です。

変数

モデルをトレーニングし、将来の発電量を予測するために、気象データを予測変数として使用します。以下の変数を使用します。

変数単位時間解像度
地上2 mの気温°C1時間
風速m/s1時間
全球水平面日射量(GHI)*W/m21時間
散乱水平面日射量(DHI)*W/m21時間
法線面直達日射量(DNI)W/m21時間
傾斜面全天日射量(GTI)*W/m21時間
直達太陽放射W/m21時間
地上2 mの相対湿度%1時間
地上2 mの露点温度°C1時間
降水量mm1時間
雲量%1時間
地表面気圧hPa1時間
体感温度°C1時間

*UKMO Globalモデルでは利用できない変数。