(57)【要約】【課題】特異日の需要量の予測精度を向上させる。【解決手段】本発明の実施形態としての予測装置は、需要実績データにおける特異日の需要実績値を、前記特異日に応じた調整係数に基づき補正する前処理部と、前記特異日の前記補正された需要実績値と、前記需要実績データにおける非特異日の前記需要実績値とに基づき、需要量の予測モデルを生成するモデル生成部と、１つ以上の日の需要実績値と、前記１つ以上の日のうちの特異日に応じた調整係数と、前記予測モデルとに基づき、予測対象の日の需要予測値を算出する予測部と、前記予測対象の日が特異日の場合に、前記予測対象の日に応じた調整係数を用いて前記需要予測値を逆補正する後処理部とを備える。【選択図】図１
2020149232.tif 000002
【特許請求の範囲】
【請求項１】
需要実績データにおける特異日の需要実績値を、前記特異日に応じた調整係数に基づき補正する前処理部と、
前記特異日の前記補正された需要実績値と、前記需要実績データにおける非特異日の前記需要実績値とに基づき、需要量の予測モデルを生成するモデル生成部と、
１つ以上の日の需要実績値と、前記１つ以上の日のうちの特異日に応じた調整係数と、前記予測モデルとに基づき、予測対象の日の需要予測値を算出する予測部と、
前記予測対象の日が特異日の場合に、前記予測対象の日に応じた調整係数を用いて前記需要予測値を逆補正する、後処理部と
を備えた予測装置。
【請求項２】
前記需要実績データにおける特異日の需要実績値と非特異日の需要実績値との差に応じて、前記特異日に対して調整係数を算出し、複数の前記特異日に対して複数の前記調整係数を関連づけることにより、調整係数データを生成する調整係数算出部を備え、
前記前処理部及び前記後処理部は、前記調整係数データに基づき前記特異日に応じた前記調整係数を特定する
を備えた請求項１に記載の予測装置。
【請求項３】
前記調整係数算出部は、複数の前記特異日の年内経過日数を計算し、複数の前記年内経過日数と複数の前記調整係数とを対応づけることにより、前記調整係数データを生成する
請求項２に記載の予測装置。
【請求項４】
前記前処理部は、前記特異日に最も近い年内経過日数に対応する調整係数を前記調整係数データにおいて特定し、特定した調整係数を前記特異日に応じた前記調整係数とし、
前記予測部は、前記予測対象の日に最も近い年内経過日数に対応する調整係数を前記調整係数データにおいて特定し、特定した調整係数を前記特異日に応じた前記調整係数とする、
請求項３に記載の予測装置。
【請求項５】
前記調整係数算出部は、前記特異日の前の複数の日のうちの非特異日の需要実績値と、前記特異日より後の複数の日のうちの非特異日の需要実績値との平均を計算し、前記特異日の需要実績値と、前記平均との比に基づき、前記特異日に対する前記調整係数を算出する
請求項２〜４のいずれか一項に記載の予測装置。
【請求項６】
前記予測部は、前記１つ以上の日のうちの特異日を特定し、前記特定した特異日に応じた調整係数により、前記特定した特異日の需要実績値を補正し、前記特異日の前記補正された需要実績値と、前記１つ以上の日のうち非特異日の需要実績値と、前記予測モデルとに基づき、前記予測対象の日の前記需要予測値を算出する
請求項１〜５のいずれか一項に記載の予測装置。
【請求項７】
前記モデル生成部は、前記特異日の気象予測値と前記非特異日の気象予測値とを用いて、前記予測モデルを生成し、
前記予測部は、前記１つ以上の日の気象予測値を用いて、前記需要予測値を算出する
請求項１〜６のいずれか一項に記載の予測装置。
【請求項８】
前記前処理部は、前記特異日の第１時刻の需要実績値を、前記特異日の前記第１時刻に応じた調整係数に基づき補正し、
前記モデル生成部は、前記特異日の前記第１時刻における前記補正された需要実績値と、前記非特異日の前記第１時刻における前記需要実績値とに基づき、前記予測対象の日の前記第１時刻における需要量の予測モデルを生成し、
前記予測部は、前記予測対象の日の前記第１時刻より前の１つ以上の日の前記第１時刻の需要実績値と、前記１つ以上の日のうちの前記特異日の前記第１時刻に応じた調整係数と、前記予測モデルとに基づき、前記予測対象の日の前記第１時刻の需要予測値を算出し、
前記後処理部は、前記予測対象の日が特異日の場合に、前記予測対象の日の前記第１時刻に応じた調整係数を用いて前記需要予測値を逆補正する
請求項１〜７のいずれか一項に記載の予測装置。
【請求項９】
前記前処理部は、前記需要実績値を前記調整係数で除算することにより前記需要実績値を補正し、
前記後処理部は、前記需要予測値に前記調整係数を乗算することにより前記需要予測値を逆補正する
請求項１〜８のいずれか一項に記載の予測装置。
【請求項１０】
前記需要実績値は、電力供給量の実績値であり、
前記需要予測値は、前記電力供給量の予測値である
請求項１〜９のいずれか一項に記載の予測装置。
【請求項１１】
前記予測モデルは、回帰モデルである
請求項１〜１０のいずれか一項に記載の予測装置。
【請求項１２】
前記後処理部により逆補正された前記需要予測値を表示する出力装置
を備えた請求項１〜１１のいずれか一項に記載の予測装置。
【請求項１３】
需要実績データにおける特異日の需要実績値を、前記特異日に応じた調整係数に基づき補正するステップと、
前記特異日の前記補正された需要実績値と、前記需要実績データにおける非特異日の前記需要実績値とに基づき、需要量の予測モデルを生成するステップと、
１つ以上の日の需要実績値と、前記１つ以上の日のうちの特異日に応じた調整係数と、前記予測モデルとに基づき、予測対象の日の需要予測値を算出するステップと、
前記予測対象の日が特異日の場合に、前記予測対象の日に応じた調整係数を用いて前記需要予測値を逆補正するステップと
を備えた予測方法。
【請求項１４】
需要実績データにおける特異日の需要実績値を、前記特異日に応じた調整係数に基づき補正するステップと、
前記特異日の前記補正された需要実績値と、前記需要実績データにおける非特異日の前記需要実績値とに基づき、予測対象の日における需要量の予測モデルを生成するステップと、
１つ以上の日の需要実績値と、前記１つ以上の日のうちの特異日に応じた調整係数と、前記予測モデルとに基づき、予測対象の日の需要予測値を算出するステップと、
前記予測対象の日が特異日の場合に、前記予測対象の日に応じた調整係数を用いて前記需要予測値を逆補正するステップと
をコンピュータに実行させるためのコンピュータプログラム。
【請求項１５】
１つ以上の日のうち、特異日の需要実績値を、前記特異日に応じた調整係数により補正する前処理部と、
前記特異日の前記補正された需要実績値と、前記１つ以上の日のうち非特異日の需要実績値とに基づき、需要量の予測モデルに従って、予測対象の日の需要予測値を算出する予測部と、
前記予測対象の日が特異日の場合、前記需要予測値を前記予測対象の日に応じた調整係数により逆補正する後処理部と
を備えた予測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、予測装置、予測方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
機械学習を用いる需要量の予測方法は、過去の需要量から将来の需要量を精度よく予測できるため、広く用いられている。この予測方法は、過去データに含まれる頻出パタンに合致する日（例えば通常の平日、通常の週末など）の予測精度が高い一方、希少パタンに合致する日（例えば、祝日、年末年始の長期連休など）の予測精度が低い。この様な日を特異日と呼ぶ。つまり、上記の予測方法は、特異日の需要量の予測精度が低い。実用上、特異日の需要量の予測精度も重要であるため、特異日の需要量の予測精度を向上させる必要がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３６５０３０４号公報
【特許文献２】特開２０１７−１７５８４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、特異日の需要量の予測精度を向上させる予測装置、予測方法及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【０００５】
本発明の実施形態としての予測装置は、需要実績データにおける特異日の需要実績値を、前記特異日に応じた調整係数に基づき補正する前処理部と、前記特異日の前記補正された需要実績値と、前記需要実績データにおける非特異日の前記需要実績値とに基づき、需要量の予測モデルを生成するモデル生成部と、１つ以上の日の需要実績値と、前記１つ以上の日のうちの特異日に応じた調整係数と、前記予測モデルとに基づき、予測対象の日の需要予測値を算出する予測部と、前記予測対象の日が特異日の場合に、前記予測対象の日に応じた調整係数を用いて前記需要予測値を逆補正する後処理部と、を備える。
【図面の簡単な説明】
【０００６】
【図１】本発明の実施形態に係る予測システムの全体構成例を示す図。
【図２】需要実績ＤＢに記憶されている需要実績データ一例を示す図。
【図３】カレンダＤＢに記憶されているカレンダ情報の一例を示す図。
【図４】カレンダＤＢに記憶されているカレンダ情報の他の例を示す図。
【図５】気象予測ＤＢに記憶されている気象予測データの一例を示す図。
【図６】調整係数ＤＢに記憶されている調整係数データの例を示す図。
【図７】需要実績値ＬＯＡＤのグラフと、平日平均値ＭＥＡＮのグラフの例を示す図。
【図８】平日平均値ＭＥＡＮに対する需要実績値ＬＯＡＤの割合のグラフを示す図。
【図９】特異日の需要実績値を補正する様子を模式的に示す図。
【図１０】需要実績値について前処理を行った結果をグラフで表した例を示す図。
【図１１】パラメータＤＢに記憶されているパラメータの例を示す図。
【図１２】需要予測ＤＢに格納された需要予測値の例を示す図。
【図１３】図１の予測装置の学習フェーズの動作の一例を示すフローチャート。
【図１４】図１の予測装置の予測フェーズの動作の一例を示すフローチャート。
【図１５】図１の予測装置のハードウェア構成の例を示す図。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら、本発明の実施形態について説明する。
【０００８】
図１は、本発明の実施形態に係る予測システムの全体構成例を示す。図１の予測システムは、予測装置１０１と、入力装置２０１と、出力装置３０１と、通信装置４０１とを備えている。
【０００９】
入力装置２０１は、通信ネットワーク又は通信ケーブルを介して予測装置１０１と接続されている。通信ネットワークは、一例として、有線ネットワーク、無線ネットワーク又はこれらのハイブリッドである。通信ケーブルは、一例として、ＵＳＢケーブル、シリアルケーブルなど、任意のケーブルである。入力装置２０１は、本装置のユーザから各種の指示又はデータの入力操作を受け付ける。ユーザは、本装置の操作者又は管理者等である。入力装置２０１は、予測装置１０１の処理に係る操作、予測装置１０１の予測結果の可視化に係る操作などをユーザから受け付ける。入力装置２０１は、例えばマウス、キーボード、タッチパネル、トラックボール、ジョイスティック、ペンタブレット、音声認識装置、画像認識装置またはこれらの組み合わせより実現される。入力装置２０１は、パソコン、タブレット、スマートフォン、携帯電話などの情報端末であってもよい。
【００１０】
出力装置３０１は、予測装置１０１から入力されたデータを出力する装置である。出力装置３０１は、通信ネットワーク又は通信ケーブルを介して予測装置１０１と接続されている。通信ネットワークは、一例として、有線ネットワーク、無線ネットワーク又はこれらのハイブリッドである。通信ケーブルは、一例として、ＵＳＢケーブル、シリアルケーブルなど、任意のケーブルである。出力装置３０１は一例として、データを表示可能な表示装置である。この場合、出力装置３０１は例えば液晶ディスプレイ、有機エレクトロルミネッセンスディスプレイ、ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）ディスプレイ、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、またはプロジェクタであってもよいし、その他の方式のものであってもよい。出力装置３０１は、データを用紙に印字するプリンタでもよい。以下の説明では、出力装置３０１が表示装置の場合を述べる。
【００１１】
通信装置４０１は、通信ネットワークを介して、サーバ又は端末等と通信可能である。通信ネットワークは、有線ネットワーク、無線ネットワーク又はこれらのハイブリッドである。通信ネットワークは、一例として、ローカルエリアネットワーク又は広域ネットワークである。予測装置１０１は、通信装置４０１を用いることで、サーバ又は端末等と通信できる。ユーザは端末を用いて、通信装置４０１を介して、予測装置１０１を遠隔から操作してもよい。
【００１２】
入力装置２０１と通信装置４０１と出力装置３０１が、パソコン、タブレット又はスマートフォンなどによって一体的に構成されていてもよい。また、入力装置２０１と通信装置４０１と出力装置３０１の少なくとも１つが、予測装置１０１と一体的に構成されてもよい。
【００１３】
予測装置１０１は、需要実績データベース（ＤＢ）１１、カレンダＤＢ１２、気象予測ＤＢ１３、調整係数算出部１４、調整係数ＤＢ１５、調整係数決定部１６、前処理部１７、モデル学習部１８、モデルパラメータＤＢ１９、予測部２０、後処理部２１、及び需要予測ＤＢ２２を備えている。
【００１４】
需要実績データベース（ＤＢ）１１は、需要予測の対象エリアにおける需要量の実績データ（需要実績データ）を保持している。需要実績データは、需要量の実績値（需要実績値）と時刻情報とを対応づけている。本実施形態における需要量は、電力会社の供給エリアにおける電力供給量である。ただし、需要量は、水道使用量、ガス使用量、コールセンタの入電量、商品の販売額、販売数、出荷高、生産高、施設の入場者数など、他の需要量でもよい。
【００１５】
図２は、需要実績ＤＢ１１に記憶されている需要実績データ一例を示す。需要実績データは表形式で格納されている。日付（年月日）、時刻、供給電力量の実績値（需要実績値）の列が示されている。例えば、２０１５年５月１日の時刻０：００〜１：００の電力供給の実績値は２，５７７万ｋＷである。ここでは１日を２４に分割した１時間の時間コマごとに需要実績値を格納しているが、１日を４８分割した３０分単位など、他の時間単位で需要実績値を格納してもよい。
【００１６】
需要実績ＤＢ１１は、ユーザが入力装置２０１を用いてデータを入力することで、構築されてもよい。この際、メモリ等の記録媒体を予測装置１０１に接続して、記録媒体から需要実績データを需要実績ＤＢ１１に格納してもよい。または、通信装置４０１を介して、予測装置１０１が、外部の需要実績管理サーバ（図示せず）に需要実績データの取得要求を送信し、需要実績管理サーバから需要実績データを取得してもよい。取得要求は、取得対象となるエリアを指定する情報を含んでもよい。この場合、指定されたエリアの需要実績データを取得する。
【００１７】
図１のカレンダＤＢ１２は、１年又は複数年のカレンダ情報を保持している。
【００１８】
図３は、カレンダＤＢ１２に記憶されているカレンダ情報の一例を示す。カレンダ情報は表形式で格納されている。２０１５年のカレンダ情報の例が示されている。２０１４年以前のカレンダ情報が格納されていてもよい。カレンダ情報は、年内経過日数、日付（年月日）、曜日、休日フラグを含む。
【００１９】
年内経過日数は、１月１日をその年の１日目としたときの経過日数を表す。例えば１月３１日では、経過日数は３１、２月２８日では、経過日数は５９（＝３１＋２８）、５月１日では、１２１（＝３１＋２８＋３１＋３０＋１）である。年内経過日数の列が無くてもよい。
【００２０】
休日フラグは、休日か否かを表す。休日の場合は“Ｔ”、休日でない場合は“Ｆ”が格納されている。本実施形態では、土曜日及び日曜日は休日と定義する。また、祝日（祝日の振替休日）も休日と定義する。また、慣習又は条例等で定められた日（日本の場合、１月２日、１月３日など）も休日と定義してよい。図の例では、２０１５年５月３日、４日、５日、６日はそれぞれ日本の祝日であるため、休日のフラグ“Ｔ”が設定されている。２０１５年５月２日、３日、９日、１０日は、土曜日又は日曜日であるため、休日のフラグ“Ｔ”が設定されている。なお、３日は日曜日であるが、祝日でもある。２０１５年５月１日、７日、８日、１１日、１２日は、通常の平日であるため、“Ｆ”が設定されている。平日とは、月曜日、火曜日、水曜日、木曜日、金曜日のことである。通常の平日は、休日でない平日のことである。
【００２１】
カレンダ情報の項目は、図３の例に限定されない。例えば祝日の名称の列を、カレンダＤＢ１２に設けてもよい。例えば５月３日は憲法記念日、５月４日はみどりの日、５月５日は子供の日、５月６日は振替休日である（いずれも日本の場合）。
【００２２】
図４は、カレンダＤＢ１２に記憶されているカレンダ情報の他の例を示す。カレンダ情報は、年内経過日数、日付（年月日）、曜日、特異日フラグを含む。特異日フラグ以外の項目は、図３と同じである。
【００２３】
特異日フラグは、特異日を識別するフラグである。特異日は、カレンダで頻出する日とは異なる特別な日である。頻出する日の例として、通常の平日や、週末がある。週末は、土曜日又は日曜日である。祝日や条例等で特別に定められる日は、例えば１年に１回しか現れず、特異日に相当する。週末と祝日が重なる場合は、祝日であることを優先して、当該日を特異日としてもよいが、本実施形態では週末として扱う。特異日かどうかはユーザが任意に定義でき、ここに挙げた以外の基準で特異日を設定してもよい。例えば、需要予測の対象地域内の多くの事業者が慣習で休みの日があった場合に、当該日を特異日としてもよい。特異日以外の日（例えば通常の平日、週末）を総称して、非特異日と呼ぶことがある。
【００２４】
特異日フラグは、本装置の操作者又は管理者等であるユーザが、入力装置２０１を用いて設定してもよい。または、本装置が、予め定めた条件を満たす日をカレンダ情報から抽出し、抽出した日に対して特異日フラグを自動的に設定してもよい。例えば、週末以外の休日をカレンダから抽出して、抽出した日に対して、特異日フラグを設定してもよい。
【００２５】
気象予測ＤＢ１３は、需要予測の対象エリアにおける気象予測データを保持している。気象予測データは、気象量の予測値（気象予測値）と、時刻情報（日付と時刻）とを含む。
【００２６】
図５は、気象予測ＤＢ１３に記憶されている気象予測データの一例を示す。気象予測データは表形式で格納されている。日付、時刻、気象予測値が格納されている。この例では、気象予測値は、気温、日射強度、風速、降水量であるが、ここに示したものに限定されない。例えば風向、日照時間などがあってもよい。ここでは１日を２４に分割した１時間単位で気象予測値を格納しているが、１日を４８分割した３０分単位など、他の時間単位で気象予測値を格納してもよい。
【００２７】
気象予測ＤＢ１３は、ユーザが入力装置２０１を用いてデータを入力することで構築されてもよい。この際、メモリ等の記録媒体を予測装置１０１に接続して、記録媒体から気象予測データを気象予測ＤＢ１３に格納してもよい。または、通信装置４０１を介して、予測装置１０１が、外部の気象予測サーバ（図示せず）に気象予測データの取得要求を送信し、気象予測サーバから気象予測データを取得してもよい。取得要求は、取得対象となるエリアを指定する情報を含んでもよい。この場合、指定されたエリアの気象予測データを取得する。
【００２８】
上述の気象予測サーバは、対象エリアにおける気象量（気象情報）を予測するサーバである。気象予測サーバは、需要予測の対象エリア内に設置された１つ以上の観測所により観測された気象量の観測値に基づき、気象量を予測する。気象予測サーバは、気象量の観測のために、気象衛星を用いてもよい。気象予測サーバは、予測した気象量の値（気象予測値）を、時間情報（日付と時刻）に関連づけて、内部のデータベース（ＤＢ）に格納する。気象予測サーバは、一例として、気象庁など国内外の政府機関、民間の事業者、国際機関の提供する気象情報サーバ、ウェブサービス、クラウドサービスである。
【００２９】
予測装置１０１に、気象量を予測する気象予測部を設け、気象予測部が、気象量の観測地と、数値予測モデルとに基づき気象量の予測を行ってもよい。
【００３０】
調整係数算出部１４は、カレンダＤＢ１２に基づき特異日を特定し、特異日に対応する年内経過日数を特定する。調整係数算出部１４は、特定した年内経過日数に対する調整係数を時刻ごとに算出する。１日を２４に分割した１時間を単位時間とする場合、時刻０：００〜１：００、１：００〜２：００、・・・２３：００〜２４：００のそれぞれについて調整係数を算出する。
【００３１】
特異日の検出は、カレンダＤＢ１２が図４に示した形式のカレンダ情報を記憶している場合は、調整係数算出部１４が、特異日フラグが“Ｔ”の日を検出すればよい。
【００３２】
カレンダＤＢ１２に記憶されているカレンダ情報が、図３に示したような特異日フラグを持たないカレンダ情報の場合は、調整係数算出部１４が特異日検出処理により、特異日を検出する。もしくは、ユーザが入力装置２０１を用いて特異日を指定する。特異日検出処理の例としては、週末（土日）以外の休日を特異日として検出することがある。あるいは、他の基準で特異日を検出してもよい。例えば土日が祝日と重なる日がある場合、その日を特異日としてもよい。
【００３３】
調整係数算出部１４は、検出した特異日の時刻（以下、時刻ｓと記載する）ごとに、以下の処理を行う。
【００３４】
特異日の直前の第１期間から通常の平日をすべて特定し、また、特異日の直後の第２期間から通常の平日をすべて特定する。例えば、特異日の前後それぞれ１０日間から、通常の平日をすべて特定する。この例では第１期間の日数と第２期間の日数とは同じでも、異なってもよい。また、第１期間は特異日の前であれば、直前でなくてもよい。第２期間は特異日の後であれば、直後でなくてもよい。
【００３５】
例えば特異日が５月４日（月）の場合、その前の１０日間は、４月２４日〜５月３日であり、その後の１０日間は、５月５日〜１４日である。４月２４日〜５月３日のうち通常の平日は、２４日、２７日、２８日、３０日、５月１日の５つである。５月５日〜１４日のうち通常の平日は、７日、８日、１１日、１２日、１３日、１４日の６つである。よって、通常の平日は計１１ある。
【００３６】
特異日の前後の期間から特定した平日の同時刻ｓの需要実績値を、需要実績ＤＢ１１から特定する。特定した需要実績値の平均を計算する。上記の例では、４月２４日、２７日、２８日、３０日、及び５月１日、７日、８日、１１日、１２日、１３日、１４日の時刻ｓの需要実績値を需要実績ＤＢ１１から特定し、特定した需要実績値の平均を計算する。
【００３７】
具体的には、日付Ｄ、時刻ｓの需要実績値をＬＯＡＤ（ｓ＿Ｄ）と表すと、日付Ｄの時刻ｓの需要実績値の平均値（ＭＥＡＮ）は、以下の式（１）で計算される。この平均値ＭＥＡＮを平日平均値と呼ぶことがある。
【００３８】
MEAN(s)={LOAD(s_0424)+LOAD(s_0427)+LOAD(s_0428)+LOAD(s_0430) +LOAD(s_0501)+LOAD(s_0506)+LOAD(s_0507)+LOAD(s_0508)+LOAD(s_0511)+LOAD(s_0512)+LOAD(s_0513)+LOAD(s_0514)}/11      ・・・(1)
【００３９】
調整係数算出部１４は、特異日の時刻ｓの需要実績値を需要実績ＤＢ１１から特定する。調整係数算出部１４は、特異日の時刻ｓの需要実績値ＬＯＡＤ（ｓ）を、上記の需要実績値の平均値で除算することにより、調整係数（需要化比率）を算出する。調整係数Ｃは以下の式（２）で算出される。
【００４０】
C(s)=LOAD(s)/MEAN(s)       ・・・(2)
【００４１】
調整係数算出部１４は、算出した特異日の時刻ｓの調整係数を、特異日に対応する年内経過日数及び時刻ｓに関連づける。これを、調整係数データとする。調整係数算出部１４は、調整係数データを調整係数ＤＢ１５に格納する。
【００４２】
調整係数ＤＢ１５は、調整係数算出部１４により生成された各特異日に関する調整係数データを内部に記憶する。
【００４３】
図６は、調整係数ＤＢ１５に記憶されている調整係数データの例を示す。年内経過日数と、時刻と、調整係数とが格納されている。年内経過日数８０は２０１５年３月２１日の祝日に対応し、年内経過日数１１９は２０１５年４月２９日に対応し、年内経過日数１２３は５月３日に対応し、年内経過日数１２４は５月４日に対応する。これらのいずれも特異日である。
【００４４】
図６の例では調整係数を、年内経過日数及び時刻に対応づけているが、特異日及び時刻に対応づけてもよい。
【００４５】
図６の調整係数データは、２０１５年のカレンダ情報を用いて生成したが、複数年（例えば２０１３〜２０１５年）のカレンダ情報を用いて、調整係数データを生成してもよい。この場合、複数の年の同じ特異日の時刻ｓに対して計算される調整係数の平均を、特異日の時刻ｓの調整係数とすればよい。平均の代わりに、中央値、最大値、最小値など、他の統計値を用いてもよい。
【００４６】
年によっては、特異日の名称が同じであっても特異日の日付又は年内経過日数が異なる場合がある。例えば閏年では２月の日数が２９であるため、閏年では３月２１日の経過日数が８１であるが、それ以外の年では８０である。このため、複数年のカレンダ情報を用いる場合、調整係数ＤＢ１５に登録する年内経過日数は、基準となる年（例えば２０１５年）の特異日の年内経過日数を採用する。それ以外の年（例えば２０１４年、２０１３年）については、特異日の名称を管理している場合は、基準となる年の特異日と同一名称をもつ日を２０１４年及び２０１３年のカレンダ情報から特定すればよい。あるいは、当該特異日と年内経過日数が同じ又は最も近い特異日を、２０１４年及び２０１３年のカレンダ情報から特定してもよい。
【００４７】
ここで図７と図８を用いて、前述した需要実績値ＬＯＡＤ、平日平均値ＭＥＡＮ、及び平日平均値ＭＥＡＮに対する需要実績値ＬＯＡＤの割合（需要化比率）についてより具体的に説明する。
【００４８】
図７は、２０１４年１月１日〜１２日の期間について、需要実績値ＬＯＡＤのグラフと、平日平均値ＭＥＡＮのグラフを生成し、可視化した例を示す。平日平均値ＭＥＡＮのグラフは、各日の前後それぞれ１０間の平日の平均を用いて生成している。１月１日〜３日までが年始休暇（特異日）、１月４日、５日が週末、１月６日〜１月１０日が平日である。平日の需要実績値ＬＯＡＤと平日平均値ＭＥＡＮとの差は非常に小さいもしくはほとんどない。これに対して、年始休暇の需要実績値ＬＯＡＤへ平日平均ＭＥＡＮの概ね２／３まで減少する。
【００４９】
図８は、図７に示した平日平均値ＭＥＡＮに対する需要実績値ＬＯＡＤの割合（需要化比率）を算出し、グラフにより可視化した例を示す。需要化比率は、式（２）で算出する調整係数に対応する。平日の需要化比率は概ね１．０（図の破線を参照）前後であるが、土日は０．８〜０．９、年始休暇は０．６〜０．８まで減少することが分かる。また、土日や年始休暇の需要化比率は、夜間の方が昼間より大きい、つまり、需要量の減少度合いは、昼間の方が大きい。
【００５０】
［学習フェーズ］
前処理部１７は、需要実績ＤＢ１１から需要予測モデルの学習に用いる需要実績データを読み出す。学習に用いるデータの期間は、任意に定めることができる。例えば過去１年間のデータを学習に用いてもよい。期間は、ユーザが入力装置２０１を用いて指定してもよいし、予め定められていてもよい。
【００５１】
前処理部１７は、読み出した需要実績データの各日について、特異日か否かを判断する。前処理部１７は、特異日については、その日の需要実績を時刻ごと（時間コマごと）に補正する。特異日でない日（非特異日）については、その日の需要実績値の補正を行わない。このように特異日か否かに応じて需要実績値の補正を行う処理を前処理と呼ぶ。以下、前処理についてより詳細に説明する。
【００５２】
特異日の日時ｔ（ｔは日付（年月日）と時刻を含む）における需要実績値を補正するために、関数ｇ−１を用いる。ここで、関数ｇ及び関数ｇ−１を、以下の通り、定義する。ｙｔは日時ｔの需要実績値、Ｒｔは日時ｔに対応する調整係数である。日時ｔに対応する調整係数とは、日時ｔの日の年内経過日数に対応する調整係数のうち、日時ｔの時刻に対応する調整係数のことである。なお、多くの特異日では、平日より需要量が減少する傾向があるため、調整係数は通常、０＜Ｒｔ＜１となる（＜、＞は不等号である）。
【数１】
2020149232.tif 000003
【数２】
2020149232.tif 000004
【００５３】
関数ｇは、日時ｔの需要実績値ｙｔにつき、日時ｔの日が特異日でない場合は需要実績値ｙｔをそのまま出力し、日時ｔの日が特異日の場合は、日時ｔの日が需要実績値ｙｔに調整係数Ｒｔを乗じた値を出力する。
【００５４】
関数ｇ−１は、日時ｔの需要実績値ｙｔにつき、日時ｔの日が特異日でない場合は需要実績値ｙｔをそのまま出力し、日時ｔの日が特異日の場合は、日時ｔの需要実績値ｙｔを調整係数Ｒｔで除算した値を出力する。
【００５５】
以下、関数ｇ−１のように需要実績値ｙｔを調整係数Ｒｔで除算することを、需要実績値ｙｔを調整係数Ｒｔで補正すると呼ぶことがある。関数ｇのように需要実績値ｙｔに調整係数Ｒｔを乗算することを、需要実績値ｙｔを調整係数Ｒｔで逆補正すると呼ぶことがある。
【００５６】
前処理部１７は、日時ｔの日が特異日の場合、日時ｔに対応する調整係数の取得要求を調整係数決定部１６に送る。調整係数決定部１６は、日時ｔの年次経過日数を計算する。そして、計算した日数に最も近い年次経過日数（対象経過日数）を調整係数ＤＢ１５において特定し、対象経過日数の日時ｔの時刻に対応する調整係数を調整係数ＤＢ１５から取得する
【００５７】
例えば、計算した日数をＱ１とすると、Ｑ１と同じ年次経過日数が調整係数ＤＢ１５に存在する場合は、当該日数が対象経過日数となる。もし、Ｑ１と同じ年次経過日数が存在しない場合は、日数Ｑ１の後の最も近い年次経過日数（Ｑ２とする）と、日数Ｑ１の前の最も近い年次経過日数（Ｑ３とする）とを特定する。Ｑ１とＱ２の差分絶対値｜Ｑ１−Ｑ２｜と、Ｑ１とＱ３の差分絶対値｜Ｑ１−Ｑ３｜とを比較する。｜Ｑ１−Ｑ２｜の方が小さい場合は、Ｑ２を対象経過日数とする。｜Ｑ１−Ｑ３｜の方が小さい場合は、Ｑ３を対象経過日数とする。
【００５８】
前処理部１７は、対象経過日数の日時ｔの時刻に対応する調整係数を調整係数決定部１６から取得すると、日時ｔの需要実績値を、取得した調整係数により除算する。すなわち、日時ｔの需要実績値を補正する。
【００５９】
具体例として、日時ｔが２０１５年３月２１日２２：００〜２３：００であれば、年内経過日数は８０である。年次経過日数８０は調整係数ＤＢ（図６参照）に登録されているため、８０が対象経過日数となる。よって、対象経過日数の時刻２２：００〜２３：００に対応する０．６７を調整係数として取得する。そして、前処理部１７は、２０１５年３月２１日２２：００〜２３：００の需要実績値を、取得した調整係数０．６７で除算（補正）する。０．６７は１より小さいため、除算結果は需要実績値より大きくなる。
【００６０】
別の例として、日時ｔが２０１６年３月２１日２２：００〜２３：００であったとする。２０１６年は閏年であるため、年次経過日数は８１である。８１の前で最も近い年次経過日数は８０であり、８１の後で最も近い年次経過日数は１１９である。よって、年次経過日数８１に最も近い年次経過日数は８０である。８０が対象経過日数となる。よって、上記の例と同様、年次経過日数８０の２２：００〜２３：００に対応する調整係数０．６７を取得することとなる。
【００６１】
図９に、特異日の各時刻の需要実績値（電力供給実績）を補正し、非特異日の需要実績値の補正を行わない前処理の様子を模式的に示す。２０１５年５月３日は特異日でないため各時刻の需要実績値を調整せず、そのまま出力する。２０１５年５月４日は特異日であるため、時刻毎に調整係数を調整係数決定部１６から取得し、各時刻の需要実績値を、取得した調整係数で除算する。
【００６２】
図１０は、２０１５年５月３日〜２０１５年５月９日の期間について各日の各時刻の需要実績値について前処理を行った結果をグラフで表した例を示す。グラフＧ１が、２０１５年５月３日〜２０１５年５月９日の期間について、前処理を行った結果のグラフである。比較対象として、グラフＧ２は、特異日（この例では週末以外の休日）である２０１５年５月３日〜２０１５年５月６日の３日間について、前処理を行う前の需要実績値を示したグラフである。この３日間では、グラフＧ１及びグラフＧ２を比較して分かるように、需要実績値が前処理によって増加（拡大）されていることが分かる。このように前処理を行うことによって、２０１５年５月３日〜２０１５年５月９日の期間のデータを、あたかも土日以外の休日を含まないデータに正規化したとみなすことができる。
【００６３】
モデル学習部１８は、前処理後の需要実績データと、気象予測ＤＢ１３に記憶されている気象予測データとに基づき、将来の日時の需要量を予測するための需要予測モデルを学習する。需要予測モデルは関数により構成される。需要予測モデルの学習は、需要予測モデルを表す関数のパラメータを同定することである。以下、需要予測モデルの学習について詳細に説明する。
【００６４】
需要予測モデルは、１日の時刻（時間コマ）毎に生成する。例えば１日の需要量を２４個の時間コマの数値で表現する場合、１時間の時間コマが２４個存在するため、２４個の需要予測モデルを作成する。需要予測モデルの例として、重線形回帰モデル又は人工ニューラルネット回帰モデル等の回帰モデルがある。需要予測モデルは、一例として、以下の関数ｆで表すことができる。
【数３】
2020149232.tif 000005
【００６５】
変数ｈｔは、将来の日時ｔにおける需要量を表す変数（目的変数）である。変数ｈｔ−ｐは日時ｔのｐ日前の同じ時刻の需要量を表す変数（説明変数）、ｈｔ−ｐ−１は日時ｔのｐ−１日前の同じ時刻の需要量を表す変数（説明変数）、ｈｔ−ｐ−２は日時ｔのｐ−２日前の同じ時刻の需要量を表す変数（説明変数）である。日時ｔのｐ日前は、一例として現在日時に対応する。また、
【数４】
2020149232.tif 000006
である（式（４）参照）。すなわち、日時ｔ−ｐ、ｔ−ｐ−１、ｔ−ｐ−２、・・・の日が特異日であれば、調整係数で除算した需要量をｈｔ−ｐ、ｈｔ−ｐ−１、ｈｔ−ｐ−２は表す。
日時ｔ−ｐ、ｔ−ｐ−１、ｔ−ｐ−２、・・・の日が特異日でなければ、需要量ｙｔがそのままｈｔ−ｐ、ｈｔ−ｐ−１、ｈｔ−ｐ−２、・・・となる。
【００６６】
ｗｔは、日時ｔに関する気象予測値である。
【００６７】
Ｘｔ−ｐは説明変数の組を表し、
【数５】
2020149232.tif 000007
である。
【００６８】
θはモデルのパラメータであり、各説明変数の係数や、定数係数がパラメータに相当する。
【００６９】
需要予測モデルは、日時ｔを将来の日時とするとき、現在の日時ｔ−ｐからｐ日先の需要量ｈｔを予測する。つまり、この需要予測モデルは、現時点で用いることのできる説明変数Ｘｔ−ｐと、目的変数となる将来日時の需要量ｈｔとの間を関係づける回帰式を表す。
【００７０】
パラメータθは、説明変数とパラメータθとから上記モデルの関数により計算される値と、需要実測値（目的変数）との差、すなわち、モデル誤差を最小化するように求める。一例として、需要実績データと気象予測データとを、学習用データとして用いて、下記の最小化問題を解くことで、パラメータθを求めることができる。すなわち式（６）の目的関数を最小化又は小さくするように、パラメータθを求める。
【数６】
2020149232.tif 000008
【００７１】
なお、パラメータθの個数が多いと、過学習が発生することがある。過学習は、学習用データに対してパラメータを最適化し過ぎることである。過学習が起こると、学習用データ以外のデータに対するモデルの予測精度が低下する問題がある。過学習を避けるため、パラメータθの個数が増えることを防ぐペナルティ項（正則化項）を設けた最小化問題を解いてもよい。ペナルティ項を設けた目的関数の例を以下に示す。この目的関数を最小化又は小さくするように、パラメータθを求める。ペナルティ項の存在により、ゼロになるパラメータの個数が増え、結果としてモデルのパラメータの個数が減少させる効果が得られる。
【数７】
2020149232.tif 000009
【００７２】
例えば、需要予測モデルが重線形回帰モデルの場合、モデル関数として、下記の様な関数を用いることができる。
【数８】
2020149232.tif 000010
【００７３】
この関数は、パラメータ（回帰係数）
【数９】
2020149232.tif 000011
を含む。
【００７４】
ＤｏＹｔは年内経過日数を表す周期的な変数であり、日時ｔに応じて、１，２，・・・、３６５のいずれかを値を取る。ＤｏＷｔは、週内経過日数を表す周期的な変数であり、日時ｔに応じて、１，２，・・・、７のいずれかの値を取る。また式（８）の右辺の４つの項のうち、左２つの項はそれぞれ実数部分と虚数部分とを含むが、実数部分のみを用いる。
【００７５】
上記パラメータθにおけるα、β、γ、δの各添え字に含まれるＡ、Ｂ、Ｃ、Ｄはハイパーパラメータである。ハイパーパラメータは、パラメータの次元数（個数）である。一般に機械学習を用いる場合、ユーザが次元数を指定した上で、各パラメータの数値が学習される。学習結果の良否は、次元数の選び方にも依存するため、次元数も一種のパラメータと捉えて、ハイパーパラメータと呼ぶ。
【００７６】
Ａ及びＢは、三角関数に関する高調波成分の次数である。フーリエ級数展開と同様に三角関数を用いて周期的な関数を表すことができる。このとき次数Ａ及びＢがハイパーパラメータになる。次数が小さいと、滑らかな関数が学習される。次数が大きいと変動の大きい関数が学習される。一例として、Ａ及びＢは、５〜１０の範囲内の値である。Ｃは、気象予測値ｗｔが気温（℃）のとき、例えば、２である。Ｄは、需要実績値を過去何日分用いるかに対応し、一例として、Ｄは３〜７の範囲内の値である。但しＤは１以上でもよい。すなわち、需要実績値を使用する日数は、１以上でもよい。
【００７７】
モデル学習部１８は、最適化問題を解くことによって算出したモデルのパラメータをパラメータＤＢ１９に格納する。
【００７８】
パラメータＤＢ１９は、モデル学習部１８によって算出された各時刻（時間コマ）に対応するパラメータを内部に記憶する。パラメータＤＢ１９は、需要予測モデルの関数の型を記憶していてもよい。型とパラメータにより関数が構成される。
【００７９】
図１１は、パラメータＤＢ１９に記憶されているパラメータの例を示す。１日を２４の時間コマに分割した時刻（時間コマ）ごとに、モデルのパラメータが格納されている。図ではパラメータを記号で表しているが、実際には数値が入る。θの添え字（０〜２３）、及び各パラメータの添え字の「＿ｘ」の“ｘ”（０〜２３）は、各時刻の識別子に対応する。例えば
【数１０】
2020149232.tif 000012
は、７：００〜８：００に対応するパラメータである。
【００８０】
［予測フェーズ］
予測部２０は、将来の日時（予測対象の日時）ｔについて需要量の予測指示を、入力装置２０１又は通信装置４０１から取得する。予測部２０は、予測指示を取得すると、日時ｔの時刻に対応するパラメータθｔをモデルパラメータＤＢ１９から読み出す。また、予測部２０は、日時ｔの気象予測値ｗｔを気象予測ＤＢ１３から読み出す。
【００８１】
また、予測部２０は前処理部１７に対して、モデルの説明変数となる需要実績値の読み出しを指示する。前処理部１７は、需要実績値の説明変数の個数に応じた日数分の同時刻（日時ｔの時刻と同時刻）の需要実績値を需要実績ＤＢ１１から読み出す。例えば、現在の日時から６日前までの需要実績値を用いる場合、現在の日時（予測対象の日時のｐ日前の日時）ｔ−ｐ、現在の日時の１日前の日時ｔ−ｐ−１、現在の日時の２日前の日時ｔ−ｐ−２、・・・、現在の日時の６日前の日時ｔ−ｐ−６の需要実績値を読み出す。
【００８２】
前処理部１７は、読み出した各日時の日が特異日か否かを、カレンダＤＢ１２に基づき判断する。特異日に該当しない日の需要実績値については何も処理せず、需要実績値をそのまま予測部２０に送る。
【００８３】
特異日に該当する日時については、前処理部１７は、調整係数決定部１６に当該日時の情報を送る。調整係数決定部１６は、当該日時の日の年内経過日数を計算する。調整係数決定部１６は、計算した日数に最も近い年内経過日数（対象経過日数）を調整係数ＤＢ１５から特定し、特定した対象経過日数の当該日時の時刻に対応する調整係数を読み出す。調整係数決定部１６は、読み出した調整係数を前処理部１７に送る。前処理部１７は、上記特異日に対応する日時の需要実績値を、当該調整係数で除算することにより需要実績値を補正する（式（４）参照）。前処理部１７は、補正後の需要実績値を予測部２０に送る。
【００８４】
予測部２０は、上記のようにして前処理部１７から出力される、モデルの説明変数に対応する需要実績値を取得する。特異日に該当する日の日時の需要実績値は調整係数により補正済みである。前処理部１７から取得した各説明変数に対応する需要実績値と、日時ｔの時刻に対応するパラメータθｔと、日時ｔの気象予測値ｗｔとに基づき、モデルの関数（式（５）又は式（８）参照）を計算することにより、日時ｔの需要予測値を算出（需要量を予測）する。需要予測値をｈ＾ｔとすると、需要予測値は、前述した式（５）に基づき、以下の式で計算できる。
【数１１】
2020149232.tif 000013
【００８５】
後処理部２１は、予測部２０から日時ｔの需要予測値ｈ＾ｔを取得する。後処理部２１は、需要予測値ｈ＾ｔに対して後処理を行う。
【００８６】
具体的には、後処理部２１は、日時ｔの日が特異日か否かを判断する。判断は、一例として、カレンダＤＢ１２に基づき行う。特異日でない場合は、需要予測値ｈ＾ｔを予測結果として日時ｔに関連づけて、需要予測ＤＢ２２に格納する。
【００８７】
一方、特異日の場合は、日時ｔに対応する調整係数の取得要求を調整係数決定部１６に送る。調整係数決定部１６は、日時ｔの日の年内経過日数を計算し、計算した日数に最も近い年内経過日数（対象経過日数）を調整係数ＤＢ１５において特定する。調整係数決定部１６は、日時ｔの時刻に対応する調整係数を取得し、取得した調整係数を後処理部２１に送る。
【００８８】
後処理部２１は、需要予測値ｈ＾ｔを調整係数に乗じる。すなわち、需要予測値ｈ＾ｔを調整係数で逆補正する。モデルの説明変数となる需要実績値については調整係数で除算する補正を行ったが、需要予測値については調整係数を乗じる逆補正を行う。逆補正の結果を需要予測値とする。これにより、前処理で特異日の需要量を平日並に拡大した処理（補正）の影響を打ち消すために、需要量を縮小する処理（逆補正）を行う。
【００８９】
後処理部２１は、逆補正された需要予測値を日時ｔに関連づけて需要予測ＤＢ２２に格納する。
【００９０】
このように、後処理部２１は、後処理として、日時ｔの日が特異日の場合は需要予測値ｈ＾ｔに調整係数を乗算（逆補正）して出力し、特異日でない場合は、需要予測値ｈ＾ｔをそのまま出力する。この後処理を式（３）の関数ｇを用いて、以下の式で表す。
【数１２】
2020149232.tif 000014
【００９１】
需要予測ＤＢ２２は、後処理部２１により算出された日時ｔの需要予測値を内部に記憶する。
【００９２】
図１２は、需要予測ＤＢ２２に格納された需要予測値（予測電力供給量）の例を示す。この例では、予測対象の日を２０１５年１２月２３日とし、この日を２４個の時間コマに分割した各時刻０：００〜１：００、１：００〜２：００、２：００〜３：００、・・・、２３：００〜２４：００について、需要予測値を算出した例が示されている。２０１５年１２月２３日は祝日であり、特異日に設定されている。このため、これらの各時刻の需要予測値は、後処理部２１において各時刻に対応する調整係数により逆補正された値である。ここでは１日分の需要予測値を格納しているが、例えば１週間など連続した日の需要予測を行って、複数の日分の需要予測値を需要予測ＤＢ２２に格納してもよい。
【００９３】
出力装置３０１は、需要予測ＤＢ２２に記憶されている需要予測値のデータを読み出し、読み出したデータを画面に表示する。これによりユーザは、予測日時ｔの需要予測値の推移を確認できる。出力装置３０１は、需要予測値の推移をグラフにより表示してもよい。これによりユーザは、需要予測値の推移をより容易に把握できる。
【００９４】
図１３は、本実施形態に係る学習フェーズの動作のフローチャートである。学習フェーズは、一例としてユーザから入力装置２０１を介して学習指示が入力された場合に行う。学習の条件（学習用に用いる過去の需要実績値の期間、使用するモデルの型など）は学習指示に含まれる。
【００９５】
ステップＳ１０１において、調整係数算出部１４は、カレンダＤＢ１２内のカレンダ情報に基づき特異日を決定する。調整係数算出部１４は、需要実績ＤＢ１１内の需要実績データに基づき、決定した各特異日について時刻（時間コマ）毎に調整係数を計算する。計算した調整係数を、特異日の年内経過日数と当該時刻とに関連づけて、調整係数データとする。調整係数算出部１４は、調整係数データを調整係数ＤＢ１５に格納する。
【００９６】
ステップＳ１０２において、前処理部１７は、需要実績ＤＢ１１から学習に必要な需要実績データを読み出し、特異日の各時刻の需要実績値を調整係数で除算（補正）する。補正に用いる調整係数は、調整係数決定部１６から取得する。調整係数決定部１６は、調整係数ＤＢ１５において特異日に最も近い年内経過日数（対象経過日数）を特定し、対象経過日数の上記各時刻に対応する調整係数を前処理部１７に送る。前処理部１７は、特異日以外の日（非特異日）の需要実績値については補正を行わない。前処理部１７は、特異日の需要実績値が補正された需要実績データを学習用データとして、モデル学習部１８に送る。
【００９７】
ステップＳ１０３において、モデル学習部１８は、学習用データと、気象予測データとに基づき、需要予測モデルのパラメータを、１日の各時刻（時間コマ）について算出する。モデル学習部１８は、算出した需要予測モデルのパラメータを、モデルパラメータＤＢ１９に格納する。
【００９８】
図１４は、本実施形態に係る予測フェーズの動作のフローチャートである。予測フェーズは、一例として、ユーザから入力装置２０１を介して予測対象の日を指定した指示が入力されることで開始される。あるいは、それ以外の任意の条件が成立したタイミングで、予測フェーズを開始してもよい。予測対象の日の各時刻（時間コマ）について、本フローチャートの動作を行う。
【００９９】
ステップＳ２０１において、前処理部１７は、需要実績ＤＢ１１から需要予測モデルの説明変数への入力に必要となる期間の需要実績データ（予測対象の日時と同時刻のデータ）を読み出す。前処理部１７は、読み出した需要実績データにおいて特異日の需要実績値を調整係数で除算（補正）する。補正に用いる調整係数は調整係数決定部１６から取得する。調整係数決定部１６は、調整係数ＤＢ１５において特異日の年内経過日数に最も近い年内経過日数（対象経過日数）を特定し、対象経過日数に対応する調整係数のうち上記時刻の調整係数を取得する。取得した調整係数を前処理部１７に送る。前処理部１７は、特異日以外の日（非特異日）の需要実績値については補正を行わない。前処理部１７は、特異日の需要実績値が補正された需要実績データを予測用の入力データとして、予測部２０に送る。
【０１００】
ステップＳ２０２において、予測部２０は、気象予測ＤＢ１３から需要予測モデルの説明変数への入力に必要な気象予測値を読み出し、また、モデルパラメータＤＢ１９から予測対象の日時の時刻に対応するパラメータを読み出す。読み出した気象予測値及びパラメータと、予測用の入力データとに基づき、需要予測モデルの関数の出力値を計算する。
【０１０１】
ステップＳ２０３において、後処理部２１は、予測対象の日が特異日か否かを判断する。
【０１０２】
ステップＳ２０４において、予測対象の日が特異日でない場合は（ＮＯ）、予測部２０で算出された出力値を、需要予測値としてそのまま出力する。
【０１０３】
ステップＳ２０５において、予測対象の日が特異日の場合は（ＹＥＳ）、予測部２０で算出された出力値に、予測対象の日時に対応する調整係数を乗算（逆補正）し、逆補正後の出力値を需要予測値として出力する。後処理部２１は、逆補正に使用する調整係数を調整係数決定部１６から取得する。調整係数決定部１６はステップＳ２０１の説明と同様にして調整係数を取得し、取得した調整係数を後処理部２１に渡す。
【０１０４】
以上のように、本実施形態によれば、過去の需要実績データから特異日に対する調整係数を時刻毎に算出する。特異日については需要実績値を時刻毎に調整係数で補正し、非特異日については需要実績値を補正しない（前処理）。このように前処理で特異日について需要実績値を補正した需要実績データを生成する。これを学習用データとして用いて、機械学習により需要予測モデルを生成する。例えば、この予測モデルを用いて、直近の過去の需要実績値から、将来の日時（予測対象の日時）の需要予測値（モデルの出力値）を算出する。この際、予測の前の前処理では、需要実績値のうち特異日の需要実績値を調整係数で補正する。予測の後の後処理では、予測対象の日時の日が特異日であれば、算出された需要予測値を、当該日時に対応する調整係数で逆補正する。
【０１０５】
このように、本実施形態では、前処理では特異日の需要量を平日並に拡大する正規化処理（補正）を行う。そして、後処理では、正規化処理の影響を打ち消すための需要量を縮小する処理（逆補正）を行う。これにより、特異日及び非特異日のいずれも共通の需要予測モデルを機械学習で生成しつつ、当該モデルを用いて、特異日の予測値を高精度に算出できる。特異日に対して専用の需要予測モデルを生成する必要はないため、モデルの管理も容易である。
【０１０６】
また、本実施形態では、特異日の調整係数を年内経過日数に対応づけて管理する。このため、特異日の日付又は年内経過日数が年ごとに異なっても、特異日に最も近い年内経過日数に対応する調整係数を用いることで、異なる年の同じ特異日の調整係数を容易に特定できる。これは、特異日は多少前後しつつも、概ね年内の経過日が近いことを利用している。これにより、年ごとに特異日の日付及び名称を管理する必要がないため、容易に実施が可能である。また、カレンダ情報を管理するユーザ負荷も低く、コストも低い。
【０１０７】
（変形例１）
上述した実施形態では、１日を複数に分割した時刻（時間コマ）ごとに需要実績データ、気象予測データ、調整係数データ、モデルパラメータを生成したが、１日単位もしくは別の時間単位で、これらのデータを生成してもよい。この場合、需要予測モデルも時刻ごとに生成する必要はない。
【０１０８】
（変形例２）
上述した実施形態では、需要予測モデルの説明変数に気象予測値を用いたが、気象予測値を用いないで、需要予測モデルを生成してもよい。この場合、需要量の予測にも気象予測値を用いる必要はない。
【０１０９】
（ハードウェア構成）
図１５に、図１の予測装置１０１のハードウェア構成を示す。図１の予測装置１０１は、コンピュータ装置６００により構成される。コンピュータ装置６００は、ＣＰＵ６０１と、入力インタフェース６０２と、表示装置６０３と、通信装置６０４と、主記憶装置６０５と、外部記憶装置６０６とを備え、これらはバス６０７により相互に接続されている。
【０１１０】
ＣＰＵ（中央演算装置）６０１は、主記憶装置６０５上で、コンピュータプログラムである予測プログラムを実行する。予測プログラムは、予測装置１０１の上述の各機能構成を実現するプログラムのことである。予測プログラムは、１つのプログラムではなく、複数のプログラムやスクリプトの組み合わせにより実現されていてもよい。ＣＰＵ６０１が、予測プログラムを実行することにより、各機能構成は実現される。
【０１１１】
入力インタフェース６０２は、キーボード、マウス、およびタッチパネルなどの入力装置からの操作信号を、予測装置１０１に入力するための回路である。入力インタフェース６０２は入力装置２０１に対応する。
【０１１２】
表示装置６０３は、予測装置１０１から出力されるデータを表示する。表示装置６０３は、例えば、ＬＣＤ（液晶ディスプレイ）、有機エレクトロルミネッセンスディスプレイ、ＣＲＴ（ブラウン管）、またはＰＤＰ（プラズマディスプレイ）であるが、これに限られない。コンピュータ装置６００から出力されたデータは、この表示装置６０３に表示することができる。表示装置６０３は出力装置３０１に対応する。
【０１１３】
通信装置６０４は、予測装置１０１が外部装置と無線または有線で通信するための回路である。データは、通信装置６０４を介して外部装置から入力することができる。外部装置から入力したデータを、主記憶装置６０５や外部記憶装置６０６に格納することができる。
【０１１４】
主記憶装置６０５は、予測プログラム、予測プログラムの実行に必要なデータ、および予測プログラムの実行により生成されたデータなどを記憶する。予測プログラムは、主記憶装置６０５上で展開され、実行される。主記憶装置６０５は、例えば、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭであるが、これに限られない。図１の各記憶部又はデータベースは、主記憶装置６０５上に構築されてもよい。
【０１１５】
外部記憶装置６０６は、予測プログラム、予測プログラムの実行に必要なデータ、および予測プログラムの実行により生成されたデータなどを記憶する。これらの予測プログラムやデータは、予測プログラムの実行の際に、主記憶装置６０５に読み出される。外部記憶装置６０６は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。図１の各記憶部又はデータベースは、外部記憶装置６０６上に構築されてもよい。
【０１１６】
なお、予測プログラムは、コンピュータ装置６００に予めインストールされていてもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶されていてもよい。また、予測プログラムは、インターネット上にアップロードされていてもよい。
【０１１７】
また、予測装置１０１は、単一のコンピュータ装置６００により構成されてもよいし、相互に接続された複数のコンピュータ装置６００からなるシステムとして構成されてもよい。
【０１１８】
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１１９】
１０１：予測装置
２０１：入力装置
３０１：出力装置
４０１：通信装置
１１：需要実績データベース（ＤＢ）
１２：カレンダＤＢ
１３：気象予測ＤＢ
１４：調整係数算出部
１５：調整係数ＤＢ
１６：調整係数決定部
１７：前処理部
１８：モデル学習部
１９：モデルパラメータＤＢ
２０：予測部
２１：後処理部
２２：需要予測ＤＢ
６０１：ＣＰＵ
６０２：入力インタフェース
６０３：表示装置
６０４：通信装置
６０５：主記憶装置
６０６：外部記憶装置
６０７：バス
【図１】
2020149232.tif 000015
【図２】
2020149232.tif 000016
【図３】
2020149232.tif 000017
【図４】
2020149232.tif 000018
【図５】
2020149232.tif 000019
【図６】
2020149232.tif 000020
【図７】
2020149232.tif 000021
【図８】
2020149232.tif 000022
【図９】
2020149232.tif 000023
【図１０】
2020149232.tif 000024
【図１１】
2020149232.tif 000025
【図１２】
2020149232.tif 000026
【図１３】
2020149232.tif 000027
【図１４】
2020149232.tif 000028
【図１５】
2020149232.tif 000029