(57)【特許請求の範囲】
【請求項１】
過去の一時点までの実測データを用いて学習された推定器と、当該一時点以降の実測データである検証データと、推定器の更新要否を評価指標に基づいて規定した更新ルールとを受け付ける受付手段と、
所定期間の前記検証データを推定器へ時系列に適用することにより算出される推定結果と、前記更新ルールとに基づいて、当該所定期間における推定器の評価指標および推定器の更新結果をシミュレートするシミュレート手段とを備えた
ことを特徴とするシミュレートシステム。
【請求項２】
シミュレート手段は、推定器の更新結果として、所定期間に推定器が更新される回数をシミュレートする
請求項１記載のシミュレートシステム。
【請求項３】
シミュレート手段は、検証データを推定器へ時系列に適用して推定結果を算出し、判定時点までの推定結果に基づいて算出される評価指標が更新ルールに適合する場合に、当該更新ルールで規定される方法に基づいて推定器を更新し、前記判定時点以降の検証データを更新後の推定器へ時系列に適用して推定結果を算出する
請求項１または請求項２記載のシミュレートシステム。
【請求項４】
シミュレート結果として、シミュレートされた評価指標と更新結果の少なくとも一方を出力する出力手段を備え、
前記出力手段は、多次元空間上の各次元軸に、前記評価指標と更新結果を表わす指標のいずれかを設定し、多次元空間上の対応する位置にシミュレート結果をプロットする
請求項１から請求項３のうちのいずれか１項に記載のシミュレートシステム。
【請求項５】
シミュレートされた評価指標および更新結果の最適解を探索する探索手段を備えた
請求項１から請求項４のうちのいずれか１項に記載のシミュレートシステム。
【請求項６】
過去の実測データを学習データとして用いて推定器を生成する推定器生成手段と、
生成された推定器を記憶する推定器記憶手段とを備え、
前記推定器生成手段は、前記実測データを予め定めた区間に区切ったデータ群を学習データとして用いて推定器を生成し、生成した推定器へ時系列に検証データを適用する間の各推定タイミングである予測ターゲットの評価指標を算出し、生成された推定器と前記予測ターゲットごとの評価指標を含むデータセットを生成して前記推定器記憶手段に記憶し、
シミュレート手段は、評価指標を算出する時点に対応する予測ターゲットの評価指標を推定器記憶手段から抽出し、抽出した評価指標が更新ルールに適合する場合に、当該更新ルールに基づいて再学習後の推定器を推定器記憶手段から抽出して更新する
請求項１または請求項２記載のシミュレートシステム。
【請求項７】
シミュレート結果に基づいて更新ルールを評価するルール評価手段を備え、
前記ルール評価手段は、過去の一時点以降の予測対象区間全体で獲得し得る最大性能と、評価対象とする更新ルールを適用した場合の性能とを比較して更新ルールを評価する
請求項１から請求項６のうちのいずれか１項に記載のシミュレートシステム。
【請求項８】
受付手段は、異なるアルゴリズムを用いて生成された複数の推定器を受け付け、
シミュレート手段は、異なるアルゴリズムを用いて生成された推定器ごとにシミュレートする
請求項１から請求項７のうちのいずれか１項に記載のシミュレートシステム。
【請求項９】
コンピュータが、過去の一時点までの実測データを用いて学習された推定器と、当該一時点以降の実測データである検証データと、推定器の更新要否を評価指標に基づいて規定した更新ルールとを受け付け、
前記コンピュータが、所定期間の前記検証データを推定器へ時系列に適用することにより算出される推定結果と、前記更新ルールとに基づいて、当該所定期間における推定器の評価指標および推定器の更新結果をシミュレートする
ことを特徴とするシミュレート方法。
【請求項１０】
コンピュータに、
過去の一時点までの実測データを用いて学習された推定器と、当該一時点以降の実測データである検証データと、推定器の更新要否を評価指標に基づいて規定した更新ルールとを受け付ける受付処理、および、
所定期間の前記検証データを推定器へ時系列に適用することにより算出される推定結果と、前記更新ルールとに基づいて、当該所定期間における推定器の評価指標および推定器の更新結果をシミュレートするシミュレート処理
を実行させるためのシミュレート用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定器を用いた運用をシミュレートするシミュレートシステム、シミュレート方法およびシミュレート用プログラムに関する。
【背景技術】
【０００２】
推定器は、環境の変化などが原因で、時間の経過とともに推定精度が劣化することが知られている。推定器は、例えば、目的変数と説明変数との間で成り立つ規則性を示す関数で表される。そのため、更新することによって精度が向上すると判断される推定器を対象として再学習が行われ、再学習により生成された推定器が新たな推定器として更新される。【０００３】
例えば、特許文献１には、各種設備のエネルギー需要を予測する装置が記載されている。特許文献１に記載された装置は、所定期間経過するごとに、前日に取得されたデータ、１時間前に取得されたデータ、１分前に取得されたデータを用いて、逐次、エネルギー需要予測モデルを更新する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１９４７００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
推定器の精度を人手で監視し、また、推定器の更新を人手で判断することは煩雑な作業である。そこで、推定器を更新するか否かを判断するためのルールを設定し、その設定に基づいて推定器を更新するか否かが自動的または半自動的に判断されることが好ましい。【０００６】
しかし、推定する状況は未来の状況であるため、管理者がどのようなルールを設定することが適切か判断することは容易ではという技術的課題がある。推定器を更新するか否かの判断は、推定器の精度だけでなく、更新に要するコストも考慮されるからである。【０００７】
すなわち、推定器を更新する際には、様々なコスト（マシンリソース、金銭的コスト、更新後の推定器の内容を人間が理解しなおすための人的コスト、など）が発生するため、推定器が頻繁に更新されることとは好ましくない。その一方で、推定器の更新頻度を下げすぎると推定器の精度が劣化してしまう可能性がある。さらに、推定器を更新したからと言って、必ずしも推定精度が向上するとは限らない。【０００８】
特許文献１に記載された装置のように、精度劣化の有無にかかわらず予測モデルを更新する方法では、推定器の更新に多くのリソースやコストが必要になるため、実際の運用時に運用者の負担が大きくなってしまうと言う技術的課題がある。そのため、更新に要するコストと更新による推定精度の向上とを考慮のうえ、推定器を更新する好適なルールを検討できることが好ましい。【０００９】
そこで、本発明は、推定器を更新するルールの好適性をシミュレートできるシミュレートシステム、シミュレート方法およびシミュレート用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明によるシミュレートシステムは、過去の一時点までの実測データを用いて学習された推定器と、その一時点以降の実測データである検証データと、推定器の更新要否を評価指標に基づいて規定した更新ルールとを受け付ける受付手段と、所定期間の検証データを推定器へ時系列に適用することにより算出される推定結果と、更新ルールとに基づいて、その所定期間における推定器の評価指標および推定器の更新結果をシミュレートするシミュレート手段とを備えたことを特徴とする。
【００１１】
本発明によるシミュレート方法は、コンピュータが、過去の一時点までの実測データを用いて学習された推定器と、その一時点以降の実測データである検証データと、推定器の更新要否を評価指標に基づいて規定した更新ルールとを受け付け、コンピュータが、所定期間の検証データを推定器へ時系列に適用することにより算出される推定結果と、更新ルールとに基づいて、その所定期間における推定器の評価指標および推定器の更新結果をシミュレートすることを特徴とする。
【００１２】
本発明によるシミュレート用プログラムは、コンピュータに、過去の一時点までの実測データを用いて学習された推定器と、その一時点以降の実測データである検証データと、推定器の更新要否を評価指標に基づいて規定した更新ルールとを受け付ける受付処理、および、所定期間の検証データを推定器へ時系列に適用することにより算出される推定結果と、更新ルールとに基づいて、その所定期間における推定器の評価指標および推定器の更新結果をシミュレートするシミュレート処理を実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、上述した技術的手段により、推定器を更新するルールの好適性をシミュレートできるという技術的効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】本発明によるシミュレートシステムの第１の実施形態の構成例を示す説明図である。
【図２】評価指標、再学習ルールおよび更新評価ルールの例を示す説明図である。
【図３】シミュレート結果を可視化した例を示す説明図である。
【図４】第１の実施形態のシミュレートシステムの動作例を示すフローチャートである。
【図５】本発明によるシミュレートシステムの第２の実施形態の構成例を示す説明図である。
【図６】生成されるデータセットの例を示す説明図である。
【図７】第２の実施形態のシミュレートシステムの動作例を示すフローチャートである。
【図８】本発明によるシミュレートシステムの第３の実施形態の構成例を示す説明図である。
【図９】本発明によるシミュレートシステムの概要を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面を参照して説明する。
【００１６】
実施形態１．
図１は、本発明によるシミュレートシステムの第１の実施形態の構成例を示す説明図である。本実施形態のシミュレートシステムは、記憶部１１と、推定器生成部１２と、シミュレート情報入力部１３と、シミュレート部１４と、結果出力部１５とを備えている。
【００１７】
記憶部１１は、学習データとして用いられる過去の実測データやシミュレートシステムにおける各処理に必要なデータを記憶する。記憶部１１は、例えば、磁気ディスク装置等により実現される。
【００１８】
推定器生成部１２は、記憶部１１に記憶された過去の一時点までの実測データを学習データとし、予め定めたアルゴリズムに基づいて推定器を生成し、シミュレート情報入力部１３に入力する。推定器生成部１２は、過去の一時点までの全ての実測データを学習データとしてもよく、一部の実測データのみを学習データとしてもよい。推定器は、上述するように、例えば、目的変数と説明変数との間で成り立つ規則性を示す関数で表される。
【００１９】
推定器を生成する際に用いられるアルゴリズムは任意である。推定器生成部１２は、例えば、ＦＡＢ（Factorized-asymptotic Bayesian）に基づいて推定器を生成してもよく、カーネルＳＶＭ（support vector machine）や決定木などに基づいて推定器を生成してもよい。また、推定器生成部１２が用いるアルゴリズムは１つに限られず、推定器生成部１２は、複数のアルゴリズムを組み合わせて推定器を生成してもよい。
【００２０】
シミュレート情報入力部１３は、推定器生成部１２が生成した推定器の入力を受け付ける。また、シミュレート情報入力部１３は、推定器の学習に用いられた学習データ以降の実測データの入力を受け付ける。具体的には、シミュレート情報入力部１３は、記憶部１１から過去の一時点以降の一部または全部の実測データを読み取る。以下の説明では、シミュレートに用いられる過去の一時点以降の一部または全部の実測データを検証データと記す。また、検証データの期間は、後述するシミュレート部１４がシミュレート処理を行う期間であることから、入力される検証データの期間をシミュレート期間と言うこともできる。
【００２１】
さらに、シミュレート情報入力部１３は、推定器の更新ルールの入力を受け付ける。更新ルールは、推定器の更新要否を予め定めた評価指標に基づいて規定したルールである。ここで、更新ルールには、実際に更新を行うか否かを判断するためのルールのほか、更新する前段階として推定器を再学習するか否かを判断するためのルールも含む。
【００２２】
以下の説明では、更新ルールのうち、再学習するか否かを判断するためのルールを再学習ルールと記し、再学習後の推定器を実際に更新するか否かを判断するためのルールを更新評価ルールと記す。再学習ルールは、推定器の再学習要否を予め定めた評価指標に基づいて規定したルールと言え、更新評価ルールは、更新前の推定器の評価指標と更新後の推定器の評価指標との変化状況を規定したルールと言える。以下の説明では、特に断りのない限り、更新ルールは、再学習ルールと更新評価ルールのいずれも含むものとする。
【００２３】
更新ルールは、再学習の要否や更新の要否を判断するための条件のほか、再学習をする際のアルゴリズムや、用いる学習データの期間、学習データの内容や、学習データに用いるデータの生成方法などを含んでいてもよい。
【００２４】
シミュレート部１４は、評価指標算出部２１と、推定器再学習部２２と、推定器更新部２３とを含む。
【００２５】
評価指標算出部２１は、予め定めた評価指標を算出する。具体的には、評価指標算出部２１は、検証データを推定器へ時系列に適用して推定結果を算出する。そして、評価指標算出部２１は、推定結果に基づいて評価指標を算出する。評価指標算出部２１は、更新ルールで用いられる評価指標を算出してもよいし、予め定めた任意の評価指標を算出してもよい。また、評価指標を算出するタイミングも任意であり、評価指標算出部２１は、更新ルールで定められたタイミングで評価指標を算出してもよく、定期的に又は所定のタイミングで評価指標を算出してもよい。
【００２６】
また、評価指標の内容は任意である。評価指標として、前回の推定器を学習してからの期間や更新してからの期間、学習データの増加量、時間の経過に対する精度劣化度合、サンプル数などの変化が挙げられる。ただし、評価指標の内容はこれらの内容に限定されず、推定器を更新すべきかの判断に利用することが可能な指標であれば、他の内容であってもよい。また、評価指標は、推定結果により算出される内容に限定されない。
【００２７】
推定器再学習部２２は、更新ルールに基づいて、推定器を再学習するか否か判断する。具体的には、推定器再学習部２２は、検証データを推定器へ時系列に適用し、再学習するか否か判定する時点（以下、判定時点と記す。）までの推定結果に基づいて算出される評価指標が再学習ルールに適合するか否か判断する。再学習ルールに適合する場合、推定器再学習部２２は、再学習ルールで規定される方法に基づいて推定器を再学習する。
【００２８】
なお、推定器再学習部２２は、再学習ルールに適合する全ての推定器を再学習してもよく、再学習ルールに適合する推定器のうち、予め定めた規則に基づいて一部の推定器のみ再学習してもよい。
【００２９】
推定器更新部２３は、更新ルールに基づいて、推定器を更新するか否か判断する。具体的には、推定器更新部２３は、更新前の推定器の評価指標と更新後の推定器の評価指標との変化状況を特定し、その変化状況が更新評価ルールに適合する場合、推定器更新部２３は、再学習後の推定器で元の推定器を更新する。以降、判定時点以降の検証データが更新後の推定器へ時系列に適用され、推定結果が算出される。
【００３０】
更新評価ルールで規定する変化状況の内容も任意である。変化状況として、例えば、推定精度の変化や、推定器で用いられるサンプル数の変化などが挙げられる。
【００３１】
図２は、評価指標、再学習ルールおよび更新評価ルールの例を示す説明図である。図２に例示する「再学習判定」の欄は、再学習ルールを定義する構成要素であり、再学習ルールが、「評価指標」の列に示す各評価指標の条件を「論理構造」の欄に示す演算子で結合した条件として表されることを示す。また、「対象選択」の欄は、再学習ルールに適合する推定器のうち、再学習する対象を選択するルールを示す。また、「再学習データの作り方」の欄は、再学習に用いられる学習データの生成方法を示す。また、「再学習後の出荷判定」の欄は、更新評価ルールを定義する構成要素であり、更新評価ルールが、「評価指標」の列に示す各評価指標の条件を「論理構造」の欄に示す演算子で結合した条件として表されることを示す。
【００３２】
また、推定器更新部２３は、シミュレート結果として、推定器の更新回数および更新に要した時間やマシンリソースなどの更新コストを保持する。さらに、推定器更新部２３は、シミュレート結果として、更新要否を判断した際の変化状況（例えば、推定精度の変化率、サンプルの変化数など）や、更新後の推定器の評価指標を保持してもよい。
【００３３】
このように、シミュレート部１４は、全体として、所定期間の検証データを推定器へ時系列に適用することにより算出される推定結果と、更新ルールとに基づいて、その所定期間における推定器の評価指標および推定器の更新結果をシミュレートする。なお、シミュレート部１４は、評価指標と更新結果の少なくとも一方のみシミュレートしてもよい。
【００３４】
なお、本実施形態では、推定器再学習部２２が推定器を再学習した後、推定器更新部２３が、再学習後の推定器を更新するか否か判断する。ただし、推定器更新部２３は、再学習後の推定器を更新するか否か判断することなく、そのまま再学習前の推定器を更新してもよい。ただし、推定器更新部２３が、再学習前の推定器と再学習後の推定器の変化状況に基づいて更新するか否か判断することにより、推定器の不用意な更新を抑制できるため、より好ましい。
【００３５】
結果出力部１５は、シミュレート結果を出力する。具体的には、結果出力部１５は、更新ルールのシミュレート結果として、シミュレート期間の評価指標と更新結果の少なくとも一方を出力する。シミュレート結果の出力態様は任意である。結果出力部１５は、例えば、シミュレート期間の推定器の評価指標（例えば、平均誤差、平均誤差率、最大誤差率などの精度指標）、再学習回数、更新回数、更新タイミング（具体的な日時）を推定器の更新ルールごとに出力してもよい。このとき、結果出力部１５は、各回数や評価指標の値に応じて更新ルールをソートして出力してもよい。
【００３６】
また、複数の更新ルールでシミュレートを行った場合、結果出力部１５は、更新ルールごとにシミュレート結果を表示してもよい。複数の更新ルールの例として、更新ルールに用いられる可変な閾値を変化させたルールが挙げられる。例えば、“直近一週間とそれ以前とで１日の平均誤差率がＮ（％）悪化した”という更新ルールにおけるＮが、可変な閾値（パラメタ）に該当する。
【００３７】
結果出力部１５は、シミュレート結果を一見して人間が把握できるようにグラフを用いて可視化してもよい。具体的には、結果出力部１５は、各次元軸に評価指標と更新結果を表わす指標のいずれかを設定した多次元空間を定義し、多次元空間上の対応する位置にシミュレート結果をプロットしてもよい。
【００３８】
図３は、シミュレート結果を可視化した例を示す説明図である。図３に示す例では、２次元空間上のＸ軸に更新回数が設定され、Ｙ軸に平均誤差率が設定されていることを示す。結果出力部１５は、グラフ上の対応する位置に、パラメタを可変にして実行した各シミュレート結果をプロットしてもよい。また、結果出力部１５は、図３に例示するように、パラメタを可変にして複数シミュレートした場合における更新回数の平均や平均誤差率の平均を出力してもよい。
【００３９】
また、推定器の学習アルゴリズムが複数想定される場合、結果出力部１５は、異なる学習アルゴリズムのシミュレート結果を出力してもよい。具体的には、シミュレート部１４がそれぞれ異なる学習アルゴリズムで学習された推定器をシミュレートし、結果出力部１５が、学習アルゴリズムごとのシミュレート結果（評価指標など）を出力してもよい。
【００４０】
このようにすることで、精度重視の学習アルゴリズムや解釈性の高い学習アルゴリズムとの比較を容易に行うことが可能になる。また、各学習アルゴリズムの評価指標を出力することで、例えば、評価指標を用いて規定される条件に応じて学習器を切り替える機能を実装することも可能になる。この場合、学習器に関しても最適性を保証できるため、学習器の良否を人間（分析者や管理者、顧客）が評価するコストを抑制できる。
【００４１】
また、結果出力部１５は、シミュレート結果だけでなく、シミュレート結果から最適解を探索し、探索結果を出力してもよい。具体的には、結果出力部１５は、シミュレートされた評価指標および更新結果の最適解を探索し、その最適解が得られる更新ルールを出力してもよい。
【００４２】
推定器生成部１２と、シミュレート情報入力部１３と、シミュレート部１４（より具体的には、評価指標算出部２１と、推定器再学習部２２と、推定器更新部２３）と、結果出力部１５とは、プログラム（シミュレート用プログラム）に従って動作するコンピュータのＣＰＵによって実現される。
【００４３】
例えば、プログラムは、記憶部１１に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、推定器生成部１２、シミュレート情報入力部１３、シミュレート部１４（より具体的には、評価指標算出部２１、推定器再学習部２２および推定器更新部２３）および結果出力部１５として動作してもよい。
【００４４】
また、推定器生成部１２と、シミュレート情報入力部１３と、シミュレート部１４（より具体的には、評価指標算出部２１と、推定器再学習部２２と、推定器更新部２３）と、結果出力部１５とは、それぞれが専用のハードウェアで実現されていてもよい。また、本発明によるシミュレートシステムは、２つ以上の物理的に分離した装置が有線または無線で接続されることにより構成されていてもよい。
【００４５】
次に、本実施形態のシミュレートシステムの動作を説明する。図４は、本実施形態のシミュレートシステムの動作例を示すフローチャートである。
【００４６】
推定器生成部１２は、記憶部１１に記憶された過去の一時点までの学習データを用いて推定器を生成し（ステップＳ１１）、シミュレート情報入力部１３に入力する。シミュレート情報入力部１３は、生成された推定器、更新ルールおよび検証データを受け付け、シミュレート部１４に入力する（ステップＳ１２）。
【００４７】
シミュレート部１４において、評価指標算出部２１は、推定器の評価指標を算出する（ステップＳ１３）。推定器再学習部２２は、更新ルールに基づいて、推定器を再学習するか否か判断する（ステップＳ１４）。推定器を再学習しないと判断した場合（ステップＳ１４におけるＮｏ）、次の判定時点についてステップＳ１３以降の処理を繰り返す。一方、推定器を再学習すると判断した場合（ステップＳ１４におけるＹｅｓ）、推定器再学習部２２は、再学習ルールで規定される方法に基づいて推定器を再学習する（ステップＳ１５）。
【００４８】
推定器更新部２３は、更新ルールに基づいて、推定器を更新するか否か判断する（ステップＳ１６）。推定器を更新しないと判断した場合（ステップＳ１６におけるＮｏ）、次の判定時点についてステップＳ１３以降の処理を繰り返す。一方、推定器を更新すると判断した場合（ステップＳ１６におけるＹｅｓ）、推定器更新部２３は、再学習後の推定器で元の推定器を更新する（ステップＳ１７）。
【００４９】
以上のように、本実施形態では、シミュレート部１４が、シミュレート情報入力部１３から、過去の一時点までの実測データ（学習データ）を用いて学習された推定器と、検証データと、更新ルール（具体的には、再学習ルールと評価ルール）とを受け付ける。そして、シミュレート部１４が、所定期間の検証データを推定器へ時系列に適用することにより算出される推定結果と、更新ルールとに基づいて、その所定期間における推定器の評価指標および推定器の更新結果の少なくとも一方をシミュレートする。なお、シミュレート部１４は、評価指標算出部２１、推定器再学習部２２および推定器更新部２３により実現される。よって、推定器を更新するルールの好適性をシミュレートできる。
【００５０】
以下、具体的な実施例により本実施形態の動作を説明するが、本発明の範囲は以下に説明する内容に限定されない。本具体例では、シミュレートシステムが、過去１年分の学習データを利用して、ある更新ルールを仮に設定した場合における、１年間の推定器の更新コスト（更新回数）と、１年間の推定器の平均推定精度とをシミュレートするものとする。
【００５１】
本具体例では、記憶部１１が、過去の１年分の学習データとして、２０１４年１月１日から２０１４年１２月３１日までの実測データを記憶している。過去の一時点を２０１４年１月３１日とすると、実測データは、２０１４年１月１日から２０１４年１月３１日までの学習データと、２０１４年２月１日から２０１４年１２月３１日までの検証データに分けられる。
【００５２】
推定器生成部１２は、前者の学習データに基づいて推定器を生成し、シミュレート情報入力部１３に入力する。また、シミュレート情報入力部１３は、管理者からシミュレートする更新ルールの入力を受け付ける。シミュレート情報入力部１３は、例えば、「売上個数の誤差が３日連続で１０％を超えたらその推定式を更新する」という更新ルール（以下、更新ルールＲ１と記す。）、「売上個数の誤差が３日連続で１５％を超えたらその推定式を更新する」（以下、更新ルールＲ２と記す。）という更新ルール、および、「売上個数の誤差が３０％を超えたら即日その推定式を更新する」（以下、更新ルールＲ３と記す。）という更新ルールを受け付ける。
【００５３】
シミュレート部１４（より具体的には、評価指標算出部２１、推定器再学習部２２または推定器更新部２３）は、生成された推定式に検証データを適用し、入力された更新ルールに従ってシミュレートする。そして、結果出力部１５は、更新ルールごとのシミュレート結果として、更新コスト（更新回数）と、推定器の平均推定精度を出力する。
【００５４】
結果出力部１５がこのようなシミュレート結果を出力することにより、管理者が、どのような更新ルールを設定するとどのような運用結果（具体的には、更新コストおよび推定精度）が得られるのかを、事前に把握することが可能になる。そのため、管理者にとっては、設定すべき更新ルールを適切かつ容易に検討できる。例えば、上述する例では、管理者は、更新ルールＲ１〜Ｒ３のうち、いずれの更新ルールがより適切かを判断することが可能になる。
【００５５】
次に、本実施形態の変形例を説明する。第１の実施形態では、シミュレート情報入力部１３が、予め定めた評価指標に基づいて規定された更新ルールを受け付ける場合を説明した。例えば、図２に例示する「再学習判定」の欄の「評価指標」の列には、可変な閾値（パラメタ）を含む複数の条件が記載されている。
【００５６】
そこで、本変形例のシミュレート情報入力部１３は、予め定めたアルゴリズムを用いて試行するパラメタを自動的に決定する。すなわち、シミュレート情報入力部１３は、１つ以上の可変な閾値（パラメタ）を条件に含む複数の更新ルールの中から、予め定めたアルゴリズムを用いて最適なパラメタを特定し、特定したパラメタで定義される更新ルールを入力する。  
【００５７】
最適化する対象は任意であり、例えば、上述する評価指標（精度指標など）が用いられる。また、パラメタを決定する際のアルゴリズムとして、例えば、遺伝的アルゴリズムやベイズ最適化（Gaussian Process）が用いられる。これらのアルゴリズムは、最適化対象が複数の場合にも利用可能である。
【００５８】
このように、シミュレート情報入力部１３が複数の更新ルールの中から、最適なパラメタにより定義される更新ルールを入力することで、複数の条件に含まれる可変な閾値（パラメタ）をすべてシミュレートする場合に比べ、より効率的にシミュレートできる。
【００５９】
実施形態２．
次に、本発明のシミュレートシステムの第２の実施形態を説明する。第１の実施形態では、評価指標算出部２１により算出される評価指標をもとに、推定器再学習部２２が推定器を再学習していた。本実施形態では、再学習の処理負荷を軽減させる方法を説明する。
【００６０】
図５は、本発明によるシミュレートシステムの第２の実施形態の構成例を示す説明図である。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。本実施形態のシミュレートシステムは、記憶部１１と、推定器生成部１２ａと、シミュレート情報入力部１３と、シミュレート部１４ａと、結果出力部１５とを備えている。すなわち、本実施形態の記憶部１１、シミュレート情報入力部１３および結果出力部１５の内容は、第１の実施形態と同様である。
【００６１】
本実施形態の推定器生成部１２ａは、記憶部１１に記憶された実測データを予め定めた区間に区切ったデータ群（以下、区間学習データと記す。）を学習データとして用いて、予め定めたアルゴリズムに基づいて推定器を生成する。区間学習データは複数生成され、その区間の粒度は任意である。この区間は、例えば、開始時期と期間により定義され、実際の運用で再学習に用いられる期間に設定することが好ましい。なお、この区間は重複していてもよい。
【００６２】
また、推定器生成部１２ａは、生成した推定器へ時系列に検証データを適用する間の各推定タイミング（以下、予測ターゲットと記す。）の評価指標を算出する。なお、評価指標の算出方法は、第１の実施形態において、評価指標算出部２１が評価指標を算出する方法と同様である。予測ターゲットは、例えば一ヶ月単位など、実際の運用で再学習判定を行うタイミングと同様の粒度で設定される。
【００６３】
推定器生成部１２ａは、生成した推定器と評価結果とを組にしたデータセットを生成し、記憶部１１に記憶する。推定器生成部１２ａは、例えば、推定器の学習区間、予測ターゲットおよび評価指標を含むデータセットを生成してもよい。
【００６４】
図６は、生成されるデータセットの例を示す説明図である。図６に示す例は、学習区間ｗの区間学習データを用いて推定器を生成し、学習区間の一定期間ｌ後の予測ターゲットにおける評価指標を複数作成していることを示す。
【００６５】
シミュレート部１４ａは、評価指標算出部２１ａと、推定器選択部２４と、推定器更新部２３とを含む。推定器更新部２３の内容は、第１の実施形態と同様である。
【００６６】
評価指標算出部２１ａは、評価指標を算出する。なお、本実施形態の評価指標算出部２１ａは、評価指標を算出する代わりに、評価指標を算出する時点に対応する予測ターゲットの評価指標を記憶部１１から抽出する。なお、対応する予測ターゲットの評価指標が記憶部１１に記憶されていない場合、評価指標算出部２１ａは、実際に評価指標を算出してもよい。なお、評価指標を算出する方法は、第１の実施形態の評価指標算出部２１が評価指標を算出する方法と同様である。
【００６７】
推定器選択部２４は、第１の実施形態の推定器再学習部２２と同様、更新ルールに基づいて、推定器を再学習するか否か判断する。本実施形態では、推定器選択部２４は、更新ルール（再学習ルール）に適合する場合、更新ルールに基づいて再学習後の推定器を記憶部１１から抽出する。推定器選択部２４は、例えば、更新ルールに規定される学習区間が一致する推定器を記憶部１１から抽出してもよい。なお、適切な推定器が記憶部１１に記憶されていない場合、推定器選択部２４は、第１の実施形態の推定器再学習部２２と同様に、推定器を再学習してもよい。
【００６８】
推定器更新部２３は、更新ルールに基づいて推定器を更新するか否か判断し、再学習前の推定器を更新する。推定器を更新するか否か判断する方法は、第１の実施形態と同様である。以降、更新された推定器とともに抽出された評価指標を用いて、各予測ターゲットにおいて再学習するか否かが判断される。
【００６９】
推定器生成部１２ａと、シミュレート情報入力部１３と、シミュレート部１４ａ（より具体的には、評価指標算出部２１ａと、推定器選択部２４と、推定器更新部２３）と、結果出力部１５とは、プログラム（シミュレート用プログラム）に従って動作するコンピュータのＣＰＵによって実現される。
【００７０】
また、推定器生成部１２ａと、シミュレート情報入力部１３と、シミュレート部１４ａ（より具体的には、評価指標算出部２１ａと、推定器選択部２４と、推定器更新部２３）と、結果出力部１５とは、それぞれが専用のハードウェアで実現されていてもよい。
【００７１】
次に、本実施形態のシミュレートシステムの動作を説明する。図７は、本実施形態のシミュレートシステムの動作例を示すフローチャートである。
【００７２】
推定器生成部１２ａは、区間学習データを用いて推定器を生成する（ステップＳ２１）。また、推定器生成部１２ａは、生成した推定器の予測ターゲットにおける評価指標を算出する（ステップＳ２２）。そして、推定器生成部１２ａは、生成した推定器および評価指標を含むデータセットを記憶部１１に記憶する（ステップＳ２３）。
【００７３】
評価指標算出部２１ａは、推定器の予測ターゲットにおける評価指標を記憶部１１から取得する（ステップＳ２４）。推定器選択部２４は、更新ルールに基づいて、推定器を再学習するか否か判断する（ステップＳ２５）。推定器を再学習しないと判断した場合（ステップＳ２５におけるＮｏ）、次の予測ターゲットについてステップＳ２４以降の処理を繰り返す。一方、推定器を再学習すると判断した場合（ステップＳ２５におけるＹｅｓ）、推定器選択部２４は、更新ルールに基づいて再学習後の推定器を記憶部１１から取得する（ステップＳ２６）。
【００７４】
推定器更新部２３は、更新ルールに基づいて、推定器を更新するか否か判断する（ステップＳ２７）。推定器を更新しないと判断した場合（ステップＳ２７におけるＮｏ）、次の予測ターゲットについてステップＳ２４以降の処理を繰り返す。一方、推定器を更新すると判断した場合（ステップＳ２７におけるＹｅｓ）、推定器更新部２３は、再学習後の推定器で元の推定器を更新する（ステップＳ２８）。
【００７５】
以上のように、本実施形態では、推定器生成部１２ａが、過去の実測データを学習データとして用いて推定器を生成し、記憶部１１が、生成された推定器を記憶する。具体的には、推定器生成部１２ａは、実測データを予め定めた区間に区切ったデータ群を学習データとして用いて推定器を生成する。そして、推定器生成部１２ａは、各予測ターゲットの評価指標を算出し、生成された推定器と予測ターゲットごとの評価指標を含むデータセットを生成して記憶部１１に記憶する。シミュレート部１４ａは、評価指標を算出する時点に対応する予測ターゲットの評価指標を記憶部１１から抽出し、抽出した評価指標が更新ルールに適合する場合に、その更新ルールに基づいて再学習後の推定器を記憶部１１から抽出して更新する。なお、シミュレート部１４ａは、評価指標算出部２１ａ、推定器選択部２４および推定器更新部２３により実現される。よって、第１の実施形態の効果に加え、再学習のコストを低減できる。
【００７６】
例えば、更新ルールに用いるパラメタを可変にして複数回シミュレートする場合、同様の再学習が行われる可能性が高い。そのため、本実施形態のように、再学習後の推定器および評価指標を予め準備しておくことで、シミュレートごとに再学習をする必要がなくなるため、コストを低減できる。
【００７７】
次に、第２の実施形態の変形例を説明する。第２の実施形態では、推定器生成部１２ａが事前に推定器および評価指標を生成しておく場合について説明した。ただし、区間学習データに対応する全ての推定器および評価指標を事前に生成しておく必要はない。本変形例では、区間学習データに対応する推定器を必要に応じて生成する方法を説明する。なお、本変形例の構成は、第２の実施形態と同様である。
【００７８】
本変形例では、推定器生成部１２ａは、区間学習データに基づいて生成された推定器および評価結果を含むデータセットを記憶していない、または、推定器および上記データセットを一部のみ記憶しているものとする。
【００７９】
評価指標算出部２１ａは、評価指標を算出する時点に対応する予測ターゲットのデータセットを記憶部１１から検索する。対応する予測ターゲットのデータセットが記憶部１１に記憶されている場合、評価指標算出部２１ａは、そのデータセットを抽出し、抽出された評価指標を、予測ターゲットの評価指標として用いる。一方、対応する予測ターゲットのデータセットが記憶部１１に記憶されていない場合、評価指標算出部２１ａは、推定器生成部１２ａに推定器および予測結果を含むデータセットの生成を指示する。なお、評価指標算出部２１ａ自身が、データセットを生成してもよい。
【００８０】
推定器生成部１２ａは、データセットの生成の指示を評価指標算出部２１ａから受けると、予め定めたアルゴリズムに基づいて推定器を生成し、記憶部１１に記憶する。また、推定器生成部１２ａは、生成した推定器を用いて、予測ターゲットの評価指標を算出し、記憶部１１に記憶する。すなわち、本変形例の処理は、シミュレート処理におけるキャッシュ処理と言うこともできる。したがって、本変形例の記憶部１１は、例えば、キャッシュメモリにより実現されていてもよい。
【００８１】
以降、推定器選択部２４が推定器を再学習するか否か判断し、推定器更新部２３が、再学習後の推定器で元の推定器を更新する処理は、第２の実施形態と同様である。
【００８２】
このように、本変形例では、推定器生成部１２ａが、評価指標算出部２１ａによるシミュレートで要求された時点で推定器および評価指標を生成する。この場合、必要な推定器および評価指標のみ生成されるため、第２の実施形態の効果に加え、事前に全ての推定器および評価指標を準備する方法に比べて、学習に要する時間を低減でき、必要なマシンコストを抑えることができる。
【００８３】
なお、本変形例では、評価指標算出部２１ａによるシミュレートで要求された時点で推定器および評価指標を生成する場合について説明した。これ以外にも、推定器生成部１２ａが区間学習データに基づいて全ての推定器を生成しておき、評価指標算出部２１ａによるシミュレートで要求された時点で、推定器生成部１２ａが予測指標を生成して記憶部１１に記憶してもよい。このようにすることで、シミュレート時間を高速化しつつ、評価指標を記憶する記憶容量を低減できる。
【００８４】
すなわち、推定器の再学習（推定器の生成）には、多くの時間がかかる一方で、推定器を記憶する容量は、さほど大きくない。一方、推定処理は、さほど時間がかからない一方で、推定結果を記憶する容量は大きくなる。そのため、学習時間や記憶容量に応じてこれらの処理を選択することで、推定器を更新するルールの好適性を環境に応じてシミュレートできる。
【００８５】
また、本変形例では、生成した推定器および評価指標を記憶部１１に逐次記憶する場合について説明したが、生成した内容を記憶部１１に記憶させるか否か、また、記憶させる場合にどの対象を記憶させるかは、マシンリソースに応じて任意に定めることが可能である。記憶部１１に記憶させるケースとして、（１）何も記憶させない場合、（２）推定器のみ記憶させる場合、（３）推定器および推定結果を記憶させる場合、（４）推定器、推定結果および評価指標を記憶させる場合、が挙げられる。例えば、上述する（３）については、例えば、更新ルールに用いられる評価指標自体もトライアンドエラーで試行する場合に好適に利用される。
【００８６】
実施形態３． 
本発明のシミュレートシステムの第３の実施形態を説明する。本実施形態では、更新ルールを評価する方法を説明する。すなわち、本実施形態のシミュレートシステムを用いることで、最適と判断された更新ルールがどの程度性能限界に達しているか評価することが可能になる。
【００８７】
図８は、本発明によるシミュレートシステムの第３の実施形態の構成例を示す説明図である。本実施形態のシミュレートシステムは、記憶部１１と、推定器生成部１２と、シミュレート情報入力部１３と、シミュレート部１４と、結果出力部１５と、ルール評価部１６とを備えている。すなわち、本実施形態のシミュレートシステムは、ルール評価部１６をさらに備えている点において、第１の実施形態と異なる。それ以外の構成については、第１の実施形態と同様である。
【００８８】
ルール評価部１６は、更新ルールを評価する。本実施形態のルール評価部１６は、シミュレート結果に基づいて更新ルールを評価する。具体的には、ルール評価部１６は、予測対象区間であるシミュレート期間全体で獲得し得る最大性能と、評価対象とする更新ルールを適用した場合の性能とを比較して、更新ルールを評価する。ここで、性能とは、予め定めた推定器の評価指標に基づいて定められるものであり、例えば、誤差などの精度指標や、コストなどの指標を含む評価指標などが挙げられる。性能の設定内容は任意であり、例えば、コスト面や精度面から、より好適な推定器と判断可能な基準が設定されればよい。
【００８９】
まず、ルール評価部１６は、全予測対象区間で獲得し得る最大性能を算出する。本実施形態では、予測対象区間内で性能を最大にする学習区間を事後的に選択することが可能である。学習区間の設定方法は任意である。例えば、予測ターゲットを月ごとに分割する場合、学習区間は、４月分、５月分、などのように設定される。また、性能を最大にする学習区間の選択は、更新内容に制限を設けない場合と更新内容に制限を設ける場合とに大別される。
【００９０】
更新内容に制限を設けない場合、ルール評価部１６は、性能を最大にする学習区間を選択する。そして、ルール評価部１６は、選択された学習区間ごとに性能を示す評価指標を計算し、全学習区間の性能を算出する。以下、この全学習区間の性能のことを、総合指標と記す。
【００９１】
ルール評価部１６は、例えば、学習区間ごとの性能の平均値を全学習区間の性能として算出してもよい。また、ルール評価部１６は、評価指標を個別に算出せず、第２の実施形態で生成されたデータセットに基づいて総合指標を算出してもよい。
【００９２】
一方、更新内容に制限を設ける場合、ルール評価部１６は、全学習区間を対象として、更新タイミング、学習区間および学習パラメタを条件に、性能を最大にする組合せを設けられた制限内で選択する。ルール評価部１６は、例えば、どのタイミングでどの学習区間やその他の学習パラメタを選択すれば全区間での総合誤差指標が最小になるかについて、これらの組み合わせを探索する。このとき、ルール評価部１６は、性能を最大にする組合せを、何らかの組合せ最適化アルゴリズムを用いて探索する。
【００９３】
ルール評価部１６は、組合せ最適化アルゴリズムに、例えば、ＦＡＢの係数選択などに用いられるＦｏＢａ（Forward-Backward greedy algorithm ）を用いてもよい。なお、上記説明では、更新内容の制限有無について説明したが、ルール評価部１６は、学習内容の制限有無に基づいて総合指標を算出してもよい。
【００９４】
また、ルール評価部１６は、複数の評価結果をまとめて可視化してもよい。一般的には、更新回数制限などの条件が緩くなれば、全予測対象区間での性能は向上する。そのため、ルール評価部１６は、例えば、更新回数と総合指標とを各軸とする２次元のグラフに、評価結果をプロットしてもよい。このような評価結果が可視化されれば、管理者が、妥当な結果を人手で決定することが可能になる。
【００９５】
なお、可視化の方法は、２次元上のグラフに限定されない。例えば、総合指標を複数の指標で表す場合、ルール評価部１６は、Ｎ次元上のＮ−１次元局面で評価結果を可視化してもよい。
【００９６】
以上のように、本実施形態によれば、ルール評価部１６が、予測対象区間全体で獲得し得る最大性能と、評価対象とする更新ルールを適用した場合の性能とを比較して更新ルールを評価する。よって、客観的な評価結果に基づいて更新ルールの好適性を人間が判断することが可能になる。
【００９７】
なお、図８に示す例では、結果出力部１５の出力に基づいてルール評価部１６が更新ルールを評価する場合を例示しているが、ルール評価部１６への入力は、結果出力部１５の出力に限定されない。本実施形態のルール評価部１６は、いわゆるオフライン戦略の結果に基づいて更新ルールを評価する。そのため、予測区間の評価指標が算出可能であれば、ルール評価部１６は、評価対象の更新ルールを入力してルールを評価する、単体のルール評価装置として実現されてもよい。
【００９８】
次に、本発明の概要を説明する。図９は、本発明によるシミュレートシステムの概要を示すブロック図である。本発明によるシミュレートシステムは、過去の一時点までの実測データ（例えば、学習データ）を用いて学習された推定器と、その一時点以降の実測データである検証データと、推定器の更新要否を評価指標に基づいて規定した更新ルール（例えば、再学習ルールと評価ルールとを含む更新ルール）とを受け付ける受付手段８１（例えば、シミュレート情報入力部１３）と、所定期間の検証データを推定器へ時系列に適用することにより算出される推定結果と、更新ルールとに基づいて、その所定期間における推定器の評価指標（例えば、精度指標など）および推定器の更新結果（例えば、更新回数、更新に要するコストなど）の少なくとも一方をシミュレートするシミュレート手段８２（例えば、シミュレート部１４）とを備えている。
【００９９】
そのような構成により、推定器を更新するルールの好適性をシミュレートできる。
【０１００】
具体的には、シミュレート手段８２は、推定器の更新結果として、所定期間に推定器が更新される回数をシミュレートしてもよい。
【０１０１】
また、シミュレート手段８２は、検証データを推定器へ時系列に適用して推定結果を算出し、判定時点までの推定結果に基づいて算出される評価指標が更新ルールに適合する場合に、その更新ルールで規定される方法に基づいて推定器を更新し、判定時点以降の検証データを更新後の推定器へ時系列に適用して推定結果を算出してもよい。このようにすることで、過去の学習データを用いて更新ルールをシミュレートできる。
【０１０２】
また、シミュレートシステムは、シミュレート結果として、シミュレートされた評価指標と更新結果の少なくとも一方を出力する出力手段（例えば、結果出力部１５）を備えていてもよい。そして、出力手段は、多次元空間上の各次元軸に、評価指標と更新結果を表わす指標のいずれかを設定し、多次元空間上の対応する位置にシミュレート結果をプロットしてもよい（例えば、図３に示すグラフ参照）。そのような構成により、管理者が更新ルールの評価をする一助とすることが可能になる。
【０１０３】
また、シミュレートシステムは、シミュレートされた評価指標および更新結果の最適解を探索する探索手段（例えば、推定器更新部２３）を備えていてもよい。
【０１０４】
一方で、シミュレートシステムは、過去の実測データを学習データとして用いて推定器を生成する推定器生成手段（例えば、推定器生成部１２ａ）と、生成された推定器を記憶する推定器記憶手段（例えば、記憶部１１）とを備えていてもよい。そして、推定器生成手段は、実測データを予め定めた区間に区切ったデータ群を学習データとして用いて推定器を生成し、生成した推定器へ時系列に検証データを適用する間の各推定タイミングである予測ターゲットの評価指標を算出し、生成された推定器と予測ターゲットごとの評価指標を含むデータセットを生成して推定器記憶手段に記憶してもよい。また、シミュレート手段８２は、評価指標を算出する時点に対応する予測ターゲットの評価指標を推定器記憶手段から抽出し、抽出した評価指標が更新ルールに適合する場合に、その更新ルールに基づいて再学習後の推定器を推定器記憶手段から抽出して更新してもよい。
【０１０５】
また、シミュレートシステムは、シミュレート結果に基づいて更新ルールを評価するルール評価手段（例えば、ルール評価部１６）を備えていてもよい。そして、ルール評価手段は、過去の一時点以降の予測対象区間全体で獲得し得る最大性能（例えば、総合指標）と、評価対象とする更新ルールを適用した場合の性能とを比較して更新ルールを評価してもよい。
【０１０６】
また、受付手段８１は、異なるアルゴリズムを用いて生成された複数の推定器を受け付け、シミュレート手段８２は、異なるアルゴリズムを用いて生成された推定器ごとにシミュレートしてもよい。
【符号の説明】
【０１０７】
１１  記憶部
１２，１２ａ  推定器生成部
１３  シミュレート情報入力部
１４，１４ａ  シミュレート部
１５  結果出力部
１６  ルール評価部
２１，２１ａ  評価指標算出部
２２  推定器再学習部
２３  推定器更新部
２４  推定器選択部
【図１】
0006529096.tif 000002
【図２】
0006529096.tif 000003
【図３】
0006529096.tif 000004
【図４】
0006529096.tif 000005
【図５】
0006529096.tif 000006
【図６】
0006529096.tif 000007
【図７】
0006529096.tif 000008
【図８】
0006529096.tif 000009
【図９】
0006529096.tif 000010