IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日新電機株式会社の特許一覧 ▶ 国立大学法人京都工芸繊維大学の特許一覧

特開2024-157315モデル生成装置、予測装置、モデル生成方法、および予測方法
<>
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図1
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図2
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図3
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図4
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図5
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図6
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図7
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図8
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図9
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図10
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図11
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図12
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図13
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図14
  • 特開-モデル生成装置、予測装置、モデル生成方法、および予測方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157315
(43)【公開日】2024-11-07
(54)【発明の名称】モデル生成装置、予測装置、モデル生成方法、および予測方法
(51)【国際特許分類】
   G06Q 50/06 20240101AFI20241030BHJP
   G06N 20/00 20190101ALI20241030BHJP
   G06F 17/15 20060101ALI20241030BHJP
   H02J 3/00 20060101ALI20241030BHJP
   G06F 18/27 20230101ALI20241030BHJP
   G06F 18/213 20230101ALI20241030BHJP
   G06F 123/02 20230101ALN20241030BHJP
【FI】
G06Q50/06
G06N20/00
G06F17/15
H02J3/00 130
G06F18/27
G06F18/213
G06F123:02
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023071609
(22)【出願日】2023-04-25
(71)【出願人】
【識別番号】000003942
【氏名又は名称】日新電機株式会社
(71)【出願人】
【識別番号】504255685
【氏名又は名称】国立大学法人京都工芸繊維大学
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】森本 充
(72)【発明者】
【氏名】竹原 輝巳
(72)【発明者】
【氏名】角田 あかり
(72)【発明者】
【氏名】井尻 有策
(72)【発明者】
【氏名】寶珍 輝尚
【テーマコード(参考)】
5B056
5G066
5L049
5L050
【Fターム(参考)】
5B056BB22
5G066AA02
5G066AE01
5G066AE09
5L049CC06
5L050CC06
(57)【要約】
【課題】施設における需要電力量の予測精度を高める。
【解決手段】モデル生成装置(10)は、施設における需要電力量の実績値の時間推移を示す時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数を導出し、上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグを選択し、上記特殊ラグを上記実績値に対して設定することにより新たな特徴量を導出し、上記新たな特徴量が追加された上記時系列データに基づいて、上記施設における需要電力量を予測するための予測モデルを機械学習によって生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
施設における需要電力量を予測するための予測モデルを生成するモデル生成装置であって、
上記モデル生成装置は、
上記需要電力量の実績値の時間推移を示す時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数を導出し、
上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグを選択し、
上記特殊ラグを上記実績値に対して設定することにより新たな特徴量を導出し、
上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルを生成する、モデル生成装置。
【請求項2】
上記モデル生成装置は、
複数の上記ラグのそれぞれに対応する上記実績値の自己相関係数をさらに導出し、
上記偏自己相関係数と上記自己相関係数とに基づいて上記特殊ラグを選択する、請求項1に記載のモデル生成装置。
【請求項3】
上記モデル生成装置は、
複数の上記ラグのそれぞれに対応する上記偏自己相関係数の絶対値をさらに導出し、
複数の上記ラグの内、時間長閾値以上の値を有するラグであって、偏自己相関閾値以上の値を有する上記絶対値に対応するラグを、第1特殊ラグ候補として選択し、
複数の上記ラグの内、上記時間長閾値以上の値を有するラグであって、自己相関閾値以上の値を有する上記自己相関係数に対応するラグを、第2特殊ラグ候補として選択し、
複数の上記ラグの内、上記第1特殊ラグ候補と上記第2特殊ラグ候補とに共通のラグを、上記特殊ラグとして選択する、請求項2に記載のモデル生成装置。
【請求項4】
上記偏自己相関閾値は、0.05以上かつ0.15以下の値であり、
上記自己相関閾値は、0.7以上かつ1以下の値である、請求項3に記載のモデル生成装置。
【請求項5】
上記モデル生成装置は、
複数の上記ラグのそれぞれに対応する上記偏自己相関係数の絶対値と上記自己相関係数との和をさらに導出し、
複数の上記ラグの内、時間長閾値以上の値を有するラグであって、和閾値以上の値を有する上記和に対応するラグを、上記特殊ラグとして選択する、請求項2に記載のモデル生成装置。
【請求項6】
上記和閾値は、0.75以上かつ1.15以下の値である、請求項5に記載のモデル生成装置。
【請求項7】
上記モデル生成装置は、
複数の上記特殊ラグが昇順にソートされた配列において、等差数列を成す複数の上記特殊ラグをローリングラグとして選択し、
上記ローリングラグを上記実績値に対して設定することにより、上記新たな特徴量としてローリング特徴量を導出する、請求項1に記載のモデル生成装置。
【請求項8】
上記モデル生成装置は、
上記配列における上記ローリングラグを除いた上記特殊ラグを非ローリングラグとして選択し、
上記非ローリングラグを上記実績値に対して設定することにより、上記新たな特徴量としてラグ特徴量を導出する、請求項7に記載のモデル生成装置。
【請求項9】
上記新たな特徴量が追加された上記時系列データは、上記施設における日毎の就業状態を示すデータをさらに含んでいる、請求項1に記載のモデル生成装置。
【請求項10】
学習フェーズにおいて予め生成された、施設における需要電力量を予測するための予測モデルを予測フェーズにおいて用いることにより、上記需要電力量の予測値を導出する予測装置であって、
上記学習フェーズでは、
上記需要電力量の実績値の時間推移を示す上記学習フェーズにおける時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数が導出されており、
上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグが選択されており、
上記特殊ラグを上記実績値に対して設定することにより新たな特徴量が導出されており、
上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルが生成されており、
上記予測装置は、
上記実績値の時間推移を示す上記予測フェーズにおける時系列データについて、上記特殊ラグを上記予測フェーズにおける上記実績値に対して設定することにより、上記予測フェーズにおける新たな特徴量を導出し、
上記予測フェーズにおける上記新たな特徴量が追加された、上記予測フェーズにおける上記時系列データに基づいて、上記予測値を上記予測モデルに出力させる、予測装置。
【請求項11】
施設における需要電力量を予測するための予測モデルを生成するモデル生成方法であって、
上記需要電力量の実績値の時間推移を示す時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数を導出する工程と、
上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグを選択する工程と、
上記特殊ラグを上記実績値に対して設定することにより新たな特徴量を導出する工程と、
上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルを生成するする工程と、を含んでいる、モデル生成方法。
【請求項12】
学習フェーズにおいて予め生成された、施設における需要電力量を予測するための予測モデルを予測フェーズにおいて用いることにより、上記需要電力量の予測値を導出する予測方法であって、
上記学習フェーズでは、
上記需要電力量の実績値の時間推移を示す上記学習フェーズにおける時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数が導出されており、
上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグが選択されており、
上記特殊ラグを上記実績値に対して設定することにより新たな特徴量が導出されており、
上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルが生成されており、
上記予測方法は、
上記実績値の時間推移を示す上記予測フェーズにおける時系列データについて、上記特殊ラグを上記予測フェーズにおける上記実績値に対して設定することにより、上記予測フェーズにおける新たな特徴量を導出する工程と、
上記予測フェーズにおける上記新たな特徴量が追加された、上記予測フェーズにおける上記時系列データに基づいて、上記予測値を上記予測モデルに出力させる工程と、を含んでいる、予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一態様は、施設における需要電力量を予測するための予測モデルを生成するモデル生成装置に関する。
【背景技術】
【0002】
近年、施設における様々な種類のエネルギー需要量を予測するために機械学習が利用されている。例えば、下記の特許文献1には、蓄熱利用システムにおける熱負荷を、ニューラルネットワークによって予測する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9-89348号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の一態様は、施設における需要電力量の予測精度を高めることを目的とする。
【課題を解決するための手段】
【0005】
上記の課題を解決するために、本発明の一態様に係るモデル生成装置は、施設における需要電力量を予測するための予測モデルを生成するモデル生成装置であって、上記モデル生成装置は、上記需要電力量の実績値の時間推移を示す時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数を導出し、上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグを選択し、上記特殊ラグを上記実績値に対して設定することにより新たな特徴量を導出し、上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルを生成する。
【0006】
また、本発明の一態様に係る予測装置は、学習フェーズにおいて予め生成された、施設における需要電力量を予測するための予測モデルを予測フェーズにおいて用いることにより、上記需要電力量の予測値を導出する予測装置であって、上記学習フェーズでは、上記需要電力量の実績値の時間推移を示す上記学習フェーズにおける時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数が導出されており、上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグが選択されており、上記特殊ラグを上記実績値に対して設定することにより新たな特徴量が導出されており、上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルが生成されており、上記予測装置は、上記実績値の時間推移を示す上記予測フェーズにおける時系列データについて、上記特殊ラグを上記予測フェーズにおける上記実績値に対して設定することにより、上記予測フェーズにおける新たな特徴量を導出し、上記予測フェーズにおける上記新たな特徴量が追加された、上記予測フェーズにおける上記時系列データに基づいて、上記予測値を上記予測モデルに出力させる。
【0007】
また、本発明の一態様に係るモデル生成方法は、施設における需要電力量を予測するための予測モデルを生成するモデル生成方法であって、上記需要電力量の実績値の時間推移を示す時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数を導出する工程と、上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグを選択する工程と、上記特殊ラグを上記実績値に対して設定することにより新たな特徴量を導出する工程と、上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルを生成するする工程と、を含んでいる。
【0008】
また、本発明の一態様に係る予測方法は、学習フェーズにおいて予め生成された、施設における需要電力量を予測するための予測モデルを予測フェーズにおいて用いることにより、上記需要電力量の予測値を導出する予測方法であって、上記学習フェーズでは、上記需要電力量の実績値の時間推移を示す上記学習フェーズにおける時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数が導出されており、上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグが選択されており、上記特殊ラグを上記実績値に対して設定することにより新たな特徴量が導出されており、上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルが生成されており、上記予測方法は、上記実績値の時間推移を示す上記予測フェーズにおける時系列データについて、上記特殊ラグを上記予測フェーズにおける上記実績値に対して設定することにより、上記予測フェーズにおける新たな特徴量を導出する工程と、上記予測フェーズにおける上記新たな特徴量が追加された、上記予測フェーズにおける上記時系列データに基づいて、上記予測値を上記予測モデルに出力させる工程と、を含んでいる。
【発明の効果】
【0009】
本発明の一態様によれば、施設における需要電力量の予測精度を高めることができる。
【図面の簡単な説明】
【0010】
図1】実施形態1における情報処理装置の要部の構成を例示するブロック図である。
図2】訓練データとしての実績データの例である。
図3】訓練データとしての就業日データの例である。
図4図3の就業日データに前置補間を施すことによって生成されたデータの例である。
図5図2の実績データと図4のデータとを組み合わせることによって生成されたデータの例である。
図6】ラグとPACと|PAC|との対応関係を示すテーブルの例である。
図7】ラグとACとの関係を示すグラフおよびラグとPACとの関係を示すグラフの例である。
図8図5のデータにラグ特徴量を追加することによって生成されたデータの例である。
図9図8のデータにローリング特徴量コンポーネントとローリング特徴量とを追加することによって生成されたデータの例である。
図10図9のデータからローリング特徴量コンポーネントを削除することによって生成されたデータの例である。
図11図10のデータに時点相当量を追加することによって生成されたデータの例である。
図12図11のデータに曜日を追加することによって生成されたデータの例である。
図13図12のデータにおける各特徴量に対して標準化を施すことによって生成されたデータの例である。
図14】等差数列要素を選択する処理の流れを例示するフローチャートである。
図15】予測フェーズにおける前処理後入力データの例である。
【発明を実施するための形態】
【0011】
〔実施形態1〕
実施形態1について以下に説明する。説明の便宜上、実施形態1にて説明したコンポーネント(構成要素)と同じ機能を有するコンポーネントについては、以降の各実施形態では同じ符号を付し、その説明を繰り返さない。簡潔化のため、公知の技術事項についても説明を適宜省略する。本明細書において述べる各コンポーネントおよび各数値はいずれも、特に矛盾のない限り単なる例示である。それゆえ、例えば、特に矛盾のない限り、各コンポーネントの位置関係および接続関係は各図の例に限定されない。また、各図の例における日付と曜日との対応関係は、必ずしも実際のカレンダーのものと一致していないことに留意されたい。本明細書では、特に矛盾のない限り、2つの数AおよびBについての表記「A~B」は、「A以上かつB以下」を表す。
【0012】
(情報処理装置1の概要)
図1は、情報処理装置1の要部の構成を例示するブロック図である。情報処理装置1は、制御装置9および記憶部90を備えていてよい。制御装置9は、情報処理装置1の各部を統括的に制御する。制御装置9は、モデル生成装置10および予測装置20を備えていてよい。
【0013】
後述の通り、モデル生成装置10は、施設における需要電力量を予測するための予測モデルを、機械学習によって生成する。このことから、モデル生成装置10は、学習装置と称されてもよい。予測装置20は、モデル生成装置10によって予め生成された予測モデルを用いて、上記施設における需要電力量の予測値を導出する。
【0014】
本発明の一態様における施設は、例えば、時間帯、曜日、および当該施設内における従業者の就業状態の内の少なくとも1つに応じて、需要電力量の変動が生じうる施設であればよい。本発明の一態様における施設の例としては、工場などの工業施設、ショッピングモールなどの商業施設、および、病院などの医療施設を挙げることができる。
【0015】
記憶部90は、制御装置9の処理に用いられる各種のデータおよびプログラムを格納する。図1の例では、実績データと就業日データとが記憶部90に格納されているものとする。本明細書では、実績データとは、所定の時間分解能にて記録された、施設における需要電力量の実績値を示すデータ(より詳細には、データ構造)を総称的に指す。本明細書では、特に矛盾のない限り、「需要電力量」という文言は、需要電力量の実績値を指すものとする。
【0016】
実績データは、時点と需要電力量とが対応付けられたデータであるので、需要電力量の時間推移を示す時系列データの例である。実施形態1の例では、実績データにおける時間分解能は1分である。実施形態1では、時間分解能が1分のデータにおける時点は、「年/月/日 時/分」形式(「yyyy/mm/dd /hh/mm」形式)によって表現されているものとする。時点は、データ構造におけるキーとして使用されてよい。
【0017】
本明細書では、就業日データとは、施設における日毎の就業状態を示すデータを総称的に指す。一例として、就業日データとは、ある日が当該施設の就業日であるか否かを示すデータであってよい。就業日データは、日付と就業状態とが対応付けられたデータであるので、就業状態の日ごとの推移を示す時系列データの例である。実施形態1の例では、以下に述べる前置補間が施される前の就業日データにおける時間分解能は1日である。実施形態1では、時間分解能が1日のデータにおける日付は、「年/月/日」形式(「yyyy/mm/dd」形式)によって表現されているものとする。
【0018】
(学習フェーズ)
以下、情報処理装置1の動作の一例について述べる。情報処理装置1の処理は、学習フェーズにおける処理(モデル生成装置10の一連の処理)と、予測フェーズにおける処理(予測装置20の一連の処理)と、に大別される。はじめに、学習フェーズの例について説明する。
【0019】
図1に示す通り、モデル生成装置10は、データ取得部11、前処理部12、学習部13、および評価部14を備えていてよい。データ取得部11は、学習時データ取得部または第1データ取得部と称されてもよい。前処理部12は、学習時前処理部または第1前処理部と称されてもよい。
【0020】
図1に示す通り、記憶部90には、学習フェーズにおいて用いられる実績データDZと就業日データDSとが格納されていてよい。以下、例えば、実績データDZを単にDZを略称する。データ取得部11は、学習フェーズにおける入力データセットとしてDZおよびDSを取得する。そして、データ取得部11は、当該入力データセットを訓練データと検証データとに分割する。
【0021】
図2のDZ0は、訓練データとしての実績データの例である。DZ0は、DZの一部である。実施形態1の例では、実績データに記録されている需要電力量の単位はkWhであるものとする。図3のDS0は、訓練データとしての就業日データの例である。DS0は、DSの一部である。実施形態1の例では、就業日データ内に記録されている就業状態は、「就業日」という質的変数(より詳細には、名義尺度)に予め変換されているものとする。図3の例における「1」という就業日の値は、その日(当該就業日に対応する日)が就業日であることを示す。その一方、「0」という就業日の値は、その日が休日であることを示す。
【0022】
ただし、就業日データに記録されている就業状態の種類は、上記の例に限定されない。例えば、「長期休暇日」という就業状態の種類が就業日データに記録されていてもよい。長期休暇日とは、所定の長期休暇(例:夏季休暇期間)に属する休日を意味する。この場合、例えば、「-1」という就業日の値によって、その日が長期休暇日であることが示されてよい。
【0023】
前処理部12は、学習部13による機械学習アルゴリズムの実行に先立ち、訓練データに一連の前処理を施すことにより、前処理後訓練データを生成する。次いで、学習部13は、機械学習アルゴリズムを実行することにより、当該前処理後訓練データに基づいて予測モデルを生成する。
【0024】
まず、前処理部12は、DS0に記録されている就業日について前値補間を実行することにより、新たなデータを生成する。図4のDS1は、当該新たなデータの例である。DS1は、前置補間後就業日データと称されてもよい。具体的には、前処理部12は、前置補間によって、DS0をDZ0と等しい時間分解能(例:1分)を有する新たなデータへと変換する。図4に示す通り、前値補間の結果として、DS1では、同じ日付に属する就業日は、全ての時点において同じ値を有する。
【0025】
次いで、前処理部12は、時点をキーとして用いてDZ0とDS1とを組み合わせることにより、新たなデータを生成する。図4のDZ1は、当該新たなデータの例である。例えば、前処理部12は、DS1における「就業日」の列をDZ0に追加することにより、DZ1を生成する。DZ1は、就業日データ付実績データと称されてもよい。
【0026】
次いで、前処理部12は、DZ1における需要電力量の偏自己相関係数(partial autocorrelation coefficient)を導出する。本明細書では、当該自己相関係数をPACと略記する。具体的には、前処理部12は、ラグ(lag)を様々に変化させ、ラグ毎のPACを算出する。ラグは、時系列データとしての特徴量に対して設定される時間的な遅延量を表す。前処理部12は、PACの絶対値である|PAC|をさらに導出してよい。前処理部12は、DZ1における需要電力量の自己相関係数(autocorrelation coefficient)をさらに導出してもよい。本明細書では、当該自己相関係数をACと略記する。実施形態1では、前処理部12がPACと|PAC|とACとを導出する場合を例示する。
【0027】
前処理部12は、ラグ単位量とラグ次数との積としてラグを設定してよい。そして、前処理部12は、決定したラグ毎にPACと|PAC|とACとを算出してよい。一例として、ラグ単位量は、情報処理装置1のユーザによって予め設定された一定値であってよい。実施形態1の例では、ラグ単位量が30分である場合を例示する。ただし、前処理部12によってラグ単位量が設定されてもよい。例えば、前処理部12は、DZ1の時間分解能(例:1分)をラグ単位量として設定してもよい。
【0028】
前処理部12は、ラグとPACとの対応関係を示すテーブルを生成してよい。前処理部12は、ラグとPACと|PAC|の対応関係を示すテーブルを生成してもよい。前処理部12は、ラグとACの対応関係を示すテーブルを生成してもよい。したがって、前処理部12は、ラグとPACと|PAC|とACとの対応関係を示すテーブルを生成してもよい。図6のLTは、当該テーブルの例を示す。
【0029】
図6の例では、LTにおけるキーとして、ラグ次数が使用されてよい。図6の例では、前処理部12は、ラグ次数を1から1344まで変化させることにより、1344通りのラグを設定する。したがって、前処理部12は、1344通りのPACと|PAC|とACとを算出する。実施形態1の例におけるラグは、日単位の時間長を表す量である。
【0030】
上述の通り、ラグ単位量は30分であるので、ラグ次数1は30分に相当する。したがって、ラグ次数48は1日(=30分×48)に相当する。そして、ラグ次数336(=48×7)は、7日すなわち1週に相当する。そして、ラグ次数672(=336×2)は14日すなわち2週に相当し、ラグ次数1008(=336×3)は21日すなわち3週に相当し、ラグ次数1344(=336×4)は28日すなわち4週に相当する。
【0031】
本明細書では、データ構造の要素番号を整数iによって総称的に表す。図6の例におけるiは、ラグ次数に等しい値であってよい。そこで、図6の例において、iに対応するラグをlag[i]と表記する。また、iに対応するPACをPAC[i]と表記する。したがって、iに対応する|PAC|を|PAC[i]|と表記する。また、iに対応するACをAC[i]と表記する。
【0032】
以上の説明から明らかである通り、i>1におけるlag[i]は、i番目に短いラグを表す。本明細書では、特に矛盾のない限り、一般的なプログラミング言語の記法に従って、データ構造の要素番号の最小値は0であるものとする。図6には示されていないが、当業者であれば明らかである通り、lag[0]=0であり、PAC[0]=1であり、AC[0]=1である。
【0033】
発明者らは、ある工場において得られた実績データを用いて、当該工場におけるラグとACとの関係を導出した。図7の符号701は、当該工場におけるラグとACとの関係の一例を示すグラフである。加えて、発明者らは、当該実績データを用いて、当該工場におけるラグとPACとの関係をさらに導出した。図7の符号702は、当該工場におけるラグとPACとの関係の一例を示すグラフである。符号701および符号702のグラフにおける横軸はいずれも、ラグ次数を示す。符号701のグラフにおける縦軸はACを示し、符号702のグラフにおける縦軸はPACを示す。図7のグラフにおける横軸は、ラグに読み替えることができる。図7のグラフのトレンドは、図6の例に概ね一致している。
【0034】
図7の符号701に示す通り、ラグに対応するACの変化は、需要電力量の時間変動の周期性に対応していると考えられる。したがって、例えば、前処理部12は、ACに基づいて、設定した複数のラグの内から特殊ラグを選択(抽出)してよい。特殊ラグとは、例えば需要電力量の時間変動に関する何らかの周期性を表現していると期待されるラグを意味する。
【0035】
また、図7の符号702に示す通り、ラグに対応するPACの変化も、需要電力量の時間変動の周期性に対応していると考えられる。したがって、例えば、前処理部12は、PACに基づいて、設定した複数のラグの内から特殊ラグを選択してもよい。
【0036】
図7の符号701の例では、概ね全てのラグに亘り、ACの絶対値は比較的大きい。そして、0に近い絶対値を有するACの数が比較的少ない。さらに、ACの極小値の絶対値は、ACの極大値の絶対値に比べて小さい。その一方、図7の符号702の例では、概ね全てのラグに亘り、|PAC|は比較的小さい。そして、0に近い絶対値を有するPACの数が比較的多い。さらに、PACの極小値の絶対値が、ACの極大値の絶対値に比べて大きい。したがって、PACのグラフは、ACのグラフとは異なり、下向きに鋭敏なスパイク部分を有している。
【0037】
以上の通り、PACのグラフは、ACのグラフと有意に異なりうる。ただし、図7の例では、PACのスパイク部分が生じるラグは、ACの極大値が生じるラグと概ね一致している。したがって、PACとACとの間には何らかの関係性があると期待される。
【0038】
そこで、前処理部12は、PACとACとに基づいて、設定した複数のラグの内から特殊ラグを選択してもよい。実施形態1では、前処理部12がPACとACとに基づいて特殊ラグを選択する場合について例示する。
【0039】
一例として、前処理部12は、複数のラグの内、時間長閾値以上の値を有するラグであって、偏自己相関閾値以上の値を有する|PAC|に対応するラグを、第1特殊ラグ候補として選択してよい。
【0040】
施設内における需要電力量の変動は、短期的にはおおよそ1日前後の周期を有していると一般的に考えられる。したがって、時間長閾値は、比較的短期的な需要電力量の変動トレンドを把握するために適切と考えられる値に設定されていればよい。時間長閾値は、ユーザによって任意に設定可能な値であってよい。実施形態1では、時間長閾値が1日である場合を例示する。
【0041】
偏自己相関閾値は、例えば、PACのスパイク部分を検出できるように設定されていればよい。図7の符号702の例では、当該スパイク部分における|PAC|は、概ね0.1以上である。このことから、一例として、偏自己相関閾値は0.05~0.15であればよい。偏自己相関閾値も、ユーザによって任意に設定可能な値であってよい。実施形態1では、偏自己相関閾値が0.1である場合を例示する。
【0042】
当業者であれば明らかである通り、ラグが短い場合には、かなり大きい正の値を有するPACが生じやすい。そこで、上記の通り時間長閾値を設定することにより、多くの短いラグが第1特殊ラグ候補として選択されることを避けることができる。すなわち、選択される第1特殊ラグ候補の数を減らすことができる(図6の例におけるラグ次数1~3の行を参照)。その結果、後述の説明から理解できる通り、予測モデルの品質を向上させることができる。
【0043】
上述の通り、1日という時間長閾値は、i=48に対応する。図6の例では、i≧48の範囲において、
|PAC[48]|=0.29
|PAC[336]|=0.19
|PAC[672]|=0.17
が、偏自己相関閾値以上の値を有している。したがって、前処理部12は、
lag[48]=1
lag[336]=7
lag[672]=14
を、第1特殊ラグ候補として選択する。
【0044】
また、前処理部12は、複数のラグの内、時間長閾値以上の値を有するラグであって、自己相関閾値以上の値を有するACに対応するラグを、第2特殊ラグ候補として選択してよい。
【0045】
一般的に、機械学習の分野では、2つのデータ間の相関係数が0.7以上である場合に、当該データ間に強い正の相関が存在していると考えることができる。このことから、一例として、自己相関閾値は0.7~1であればよい。自己相関閾値も、ユーザによって任意に設定可能な値であってよい。実施形態1では、自己相関閾値が0.7である場合を例示する。
【0046】
当業者であれば明らかである通り、ラグが短い場合には、1に近いACが生じやすい。そこで、上記の通り時間長閾値を設定することにより、多くの短いラグが第2特殊ラグ候補として選択されることを避けることができる。すなわち、選択される第2特殊ラグ候補の数を減らすことができる(図6の例におけるラグ次数1~3の行を参照)。
【0047】
図6の例では、i≧48の範囲において、
AC[48]=0.78
AC[336]=0.73
AC[672]=0.70
AC[1008]=0.72
が、自己相関閾値以上の値を有している。したがって、前処理部12は、
lag[48]=1
lag[336]=7
lag[672]=14
lag[1008]=21
を、第2特殊ラグ候補として選択する。
【0048】
前処理部12は、第1特殊ラグ候補および第2特殊ラグ候補に基づいて、特殊ラグを選択してよい。一例として、前処理部12は、第1特殊ラグ候補と第2特殊ラグ候補とに共通のラグを、特殊ラグとして選択してよい。実施形態1の例では、第2特殊ラグ候補は、第1特殊ラグ候補の全てを含んでいる。したがって、前処理部12は、前処理部12は、第1特殊ラグ候補を特殊ラグとして選択する。すなわち、前処理部12は、ラグ「7、14、および21」を特殊ラグとして選択する。
【0049】
次いで、前処理部12は、選択した複数の特殊ラグを昇順にソートしてよい。そして、前処理部12は、ソートされた当該特殊ラグを要素として含む配列Plagを生成してよい。実施形態1の例では、前処理部12は、Plag=[1,7,14]を生成する。そして、前処理部12は、Plagの要素の内、等差数列を成す要素(等差数列要素)を選択する。等差数列要素の選択手法については後述する。
【0050】
実施形態1の例では、前処理部12は、Plagの要素の内、1番目以降の要素であるPlag[1:]=[7,14]を、等差数列要素として選択する。これらの等差数列要素は、初項の値が7であり、かつ、公差が7である等差数列を成す。
【0051】
そして、前処理部12は、Plagの要素の内、等差数列要素を除いた要素を、残余要素として選択する。残余要素は、非等差数列要素(等差数列を成さない要素)と称されてもよい。実施形態1の例では、処理部12は、Plagの要素の内、0番目の要素であるPlag[0]=[1]を、残余要素として選択する。
【0052】
前処理部12は、上述の通り選択した特殊ラグを需要電力量に対して設定することにより、新たな特徴量を導出する。例えば、前処理部12は、新たな特徴量として、ローリング特徴量(rolling feature)およびラグ特徴量(lag feature)の少なくとも一方を導出してよい。
【0053】
上述の図7を踏まえると、等差数列要素に該当する特殊ラグは、需要電力量における変動の比較的長期的な周期性を表現するために適していると考えられる。そこで、前処理部12は、等差数列要素に当該する特殊ラグを、ローリング特徴量を導出するための特殊ラグであるローリングラグとして選択してよい。実施形態1の例では、前処理部12は、ラグ「7および14」をローリングラグとして選択する。実施形態1の例では、前処理部12は、当該ローリングラグに基づいてローリング特徴量を導出する。
【0054】
そして、前処理部12は、残余要素に該当する特殊ラグを、ローリング特徴量とは別の特徴量を導出するための特殊ラグである非ローリングラグとして選択してよい。実施形態1の例では、前処理部12は、ラグ「1」を非ローリングラグとして選択する。当該非ローリングラグは、需要電力量における変動の比較的短期的な周期性を表現するために適していると考えられる。そこで、実施形態1の例では、前処理部12は、当該非ローリングラグに基づいてラグ特徴量を導出する。
【0055】
実施形態1では、ローリング特徴量の導出に先立ち、ラグ特徴量が導出される場合を例示する。ただし、当業者であれば明らかである通り、ラグ特徴量の導出に先立ち、ローリング特徴量が導出されてもよい。実施形態1における各処理は、特に矛盾のない限り、任意の順序で実行されてよい。
【0056】
前処理部12は、非ローリングラグを需要電力量に対して設定することにより、当該需要電力量に対応する新たな特徴量としてのラグ特徴量を導出する。図8のDZ2は、DZ1にラグ特徴量を追加することによって生成されたデータの例を示す。実施形態1の例では、非ローリングラグが1であるため、前処理部12は、「1日前の需要電力量」をラグ特徴量として導出する。したがって、図8の例において、時点「2021/4/1 0:00」の行に属する「1日前の需要電力量」は、「2021/3/31 0:00における需要電力量」を表す。また、時点「2022/3/31 23:59」の行に属する「1日前の需要電力量」は、「2022/3/30 23:59における需要電力量」を表す。
【0057】
次いで、前処理部12は、非ローリングラグを需要電力量に対して設定することにより、当該需要電力量に対応する新たな特徴量としてのローリング特徴量を導出する。まず、前処理部12は、ある時点に対して、ローリングラグだけ前の時点の需要電力量を、当該時点に対応するローリング特徴量の構成要素(ローリング特徴量コンポーネント)として取得する。実施形態1の例では、ローリングラグが7および14であるため、前処理部12は、「7日前の需要電力量」および「14日前の需要電力量」を、ローリング特徴量コンポーネントとして取得する。前処理部12は、当該ローリング特徴量コンポーネントをDZ2に追加する。
【0058】
次いで、前処理部12は、ローリング特徴量コンポーネントの統計値をローリング特徴量として導出する。実施形態1では、統計値が平均値である場合を例示する。したがって、前処理部12は、「7日前の需要電力量」と「14日前の需要電力量」との平均値を導出する。前処理部12は、当該平均値をローリング特徴量としてDZ2にさらに追加する。
【0059】
図9のDZ3は、DZ2にローリング特徴量コンポーネントとローリング特徴量とを追加することによって生成されたデータの例を示す。図9の例において、時点「2021/4/1 0:00」の行に属する「7日前の需要電力量」および「14日前の需要電力量」は、「2021/3/25 0:00における需要電力量」および「2021/3/18 0:00における需要電力量」をそれぞれ表す。そして、時点「2021/4/1 0:00」の行に属する「平均(7,14日前)需要電力量」は、同時点の行に属する「7日前の需要電力量」と「14日前の需要電力量」との平均値を表す。
【0060】
ローリング特徴量の取得後には、ローリング特徴量コンポーネントはもはや不要であると考えられる。そこで、前処理部12は、ローリング特徴量の取得後に、DZ3からローリング特徴量コンポーネントを削除してよい。図10のDZ4は、DZ3からローリング特徴量コンポーネントを削除することによって生成されたデータの例を示す。
【0061】
次いで、前処理部12は、DZ4に記録されている時点を、所定の型に変換することにより、当該時点に対応する特徴量である時点相当量を導出する。そして、前処理部12は、当該時点相当量をDZ4に追加する。一例として、前処理部12は、基準時点「0:00」から対象時点までの経過時間を時間(h)単位で表す量として、時点相当量を設定してよい。図11のDZ5は、DZ4に時点相当量を追加することによって生成されたデータの例を示す。
【0062】
図11の例では、「0:00」からの1分間の経過時間は、1/60(≒0.01667)という時点相当量に対応する。実施形態1の例では、時点の年(y)、月(m)、および日(d)を考慮せずに、時間(h)および分(m)のみを用いて時点相当量が導出されている。ただし、当業者であれば明らかである通り、年、月、および日の少なくともいずれかを考慮した型として導出された量が、時点相当量として導出されてもよい。
【0063】
ただし、当業者であれば明らかである通り、時点相当量は必ずしも導出されなくともよい。本開示の一態様に係る予測モデルは、特殊ラグを需要電力量に対して設定することにより導出された新たな特徴量を説明変数として用いて、需要電力量の予測値を出力できるように設定されていればよいためである。
【0064】
次いで、前処理部12は、例えばカレンダーデータを参照することにより、DZ5に記録されている時点の日付に対応する曜日を決定する。そして、前処理部12は、当該曜日をDZ5に追加する。図12のDZ6は、DZ5に曜日を追加することによって生成されたデータの例である。図12の例では、前処理部12は、質的変数(名義尺度)に変換した曜日をDZ5に追加することにより、DZ6を生成している。実施形態1の例では、曜日0~6は、日曜日~土曜日をこの順に表す。したがって、図12の例における曜日4は、木曜日を表す。
【0065】
図12に示す通り、DZ6において、需要電力量、および当該需要電力量に基づいて導出された新たな特徴量は、例えば曜日および就業日を示す特徴量(カレンダー特徴量)に比べて大きい値となりうる。したがって、前処理部12は、DZ6に含まれている各特徴量に対するスケーリングを実行してよい。これにより、各特徴量の数値範囲を同程度に揃えることができるので、より高い性能を有する予測モデルを生成することが可能となる。
【0066】
実施形態1では、前処理部12がスケーリングとして標準化(standardization)を実行する場合を例示する。前処理部12は、DZ6に含まれているある特徴量について、当該特徴量の平均値(μ)および標準偏差(σ)を導出する。そして、前処理部12は、導出したμおよびσを用いて、当該特徴量を標準化する。本明細書では、学習モデルの生成前の標準化に用いたμおよびσを、標準化パラメータと称する。図13のDZ6Sは、DZ6の各特徴量に対して標準化を施すことによって生成されたデータの例である。実施形態1の例では、DZ6が、前処理後訓練データとして用いられる。
【0067】
学習部13は、需要電力量に基づいて導出された新たな特徴量が追加された後の、当該需要電力量の時系列データに基づいて、機械学習によって予測モデルを生成する。したがって、一例として、学習部13は、所定の機械学習アルゴリズムを実行することにより、前処理後訓練データ(例:DZ6S)に基づいて予測モデルを生成してよい。
【0068】
本開示の一態様に係る予測モデルは、予測対象時点における需要電力量の予測値を、目的変数として出力できる学習済モデルであればよい。したがって、機械学習アルゴリズムの種類は、回帰タスクを解くことが可能なものであれば、特に限定されない。機械学習アルゴリズムの例としては、ニューラルネットワーク(Neural Network,NN)、サポートベクターマシン(Support Vector Machine,SVM)、および決定木(Decision Tree,DT)などを挙げることができる。
【0069】
実施形態1の例では、学習部13は、DZ6Sに含まれている、(i)任意の予測対象時点における需要電力量を目的変数の真値(正解データ)として用いるとともに、(ii)当該予測対象時点以前における需要電力量以外の各特徴量を説明変数として用いることにより、説明変数から目的変数を導出する予測モデルを生成する。
【0070】
予測モデルの生成後、学習部13は、当該予測モデルに、各特徴量の標準化パラメータを組み込んでよい。学習部13は、当該予測モデルに、ローリングラグと非ローリングラグとをさらに組み込んでよい。
【0071】
評価部14は、学習部13によって生成された予測モデルを評価する。具体的には、評価部14は、当該予測モデルの予測性能を評価する。評価部14による評価に先立ち、前処理部12は、検証データに対して、上述の訓練データと同じ様式の一連の前処理を実行することにより、前処理後検証データを生成する。したがって、実施形態1の例では、前処理後検証データは、DZ6Sと同じ様式のデータ構造を有している。このため、実施形態1における前処理後検証データでは、予測モデルに組み込まれている標準化パラメータを用いて各特徴量が標準化されている。
【0072】
評価部14は、前処理後検証データを用いて予測モデルを評価する。具体的には、評価部14は、前処理後検証データを予測モデルに入力することにより、当該予測モデルに予測値を出力させる。そして、評価部14は、当該予測値と、前処理後検証データに示されている需要電力量の真値とに基づいて、予測モデルの予測精度を示す指標値を導出する。
【0073】
指標値は、機械学習分野において、回帰タスクにおける予測精度の評価に使用されるものであればよく、特に限定されない。指標値の例としては、平均絶対誤差(Mean Absolute Error,MAE)および平均平方二乗誤差(Root Mean Square Error,RMSE)などを挙げることができる。評価部14は、指標値の導出が完了した後に、予測モデルを記憶部90に格納してよい。
【0074】
なお、モデル生成装置10は、指標値が所定の閾値を下回る場合には、学習部13に予測モデルを再び生成させてよい。この場合、予測モデルの再生成に先立ち、例えば当該予測モデルのハイパーパラメータが再設定されてよい。このように、予測フェーズにおいて使用される予測モデルの性能を補償するために、閾値以上の指標値が得られるまで予測モデルの生成が繰り返されてよい。この場合、評価部14は、閾値以上の指標値が初めて得られた予測モデルを、記憶部90に格納してよい。
【0075】
(等差数列要素の選択手法の例)
図14は、等差数列要素を選択する処理の流れの例を示すフローチャートである。まず、前処理部12は、S1に先立ち、上述の配列Plagの要素数NPlagを取得する。実施形態1の例では、Plag=[1,7,14]であるので、NPlag=3である。
【0076】
S1において、前処理部12は、NPlagが2以上であるか否かを反映する。NPlagが2以上である場合(S1でYES)、S2に進む。他方、NPlagが1以下である場合(S1でNO)、前処理部12は、図14の処理を終了させる。この場合、前処理部12は、Plagは等差数列要素を含んでいないと判定する。
【0077】
S2において、前処理部12は、Plagの要素を指すための要素番号iを0に初期化する。S3において、前処理部12は、Plagが等差数列要素を含んでいることを示すフラグflgをTrue(真)に初期化する。
【0078】
S4において、前処理部12は、iがNPlag-2よりも小さいか否かを判定する。iがNPlag-2よりも小さい場合(S4でYES)、S5に進む。他方、iがNPlag-2以上である場合(S4でNO)、S8に進む。
【0079】
S5において、前処理部12は、a0にPlag[i]を代入する。a0は、想定される等差数列の初項である。このように、S5において、前処理部12は、a0をPlag[i]と等しい値に設定する。S6において、前処理部12は、dにPlag[i+1]-a0を代入する。dは、想定される等差数列の公差である。このように、S6において、前処理部12は、dをPlag[i+1]-a0と等しい値に設定する。次いで、S7において、前処理部12は、Plagの要素を指すための要素番号jに、i+2を代入する。そして、S11に進む。
【0080】
S8~S10はそれぞれ、S5~S7と対になる処理である。S8において、前処理部12は、a0に0を代入する。すなわち、S8において、前処理部12は、a0を0に設定する。S9において、前処理部12は、dにPlag[i]-a0を代入する。このように、S9において、前処理部12は、dをPlag[i]-a0と等しい値に設定する。次いで、S10において、前処理部12は、jにi+1を代入する。そして、S11に進む。
【0081】
S11において、前処理部12は、next_dにPlag[j]-Plag[j-1]を代入する。next_dは、想定される等差数列における、dの次の公差である。このように、前処理部12は、next_dをPlag[j]-Plag[j-1]と等しい値に設定する。
【0082】
S12において、前処理部12は、next_dがdに等しいか否かを判定する。next_dがdに等しい場合(S12でYES)、S13において、前処理部12は、jを1だけカウントアップする。そして、S15に進む。他方、next_dがdに等しくない場合(S12でNO)、S14において、前処理部12は、flgをFalse(偽)に更新する。そして、S16に進む。
【0083】
S15において、前処理部12は、jがNPlag以上であるか否かを判定する。jがNPlag以上である場合(S15でYES)、S16に進む。他方、jがNPlagよりも小さい場合(S15でNO)、S11に戻る。したがって、jがNPlagに等しくなるまで、S11~S13およびS15の処理が繰り返される。
【0084】
S16において、前処理部12は、flgがFalseであるか否かを判定する。flgがFalseである場合(S16でYES)、S17において、前処理部12は、iを1だけカウントアップする。そして、S19に進む。他方、flgがFalseでない場合(S16でNO)、すなわち、flgがTrueである場合、S18に進む。
【0085】
S18において、前処理部12は、Plagの要素の内、i番目以降の要素であるPlag[i:]を配列apに代入する。配列apは、等差数列要素を格納するための配列である。S18の完了後、前処理部12は、図14の処理を終了させる。処理の終了時におけるflgがTrueである場合(言い換えれば、処理の終了時における配列apが空配列でない場合)、前処理部12は、Plagが等差数列要素を含んでいると判定する。この場合、前処理部12は、等差数列要素の選択結果としてapを出力してよい。
【0086】
S19において、前処理部12は、iがNPlag以上であるか否かを判定する。iがNPlag以上である場合(S19でYES)、S20に進む。他方、iがNPlagよりも小さい場合(S19でNO)、S3に戻る。したがって、iがNPlagに等しくなるまで、S3~S16、S17、およびS19の処理が繰り返される。
【0087】
S20において、前処理部12は、空配列を配列apに代入する。すなわち、前処理部12は、配列apを空配列に設定する。S20の完了後、前処理部12は、図14の処理を終了させる。処理の終了時におけるflgがFalseである場合(言い換えれば、処理の終了時における配列apが空配列である場合)、前処理部12は、Plagは等差数列要素を含んでいないと判定する。この場合、前処理部12は、空配列としてのapを、等差数列要素の選択結果として出力してよい。
【0088】
実施形態1の例では、S2においてi=0に設定された後、S5において、a0=Plag[0]=1に設定される。したがって、S6において、d=Plag[1]-a0=7-1=6に設定される。そして、S7において、j=2に設定される。このため、S11において、next_d=Plag[2]-Plag[1]=14-7=7に設定される。この場合、dがnext_dに等しくないので、S14においてflgがFalseに設定される。その後、S17において、iが1にカウントアップされる。
【0089】
S3において、flgがTrueに更新される。実施形態1の例では、NPlag=3である。したがって、i=1の場合、S4において、i<NPlag-2という条件は満たされないので、S8において、a0=0に設定される。次いで、S9において、d=Plag[1]-a0=7-0=7に設定される。そして、S10において、j=2に設定される。このため、S11において、next_d=Plag[2]-Plag[1]=14-7=7に設定される。したがって、dがnext_dに等しく、かつ、flgがTrueであるため、S18において、Plag[1:]=[7,14]がapとして設定される。
【0090】
(予測フェーズ)
続いて、図1を再び参照し、学習フェーズに後続する予測フェーズの例について説明する。予測装置20は、データ取得部21、前処理部22、予測演算部23、および予測結果出力部24を備えていてよい。データ取得部21は、予測時データ取得部または第2データ取得部と称されてもよい。前処理部22は、予測時前処理部または第2前処理部と称されてもよい。
【0091】
図1に示す通り、記憶部90には、予測フェーズにおいて用いられる実績データDZPと就業日データDSPとが格納されていてよい。予測フェーズでは、リアルタイムでの需要電力量予測が実行されてよい。このため、実績データDZPは、リアルタイムで更新されてよい。データ取得部21は、予測フェーズにおける入力データとしてDZPおよびDSPを取得する。DZPは、DZと同じ様式のデータ構造を有しているものとする。また、DSPは、DSと同じ様式のデータ構造を有しているものとする。加えて、データ取得部21は、学習フェーズにおいてモデル生成装置10によって記憶部90に格納された予測モデルを取得する。
【0092】
前処理部22は、予測フェーズにおける入力データセットに対して、上述の学習フェーズと同じ様式の一連の前処理を実行することにより、前処理後入力データを生成する。前処理部22の処理の例について以下に述べる。
【0093】
まず、前処理部22は、DSP中の就業日に対して前値補間を実行することにより、予測フェーズにおける前置補間後就業日データ(便宜上、DSP1と称する)を生成する。前置補間の結果、DSP1は、DZPと等しい時間分解能(例:1分)を有している。
【0094】
次いで、前処理部22は、時点をキーとして用いてDZPとDSP1とを組み合わせることにより、予測フェーズにおける就業日データ付実績データ(便宜上、DZP1と称する)を生成する。
【0095】
次いで、前処理部22は、学習フェーズにおいて決定された特殊ラグを取得する。例えば、前処理部22は、学習フェーズにおいて決定されたローリングラグと非ローリングラグとを、予測モデルから読み出してよい。前処理部22は、学習フェーズにおいて決定された特殊ラグを予測フェーズにおける需要電力量に対して設定することにより、予測フェーズにおける新たな特徴量を導出する。
【0096】
前処理部22は、予測フェーズにおける需要電力量に対して非ローリングラグを設定することにより、予測フェーズにおける新たな特徴量としてのラグ特徴量を導出してよい。そして、前処理部22は、当該ラグ特徴量をDZP1に追加することによって、新たなデータ(便宜上、DZP2と称する)を生成してよい。実施形態1の例では、非ローリングラグが1であるため、前処理部22は、「1日前の需要電力量」を予測フェーズにおけるラグ特徴量として取得する。
【0097】
次いで、前処理部22は、予測フェーズにおける需要電力量に対してローリングラグを設定することにより、予測フェーズにおける新たな特徴量としてのローリング特徴量を導出してよい。まず、前処理部22は、ローリングラグに応じて、予測フェーズにおけるローリング特徴量コンポーネントを取得する。実施形態1の例では、ローリングラグが7、14、および21であるため、前処理部22は、予測フェーズにおける「7日前の需要電力量」、「14日前の需要電力量」、および「21日前の需要電力量」を、予測フェーズにおけるローリング特徴量コンポーネントとして取得する。そして、前処理部22は、当該ローリング特徴量コンポーネントをDZP2に追加する。
【0098】
次いで、前処理部22は、予測フェーズにおける「7日前の需要電力量」と「14日前の需要電力量」と「21日前の需要電力量」との平均値を導出し、当該平均値を予測フェーズにおけるローリング特徴量として取得する。そして、前処理部22は、当該ローリング特徴量をDZP2にさらに追加する。
【0099】
以上の通り、前処理部22は、DZP2に予測フェーズにおけるローリング特徴量コンポーネントとローリング特徴量とを追加することによって、新たなデータ(便宜上、DZP3と称する)を生成してよい。ローリング特徴量の取得後に、前処理部22は、DZP3からローリング特徴量コンポーネントを削除することによって、新たなデータ(便宜上、DZP4と称する)を生成してよい。
【0100】
次いで、前処理部22は、DZP4に記録されている時点を、予測フェーズにおける時点相当量に変換する。そして、前処理部22は、当該時点相当量をDZ4に追加することにより、新たなデータ(便宜上、DZP5と称する)を生成する。
【0101】
次いで、前処理部22は、DZP5に記録されている時点の日付に対応する曜日(質的変数に変換した曜日)をDZ5に追加することにより、新たなデータ(便宜上、DZP6と称する)を生成する。
【0102】
次いで、前処理部22は、学習フェーズにおいて決定された標準化パラメータを、予測モデルから読み出す。そして、前処理部22は、当該標準化パラメータを用いてDZP6の各特徴量を標準化する。図15のDZP6Sは、DZP6の各特徴量に対して標準化を施すことによって生成されたデータの例である。DZP6Sは、予測フェーズにおける前処理後入力データとして用いられる。図15では、キーとしての時点については図示が割愛されている。すなわち、図15では、予測フェーズにおける需要電力量の予測に用いられる説明変数のみが示されている。
【0103】
一例として、予測フェーズでは、30分ごとに需要電力量予測が実行されてよい。また、予測フェーズでは、例えば24時間を超える将来の期間に亘る(例:現時点から36時間後までに亘る)需要電力量の予測値が導出されてよい。このことから、予測フェーズでは、例えば「1日前の需要電力量」の一部のセルの値は未知となりうる。図15の例では、NULLという表記によって、未知の値(すなわち空白値)を有するセルが示されている。DZP6S内に空白値が存在する場合、前処理部22は、所定の補間手法を用いて当該空白値を補間してよい。
【0104】
一例として、前処理部22は、予測モデルを用いて、1日前の需要電力量の既知の値に基づいて、空白値を補間してよい。例えば、前処理部22は、ある空白値に対応する1日前の需要電力量の既知の値を予測モデルに入力することにより、当該入力に応じた予測値を予測モデルに出力させてよい。そして、前処理部22は、当該予測値を当該空白値の補間値として設定してよい。
【0105】
予測演算部23は、予測フェーズにおける需要電力量に基づいて導出された新たな特徴量が追加された後の、当該需要電力量の時系列データに基づいて、需要電力量の予測値を予測モデルに出力させる。したがって、予測演算部23は、前処理後入力データ(例:DZP6S)を予測モデルに入力することにより、当該予測モデルに予測値を出力させてよい。具体的には、予測演算部23は、前処理後入力データ内の各特徴量を、説明変数として予測モデルに供給する。予測モデルは、当該説明変数に応じた予測値を、目的変数として出力する。
【0106】
予測結果出力部24は、予測モデルによって出力された需要電力量の予測値に基づいて、予測結果データを生成する。例えば、予測結果出力部24は、各予測値と各時点とを対応付けたデータを、予測結果データとして生成してよい。予測結果出力部24は、生成した予測結果データを出力する。
【0107】
また、予測結果出力部24は、需要電力量の予測値(単位:kWh)を、別の単位に換算してもよい。一例として、予測結果出力部24は、需要電力量の予測値を、需要電力の予測値(単位:kW)へと換算してよい。この場合、予測結果出力部24は、換算後の各予測値と各時点とを対応付けたデータを、予測結果データとして生成してよい。
【0108】
(情報処理装置1の効果)
モデル生成装置10によれば、学習フェーズにおいて、PAC(需要電力量の偏自己相関係数)に基づいて特殊ラグを選択できる。次いで、特殊ラグを需要電力量に対して設定することにより、新たな特徴量を導出できる。このように、モデル生成装置10によれば、新たな特徴量は、需要電力量の変動の周期性を表すと期待される特徴量(例:上述のローリング特徴量およびラグ特徴量)を、PACに基づいて導出できる。それゆえ、当該新たな特徴量を、需要電力量の予測に有益であると期待される説明変数として得ることが可能となる。
【0109】
そして、モデル生成装置10によれば、需要電力量に対して新たな特徴量が追加された時系列データ(例えば、上述の図9におけるDZ4を参照)に基づき、予測モデルを生成できる。このため、新たな特徴量を説明変数として用いて予測モデルを生成できるので、当該予測モデルによる予測精度を高めることができる。すなわち、高品質な予測モデルを得ることができる。
【0110】
施設における需要電力量の変動トレンドは、例えば施設の業態に応じて異なりうる。このことから、予測モデルの生成に先立ち、ユーザが当該施設に応じた適切なラグを手動で設定することは必ずしも容易ではない。また、ユーザによって設定されたラグが不適切である場合、予測モデルの品質低下が生じるおそれがある。
【0111】
しかしながら、上述の通りモデル生成装置10によれば、需要電力量の変動の周期性を把握するために適したラグであると期待される特殊ラグを、PACに基づいて選択できる。それゆえ、ユーザによるラグの手動設定を要することなく、予測モデルを生成できる。このため、ユーザの利便性を高めつつ、施設の業態に応じた高品質な予測モデルを得ることができる。
【0112】
さらに、モデル生成装置10によれば、施設における就業状態を付加的な説明変数として用いて、予測モデルを生成することもできる。就業状態を付加的な説明変数として用いることにより、施設の業態がより詳細に反映された予測モデルを生成できる。それゆえ、予測モデルの予測精度をより一層高めることが可能となる。
【0113】
ところで、特許文献1では、熱負荷の予測精度を高めるために複数のNNを使い分けるという着想が示されている。具体的には、特許文献1では、平日用NNと土曜日用NNと日曜日用NNという3つの個別のNNを予め生成し、予測当日の曜日に応じて各NNを使い分けることが開示されている。
【0114】
ただし、施設の業態次第では、土曜日および日曜日の少なくとも一方が就業日として設定されている場合もある。あるいは、施設の業態次第では、特定の曜日の平日(例:月曜日)が休業日として設定されている場合もある。あるいは、施設の業態次第では、平日、土曜日、および日曜日の全てが就業日に該当しうる。
【0115】
したがって、特許文献1に示されている各NNの使い分けでは、上述した様々な施設の業態に柔軟に対処することはできない。このことから、特許文献1に示されている各NNの使い分けを需要電力量予測に適用した場合には、必ずしも高い予測精度を実現することはできない。
【0116】
その一方、モデル生成装置10によれば、上述の通り、施設の業態に応じた高品質な予測モデルを得ることができる。したがって、モデル生成装置10によれば、特許文献1の技術とは異なり、高い予測精度を実現可能な単一の予測モデルを生成できる。このように、モデル生成装置10によれば、従来に比べて汎用性の高い予測モデルが得られる。
【0117】
そして、予測装置20によれば、学習フェーズにおいてモデル生成装置10によって生成された予測モデルを用いて、予測フェーズにおいて需要電力量の予測値を導出できる。以上の通り、本発明の一態様によれば、施設における需要電力量の予測精度を従来よりも高めることが可能となる。
【0118】
(補足1)
施設の業態次第では、PACに多くのスパイク部分が生じるケース(便宜上、第1ケースと称する)も考えられる。第1ケースにおいて、PACのみに基づいて特殊ラグを選択した場合には、多くの特殊ラグが選択されうる。この場合、多くの新たな説明変数(例:多くのローリング特徴量およびラグ特徴量)が導出される。当業者であれば明らかである通り、説明変数の数が過大である場合には、予測モデルの品質が低下しうる。また、過大な数の説明変数は、機械学習アルゴリズムの実行に要する時間の増加を招く。
【0119】
そこで、上述の通り、モデル生成装置10は、学習フェーズにおいて、PACとAC(需要電力量の自己相関係数)とに基づいて、特殊ラグを選択してもよい。これにより、第1ケースにおいてPACのみに基づいて特殊ラグを選択した場合に比べて、当該第1ケースにおいて選択される特殊ラグの数を低減させることができる。
【0120】
それゆえ、PACとACとに基づいて特殊ラグを選択することにより、PACのみに基づいて特殊ラグを選択した場合に比べて、導出される新たな説明変数の数を低減できる。その結果、第1ケースにおいても高品質な予測モデルを生成できる。加えて、機械学習アルゴリズムの実行に要する時間を低減することもできる。
【0121】
(補足2)
施設の業態次第では、ACの極大値に対応するラグの付近において、自己相関閾値以上の値を有するACに対応するラグが多く存在するケース(便宜上、第2ケースと称する)も考えられる。そこで、例えば、前処理部12は、複数のラグの内、ラグとACとの関係を示すデータ系列におけるACの極大値に対応するラグをはじめに選択してよい。次いで、前処理部12は、ACの極大値に対応するラグの内、時間長閾値以上の値を有するラグであって、自己相関閾値以上の値を有するACに対応するラグを、第2特殊ラグ候補として選択してよい。
【0122】
上記の第2特殊ラグ候補の選択手法によれば、実施形態1にて例示した第2特殊ラグ候補の選択手法に比べて、選択される第2特殊ラグの数を低減できる。その結果、例えば第2ケースにおいて選択される特殊ラグの数を低減できる。それゆえ、第2ケースにおいても高品質な予測モデルを生成できる。加えて、機械学習アルゴリズムの実行に要する時間を低減することもできる。
【0123】
〔実施形態2〕
実施形態1では、第1特殊ラグ候補と第2特殊ラグ候補とに共通のラグを、特殊ラグとして選択する手法を例示した。実施形態2では、実施形態1とは異なる特殊ラグの選択手法について述べる。
【0124】
実施形態2において、前処理部12は、複数のラグのそれぞれに対応する|PAC|とACとの和SUMを導出する。すなわち、前処理部12は、
SUM=|PAC|+AC
を導出する。
【0125】
前処理部12は、SUMに基づいて特殊ラグを選択してよい。一例として、前処理部12は、複数のラグの内、時間長閾値以上の値を有するラグであって、和閾値以上の値を有するSUMに対応するラグを、特殊ラグとして選択してよい。
【0126】
和閾値は、実施形態1において述べた偏自己相関閾値および自己相関閾値に応じて設定されてよい。一例として、和閾値は、偏自己相関閾値と自己相関閾値との和に等しい値として設定されてよい。このため、例えば、和閾値は、0.75~1.15であってよい。実施形態1の説明から明らかである通り、和閾値もユーザによって任意に設定可能な値であってよい。実施形態2では、和閾値が0.8である場合を例示する。
【0127】
本明細書では、実施形態1において述べたiに対応するSUMを、SUM[i]と表記する。上述の図6の例では、i≧48の範囲において、
SUM[48]=1.07
SUM[336]=0.92
SUM[672]=0.87
SUM[1008]=0.81
が、和閾値以上の値を有している。したがって、実施形態2において、前処理部12は、
lag[48]=1
lag[336]=7
lag[672]=14
lag[1008]=21
を、特殊ラグとして選択する。
【0128】
〔変形例〕
当業者であれば明らかである通り、予測モデルにおける説明変数は、上記各実施形態の例に限定されない。施設における需要電力量に影響を及ぼしうると考えられる任意の特徴量が、説明変数として使用されてよい。例えば、施設の業態次第では、気温、天候、および日射量などの気象条件が、需要電力量に影響を及ぼす。そこで、気象条件と需要電力量との間に相関がある場合には、気象条件を示す特徴量(気象特徴量)を、付加的な説明変数として使用することもできる。
【0129】
気象特徴量は、施設における測定の結果として得られた実績値であってもよいし、気象予報サービス事業者によって提供された予測値であってもよい。したがって、例えば、学習フェーズでは、気象特徴量の実績値を用いて予測モデルが生成されてよい。次いで、予測フェーズでは、気象特徴量の予測値を用いて、当該予測モデルによって需要電力量が予測されてよい。この場合、予測フェーズでは、学習フェーズにおける気象特徴量の実績値を用いて、気象特徴量の予測値が補正されてもよい。
【0130】
〔ソフトウェアによる実現例〕
情報処理装置1(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロック(特に制御装置9に含まれる各部)としてコンピュータを機能させるためのプログラムにより実現することができる。
【0131】
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0132】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0133】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の一態様の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0134】
上記各実施形態の説明から明らかである通り、上記各実施形態における各処理は、AI(Artificial Intelligence:人工知能)に実行させることができる。この場合、AIは上記制御装置で動作するものであってもよいし、他の装置(例えばエッジコンピュータまたはクラウドサーバ等)で動作するものであってもよい。
【0135】
〔まとめ〕
本発明の態様1に係るモデル生成装置は、施設における需要電力量を予測するための予測モデルを生成するモデル生成装置であって、上記モデル生成装置は、上記需要電力量の実績値の時間推移を示す時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数を導出し、上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグを選択し、上記特殊ラグを上記実績値に対して設定することにより新たな特徴量を導出し、上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルを生成する。
【0136】
本発明の態様2に係るモデル生成装置は、上記態様1において、複数の上記ラグのそれぞれに対応する上記実績値の自己相関係数をさらに導出してよく、上記偏自己相関係数と上記自己相関係数とに基づいて上記特殊ラグを選択してよい。
【0137】
本発明の態様3に係るモデル生成装置は、上記態様2において、複数の上記ラグのそれぞれに対応する上記偏自己相関係数の絶対値をさらに導出してよく、複数の上記ラグの内、時間長閾値以上の値を有するラグであって、偏自己相関閾値以上の値を有する上記絶対値に対応するラグを、第1特殊ラグ候補として選択してよく、複数の上記ラグの内、上記時間長閾値以上の値を有するラグであって、自己相関閾値以上の値を有する上記自己相関係数に対応するラグを、第2特殊ラグ候補として選択してよく、複数の上記ラグの内、上記第1特殊ラグ候補と上記第2特殊ラグ候補とに共通のラグを、上記特殊ラグとして選択してよい。
【0138】
本発明の態様4に係るモデル生成装置では、上記態様3において、上記偏自己相関閾値は、0.05以上かつ0.15以下の値であってよく、上記自己相関閾値は、0.7以上かつ1以下の値であってよい。
【0139】
本発明の態様5に係るモデル生成装置は、上記態様2において、複数の上記ラグのそれぞれに対応する上記偏自己相関係数の絶対値と上記自己相関係数との和をさらに導出してよく、複数の上記ラグの内、時間長閾値以上の値を有するラグであって、和閾値以上の値を有する上記和に対応するラグを、上記特殊ラグとして選択してよい。
【0140】
本発明の態様6に係るモデル生成装置では、上記態様5において、上記和閾値は、0.75以上かつ1.15以下の値であってよい。
【0141】
本発明の態様7に係るモデル生成装置は、上記態様1から5のいずれか1つにおいて、複数の上記特殊ラグが昇順にソートされた配列において、等差数列を成す複数の上記特殊ラグをローリングラグとして選択してよく、上記ローリングラグを上記実績値に対して設定することにより、上記新たな特徴量としてローリング特徴量を導出してよい。
【0142】
本発明の態様8に係るモデル生成装置は、上記態様7において、上記配列における上記ローリングラグを除いた上記特殊ラグを非ローリングラグとして選択してよく、上記非ローリングラグを上記実績値に対して設定することにより、上記新たな特徴量としてラグ特徴量を導出してよい。
【0143】
本発明の態様9に係るモデル生成装置では、上記態様1から8のいずれか1つにおいて、上記新たな特徴量が追加された上記時系列データは、上記施設における日毎の就業状態を示すデータをさらに含んでいてよい。
【0144】
本発明の態様10に係る予測装置は、学習フェーズにおいて予め生成された、施設における需要電力量を予測するための予測モデルを予測フェーズにおいて用いることにより、上記需要電力量の予測値を導出する予測装置であって、上記学習フェーズでは、上記需要電力量の実績値の時間推移を示す上記学習フェーズにおける時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数が導出されており、上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグが選択されており、上記特殊ラグを上記実績値に対して設定することにより新たな特徴量が導出されており、上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルが生成されており、上記予測装置は、上記実績値の時間推移を示す上記予測フェーズにおける時系列データについて、上記特殊ラグを上記予測フェーズにおける上記実績値に対して設定することにより、上記予測フェーズにおける新たな特徴量を導出し、上記予測フェーズにおける上記新たな特徴量が追加された、上記予測フェーズにおける上記時系列データに基づいて、上記予測値を上記予測モデルに出力させる。
【0145】
本発明の態様11に係るモデル生成方法は、施設における需要電力量を予測するための予測モデルを生成するモデル生成方法であって、上記需要電力量の実績値の時間推移を示す時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数を導出する工程と、上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグを選択する工程と、上記特殊ラグを上記実績値に対して設定することにより新たな特徴量を導出する工程と、上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルを生成するする工程と、を含んでいる。
【0146】
本発明の態様12に係る予測方法は、学習フェーズにおいて予め生成された、施設における需要電力量を予測するための予測モデルを予測フェーズにおいて用いることにより、上記需要電力量の予測値を導出する予測方法であって、上記学習フェーズでは、上記需要電力量の実績値の時間推移を示す上記学習フェーズにおける時系列データについて、上記実績値に対する複数のラグを設定することにより、複数の上記ラグのそれぞれに対応する上記実績値の偏自己相関係数が導出されており、上記偏自己相関係数に基づいて、複数の上記ラグの内から特殊ラグが選択されており、上記特殊ラグを上記実績値に対して設定することにより新たな特徴量が導出されており、上記新たな特徴量が追加された上記時系列データに基づいて、機械学習によって上記予測モデルが生成されており、上記予測方法は、上記実績値の時間推移を示す上記予測フェーズにおける時系列データについて、上記特殊ラグを上記予測フェーズにおける上記実績値に対して設定することにより、上記予測フェーズにおける新たな特徴量を導出する工程と、上記予測フェーズにおける上記新たな特徴量が追加された、上記予測フェーズにおける上記時系列データに基づいて、上記予測値を上記予測モデルに出力させる工程と、を含んでいる。
【0147】
〔付記事項〕
本発明の一態様は、上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の一態様の技術的範囲に含まれる。
【符号の説明】
【0148】
1 情報処理装置
10 モデル生成装置
11 データ取得部(モデル生成装置のデータ取得部)
12 前処理部(モデル生成装置の前処理部)
13 学習部
14 評価部
20 予測装置
21 データ取得部(予測装置のデータ取得部)
22 前処理部(予測装置の前処理部)
23 予測演算部
24 予測結果出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15