(57)【要約】 【課題】構成を複雑化することなく、予測性能を向上させることができる。【解決手段】予測モデル生成装置は、複数の説明変数を記憶する第１記憶部と、複数の目的変数を記憶する第２記憶部と、クラス分けに関する指示情報を入力する入力部と、指示情報に基づいて複数のクラスを生成するクラス生成部と、複数のクラスに対応する複数の予測モデルを計算する予測モデル計算部と、を備える。予測モデル計算部は、複数のクラスのそれぞれに対応する学習用のデータセットを抽出する学習用データセット抽出部と、複数のクラスのそれぞれに対応する評価用のデータセットを抽出する評価用データセット抽出部と、学習用のデータセットに基づいて、複数の予測モデルのそれぞれに含まれるパラメータを計算するパラメータ計算部と、評価用のデータセットに基づいて、複数の予測モデルの予測性能を評価する予測性能評価部と、を備える。【選択図】図１
2019087030.tif 000002
【特許請求の範囲】
【請求項１】
複数の説明変数を記憶する第１記憶部と、
複数の目的変数を記憶する第２記憶部と、
クラス分けに関する指示情報を入力する入力部と、
前記指示情報に基づいて複数のクラスを生成するクラス生成部と、
前記複数のクラスに対応する複数の予測モデルを計算する予測モデル計算部と、を備え、
前記予測モデル計算部は、
前記複数の説明変数及び前記複数の目的変数の中から、前記複数のクラスのそれぞれに対応する学習用のデータセットを抽出する学習用データセット抽出部と、
前記複数の説明変数及び前記複数の目的変数の中から、前記複数のクラスのそれぞれに対応する評価用のデータセットを抽出する評価用データセット抽出部と、
前記学習用のデータセットに基づいて、前記複数の予測モデルのそれぞれに含まれるパラメータを計算するパラメータ計算部と、
前記評価用のデータセットに基づいて、前記複数の予測モデルの予測性能を評価する予測性能評価部と、を備える、予測モデル生成装置。
【請求項２】
前記クラス生成部は、前記複数のクラスを識別するクラス識別子を出力し、
前記学習用データセット抽出部は、前記クラス識別子に応じた学習用のデータセットを抽出し、
前記評価用データセット抽出部は、前記クラス識別子に応じた評価用のデータセットを抽出し、
前記パラメータ計算部は、前記クラス識別子に応じた予測モデルのパラメータを計算する、請求項１に記載の予測モデル生成装置。
【請求項３】
前記複数のクラスと、前記パラメータと、前記複数の予測モデルとを対応づけて表示する表示部を備える、請求項１又は２に記載の予測モデル生成装置。
【請求項４】
前記パラメータ計算部は、前記複数の予測モデルのそれぞれごとに、
対応するパラメータに基づいて、複数の予測サブモデルのそれぞれを計算する複数の予測サブモデル計算部と、
前記複数の予測サブモデルのそれぞれに与える重みを設定する重み設定部と、を有し、
前記複数の予測モデルのそれぞれによる予測値は、前記複数の予測サブモデルのそれぞれの予測値と対応する重みとを乗じた値を足し合わせた値である、請求項１に記載の予測モデル生成装置。
【請求項５】
前記予測性能評価部は、前記複数のクラスのそれぞれごとに、前記複数の予測サブモデルの重みの比率を示す情報を表示する表示部を請求項４に記載の予測モデル生成装置。
【請求項６】
前記予測モデル計算部は、所定の対象物または対象サービスの需要予測を行うための前記複数の予測モデルを計算する、請求項１乃至５のいずれか一項に記載の予測モデル生成装置。
【請求項７】
前記クラス分けは、日時条件及び環境条件の少なくとも一方に基づいて行われる、請求項１乃至６のいずれか一項に記載の予測モデル生成装置。
【請求項８】
複数の説明変数を第１記憶部に記憶し、
複数の目的変数を第２記憶部に記憶し、
クラス分けに関する指示情報を入力部にて入力し、
前記指示情報に基づいて複数のクラスを生成し、
前記複数のクラスに対応する複数の予測モデルを計算する際に、
前記第１記憶部に記憶された前記複数の説明変数と、前記第２記憶部に記憶された前記複数の目的変数との中から、前記複数のクラスのそれぞれに対応する学習用のデータセットを抽出し、
前記第１記憶部に記憶された前記複数の説明変数と、前記第２記憶部に記憶された前記複数の目的変数との中から、前記複数のクラスのそれぞれに対応する評価用のデータセットを抽出し、
前記学習用のデータセットに基づいて、前記複数の予測モデルのそれぞれに含まれるパラメータを計算し、
前記評価用のデータセットに基づいて、前記複数の予測モデルの予測性能を評価する、予測モデル生成方法。
【請求項９】
コンピュータに、
複数の説明変数を記憶するステップと、
複数の目的変数を記憶するステップと、
クラス分けに関する指示情報を入力するステップと、
前記指示情報に基づいて複数のクラスを生成するステップと、
前記複数のクラスに対応する複数の予測モデルを計算するステップと、を実行させるものであり、
前記複数の予測モデルを計算するステップは、
前記複数の説明変数及び前記複数の目的変数の中から、前記複数のクラスのそれぞれに対応する学習用のデータセットを抽出するステップと、
前記複数の説明変数及び前記複数の目的変数の中から、前記複数のクラスのそれぞれに対応する評価用のデータセットを抽出するステップと、
前記学習用のデータセットに基づいて、前記複数の予測モデルのそれぞれに含まれるパラメータを計算するステップと、
前記評価用のデータセットに基づいて、前記複数の予測モデルの予測性能を評価するステップと、を有する、予測モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、予測モデル生成装置、予測モデル生成方法及び予測モデル生成プログラムに関する。
【背景技術】
【０００２】
何らかの量の数値的な予測を行う場合、予測のためのモデルを生成する手法が知られている。しかしながら、全ての条件において同一の予測モデルが有効であるとは限らない。例えば、電力の需要を予測する場合、任意の時点で電力の需要と供給が一致していなければならない。発電設備の出力は短時間で大きく変更させるのは困難なため、電力の需要量を前もって予測し、その予測量に合わせて発電設備の運転を計画する必要がある。
【０００３】
電力の需要は、日時や気象条件等の影響を受けるため、需要に影響する可能性のある要素を説明変数として、予測値を目的変数とする予測モデルを生成して、需要予測を行うのが望ましい。
【０００４】
しかしながら、予測モデルが一つだけだと、日時や気象条件等によって、予測性能が大きく変動するおそれがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２２１３１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、構成を複雑化することなく、予測性能を向上させることができる予測モデル生成装置、予測モデル生成方法及び予測モデル生成プログラムを提供するものである。
【課題を解決するための手段】
【０００７】
本実施形態によれば、複数の説明変数を記憶する第１記憶部と、
複数の目的変数を記憶する第２記憶部と、
クラス分けに関する指示情報を入力する入力部と、
前記指示情報に基づいて複数のクラスを生成するクラス生成部と、
前記複数のクラスに対応する複数の予測モデルを計算する予測モデル計算部と、を備え、
前記予測モデル計算部は、
前記複数の説明変数及び前記複数の目的変数の中から、前記複数のクラスのそれぞれに対応する学習用のデータセットを抽出する学習用データセット抽出部と、
前記複数の説明変数及び前記複数の目的変数の中から、前記複数のクラスのそれぞれに対応する評価用のデータセットを抽出する評価用データセット抽出部と、
前記学習用のデータセットに基づいて、前記複数の予測モデルのそれぞれに含まれるパラメータを計算するパラメータ計算部と、
前記評価用のデータセットに基づいて、前記複数の予測モデルの予測性能を評価する予測性能評価部と、を備える、予測モデル生成装置が提供される。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態による予測モデル生成装置１の概略構成を示すブロック図。
【図２】電力の需要予測を行う場合の説明変数の一例を示す図。
【図３】電力の需要予測を行った結果を示す電力需要量を目的変数とする例を示す図。
【図４】図１の予測モデル計算部の内部構成を具体化した一例を示すブロック図。
【図５】図１の予測モデル生成装置の処理動作を示すフローチャート。
【図６】第２の実施形態による予測モデル生成装置の概略構成を示すブロック図。
【図７】複数の予測モデルのそれぞれを構成する複数のサブモデルの重みの比率を示す情報を視覚化したグラフ。
【発明を実施するための形態】
【０００９】
以下、図面を参照して実施の形態について説明する。なお、本件明細書と添付図面においては、理解のしやすさと図示の便宜上、一部の構成部分を省略、変更または簡易化して説明および図示しているが、同様の機能を期待し得る程度の技術内容も、本実施の形態に含めて解釈することとする。
【００１０】
（第１の実施形態）
図１は第１の実施形態による予測モデル生成装置１の概略構成を示すブロック図である。図１の予測モデル生成装置１が予測する対象は特に問わないが、以下では、例えば電力の需要を予測する例を主に説明する。電力の需要はその日時に大きく影響される。例えば、夏は冷房、冬は暖房のための電力の需要が大きく増える。また、平日は、業務のための電力需要があるため、休日よりも一般に需要が大きい。さらに、通常は、夜間よりも人々の活動が活発な昼間の時間帯の方が需要が大きい。また、需要は気象条件の影響を受ける。夏であれば気温が高いほど冷房の使用量が増えるので、需要も増える。逆に冬であれば、気温が低いほど需要が増える。また、雨量や日射量なども需要に影響する可能性がある。図１の予測モデル生成装置１は、日時や気象条件等によって需要が変動することを念頭に置いて、予測性能を向上可能な予測モデルを生成するものである。
【００１１】
図１の予測モデル生成装置１は、説明変数データベース（説明変数ＤＢ、第１記憶部）２と、目的変数データベース（目的変数ＤＢ、第２記憶部）３と、入力部４と、クラス生成部５と、予測モデル計算部６と、表示部７とを備えている。
【００１２】
説明変数ＤＢ２は、複数の説明変数を記憶する。説明変数は、予測モデル８に入力される入力データである。図２は例えば電力の需要予測を行う場合の説明変数の一例を示す図である。図２の例では、識別番号と、西暦年、月、日、曜日、時間、気温(℃)、降水量(ｍｍ／Ｈ)、日射量(Ｗ)などの複数の説明変数を含んでいる。図２の各行ごとに、複数の説明変数が対応づけられている。予測モデル８には、図２の各行の複数の説明変数が入力データとして入力される。
【００１３】
目的変数ＤＢ３は、複数の目的変数を記憶する。目的変数は、予測モデル８から出力される予測値である。図３は電力の需要予測を行った結果を示す電力需要量(Ｍｗｈ)を目的変数とする例を示している。図３の目的変数ＤＢ３内の識別番号は、図２の説明変数ＤＢ２内の識別番号と対応づけられている。すなわち、図２の説明変数ＤＢ２内の各行の複数の説明変数は、図３の目的変数ＤＢ３内の対応する行の目的変数に対応づけられている。
【００１４】
入力部４は、クラス分けに関する指示情報を入力する。例えば、ユーザが曜日ごとに予測モデル８を生成することを希望する場合には、ユーザは各曜日ごとにクラス分けを行うための指示情報を入力する。あるいは、ユーザは１時間単位でクラス分けを行うための指示情報を入力してもよい。この場合は、２４個のクラスに分けられることになる。ユーザは、必ずしも細かい単位でクラス分けを行うとは限らない。例えば、ユーザは、夜明け前、日中、夜間の３つのクラス分けを行うための指示情報を入力してもよい。なお、クラス分けは、一つの属性（例えば、日時情報）だけで行うとは限らない。例えば、複数の属性（例えば、日時情報と気象条件）を組み合わせてクラス分けを行ってもよい。
【００１５】
クラス生成部５は、入力部４で入力された指示情報に基づいて複数のクラスを生成する。ｎ（ｎは２以上の整数）個のクラスに分ける場合は、ｎ個の予測モデル８が生成されることになる。すなわち、各予測モデル８は、各クラスに対応づけて生成される。クラス生成部５は、例えば各クラスを識別するクラス識別子を生成する。例えばｎ個のクラスに分ける場合は、ｎ個のクラス識別子が生成される。クラス生成部５は、日時条件及び環境条件の少なくとも一方に基づいてクラス分けを行ってもよいし、他の任意の条件でクラス分けを行ってもよい。
【００１６】
予測モデル計算部６は、複数のクラスに対応する複数の予測モデル８を計算する。図４は図１の予測モデル計算部６の内部構成を具体化した一例を示すブロック図である。図４の予測モデル計算部６は、学習用データセット抽出部１１と、評価用データセット抽出部１２と、パラメータ計算部１３と、予測性能評価部１４とを有する。
【００１７】
学習用データセット抽出部１１は、説明変数ＤＢ２に記憶された説明変数と目的変数ＤＢ３に記憶された目的変数の中から、複数のクラスのそれぞれに対応する学習用のデータセットを抽出する。例えば、クラス分けが曜日別であって、金曜日のクラスについては、学習用データセット抽出部１１は、説明変数ＤＢ２と目的変数ＤＢ３から、金曜日のエントリのデータだけを抽出する。
【００１８】
評価用データセット抽出部１２は、説明変数ＤＢ２に記憶された説明変数と目的変数ＤＢ３に記憶された目的変数の中から、複数のクラスのそれぞれに対応する評価用のデータセットを抽出する。例えば、クラス分けが曜日別であって、金曜日のクラスについては、評価用データセット抽出部１２は、説明変数ＤＢ２と目的変数ＤＢ３の中から、金曜日のエントリのデータだけを抽出する。
【００１９】
パラメータ計算部１３は、学習用のデータセットに基づいて、複数の予測モデル８のそれぞれに含まれるパラメータを計算する。パラメータは、予測モデル８の特性を決める値である。例えば、予測モデル８として線形回帰モデルを用いる場合、説明変数の組を行列Ｘ、目的変数の組をベクトルＹで表すと、線形回帰モデルからなる予測モデル８は、以下の（１）式で表される。
Ｙ＝ＡＸ＋ｂ    …（１）
【００２０】
ここで、Ａとｂが決定すべきパラメータである。パラメータを決定するには、最小二乗法などを用いることができる。学習用データセットの説明変数をＸL、目的変数をＹLとすると、パラメータは以下の（２）式で求めることができる。
【数１】
2019087030.tif 000003
【００２１】
予測性能評価部１４は、評価用のデータセットに基づいて、複数の予測モデル８の予測性能を評価する。評価指標としては、例えば、ＲＭＳＥ（Root Mean Square error）を用いる。ＲＭＳＥは、以下の（３）式で表される。
【数２】
2019087030.tif 000004
【００２２】
ここで、ＹEとＸEはそれぞれ評価表データセットの目的変数と説明変数、Ｎは評価用データセットのエントリ数である。各クラスに対応する予測モデル８で計算された予測値と予測モデル８の性能は、クラス生成部５に返される。クラス生成部５は、予測性能評価部１４で評価された各予測モデル８の性能が所定の基準レベルよりも低い場合には、クラス分けをやり直す。これにより、予測モデル計算部６が計算する複数の予測モデル８が更新される。このように、予測性能評価部１４の評価結果をクラス生成部５に返すことで、クラス分けと予測モデル８の更新が行われ、この更新処理を繰り返す行うことで、各予測モデル８の予測性能を向上させることができる。
【００２３】
表示部７は、予測性能評価部１４の評価結果などを表示する。例えば、表示部７は、複数のクラスと、パラメータと、複数の予測モデル８とを対応づけて表示する。なお、表示部７の表示態様は任意であり、種々の表示態様を取り得る。
【００２４】
図５は図１の予測モデル生成装置１の処理動作を示すフローチャートである。まず、ユーザは、入力部４を介して、クラス分けに関する指示情報を入力する（ステップＳ１）。次に、クラス生成部５は、指示情報に基づいて複数のクラスを生成する（ステップＳ２）。次に、予測モデル計算部６は、複数のクラスに対応する複数の予測モデル８を計算する（ステップＳ３）。
【００２５】
図５の右側には、ステップＳ３の詳細な処理手順を示すフローチャートが示されている。まず、学習用データセット抽出部１１は、説明変数ＤＢ２と目的変数ＤＢ３の中から、複数のクラスのそれぞれに対応する学習用のデータセットを抽出する（ステップＳ１１）。評価用データセット抽出部１２は、説明変数ＤＢ２と目的変数ＤＢ３の中から、複数のクラスのそれぞれに対応する評価用のデータセットを抽出する（ステップＳ１２）。次に、パラメータ計算部１３は、学習用のデータセットに基づいて、複数の予測モデル８のそれぞれに含まれるパラメータを計算する（ステップＳ１３）。次に、予測性能評価部１４は、評価用のデータセットに基づいて、複数の予測モデル８の予測性能を評価する（ステップＳ１４）。以上により、図５のステップＳ３の処理が終了する。
【００２６】
図５のステップＳ３の処理が終了すると、次に、各予測モデル８のパラメータと、予測性能評価部１４による性能評価とを収集し（ステップＳ４）、収集した情報、すなわち各予測モデル８のパラメータと予測性能を表示部７に表示する（ステップＳ５）。
【００２７】
図５のフローチャートでは省略しているが、予測性能評価部１４による性能評価に基づいて、各予測モデル８の性能が所定の基準レベルより高いか否かを判定し、高くないと判定された場合には、ステップＳ１に戻って、クラス分けからやり直してもよい。
【００２８】
このように、第１の実施形態では、ユーザの指示情報に基づいてクラス分けを行い、クラス分けに基づいて学習用のデータセットと評価用のデータセットとを抽出し、抽出された学習用のデータセットに基づいて複数の予測モデル８のパラメータを計算するとともに、抽出された評価用のデータセットに基づいて複数の予測モデル８の予測性能を評価する。これにより、クラス分けを工夫することで、各予測モデル８の予測性能を向上できる。
【００２９】
（第２の実施形態）
第２の実施形態は、各予測モデル８を、複数の予測サブモデルを合成したアンサンブルモデルにするものである。
【００３０】
図６は第２の実施形態による予測モデル生成装置１の概略構成を示すブロック図である。図６の予測モデル生成装置１は、予測モデル計算部６内のパラメータ計算部１３の処理動作が図４のパラメータ計算部１３とは異なっている。
【００３１】
図６のパラメータ計算部１３は、複数の予測モデル８のそれぞれごとに、複数の予測サブモデル計算部１５と、重み設定部１６とを有する。各予測サブモデル計算部１５は、対応するパラメータに基づいて、複数の予測サブモデル１７のそれぞれを計算する。
【００３２】
重み設定部１６は、複数の予測サブモデル１７のそれぞれに与える重み１８を設定する。重み１８の設定手法には種々のものが考えられる。ここでは、一例として、予測誤差に反比例するように重み１８を与える例を説明する。予測サブモデル１７の数をＭ、各予測サブモデル１７の予測性能すなわちＲＭＳＥをｅi（ｉ＝１…Ｍ）とする。各予測サブモデル１７に与えられる重みｗi（ｉ＝１…Ｍ）は、以下の（４）式で表される。
【数３】
2019087030.tif 000005
【００３３】
このとき、予測モデル８が生成する予測値ｙは、各予測サブモデル１７が生成する予測値ｙi（ｉ＝１…Ｍ）を用いると、以下の（５）式で表される。
【数４】
2019087030.tif 000006
【００３４】
（５）式に示すように、各予測モデル８の予測値ｙは、各予測モデル８を構成する各予測サブモデル１７の予測値と対応する重み１８とを乗じた値を足し合わせた値になる。
【００３５】
図７は複数のクラスに対応する複数の予測モデル８のそれぞれを構成する複数のサブモデルの重み１８の比率を示す情報を視覚化したグラフである。図７のグラフは、表示部７に表示してもよい。図７の例では、各クラスごとに、予測サブモデル１７の重み１８がそれぞれ相違している。表示部７には、図７のグラフとともに、各予測モデル８の性能評価値を表示してもよい。ユーザは、各予測モデル８の性能評価値が高くなるように、各予測サブモデル１７の重み１８を調整したり、クラス分けを見直すことができる。図７では、各予測サブモデル１７の重み１８の比率を棒グラフで示している。他の表示形態にて各予測サブモデル１７の重み１８の比率を表示してもよい。
【００３６】
このように、第２の実施形態では、重み１８を個別に調整可能な複数の予測サブモデル１７にて各予測モデル８を構成するため、クラス分けの見直しだけでなく、各予測サブモデル１７の重み１８を調整することで、各予測モデル８の性能をより向上させやすくなる。
【００３７】
上述した第１及び第２の実施形態による予測モデル生成装置１は、種々の目的に適用可能である。例えば、電力の需要予測のための予測モデル８を生成したり、天気予報のための予測モデル８を生成してもよい。
【００３８】
上述した実施形態で説明した予測モデル生成装置１の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、予測モデル生成装置１の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【００３９】
また、予測モデル生成装置１の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【００４０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４１】
１  予測モデル生成装置、２  説明変数ＤＢ、３  目的変数ＤＢ、４  入力部、５  クラス生成部、６  予測モデル計算部、７  表示部、８  予測モデル、１１  学習用データセット抽出部、１２  評価データセット抽出部、１３  パラメータ計算部、１４  予測性能評価部、１５  予測サブモデル計算部、１６  重み設定部、１７  予測サブモデル
【図１】
2019087030.tif 000007
【図２】
2019087030.tif 000008
【図３】
2019087030.tif 000009
【図４】
2019087030.tif 000010
【図５】
2019087030.tif 000011
【図６】
2019087030.tif 000012
【図７】
2019087030.tif 000013