(57)【要約】      （修正有）【課題】予測対象の予測を行うために必要かつ可用なデータを予測毎に選択する需要予測サーバ及び需要予測方法を提供する。【解決手段】需要予測サーバ１００は、予測対象の実績値を含む過去データを用いてデータ選択ルールを作成するために用いられるデータ選択メタモデルを学習するデータ選択メタモデル学習部と、データ選択メタモデルに基づいてデータ選択ルールを作成し、予測対象の需要値に関する将来データからデータ選択ルールに該当し予測の入力となる予測入力データを動的に選択し、かつ、過去データからデータ選択ルールに該当し、予測対象の需要値を予測するために用いられる学習データを動的に選択するデータ選択部と、学習データを用いて予測対象の需要値を予測するための予測モデルを学習する予測モデル学習部と、予測モデルに予測入力データを入力して予測対象の需要値を予測する予測部を備える。【選択図】図１
2019201440.tif 000002
【特許請求の範囲】
【請求項１】
予測対象の実績値を含む過去データを用いて、データ選択ルールを作成するために用いられるデータ選択メタモデルを学習するデータ選択メタモデル学習部と、
前記データ選択メタモデルに基づいて前記データ選択ルールを作成し、前記予測対象の需要値に関する将来データから前記データ選択ルールに該当し、予測の入力となる予測入力データを動的に選択し、かつ前記過去データから前記データ選択ルールに該当し、前記予測対象の前記需要値を予測するために用いられる学習データを動的に選択するデータ選択部と、
前記学習データを用いて、前記予測対象の前記需要値を予測するための予測モデルを学習する予測モデル学習部と、
前記予測モデルに前記予測入力データを入力して、前記予測対象の前記需要値を予測する予測部と、を備える
需要予測サーバ。
【請求項２】
前記データ選択ルールにより前記過去データから選択される項目には、予報対象時刻における予報値を予報した時刻である予報時刻と、前記予報対象時刻との差分が含まれ、
前記過去データ及び前記将来データは、前記差分毎に前記予報値を含むデータレコードを有する
請求項１に記載の需要予測サーバ。
【請求項３】
前記データ選択メタモデルは、予測対象日における前記予測対象の前記需要値を予測する時点の予測時刻、及び前記将来データを入力とし、前記データ選択ルールを出力するニューラルネットワークで構成され、
前記データ選択メタモデル学習部は、前記過去データから選択する項目が規定されるデータ種別、及び前記データ選択ルールに従って前記過去データから探索した値を用いて前記データ選択メタモデルを更新する
請求項２に記載の需要予測サーバ。
【請求項４】
前記データ選択メタモデル学習部は、前記データ選択ルールに従って前記過去データから探索した値の予測汎化性能を評価し、前記予測汎化性能が最も良い前記データ選択ルールが出力されるように前記データ選択メタモデルを更新する
請求項３に記載の需要予測サーバ。
【請求項５】
前記予測対象は、熱需要である
請求項１〜４のいずれか一項に記載の需要予測サーバ。
【請求項６】
予測対象の実績値を含む過去データを用いて、データ選択ルールを作成するために用いられるデータ選択メタモデルを学習するステップと、
前記データ選択メタモデルに基づいて前記データ選択ルールを作成し、前記予測対象の需要値に関する将来データから前記データ選択ルールに該当し、予測の入力となる予測入力データを動的に選択し、かつ前記過去データから前記データ選択ルールに該当し、前記予測対象の前記需要値を予測するために用いられる学習データを動的に選択するステップと、
前記学習データを用いて、前記予測対象の前記需要値を予測するための予測モデルを学習するステップと、
前記予測モデルに前記予測入力データを入力して、前記予測対象の前記需要値を予測するステップと、を含む
需要予測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、需要予測サーバ及び需要予測方法に関する。
【背景技術】
【０００２】
ＩｏＴ（Internet of Things）やビッグデータを活用したサービスの一つとして需要予測サービスがある。需要予測サービスは、例えば、クラウド上に構成されるＩｏＴプラットフォームに時々刻々蓄積されるデータを解析することで、ユーザにとって価値のある電力需要や熱需要といった需要値を予測してユーザに提供するサービスである。
【０００３】
需要予測サービスを用いることで、例えば、熱電併給プラントにおける、時々刻々と変化する熱需要の予測値に合わせて発電電力を電力取引市場で売買できるようになる。ただし、ＩｏＴプラットフォームに蓄積されるデータは膨大であり、データの種類も多い。また、ＩｏＴプラットフォームには、目的外のデータや信頼度が低いデータも多数蓄積されている。このため、機械学習や人工知能といった技術を適用してＩｏＴプラットフォームに蓄積されたデータを有効活用するためには、予測対象に応じて必要なデータを取捨選択する必要がある。
【０００４】
予測に必要なデータを取捨選択する技術として、例えば、特許文献１には「点予測に基づくデマンド予測値と併せて、区間予測に基づく管理値超過確率、すなわちデマンド管理目標値を実際のデマンドが超過する確率を算出する」技術が開示されている。また、文献１には、「気象予報データのみを用いて気象の実績値を用いないことにより、気象予報の不確実性も包含させることができると共に、実測データが存在しない地域であってもデマンド予測モデルを構築することができる」と記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１４７７９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された技術を用いた需要予測方式では過去の気象予報値を含むデータを蓄積した気象予報値データベースから、需要値を予測する時刻（以下、「予測時刻」と呼ぶ）に対応する過去の気象予報値を抽出する必要がある。予測時刻が変更された場合や、複数の予測時刻がある場合には、それまでにＩｏＴプラットフォーム上に蓄積されたデータベースとは異なる気象予報値データベース、あるいは予測時刻に応じた複数セットの気象予報値データベースを用意しなければならない。
【０００７】
しかし、過去に行われた気象予報により作成されるデータは膨大であり、気象予報値データベースには全てのデータが蓄積されてはいない。また、気象予報値データベースに蓄積されたデータが、いつの時点で予報され、作成されたものであるかが分からない。また、例えば電力需要は、経時変化し、季節の変わり目において、気温がある温度を下回ると急に増大することがある。このため、例えば、ある時期は直近のデータを使い、別の時期には１年前のデータを使わなければ、予測対象の需要値を正確に求めることができない場合があった。
【０００８】
データ欠損の無い十分な量のデータを確保するのが困難であれば、特許文献１に開示された技術を用いることができない。さらに、予測対象の需要値には増減傾向や季節変化などの性質があるため、予測時刻に対応する過去のデータ（気象予報値）を気象予報値データベースから画一的に選択して予測した需要値は、期待した予測精度が得られなかった。
【０００９】
本発明はこのような状況に鑑みて成されたものであり、予測対象の予測を行うために必要かつ可用なデータを予測毎に選択することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る需要予測サーバは、予測対象の実績値を含む過去データを用いて、データ選択ルールを作成するために用いられるデータ選択メタモデルを学習するデータ選択メタモデル学習部と、データ選択メタモデルに基づいてデータ選択ルールを作成し、予測対象の需要値に関する将来データからデータ選択ルールに該当し、予測の入力となる予測入力データを動的に選択し、かつ過去データからデータ選択ルールに該当し、予測対象の需要値を予測するために用いられる学習データを動的に選択するデータ選択部と、学習データを用いて、予測対象の需要値を予測するための予測モデルを学習する予測モデル学習部と、予測モデルに予測入力データを入力して、予測対象の需要値を予測する予測部と、を備える。
【発明の効果】
【００１１】
本発明によれば、予測対象に応じて、予測対象の需要値を予測するために必要かつ可用な過去データ及び将来データを予測対象毎に動的に選択し、予測対象の需要値を高い精度で予測することが可能となる。これにより、例えば、ＩｏＴプラットフォーム上に蓄積されたデータを予測対象の需要予測のために有効活用することができる。
上記した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施の形態に係る需要予測サーバの構成例を示すブロック図である。
【図２】本発明の一実施の形態に係る語句の定義を示す説明図である。
【図３】本発明の一実施の形態に係る過去データの構成例を示す説明図である。
【図４】本発明の一実施の形態に係る将来データの構成例を示す説明図である。
【図５】本発明の一実施の形態に係る需要予測サーバで行われる需要予測処理の例を示すフローチャートである。
【図６】本発明の一実施の形態に係るデータ選択メタモデル学習処理の例を示すフローチャートである。
【図７】本発明の一実施の形態に係る設定後データ種別の構成例を示す説明図である。
【図８】本発明の一実施の形態に係るデータ選択ルール及び探索範囲の例を示す説明図である。
【図９】本発明の一実施の形態に係るデータ選択メタモデルの構成例を示す説明図である。
【図１０】本発明の一実施の形態に係るデータ選択処理の例を示すフローチャートである。
【図１１】本発明の一実施の形態に係る学習データの構成例を示す説明図である。
【図１２】本発明の一実施の形態に係る予測入力データの構成例を示す説明図である。
【図１３】本発明の一実施の形態に係る需要予測データの構成例を示す説明図である。
【図１４】本発明の一実施の形態に係る計算機のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について、添付図面を参照して説明する。本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
【００１４】
図１は、需要予測サーバ１００の構成例を示すブロック図である。
需要予測サーバ１００は、例えば、予測対象である熱需要の数時間後又は数日後の値を予測する装置である。需要予測サーバ１００は、例えば、ＩｏＴプラットフォームとして構築されることで、ユーザがネットワークを通じて需要予測サーバ１００にアクセスし、需要予測サーバ１００により予測された予測対象の需要値を取得可能な需要予測システムとして構成される。この需要予測サーバ１００は、過去データベース１０１Ａ、データ選択メタモデル学習部１０２、データ選択部１０３、将来データ１０４、予測モデル学習部１０５及び予測部１０６を備える。
【００１５】
過去データベース１０１Ａには、予測対象の実績値を含む過去データ１０１が蓄積される。
データ選択メタモデル学習部１０２は、過去データベース１０１Ａから読み出した過去データ１０１を用いて、データ選択ルール１３１（後述する図８を参照）を作成するために用いられるデータ選択メタモデル１２０（後述する図９を参照）を学習する。データ選択メタモデル１２０の学習とは、例えば、後述する図９に示すニューラルネットワーク１２１を構成する複数のノード１２１ａ、及び複数のノード１２１ａ間のリンク１２１ｂを作り、データ選択ルール１３１を算出するために必要な係数等を求める処理である。
【００１６】
データ選択部１０３は、データ選択メタモデル１２０に基づいてデータ選択ルール１３１を作成する。データ選択ルール１３１は、予測時刻、将来データ１０４といった実際の値を、学習済みのデータ選択メタモデル１２０に入力して作成されるルールである。そして、データ選択部１０３は、予測対象の需要値に関する将来データ１０４からデータ選択ルール１３１に該当し、予測部１０６への入力となる予測入力データ１１２（後述する図１２を参照）を動的に選択し、かつ過去データ１０１からデータ選択ルール１３１に該当し、予測対象の需要値を予測するために用いられる学習データ１１０（後述する図１１を参照）を動的に選択する。すなわち、学習データ１１０は、過去データ１０１から選択された一部のデータであり、予測入力データ１１２は、将来データ１０４から選択された一部のデータである。
【００１７】
将来データ１０４には、予測対象の需要値を予測する時点における予測時刻から見た将来の時刻である予測時刻における、予測対象である熱需要を除いた任意項目の現在値が格納される。現在値とは、後述する図５に示す需要予測処理を行う時点で取得可能な最新の値である。将来データ１０４は、例えば、気象を予報する気象庁から受信した予報値やカレンダー情報等から取得した情報に基づいて作成される。
【００１８】
予測モデル学習部１０５は、データ選択部１０３により選択された学習データ１１０を用いて、予測対象の需要値を予測するための予測モデル１１１を学習する。予測モデル学習部１０５が学習する予測モデル１１１、及び予測モデル１１１の学習手法には、例えば、サポートベクターマシンやガウス過程などの一般的な機械学習手法が用いられる。
【００１９】
予測部１０６は、予測モデル学習部１０５により学習された予測モデル１１１に予測入力データ１１２を入力することで、予測対象の需要値を予測する。このとき、予測部１０６により予測される需要値が、熱需要の需要値であり、この需要値が需要予測値として用いられる。
【００２０】
需要予測データ１０７は、予測部１０６が予測した需要予測値を含むデータである。需要予測データ１０７は、需要予測サーバ１００に接続される不図示のＰＣ（Personal Computer）等に表示されたり、不図示の電力システムに供給されたりする。
【００２１】
次に、本明細書で用いられる語句の定義について説明する。
図２は、語句の定義を示す説明図である。
以下の説明で、需要予測サーバ１００が熱需要を予測する時刻（すなわち、予測時刻）を２０１８年１月３０日の午後３時とし、需要予測サーバ１００が熱需要を予測する日（すなわち、需要予測日）を２０１８年１月３０日とする。そして、需要予測サーバ１００は、予測対象である熱需要を次の日（２０１８年１月３１日）の一時間単位で予測するものとする。このため、例えば、２０１８年１月３１日を「予測対象日」と呼ぶ。予測時刻を現在時刻とした場合、予測時刻を基準とした過去のデータが過去データ１０１として表され、将来のデータが将来データ１０４として表される。
【００２２】
また、例えば、気象庁などが将来の予報対象時刻における気象予報を行った時刻を「予報時刻」と呼ぶ。ある予報対象時刻に対する気象予報は、異なる予報時刻で行われる場合がある。このため、ある予報対象時刻に対して、異なる複数の予報時刻が存在しうる。そこで、以下の説明では、予報対象時刻の予報値を予報した時刻である予報時刻と、予報対象時刻との差分を「予報ステップ」と呼ぶ。例えば、予報対象時刻から予報ステップＡだけ遡った時刻が予報時刻Ａとなり、予報対象時刻から予報ステップＢだけ遡った時刻が予報時刻Ｂとなる。
【００２３】
次に、過去データ１０１及び将来データ１０４の構成例について、図３と図４を参照して説明する。
図３は、過去データ１０１の構成例を示す説明図である。図３の上側にカンマ区切りのＣＳＶ（Comma Separated Values）形式で表される過去データ１０１の例を示し、図３の下側に過去データ１０１を表に書替えた例を示す。
【００２４】
図１に示したように過去データ１０１は、過去データベース１０１Ａに格納される。過去データ１０１を構成する各項目は、日時、予報ステップ、日種、外気温、風速、湿度、日射量、イベントＩＤ、熱需要などの需要予測に関連する任意項目の過去実績値を表す。
ここで、過去データ１０１を構成する各項目の内容を説明する。各項目の名称に付加した括弧内の語句は、それぞれ過去データ１０１を構成する各項目のフィールド名称を表す。
【００２５】
日時（Date Time）は、図２に示した予報対象時刻を表す項目である。
予報ステップ（ForecastStep）は、図２に示したように気象予報により予報値が予報される時点を表す予報時刻と、予報対象時刻との差分を表す項目である。例えば、予報時刻に“２０１５−１−１”と格納され、予報ステップに“９”と格納されるデータレコードでは、２０１５年１月１日０時の９時間前である２０１４年１２月３１日１５時に予報して得られた、２０１５年１月１日０時の予報値（外気温、風速、湿度）が格納される。また、予報ステップに“３３”と格納されるデータレコードでは、２０１５年１月１日０時の３３時間前（２４時間と９時間前）である２０１４年１２月３０日１５時に予報して得られた、２０１５年１月１日０時の予報値（外気温、風速、湿度）が格納される。
【００２６】
過去データ１０１は、予報ステップ毎に、同じ予報対象時刻であっても、予報時刻が異なる複数のデータレコードを保持できる。例えば、図２に示したように、過去データ１０１は、１つの予報対象時刻に対して、予報ステップＡだけ遡った予報時刻Ａ、予報ステップＢだけ遡った予報時刻Ｂにおける複数のデータレコードを保持できる。
【００２７】
また、過去データ１０１は、予報ステップを例えば“０”とすることで、気象観測値などの実績値を持つデータレコードも保持できる。そして、図３に示すように過去データ１０１は、予報ステップを“０”、“９”、“３３”とした３つのデータレコードを保持する。これにより、従来は、予報ステップを“０”とした１つのデータレコードしか保持できなかったのに対し、本実施の形態では、熱需要を予測するために必要となる十分な量の予報データを過去データ１０１に確保することが可能となる。
【００２８】
日種（Holiday）は、例えば、平日のみ、休校日のみ、公休日のみ、休校日かつ公休日を区別するための項目である。例えば、日種に“１”が格納されていれば、休校日かつ公休日であることが示される。
外気温（Temperature）は、ある地点における外気温を格納する項目である。
風速（Wind100m,Wind2m）は、ある地点における風速を格納する項目である。ここで、風速（Wind100m）には、地表１００ｍにおける風速が格納され、風速（Wind2m）には、地表２ｍにおける風速が格納される。
【００２９】
湿度（Humidity）は、ある地点における湿度を格納する項目である。なお、湿度は、“０”〜“１”の範囲の値を取るため、例えば、“０．２”という値は、湿度が２０％であることを表す。
日射量（SolarRadiation）は、ある地点における日射量を格納する項目である。このデータレコードでは、０時（真夜中）であるため、日射量として“０”が格納される。
【００３０】
イベントＩＤ（Event_ID）は、ある地点にて開催される特別なイベント（例えば、スポーツ、野外イベント）の識別子を格納する項目である。特別なイベントが開催されるときには、熱需要も高まることが予測される。なお、特別なイベントが開催されない場合、イベントＩＤには“０”が格納される。
【００３１】
熱需要（HeatDemand）は、ある地点における熱需要（Ｗｈ）を格納する項目である。過去データ１０１では、ある日時に実際に観測された熱需要の値が、予報ステップの値によらず同じ値で格納される。例えば、日時が“２０１５−１−１  ００：００：００”と表される全てのデータレコードの熱需要の値は、いずれも“１１．２４”である。
【００３２】
図４は、将来データ１０４の構成例を示す説明図である。図４の上側にＣＳＶ形式で表される将来データ１０４の例を示し、図４の下側に将来データ１０４を表に書替えた例を示す。
【００３３】
図１に示したように将来データ１０４には、予測時刻における任意項目の現在値が格納される。例えば、予測対象日時を２０１８年１月３１日００：００：００としたときに、予報ステップに示される９時間前である、２０１８年１月３０日１５：００：００において予報された、２０１８年１月３１日００：００：００の最新の予報値が現在値として格納される。将来データ１０４の各項目の構成は、過去データ１０１の構成と同様であるが、予測対象である熱需要（HeatDemand）の項目だけが除かれている。
【００３４】
図５は、需要予測サーバ１００で行われる需要予測処理の例を示すフローチャートである。
始めに、データ選択メタモデル学習部１０２は、データ選択メタモデル１２０（後述する図１０を参照）の学習を行う（Ｓ１）。ステップＳ１においてデータ選択メタモデル学習部１０２がデータ選択メタモデル１２０の学習を行う処理の詳細は後述する図６にて説明する。
【００３５】
次に、データ選択部１０３は、ステップＳ１にて学習されたデータ選択メタモデル１２０を用いて、予測モデル１１１に入力するための学習データ１１０を過去データ１０１から選択し、予測入力データ１１２を将来データ１０４から選択する（Ｓ２）。ステップＳ２においてデータ選択部１０３が過去データ１０１及び将来データ１０４を選択する処理の詳細は後述する図１０にて説明する。
【００３６】
次に、予測モデル学習部１０５は、データ選択部１０３により選択された学習データ１１０を用いて予測モデル１１１の学習を行う（Ｓ３）。
【００３７】
次に、予測部１０６は、予測モデル学習部１０５により学習された予測モデル１１１と、データ選択部１０３により選択された予測入力データ１１２を用いて予測対象の需要予測値を計算する予測処理を行い（Ｓ４）、需要予測データ１０７を作成して、本処理を終了する。需要予測値を格納した需要予測データ１０７は、需要予測サーバ１００に接続された不図示のＰＣ等が備えるディスプレイ画面に表示される。ただし、需要予測データ１０７が内部処理により用いられる場合、需要予測データ１０７が表示されないこともある。
【００３８】
次に、ステップＳ１のデータ選択メタモデル学習処理、ステップＳ２のデータ選択処理を順に説明する。
図６は、データ選択メタモデル学習処理の例を示すフローチャートである。このデータ選択メタモデル学習処理は、図５に示した需要予測処理のステップＳ１における処理の詳細な内容を表したものである。
【００３９】
始めに、データ選択メタモデル学習部１０２は、データ選択に使用するデータ種別（以下、「設定後データ種別３０１」と呼ぶ）を設定する（Ｓ１１）。
【００４０】
ここで、ステップＳ１１にて設定されるデータ種別の構成例について、図７を参照して説明する。
図７は、設定後データ種別３０１の構成例を示す説明図である。
【００４１】
設定後データ種別３０１は、過去データ１０１及び将来データ１０４のデータ項目の一部である。設定後データ種別３０１は、過去データベース１０１Ａに蓄積される様々な過去データ１０１から、熱需要の予測に必要かつ可用なデータだけを抽出するために用いられる。設定後データ種別３０１は、外部ファイルからの読込み、又はオペレーターによる入力操作によって項目が設定される。
【００４２】
設定後データ種別３０１として、過去データ１０１に含まれる項目のうち、例えば、日時（Date Time）、予報ステップ（ForecastStep）、日種（Holiday）、外気温（Temperature）、風速（Wind2m）、湿度（Humidity）、日射量（SolarRadiation）、イベントＩＤ（Event_ID）及び熱需要（HeatDemand）が設定される。ただし、過去データ１０１に含まれていても、熱需要の予測に不要と考えられる項目、例えば、風速（Wind 100m）は設定後データ種別３０１に含まれない。
【００４３】
再び図６の処理の説明に戻る。
ステップＳ１１の後、データ選択メタモデル学習部１０２は、データ選択ルールの探索範囲を設定する（Ｓ１２）。データ選択ルールの探索範囲として、例えば、後述する図８に示す、“train-data”と“wheather”に規定された探索範囲１３２を探索することが、外部ファイルからの読込み、又はオペレーターによる入力操作により設定される。
【００４４】
ここで、データ選択ルール１３１及び探索範囲１３２の例について、図８を参照して説明する。
図８は、データ選択ルール１３１及び探索範囲１３２の例を示す説明図である。
【００４５】
データ選択ルール１３１は、設定後データ種別３０１に関する学習データ選択ルール１３１Ａ及びデータ項目選択ルール１３１Ｂ（後述する図９を参照）により構成される。
学習データ選択ルール１３１Ａは、データ選択部１０３が学習データ１１０を選択するときに参照するルールである。学習データ選択ルール１３１Ａとして、例えば、予測対象日から遡る日数、同じ日種の場合のみに選択するか否か、同じイベントＩＤの場合のみに選択するか否か、選択するデータレコードの外気温上下限、選択するデータレコードの予報ステップ上下限がある。
また、データ項目選択ルール１３１Ｂは、データ選択部１０３が学習データ１１０及び予測入力データ１１２を選択するときに参照する、学習データ１１０及び予測入力データ１１２に共通のデータ項目を選択するためのルールである。データ項目選択ルール１３１Ｂとして、例えば、気象予報、時間情報及び予測対象がある。
【００４６】
探索範囲１３２は、データ選択ルール１３１の中で予測対象に応じて動的に変更される。図８には、探索範囲１３２として、例えば、データ選択ルール１３１の“train-data”と“wheather”に基づいて、データ選択メタモデル学習部１０２がデータ選択ルール１３１を探索する設定が示される。
【００４７】
ここで、データ選択ルール１３１における各項目の内容を説明する。
始めに、“train-data”について説明する。
“n-days-ahead”とは、予測対象日から遡って何日前のデータを選択するかを表すパラメータである。
また、“same-workday”とは、“n-days-ahead”に規定される日の日種と、予測対象日との日種が同じであるか否かを表すパラメータである。“n-days-ahead”に規定される日と、予測対象日との日種が同じであれば“true”が格納され、異なれば“false”が格納される。この例では、“n-days-ahead”に“３５”と規定される、予測対象日から遡って３５日前の日が予測対象日と同じ日種“true”であればデータを選択することが示される。
【００４８】
同様に“same-event”とは、“n-days-ahead”に規定される日に開催されるイベントと、予測対象日に開催されるイベントとが同じであるか否かを表すパラメータである。“n-days-ahead”に規定される日と、予測対象日とのイベントが同じであれば“true”が格納され、異なれば“false”が格納される。
【００４９】
また、“temperature-range”とは、例えば、最低気温が−５℃、かつ最高気温が２０℃の範囲内に外気温がある日のデータを、過去データ１０１から選択可能であることを表すパラメータである。
また、“available-forecast-steps”とは、使用可能な予報ステップの範囲を制限するパラメータである。例えば、予測対象時刻に対して予報ステップが０時間から３３時間前の範囲内にあるデータを、過去データ１０１から選択可能であることが示される。
【００５０】
次に、“weather”について説明する。“weather”は、需要予測に使用可能な気象予報に関する項目を指定するパラメータである。
“Temperature”は、学習データ１１０（後述する図１１を参照）、及び予測入力データ１１２（後述する図１２を参照）に追加される項目が“Temperature”であることを表す。“Temperature”以外にも、“Wind2m”等の項目が指定されてもよい。
【００５１】
また、“time”は、予測入力データ１１２におけるデータ項目１１２Ａ（後述する図１２を参照）が何であるかを示すパラメータである。例えば、“time”に規定される“Date Time”、“Holiday”、“Forecast Step”に加えて、“weather”に規定される“Temperature”がデータ項目１１２Ａとして選択される。
【００５２】
“target”は、予測対象が何であるかを示すパラメータである。本実施の形態では、“target”として“Heat Demand”が設定される。なお、予測段階では熱需要が判明しないため、データ項目１１２Ａから“Heat Demand”は除かれる。
【００５３】
一方、学習データ１１０は、過去データ１０１から選択されるデータである。このため、学習データ１１０におけるデータ項目１１０Ａ（後述する図１１を参照）は、過去データ１０１を“time”に規定される“Date Time”、“Holiday”、“Forecast Step”と、“weather”に規定される“Temperature”と、“target”に規定される“Heat Demand”とを有する。
【００５４】
再び図６の説明に戻る。
データ選択メタモデル学習部１０２は、ステップＳ１２にて設定されたデータ選択ルールの探索範囲１３２に基づいて過去データ１０１から該当するデータを探索するための繰返し処理を開始し（Ｓ１３）、ステップＳ１４からステップＳ１７の処理を繰り返す。ステップＳ１４からステップＳ１７の処理は、後述する図１０に示すデータ選択処理においてデータ選択部１０３がデータ選択ルール１３１を作成するために必要なデータを過去データ１０１から探索する処理である。
【００５５】
過去データ１０１の繰返し処理において、データ選択メタモデル学習部１０２は、データ選択ルール１３１に基づく繰返し処理を開始し（Ｓ１４）、ステップＳ１５及びステップＳ１６の処理を繰り返す。このため、データ選択メタモデル学習部１０２は、データ選択ルール１３１の探索を行う（Ｓ１５）。
【００５６】
ステップＳ１５において、データ選択メタモデル学習部１０２は、探索範囲１３２において各項目を以下のように変更する。例えば、データ選択メタモデル学習部１０２は、データ選択ルール１３１の学習データ選択ルール１３１Ａについて、予測対象日から遡る日数を追加又は削除したり、日種、イベントＩＤの選択ルールを追加又は削除したり、外気温上下限及び予報ステップ上下限を変更したりする。また、データ選択メタモデル学習部１０２は、データ選択ルール１３１のデータ項目選択ルール１３１Ｂについて、気象予報のデータ項目を追加又は削除する。
【００５７】
データ選択メタモデル学習部１０２は、ステップＳ１５にて探索した後のデータ選択ルール１３１、及び過去データ１０１を用いて予測汎化性能を評価する（Ｓ１６）。予測汎化性能として、例えば、図５に示した需要予測処理と同様の手順で予測モデル１１１を学習した際に求めた周辺尤度に、予測モデル１１１の予測分布における需要実績値の確率を乗算した値を計算する。その後、ステップＳ１４に戻って、データ選択メタモデル学習部１０２は、処理を繰り返す。
【００５８】
ステップＳ１５及びＳ１６の繰返し処理が終了した後、データ選択メタモデル学習部１０２は、ステップＳ１６にて計算した予測汎化性能が最も良いデータ選択ルール１３１が出力されるように、データ選択メタモデル１２０を更新する（Ｓ１７）。予測汎化性能を評価することにより、過去データ１０１だけを用いた熱需要の予測値だけでなく、将来、取得可能な熱需要の予測値についても高い精度で予測することが可能なデータ選択メタモデル１２０を得ることができる。
【００５９】
その後、ステップＳ１３に戻って、全ての過去データの処理が終了するまで、ステップＳ１４〜Ｓ１７間の処理を繰り返す。全ての過去データの処理が終了すると、データ選択メタモデル学習部１０２は、データ選択メタモデル１２０を出力し、本処理を終了する。
【００６０】
次に、図９を用いてデータ選択メタモデル１２０を説明する。
図９は、データ選択メタモデル１２０の構成例を示す説明図である。
【００６１】
データ選択メタモデル１２０は、入力データからデータ選択ルール１３１を出力するモデルである。入力データとして、予測対象日における予測対象の需要値を予測する時点の予測時刻１３０、及び将来データ１０４がある。そして、データ選択メタモデル１２０は、入力データに基づいてデータ選択ルール１３１を出力するニューラルネットワーク１２１で構成される。ニューラルネットワーク１２１は、例えば、入力データに基づく深層学習により、ノード１２１ａの重み付け、複数のノード１２１ａを接続するリンク１２１ｂの構成、係数等を更新可能である。
【００６２】
そして、ニューラルネットワーク１２１から出力されるデータ選択ルール１３１には、学習データ選択ルール１３１Ａ及びデータ項目選択ルール１３１Ｂが含まれる。このようにデータ選択メタモデル学習部１０２がデータ選択メタモデル１２０を学習することで、予測対象とデータ選択ルール１３１との関係を学習することが可能となる。
【００６３】
図１０は、データ選択処理の例を示すフローチャートである。このデータ選択処理は、図５に示した需要予測処理のステップＳ２における処理の詳細な内容を表したものである。
【００６４】
始めに、データ選択部１０３は、予測時刻１３０、将来データ１０４及びデータ選択メタモデル１２０に基づいてデータ選択ルール１３１を生成する（Ｓ２１）。このとき、図９に示したように、データ選択メタモデル１２０に入力された予測時刻１３０及び将来データ１０４により、データ選択ルール１３１が出力される。
【００６５】
次に、データ選択部１０３は、データ選択ルール１３１を用いて過去データ１０１の該非判定を行うことで学習データ１１０を選択する（Ｓ２２）。すなわち、データ選択ルール１３１に該当する過去データ１０１が学習データ１１０として選択される。例えば、予測時刻から１日前までの過去データ１０１を学習データ１１０として選択するデータ選択ルール１３１が作成された場合、さらに前の過去データ１０１は学習データ１１０として選択されない。このようにデータ選択ルール１３１に該当しない過去データ１０１は以降の処理で用いられない。
【００６６】
また、データ選択部１０３は、データ選択ルール１３１を用いて将来データ１０４の該非判定を行うことで予測入力データ１１２を選択する（Ｓ２２）。すなわち、データ選択ルール１３１に該当する将来データ１０４が予測入力データ１１２として選択される。データ選択ルール１３１に該当しない将来データ１０４は以降の処理で用いられない。
【００６７】
そして、上述した図５に示したように、データ選択部１０３により選択された学習データ１１０が予測モデル１１１の学習に用いられ（図５のステップＳ３）、予測入力データ１１２が予測モデル１１１を用いた需要予測に用いられる（図５のステップＳ４）。
【００６８】
図１１は、学習データ１１０の構成例を示す説明図である。
学習データ１１０を構成するデータ項目１１０Ａ及びデータレコード１１０Ｂは、データ選択ルール１３１を構成する学習データ選択ルール１３１Ａ及びデータ項目選択ルール１３１Ｂに基づいて、過去データ１０１から選択される。ここでは、過去データ１０１から日時（Date Time）、日種（Holiday）、予報ステップ（ForecastStep）、外気温（Temperature）及び熱需要（HeatDemand）が選択されたことが示される。
【００６９】
図１２は、予測入力データ１１２の構成例を示す説明図である。
予測入力データ１１２を構成するデータ項目１１２Ａは、データ項目選択ルール１３１Ｂに基づいて、将来データ１０４から選択される。ここでは、過去データ１０１から日時（Date Time）、日種（Holiday）、予報ステップ（ForecastStep）及び外気温（Temperature）が選択されたことが示される。
【００７０】
図１３は、需要予測データ１０７の構成例を示す説明図である。
需要予測データ１０７のデータ項目１０７Ａは、予測モデル１１１及び予測入力データ１１２に基づいて、予測部１０６の予測処理（Ｓ４）から出力される需要予測値を含む。このデータ項目１０７Ａは、日時（Date Time）と熱需要（HeatDemand）を有する。
【００７１】
ここで、将来データ１０４から選択される予測入力データ１１２が予測モデル１１１に入力することで、将来データ１０４には含まれていなかった予測対象日時における熱需要（HeatDemand）が予測モデル１１１により予測される。このため、データ項目１０７Ａには、予測入力データ１１２から選択された日時（Date Time）と共に、予測モデル１１１により予測対象日における１時間毎に予測された熱需要（HeatDemand）の値が格納される。
【００７２】
次に、需要予測装置１００を構成する計算機Ｃのハードウェア構成を説明する。
図１４は、計算機Ｃのハードウェア構成例を示すブロック図である。
【００７３】
計算機Ｃは、いわゆるコンピュータとして用いられるハードウェアである。計算機Ｃは、バスＣ４にそれぞれ接続されたＣＰＵ（Central Processing Unit：中央処理装置）Ｃ１、ＲＯＭ（Read Only Memory）Ｃ２、ＲＡＭ（Random Access Memory）Ｃ３を備える。さらに、計算機Ｃは、不揮発性ストレージＣ５、ネットワークインターフェイスＣ６を備える。
【００７４】
ＣＰＵ Ｃ１は、本実施の形態に係る各機能を実現するソフトウェアのプログラムコードをＲＯＭ Ｃ２から読み出して実行する。ＲＡＭ Ｃ３には、演算処理の途中に発生した変数やパラメーター等が一時的に書き込まれる。図１に示したデータ選択メタモデル学習部１０２、データ選択部１０３、予測モデル学習部１０５及び予測部１０６は、ＣＰＵ Ｃ１により実行される機能を表したものである。
【００７５】
不揮発性ストレージＣ５としては、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、フレキシブルディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリ等が用いられる。この不揮発性ストレージＣ５には、ＯＳ（Operating System）、各種のパラメーターの他に、計算機Ｃを機能させるためのプログラムが記録されている。ＲＯＭ Ｃ２、不揮発性ストレージＣ５は、ＣＰＵ Ｃ１が動作するために必要なプログラムやデータ等を永続的に記録しており、計算機Ｃによって実行されるプログラムを格納したコンピュータ読取可能な非一過性の記録媒体の一例として用いられる。例えば、過去データベース１０１Ａ、将来データ１０４、需要予測データ１０７等の各データは、不揮発性ストレージＣ５に保存される。
【００７６】
ネットワークインターフェイスＣ６には、例えば、ＮＩＣ（Network Interface Card）等が用いられ、端子が接続されたＬＡＮ（Local Area Network）、専用線等を介して各種のデータを装置間で送受信することが可能である。需要予測サーバ１００は、インターフェイスＣ６を通じて、オペレーター等が使用する不図示のＰＣ端末等とは通信可能である。
【００７７】
以上説明した一実施の形態に係る需要予測サーバ１００では、予測対象に応じて、予測に必要かつ可用な予測入力データ１１２及び学習データ１１０を過去データ１０１から予測毎に動的に選択することが可能となる。そして、選択した予測入力データ１１２及び学習データ１１０を予測モデル１１１に適用することで、将来の予測対象日時における、予測対象の需要値を高い精度で予測することができる。このようにＩｏＴプラットフォーム上に蓄積される膨大な過去データ１０１から予測に必要な過去データ１０１を選択することが可能となる。
【００７８】
なお、本実施の形態に係る需要予測サーバ１００は、例えば、ＶＰＰ（Virtual Power Plant）、電力取引支援システム、デマンドレスポンス装置といった電力系のシステムにおける需要値を予測する処理に適用可能である。さらには、需要予測サーバ１００を、熱エネルギー、バイオマスエネルギー、再生エネルギー等の一般的なエネルギー供給システムに適用して、様々なエネルギーの需要値を予測することも可能である。
【００７９】
また、本発明は上述した実施の形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した実施の形態は本発明を分かりやすく説明するために需要予測サーバの構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、本実施の形態の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００８０】
１００…需要予測サーバ、１０１…過去データ、１０２…データ選択メタモデル学習部、１０３…データ選択部、１０４…将来データ、１０５…予測モデル学習部、１０６…予測部、１０７…需要予測データ、１１０…学習データ、１１１…予測モデル、１１２…予測入力データ、１２０…データ選択メタモデル、１３１…データ選択ルール
【図１】
2019201440.tif 000003
【図２】
2019201440.tif 000004
【図３】
2019201440.tif 000005
【図４】
2019201440.tif 000006
【図５】
2019201440.tif 000007
【図６】
2019201440.tif 000008
【図７】
2019201440.tif 000009
【図８】
2019201440.tif 000010
【図９】
2019201440.tif 000011
【図１０】
2019201440.tif 000012
【図１１】
2019201440.tif 000013
【図１２】
2019201440.tif 000014
【図１３】
2019201440.tif 000015
【図１４】
2019201440.tif 000016