(57)【要約】【課題】複数の学習した予測モデルによる予測を行い、これらの予測モデルで算出された複数の予測値の集計ルールを、合議型の決定手段により予測環境条件に応じて変化させるデータ予測システムを提供する。【解決手段】本発明のデータ予測システムは、予測に利用するデータを格納する第１記憶部及び予測に利用する複数の予測モデルを格納する第２記憶部、データ取得部、複数の予測モデルのそれぞれの予測精度に関するパラメータをそれぞれ調整するモデル学習部、算出された各予測値データを学習条件に基づいて集計するためのモデル間関係性に基づく集計ルールを生成するモデル間関係性学習部、複数の学習した予測モデルにより予測値データをそれぞれ算出する予測処理部、算出された各予測値データを集計する予測結果集計部、データ出力部、及び制御部とを備える。【選択図】図３
2019095912.tif 000002
【特許請求の範囲】
【請求項１】
予測に利用するデータを格納する第１記憶部及び予測に利用する複数の予測モデルを格納する第２記憶部を備え、
前記第１記憶部には予測対象とする事象に関連する過去の時系列データ及び予測条件を指定する入力データが格納され、前記第２記憶部には前記複数の予測モデルを利用してそれぞれ算出された複数の予測値データが格納され、前記算出された複数の予測値データを学習によって決定された集計ルールで集計して予測結果データとして出力するデータ予測システムであって、
クライアント端末から前記予測条件を指定する入力データを受け付けるデータ取得部と、
前記第１記憶部に格納された前記過去の時系列データを学習データに利用して、前記入力データで指定された予測条件に対応する学習条件毎に、前記複数の予測モデルのそれぞれの予測精度に関するパラメータをそれぞれ調整するモデル学習部と、
前記複数の予測モデルのそれぞれを利用して算出された前記複数の予測値データを集計する際に利用される集計ルールを、前記入力データで指定された予測条件に対応する学習条件毎に作成するモデル間関係性学習部と、
前記入力データで指定された予測条件に基づいて前記複数の予測モデルのそれぞれで予測値データを算出する予測処理部と、
前記入力データで指定された予測条件に対応する学習条件に基づいて、前記複数の予測モデルのそれぞれで算出された予測値データを前記予測条件に対応する学習条件の集計ルールを利用して集計する予測結果集計部と、
前記予測結果集計部で集計されたデータを予測結果データとして第１記憶部及びクライアント端末に出力するデータ出力部と、
前記第１記憶部、前記第２記憶部、前記データ取得部、前記モデル学習部、前記モデル間関係性学習部、前記予測処理部、前記予測結果集計部、前記データ出力部、及び前記データ予測システム全般を制御する制御部と、
を備えることを特徴とするデータ予測システム。
【請求項２】
前記モデル学習部は、前記入力データで指定された予測条件に対応する学習条件毎に特徴量を抽出し、前記学習データを利用して前記複数の予測モデルのそれぞれの予測精度に関するパラメータをそれぞれ調整することを特徴とする請求項１に記載のデータ予測システム。
【請求項３】
前記モデル間関係性学習部は、前記入力データで指定された予測条件に対応する学習条件毎に、前記複数の予測モデルを用いてそれぞれ算出された複数の予測データの配分率を変化させて予め設定された閾値と比較し、前記比較した結果に基づいて前記集計ルールを作成することを特徴とする請求項１に記載のデータ予測システム。
【請求項４】
予測に利用するデータを格納する第１記憶部及び予測に利用する複数の予測モデルを格納する第２記憶部を備え、前記第１記憶部に格納された予測対象とする事象に関連する過去の時系列データを利用して学習した前記複数の予測モデルを用いてそれぞれ算出した複数の予測値データを、学習によって決定された集計ルールで集計して予測結果データとして出力するためのデータ予測方法であって、
クライアント端末から予測条件を指定する入力データを受け付けるステップと、
前記第１記憶部に格納された前記過去の時系列データを学習データに利用して、前記入力データで指定された予測条件に対応する学習条件毎に、前記複数の予測モデルのそれぞれの予測精度に関するパラメータをそれぞれ調整するステップと、
前記複数の予測モデルのそれぞれを利用して算出された前記複数の予測値データを集計する際に利用される集計ルールを、前記入力データで指定された予測条件に対応する学習条件毎に作成するステップと、
前記入力データで指定された予測条件に基づいて前記複数の予測モデルのそれぞれで予測値データを算出するステップと、
前記入力データで指定された予測条件に対応する学習条件に基づいて、前記複数の予測モデルのそれぞれで算出された予測値データを前記予測条件に対応する学習条件の集計ルールを利用して集計するステップと、
前記集計されたデータを予測結果データとして出力するステップと、
を有することを特徴とするデータ予測方法。
【請求項５】
前記複数の予測モデルのそれぞれの予測精度に関するパラメータをそれぞれ調整するステップは、前記入力データで指定された予測条件に対応する学習条件毎に特徴量を抽出し、前記学習データを利用して前記複数の予測モデルのそれぞれの予測精度に関するパラメータをそれぞれ調整するステップを含むことを特徴とする請求項４に記載のデータ予測方法。
【請求項６】
前記算出された前記複数の予測値データを集計する際に利用される集計ルールを、前記入力データで指定された予測条件に対応する学習条件毎に作成するステップは、前記入力データで指定された予測条件に対応する学習条件毎に、前記複数の予測モデルを用いてそれぞれ算出された複数の予測データの配分率を変化させて予め設定された閾値と比較し、前記比較結果に基づいて前記集計ルールを作成するステップを含むことを特徴とする請求項４に記載のデータ予測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ予測システム及びデータ予測方法に関し、より詳しくは、複数の学習した予測モデルを利用した合議型のデータ予測システム及びデータ予測方法に関する。
【背景技術】
【０００２】
商品や電力量などの需要予測、また設備や機器の異常予測のような時間とともに変動する事象の将来の値を予測することは、商品の生産及び販売計画を決定したり、施設の電力や設備を管理したりする際に重要となる。
【０００３】
従来、既知のデータから将来のデータを予測するための様々な予測モデルが提案されているが、それぞれの予測モデルは、予測環境や予測対象によって得手不得手がある。そのような中、予測環境（例えば、社会環境、天候、インフラ、生活者など）は常に変化しているため、その変化に柔軟に対応しなければならない。
【０００４】
しかしながら、多くの統計学系や機械学習系の予測モデルは、基本的に１種類の予測アルゴリズムを使って予測を行う。そのため、予測環境に応じて予測アルゴリズムを変えることがなく柔軟性に欠けるという問題があった。
【０００５】
この問題を解決すべく、複数の予測モデルを利用する方法が提案されている。例えば、特許文献１では、複数の予測モデルを用いて将来のデータを複数予測した後、複数の予測モデルに対する評価を行い、この評価に基づいて、予測された複数の将来のデータの中から特定のデータを選択するデータ予測方法に関する技術が提案されている。
【０００６】
ところが、特許文献１に記載の技術は、複数の予測モデルを使うものの、特定の評価期間毎に複数の予測モデルの中から特定の予測モデルを選択し、選択された特定の予測モデルで予測された特定のデータを最終結果として選択するものであるため、一度選択された予測モデルが一定期間の間のデータ予測に使い続けられる。また、予測モデル自体の予測精度も一定であるため、データ予測方法全体としての予測精度を向上させることができないという問題がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−１４２９５号公報
【非特許文献】
【０００８】
【非特許文献１】Ｃｈｉｎｇ−Ｌａｉ  Ｈｗａｎｇ，  Ｍｉｎｇ−Ｊｅｎｇ  Ｌｉｎ，  “Ｇｒｏｕｐ  Ｄｅｃｉｓｉｏｎ  Ｍａｋｉｎｇ  Ｕｎｄｅｒ  Ｍｕｌｔｉｐｌｅ  Ｃｒｉｔｅｒｉａ：  Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ  （Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｅｃｏｎｏｍｉｃｓ  ａｎｄ  Ｍａｔｈｅｍａｔｉｃａｌ  Ｓｙｓｔｅｍｓ）  ”，  Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ  （１９８７）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、予測対象とする事象について、複数の学習した予測モデルによる予測を行い、これらの学習した予測モデルによる予測結果の集計を、合議型の決定手段を用いて予測環境や予測対象に応じてリアルタイムに変化させることで、予測精度が継続的に向上され且つ柔軟性に富んだデータ予測システム及びデータ予測方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するためになされた本発明の一態様によるデータ予測システムは、予測に利用するデータを格納する第１記憶部及び予測に利用する複数の予測モデルを格納する第２記憶部を備え、前記第１記憶部には予測対象とする事象に関連する過去の時系列データ及び予測条件を指定する入力データが格納され、前記第２記憶部には前記複数の予測モデルを利用してそれぞれ算出された複数の予測値データとが格納され、前記算出された複数の予測値データを学習によって決定された集計ルールで集計して予測結果データとして出力するデータ予測システムであって、
クライアント端末から前記予測条件を指定する入力データを受け付けるデータ取得部と、前記第１記憶部に格納された前記過去の時系列データを学習データに利用して、前記入力データで指定された予測条件に対応する学習条件毎に、前記複数の予測モデルのそれぞれの予測精度に関するパラメータをそれぞれ調整するモデル学習部と、前記複数の予測モデルのそれぞれを利用して算出された前記複数の予測値データを集計する際に利用される集計ルールを、前記入力データで指定された予測条件に対応する学習条件毎に作成するモデル間関係性学習部と、前記入力データで指定された予測条件に基づいて前記複数の予測モデルのそれぞれで予測値データを算出する予測処理部と、前記入力データで指定された予測条件に対応する学習条件に基づいて、前記複数の予測モデルのそれぞれで算出された予測値データを前記予測条件に対応する学習条件の集計ルールを利用して集計する予測結果集計部と、前記予測結果集計部で集計されたデータを予測結果データとして第１記憶部及びクライアント端末に出力するデータ出力部と、前記第１記憶部、前記第２記憶部、前記データ取得部、前記モデル学習部、前記モデル間関係性学習部、前記予測処理部、前記予測結果集計部、前記データ出力部、及び前記データ予測システム全般を制御する制御部と、を備えることを特徴とする。
【００１１】
上記目的を達成するためになされた本発明の一態様によるデータ予測方法は、予測に利用するデータを格納する第１記憶部及び予測に利用する複数の予測モデルを格納する第２記憶部を備え、前記第１記憶部に格納された予測対象とする事象に関連する過去の時系列データを利用して学習した前記複数の予測モデルを用いてそれぞれ算出した複数の予測値データを、学習によって決定された集計ルールで集計して予測結果データとして出力するためのデータ予測方法であって、
クライアント端末から予測条件を指定する入力データを受け付けるステップと、前記第１記憶部に格納された前記過去の時系列データを学習データに利用して、前記入力データで指定された予測条件に対応する学習条件毎に、前記複数の予測モデルのそれぞれの予測精度に関するパラメータをそれぞれ調整するステップと、前記複数の予測モデルのそれぞれを利用して算出された前記複数の予測値データを集計する際に利用される集計ルールを、前記入力データで指定された予測条件に対応する学習条件毎に生成するステップと、前記入力データで指定された予測条件に基づいて前記複数の予測モデルのそれぞれで予測値データを算出するステップと、前記入力データで指定された予測条件に対応する学習条件に基づいて、前記複数の予測モデルのそれぞれで算出された予測値データを前記予測条件に対応する学習条件の集計ルールを利用して集計するステップと、前記集計されたデータを予測結果データとして出力するステップと、を有することを特徴とする。
【発明の効果】
【００１２】
本発明のデータ予測システムによれば、複数の学習した予測モデルによる予測を行い、これら学習した予測モデルによる複数の予測値データの集約方法を、合議型の決定手段により予測環境や予測対象に応じてリアルタイムに変化させるので、予測値の確度が向上する。また、予測モデル及び予測モデル間の関係性を、学習プロセスにより継続的に向上させるので、予測値の精度が向上する。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態によるデータ予測システムの全体構成を示す概略図である。
【図２】入出力データサーバの第１記憶部に格納される時系列データテーブルの一例を示す図である。
【図３】本発明の一実施形態によるデータ予測予測システムの各機能ブロックを示す図である。
【図４】本発明の一実施形態によるデータ予測システムの動作段階の全体構成を示すフローチャートである。
【図５】本実施形態による予測データ生成処理サーバの動作の一例を示すフローチャートである。
【図６】本実施形態によるモデル学習部の動作の一例を示すフローチャートである。
【図７】入出力データサーバの第１記憶部に格納される学習条件データテーブルの一例を示す図である。
【図８】本実施形態によるモデル間関係性学習部の動作の一例を示すフローチャートである。
【図９】本実施形態による予測処理部の動作の一例を示すフローチャートである。
【図１０】本実施形態による予測結果集計部の動作の一例を示すフローチャートである。
【図１１】予測結果集計部で実行される、予測値を集計する手順を説明する概念図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【００１５】
図１は、本発明の一実施形態によるデータ予測システムの全体構成を示す概略図である。
【００１６】
図１に示すように、本発明の一実施形態によるデータ予測システム１は、クライアント端末１０と、ＡＰＩ（アプリケーションプログラムインタフェース）サーバ１００、入出力データサーバ２００、及び予測データ生成処理サーバ３００で構成されるサーバ群２０とが、インターネット５を含む通信ネットワークで相互に接続されて、クライアント端末１０からの要求（リクエスト）に従ってデータ予測を行うシステムである。それぞれのサーバはコンピュータシステムで構成され、クライアント端末はパーソナルコンピュータ、ワークステーション、タブレット端末などが利用できる。なお、本データ予測システム１は、予測に利用する時系列の観測データを外部装置３０から取得する構成を含んでもよい。以下、本データ予測システム１の各構成要素について詳細に説明する。
【００１７】
クライアント端末１０は、図示しないが中央処理装置並びにＲＯＭ及びＲＡＭ等を有して、所定のプログラムを実行し、各種のデータ処理や制御を行う制御部１１と、各種のプログラム及びデータを格納するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等からなる記憶部１２と、サーバ群２０とのネットワーク接続を行う通信インタフェース（Ｉ／Ｆ）部１３とを備える。さらに、ユーザからの指令を受け付ける入力装置１４と、制御部１１で生成される操作画面や各サーバから受信したデータ情報を表示する液晶ディスプレイ等からなる出力装置１５とを備える。
【００１８】
ＡＰＩサーバ１００は、予測データ生成処理サーバ３００による予測モデルの学習及び／又はデータ予測処理を、クライアント端末１０から要求（リクエスト）するためのＡＰＩ（アプリケーションプログラムインタフェース）を提供するサーバである。
【００１９】
ＡＰＩサーバ１００は、図示しない中央処理装置、ＲＯＭ、ＲＡＭ等から構成される制御部１０１と、各種のプログラム及びデータを格納するＳＳＤやＨＤＤ等からなる記憶部１１０と、クライアント端末１０や各サーバ等とのネットワーク接続を行う通信インタフェース（Ｉ／Ｆ）部１２０とを備える。
【００２０】
ＡＰＩサーバ１００は、インターネット５を含む通信ネットワークを介してクライアント端末１０、入出力データサーバ２００、及び予測データ生成処理サーバ３００と通信することにより、予測データ生成処理サーバ３００に対して予測モデルの学習及び／又はデータ予測処理を要求する一方で、予測データ生成処理サーバ３００が学習により構築した予測モデルを利用して予測した結果である予測結果データをその格納先である入出力データサーバ２００から取得する。
【００２１】
ＡＰＩサーバ１００は、入出力データサーバ２００から予測結果データを取得すると、クライアント端末１０に向けて同データを送信する。この結果、クライアント端末１０は、インターネット５を含む通信ネットワークを介して、ＡＰＩサーバ１００から予測結果データを受け取ることができる。また、ＡＰＩサーバ１００は、通信ネットワークを介して入出力データサーバ２００と通信することにより、予測データ生成処理サーバ３００で予測処理を実行する際に必要となる各種データを、入出力データサーバ２００から受信し、通信ネットワークを介して予測データ生成処理サーバ３００に送信する。なお、これらのデータはＡＰＩサーバ１００を経由せずに、直接入出力データサーバ２００から予測データ生成処理サーバ３００に送信されるようにしてもよい。
【００２２】
入出力データサーバ２００は、予測に利用される各種データを格納するサーバである。予測に利用されるデータには、予測対象の事象に関連する複数のデータ項目からなる過去の時系列データ、予測に影響を及ぼす外部要因をリストアップした学習条件データテーブル、各予測モデルの説明変数に代入される入力値及び予測に適用する学習条件を指定するデータを含む予測条件データ、及び各予測モデルによって算出された予測値のデータを集計した結果である予測結果データが含まれる。
【００２３】
入出力データサーバ２００は、図示しない中央処理装置、ＲＯＭ、ＲＡＭ等から構成される制御部２０１と、各種のプログラム及びデータを格納するＳＳＤやＨＤＤ等からなる第１記憶部２１０と、クライアント端末や各サーバ等とのネットワーク接続を行う通信インタフェース（Ｉ／Ｆ）部２２０とを備える。
【００２４】
入出力データサーバ２００は、クライアント端末１０または外部装置３０から送信された各種データを受け付けて第１記憶部２１０に格納する。具体的に、入出力データサーバ２００は、クライアント端末１０から直接またはＡＰＩサーバ１００を介して、複数のデータ項目からなる過去の時系列データと、この時系列データに含まれる複数のデータ項目の中で目的変数及び説明変数とするデータ項目を指定する設定データとを含む入力データを取得する指令を受け付けると、この指令に対応する各データをクライアント端末１０または外部装置３０から取得して格納する。
【００２５】
入出力データサーバ２００は、取得した過去の時系列データに含まれるデータ項目を、同時に取得した設定データに基づいて判別し、当該時系列データに含まれる個々のデータを判別したデータ項目順に整列させた時系列データテーブルを作成して第１記憶部２１０に格納する。また、入出力データサーバ２００は、後述する予測データ生成処理サーバ３００で算出された予測結果データをその算出に用いた予測条件データの入力変数に対応付けて第１記憶部２１０に格納する。
【００２６】
図２は、入出力データサーバの第１記憶部に格納される時系列データテーブルの一例を示す図である。
本実施形態において、入出力データサーバ２００は、例えば、小売店の売上高である「日販」を目的変数として、これに対応する「曜日」、「降水量」、「一日平均気温」、「値引き率」、「チラシ配布枚数」の各データ項目を説明変数とする数値データが日単位で配列されたデータテーブルを作成する。図２に示すデータテーブルでは、便宜上、質的変数に該当するデータを文字で示しているが、実使用時にはダミー変数を設定する等の手法を適用して数値データに変換される。
【００２７】
入出力データサーバ２００は、ＡＰＩサーバ１００からの要求（リクエスト）に応答して、第１記憶部２１０に格納された時系列データテーブルを予測データ生成処理サーバ３００に向けて送信する。
【００２８】
予測データ生成処理サーバ３００は、入出力データサーバ２００と連携して、種類の異なる複数の予測モデルを学習により高精度化した上、これら複数の学習した予測モデルを利用して予測処理を実行し、各予測モデルにより算出された予測値データを集計して、将来の予測結果データとして出力するサーバである。
【００２９】
予測データ生成処理サーバ３００は、図示しない中央処理装置、ＲＯＭ、ＲＡＭ等から構成される制御部３０１と、予測処理に利用する各種のデータ及びプログラム並びに複数の予測モデルを格納する第２記憶部３１０と、通信インタフェース（Ｉ／Ｆ）部３２０を備える。
【００３０】
予測データ生成処理サーバ３００は、入出力データサーバ２００に格納された時系列データテーブルを読み出して、予測データ生成処理サーバ３００に予め格納された種類の異なる複数の予測モデルのそれぞれを、同データテーブルのデータを学習データに利用して、所定の学習条件ごとにチューニングし、複数の学習した予測モデル群を構築する。そして、構築した複数の予測モデル間の関係性を学習条件ごとに所定の評価指標を算出して比較することで、予測データを集計する際の合算ルール（各予測モデルの予測値の合算比率）を設定し、学習条件ごとの集計ルールとして予測データ生成処理サーバ３００の第２記憶部３１０に格納する。
【００３１】
予測データ生成処理サーバ３００は、クライアント端末１０から入力された予測条件データに従って、同予測条件データで指定された学習条件及びこれに対応する構築済みの予測モデルを検索し、該当する予測モデルを利用して予測処理を実行する。そして、算出された予測値データを当該学習条件に対応する予測モデル間の関係性に基づく集計ルールで集計して予測結果データとして出力する。
【００３２】
次に、本発明の一実施形態によるデータ予測システムに含まれる各部の構成について、図１及び図３を参照しつつ、機能面から改めて説明する。
【００３３】
図３は、本発明の一実施形態によるデータ予測システムの各機能ブロックを示す図である。
【００３４】
図３に示すように、本実施形態のデータ予測システム１は、図１に示す各サーバが分担するデータ予測のための各機能が、各サーバの制御部で実行される所定のプログラムで実現されたシステムである。
【００３５】
先ず、クライアント端末１０について説明する。本実施形態によるクライアント端末１０は、図３に示すように、操作部１０ａ及び送受信部１０ｂを有する。
【００３６】
操作部１０ａは、クライアント端末１０の出力装置１５に操作画面が表示された状態で、例えば、キーボードやタッチパネルからなる入力装置１４を介して入力されるユーザ指令を受け付ける。送受信部１０ｂは、操作部１０ａに入力されたユーザ指令、具体的には、データ予測のためにサーバ群２０に要求（リクエスト）する処理内容を具体的に指定するための入力データを、ＡＰＩサーバ１００及び／又は入出力データサーバ２００に向けて送信する。また、これらのサーバから送信された応答や予測処理にともなうデータを受信する。なお、入力データは、全ての項目が一括して同時に送信される必要はなく、後述する一連の予測処理の所定の段階で、それぞれに該当する項目の入力データとして送信される。
【００３７】
クライアント端末１０から送信される入力データには、処理内容に応じて、予測に使用する過去の時系列データ、学習条件データ、及び予測条件データが含まれる。
【００３８】
次に、ＡＰＩサーバ１００について説明する。本実施形態によるＡＰＩサーバ１００は、図３に示すように、ＡＰＩを制御する制御部１０１を有する。なお、図示しないが、ＡＰＩサーバ１００は、データ取得部、データ出力部をさらに備え得る。
【００３９】
ＡＰＩサーバ１００は、ＡＰＩを制御する制御部１０１が、クライアント端末１０からのユーザ指令を受け付けたことを契機にして、予測データ生成処理サーバ３００に対して予測モデルの学習、予測モデル間の関係性の学習、及び予測処理を要求（リクエスト）する。ＡＰＩサーバ１００の制御部１０１は、ユーザ指令に基づいて、予測データ生成処理サーバ３００に対して上述した各処理の実行を要求する一方で、通信ネットワークを通じて入出力データサーバ２００から所定のデータを取得して、取得したデータ等を予測データ生成処理サーバ３００（具体的には、モデル学習部３０２、モデル間関係性学習部３０３、及び予測処理部３０４）に送信する。なお、これらのデータはＡＰＩサーバ１００を経由せず、入出力データサーバ２００から予測データ生成処理サーバ３００に直接送信するように制御してもよい。
【００４０】
その後、送信された所定のデータを利用して、予測データ生成処理サーバ３００にて予測モデルの学習、予測モデル間の関係性の学習、及び予測処理が実行される。
【００４１】
ＡＰＩサーバ１００は、さらに、入出力データサーバ２００（具体的には、第１記憶部２１０）に格納された時系列データが変更されたか否かを監視する機能を備え得る。例えば、外部装置３０から定期的に観測データが入出力データサーバ２００に送信されて、格納された時系列データテーブルに追加される設定が適用された条件下で、クライアント端末１０からＡＰＩサーバ１００に対して、この監視機能を動作させる指令が入力されると、ＡＰＩサーバ１００は、監視を開始する。監視期間中に、入出力データサーバ２００に格納された時系列データテーブルが変更されたことを検知すると、ＡＰＩサーバ１００は予測データ生成処理サーバ３００に対して予測モデルの再学習を要求（リクエスト）する。予測データ生成処理サーバは、変更された時系列データテーブルを新たな学習データとして、学習条件ごとに学習を実行して各予測モデルを更新する。
【００４２】
そして、各予測モデルが更新されると、予測データ生成処理サーバは、更新された各予測モデルについて、予測モデル間の関係性を学習条件ごとに再評価して、予測データの集計に利用する学習条件ごとの集計ルールを更新する。
【００４３】
次に、入出力データサーバ２００について説明する。本実施形態による入出力データサーバ２００は、図３に示すように、入出力データサーバ２００の制御部２０１により制御されて外部装置３０又はクライアント端末１０から各種データを受信するデータ取得部２２１及び予測結果データを出力するデータ出力部２２２を有する。入出力データサーバ２００の第１記憶部２１０には、時系列データ格納部２１０ａ、予測条件データ格納部２１０ｂ、及び予測結果データ格納部２１０ｃが設られている。
【００４４】
入出力データサーバ２００は、データ取得部２２１が、ＡＰＩサーバ１００を介して、クライアント端末１０から送信された入力データを受信すると、この入力データに基づいて、予測に利用する過去の時系列データ及び予測条件データをクライアント端末１０または外部装置３０から直接またはＡＰＩサーバ１００を介して取得する。換言すると、データ取得部２２１は、クライアント端末１０からのユーザ指令を受け付けて、ユーザ指令に従い、入出力データサーバ２００に入力される各種データを、第１記憶部２１０内の所定の格納部に格納する。
【００４５】
次に、予測データ生成処理サーバ３００について説明する。本実施形態による予測データ生成処理サーバ３００は、図３に示すように、モデル学習部３０２、モデル間関係性学習部３０３、予測処理部３０４、及び予測結果集計部３０５を有する。また、予測データ生成処理サーバ３００の第２記憶部３１０には、複数の予測モデルを格納する予測モデルデータベース（ＤＢ）部３１０ａ、予測データ格納部３１０ｂ、及び予測データの集計に利用する集計ルール格納部３１０ｃが設られている。
【００４６】
予測データ生成処理サーバ３００は、ＡＰＩサーバ１００からデータ予測に関する各処理を実行する要求を受け付けると、それぞれの処理に対応する機能モジュール（プログラム）を起動させて、要求された処理を実行する。
【００４７】
モデル学習部３０２は、個々の予測モデルを学習する処理を実行する。具体的には、学習条件ごとに各予測モデルのパラメータを調整し、学習した予測モデルを作成する。モデル学習部３０２は、各学習条件ごとに作成した予測モデルを第２記憶部３１０の予測モデルＤＢ（データベース）部３１０ａに格納させる。
【００４８】
モデル学習部３０２は、学習条件ごとに予測モデルを作成するにあたり、入出力データサーバ２００の第１記憶部２１０から、時系列データテーブルを取得する。そして、モデル学習部３０２は、取得した時系列データテーブルを学習データに利用して、学習条件ごとに予測モデルを作成する。予測モデルの学習手順の詳細は、後述する。
【００４９】
モデル間関係性学習部３０３は、予測モデル間の関係性を学習する処理を実行する。具体的には、学習条件ごとに複数の予測モデル間の関係性を学習して、各予測モデルによる予測データの集計に利用する集計ルールを作成する。モデル間関係性学習部３０３は、各学習条件ごとに作成した集計ルールを第２記憶部３１０の集計ルール格納部３１０ｃに格納する。予測モデル間の関係性の学習手順の詳細は、後述する。
【００５０】
予測処理部３０４は、個々の予測モデルによる予測処理を実行する。具体的には、予測条件を指定する予測条件データを入出力データサーバ２００から取得して、取得した予測条件データに含まれる学習条件の指定データに基づき、予測モデルＤＢ（データベース）部３１０ａからこの条件に対応する予測モデルを読み出し、読み出した予測モデルにより予測処理を実行する。そして、実行結果である予測値データを、指定された学習条件に対応付けて第２記憶部３１０の予測データ格納部３１０ｂに格納する。
【００５１】
予測結果集計部３０５は、予測処理部３０４で実行された各予測モデルによる予測処理の結果である予測データのそれぞれを当該予測条件データに基づいて選択された集計ルールで集計し、集計したデータを本データ予測システムによる予測結果データとして出力する。各予測モデルで算出された予測データを集計するための集計ルールは、モデル間関係性学習部３０３で作成された集計ルールが利用される。そして、予測結果集計部３０５は、集計した予測結果データを入出力データサーバ２００の第１記憶部２１０の予測結果データ格納部２１０ｃに送信する。予測データの集計手順の詳細は、後述する。
【００５２】
以下、本発明の一実施形態によるデータ予測システムの動作例について説明する。
【００５３】
図４は、本発明の一実施形態によるデータ予測システムの動作段階の全体構成を示すフローチャートである。
【００５４】
クライアント端末１０からの要求に応答して、ＡＰＩサーバ１００が予測データ生成処理サーバ３００を動作させて、入出力データサーバ２００とのデータ授受を行いながら、学習段階と運用段階とに大別される各段階で、所定の処理の各手順が実行されることで予測結果データが出力されるまでのプロセスを説明する。以下に説明するプロセスが実行されることによって、本発明のデータ予測方法が実現される。
【００５５】
図４に示す学習段階で、クライアント端末１０から、学習に関する処理を実行する指令が過去の時系列データとともにデータ予測システムのサーバ群２０に入力（送信）されると（ステップＳ１０）、上述したようにサーバ群２０の中の入出力データサーバ２００に時系列データが格納される（ステップＳ１００）。入出力データサーバ２００は、時系列データから、予測モデルの学習用に各データ項目が目的変数と説明変数とに区分された時系列データテーブルを作成または更新する（ステップＳ１１０）。
【００５６】
その後、クライアント端末１０から、学習条件を指定する入力がデータ予測システムのサーバ群２０に入力（送信）されると（ステップＳ１１）、サーバ群２０の中の予測データ生成処理サーバ３００は、時系列データテーブルを学習データに利用して、指定の学習条件ごとに個々の予測モデルを学習し、学習した予測モデルを構築する（ステップＳ１２０）。また、予測データ生成処理サーバ３００は、同学習条件ごとに複数の予測モデル間の関係性を学習して、各予測モデルによる予測値データの集計に利用する集計ルールを作成する（ステップＳ１３０）。そして、学習条件ごとに構築した各予測モデル及び予測モデル間の関係性に対応した集計ルールを予測データ生成処理サーバ３００の第２記憶部３１０に格納する（ステップＳ１４０）。
【００５７】
上述した学習段階は、学習条件の追加や時系列データの更新などに応じて、定期的または任意のタイミングで繰り返し実行され得る。
【００５８】
図４に示す運用段階で、クライアント端末１０から、予測処理を実行する指令が予測条件データとともに、データ予測システムのサーバ群２０の中のＡＰＩサーバ１００に入力（送信）されると（ステップＳ４０）、上述したようにサーバ群２０の中の入出力データサーバ２００に予測条件データが格納される（ステップＳ４００）。また、ＡＰＩサーバ１００は、予測データ生成処理サーバ３００にデータ予測に関する各処理の実行を要求し、予測データ生成処理サーバ３００は、予測条件データを入出力データサーバ２００から取得して、予測条件データに含まれる学習条件の指定データに基づき、この条件に対応する予測モデルを検索する（ステップＳ４１０）。
【００５９】
予測データ生成処理サーバ３００は、予測条件データに含まれる学習条件が第２記憶部３１０に格納されているか否かを判定し（ステップＳ４２０）、当該学習条件及びこれに対応する構築済みの予測モデルが発見されると、これらの予測モデルに予測条件データに含まれる入力変数を代入して予測処理を実行する（ステップＳ４３０）。一方、学習条件が発見できない場合、予測データ生成処理サーバ３００は、ＡＰＩサーバ１００を介して、当該学習条件がないことをクライアント端末１０に通知（送信）する（ステップＳ４１）。この通知を受けたユーザは、クライアント端末１０から、新たな学習条件での学習段階を実行する指令を入力してもよい（ステップＳ４２）。
【００６０】
予測データ生成処理サーバ３００は、予測処理が終了すると、算出された予測値データのそれぞれを当該学習条件に対応する予測モデル間の関係性に基づく集計ルールで集計し、集計したデータを本データ予測システムによる予測結果データとして出力する（ステップＳ４４０）。その後、ＡＰＩサーバ１００により、予測結果データはクライアント端末１０に送信されて、クライアント端末１０で受信される（ステップＳ４３）。
【００６１】
次に、本発明の一実施形態によるデータ予測システムの予測データ生成処理サーバの動作例について、図３及び図５を参照しながら詳細に説明する。
【００６２】
図５は、本実施形態による予測データ生成処理サーバの動作の一例を示すフローチャートである。
【００６３】
図５に示すように、予測データ生成処理サーバ３００のモデル学習部３０２は、過去の時系列データを学習用データに利用して、所定の学習条件ごとに、個々の予測モデルに学習を行わせて、所定の学習条件に対応した複数の予測モデルを作成又は更新する（ステップＳ２００）。モデル間関係性学習部３０３は、過去の時系列データを学習データに利用して、所定の学習条件ごとに作成又は更新された複数の予測モデル間の関係性を学習して、所定の学習条件に対応した予測データの集計手順を作成する（ステップＳ２１０）。予測処理部３０４は、入力された予測条件に対応する予測モデルを選択し、選択された予測モデルを使用して入力された予測条件データから予測値を算出する（ステップＳ２２０）。予測結果集計部３０５は、入力された予測条件に対応する予測データの集計手順を選択し、選択された集計手順に従って予測値を集計する（ステップＳ２３０）。
【００６４】
次に、モデル学習部３０２が個々の予測モデルに学習を行わせる具体的な処理について説明する。但し、以下で説明する学習方法は一例に過ぎず、本実施形態による学習を限定するものではない。
【００６５】
図６は、本実施形態によるモデル学習部の動作の一例を示すフローチャートである。モデル学習部３０２に、入出力データサーバ２００から学習に利用する時系列データテーブルが入力され（ステップＳ３００）、クライアント端末１０から学習条件を指定するデータが入力される（ステップＳ３１０）と、モデル学習部３０２は、学習条件ごとに各予測モデルの学習で利用する特徴量を生成する（ステップＳ３２０）。ここで、学習条件は、例えば、平日や休日、連休明け、天気など、予測対象事象に関連して、学習に影響を及ぼす外部要因である。
【００６６】
図７は、入出力データサーバの第１記憶部に格納される学習条件データテーブルの一例を示す図である。
【００６７】
本実施形態では、図７に示すように、学習条件として、時系列データに含まれるデータ項目の中から選択された単一のデータ項目、または複数のデータ項目の組み合わせに対して、該当するデータ項目にそれぞれ設定された値を判定値とするデータの組が作成される。各学習条件には識別ＩＤが付与されて、データテーブルの形式で第１記憶部に格納される。例えば、学習条件ＩＤのＧ０００１は、判定項目としてデータ項目の「曜日」が選択され、且つ「土曜日と日曜日」が判定値に設定された条件、言い換えると、土日限定を指定する学習条件である。また、学習条件ＩＤのＧ０００３は、判定項目としてデータ項目の「月」及び「一日平均気温」が選択され、それぞれのデータ項目に、「７と８」及び「２８」が判定値に設定された条件、言い換えると、７月と８月の暑い日（２８℃）を指定する学習条件である。
【００６８】
モデル学習部３０２は、学習条件ごとに、生成した特徴量の中から学習で使う特徴量を選定し（ステップＳ３３０）、学習条件ごとに、各予測モデルのパラメーターを調整する（ステップＳ３４０）。これにより、学習条件ごとに、学習した予測モデルが構築され、各学習条件に対応した予測モデルが作成される（ステップＳ３５０）。モデル学習部３０２は、学習条件ごとに作成された各予測モデルを、第２記憶部３１０の予測モデルＤＢ（データベース）部３１０ａに格納する（ステップＳ３６０）。
【００６９】
次に、モデル間関係性学習部３０３が複数の予測モデル間の関係性を学習させる具体的な方法について説明する。
【００７０】
図８は、本実施形態によるモデル間関係性学習部の動作の一例を示すフローチャートである。
【００７１】
本実施形態では、図８に示すように、モデル間関係性学習部３０３に、入出力データサーバ２００から学習に利用する時系列データテーブルが入力されると（ステップＳ５００）、モデル間関係性学習部３０３は、第２記憶部３１０の予測モデルＤＢ（データベース）部３１０ａから構築済みの予測モデルを読み出す（ステップＳ５１０）。そして、モデル間関係性学習部３０３は、各予測モデルで算出した予測値データを集計する手順で使用する予測モデル間の関係性、言い換えると、集計ルールを作成するための初期値を設定する（ステップＳ５２０）。
【００７２】
ここで、各予測モデルで算出した予測値を集計する手順（アルゴリズム）には、計量経済学の集団的意思決定理論のＳＰＡＮ（Ｓｕｃｃｅｓｓｉｖｅ  Ｐｒｏｐｏｒｔｉｏｎａｌ  Ａｄｄｉｔｉｖｅ  Ｎｕｍｅｒａｔｉｏｎ  ｏｒ  Ｓｏｃｉａｌ  Ｐａｒｔｉｃｉｐａｔｏｒｙ  Ａｌｌｏｃａｔｉｖｅ  Ｎｅｔｗｏｒｋｓ）アルゴリズムを適用する。これは、各予測モデルによる予測結果を、例えば、「投票権」と「投票権の譲渡率」、「投票先の配分率」をもとに、コンピューター・シミュレーションを行い、投票先に投票していくものである（非特許文献１）。本発明による予測値を集計する手順（アルゴリズム）の詳細は後述する。
【００７３】
モデル間関係性学習部３０３は、学習条件ごとに、予測モデル間の関係性を評価する上述の手順（アルゴリズム）で算出した予測値を出力する（ステップＳ５３０）。そして、学習条件ごとに、関係性の感度を評価し（ステップＳ５４０）、最も予測精度の変化評価指標が向上するように関係性評価の入力値を変化させる。ここで、関係性の感度を評価するとは、特定の関係性のみを変化させたとき（他の関係性は変化させない）、ＳＰＡＮアルゴリズムによる予測値が、どの程度改善されたのかを評価することである。
【００７４】
モデル間関係性学習部３０３は、下記の式（１）に示す予測精度変化の評価指標が、予め設定された閾値よりも小さいか又は閾値以上であるか比較することで学習終了を判定する（ステップＳ５５０）。
【００７５】
【数１】
2019095912.tif 000003
【００７６】
すなわち、予測精度変化評価指標の値が、閾値以上である場合、関係性評価の入力値を変化させて（ステップＳ５４５）、ステップＳ５３０に戻って予測値を再算出する。一方、予測精度変化評価指標の値が閾値よりも小さい場合は、学習のステップを終了して、終了時の入力値を予測モデル間の関係性評価に使用する設定値として、第２記憶部３１０の集計ルール格納部３１０ｃに格納する（ステップＳ５６０）。
【００７７】
以上により、学習条件ごとの予測モデル間の関係性評価に対応する予測データ集計ルールが作成される。
【００７８】
次に、予測処理部３０４が個々の予測モデルによる予測処理を実行させる具体的な処理について説明する。
【００７９】
図９は、本実施形態による予測処理部の動作の一例を示すフローチャートである。
【００８０】
本実施形態では、図９に示すように、予測処理部３０４に、ＡＰＩサーバ１００を介して、予測条件を指定する予測条件データが入力されると（ステップＳ６００）、予測処理部３０４は、予測条件データに含まれる学習条件の指定データを判別し、第２記憶部３１０の予測モデルＤＢ（データベース）部３１０ａを検索して（ステップＳ６１０）、指定データに対応する学習条件に対応付けられた複数の構築済み予測モデルを読み出す（ステップＳ６２０）。そして、読み出した予測モデルごとに、予測条件データに含まれる入力値を各説明変数に代入して予測処理を実行し（ステップＳ６３０）、予測値を算出する。
【００８１】
本実施形態において、予測処理に利用される複数の予測モデルは、例えば、一般化線形混合モデル、ディープラーニングモデル、ランダムフォレストモデル、指数平滑化モデル、ＳＡＲＩＭＡＸモデル、状態空間モデルである。但し、利用される予測モデルの種類及び数は、これらに限定されず、予測対象や精度要求に応じて変更及び選択が可能である。
【００８２】
その後、予測処理部３０４は、算出した予測値データを、予測結果として第２記憶部３１０の予測データ格納部３１０ｂに格納する（ステップＳ６４０）。
【００８３】
なお、本実施形態では、予測条件データに学習条件の指定データが含まれる例を示したが、これに限定されない。例えば、ＡＰＩサーバ１００が、予測条件データに含まれる各説明変数への入力値を、入出力データサーバの第１記憶部に格納された学習条件データテーブルの各データ項目の判定値と対比して、一致する学習条件があれば、該当する学習条件に対応する構築済み予測モデルを、別個の学習条件の指定データなしに読み出して、予測処理を実行することも可能である。この場合、ユーザの手間が省けるので、利便性が向上する。
【００８４】
次に、予測結果集計部３０５が複数の予測モデルにより算出された予測値を集計する具体的な処理について説明する。
【００８５】
図１０は、本実施形態による予測結果集計部の動作の一例を示すフローチャートである。
【００８６】
本実施形態では、図１０に示すように、予測結果集計部３０５は、予測処理部３０４から予測処理が終了の通知を受信すると（ステップＳ７００）、これに対応する予測結果である複数の予測モデルにより算出された予測値データを第２記憶部３１０の予測データ格納部３１０ｂから読み出す（ステップＳ７１０）。そして、クライアント端末１０から入力された予測条件データに基づき指定された学習条件に対応する予測モデル間の関係性、すなわち、集計ルールを読み出す（ステップＳ７２０）。
【００８７】
予測結果集計部３０５は、読み出した複数の予測モデルで算出された予測値データを、同じく読み出した予測モデル間の関係性、すなわち、集計ルールを適用した手順に従って集計し、集計した値を本データ予測システムによる最終的な予測結果の数値として出力する（ステップＳ７３０）。その後、予測結果集計部３０５は、予測結果データを、第１記憶部２１０の予測データ格納部２１０ｃに送信する（ステップＳ７４０）。
【００８８】
＜各予測モデルによる予測値を集計する手段の説明＞
以下、本発明によるデータ予測システムおいて、複数の予測モデルを用いてそれぞれ算出された複数の予測値データを集計する手段について説明する。
【００８９】
図１１は、予測結果集計部で実行される、予測値を集計する手順を説明する概念図である。
【００９０】
この手順を実行する予測結果集計部３０５は、予測処理部３０４で実行された複数の予測モデル（以下、予測モデルＡ〜Ｃという）に対して、それぞれ便宜上の「投票権」、「投票権の譲渡率」、及び「投票先の配分率」を付与する。つまり、各予測モデルを仮想のエージェントに見立てて説明する。
【００９１】
ここで、「投票権」とは、各予測モデルに付与された、どの予測モデルを使うべきかと言う投票を行う際の持ち点（各予測モデルは最初に１００票ずつの投票権を持つ）である。「投票権の譲渡率」とは、投票権を譲渡する割合（他者との関係性で決まる）である。「投票先の配分率」とは、自分（当該予測モデル）が投票するときの投票先の配分の割合である。
【００９２】
図１１に示す例では、予測モデルＡ〜Ｃが、図に示したそれぞれの「投票権の譲渡率」及び「投票先の配分率」で投票を行い、各予測モデルに与えられた投票の結果に基づく得票率を用いて、予測結果を集計する。ここで、それぞれの予測モデルが投票する数値は、各学習条件に応じて予め設定され、各学習条件に対応付けて、第２記憶部３１０の集計ルール格納部３１０ｃに格納される。そして、予測結果を集計するルールは、上述した予測モデル間の関係性評価での学習によって決定される。
【００９３】
上述のように、本発明によるデータ予測システムの予測結果集計手段は、バーチャル会議にて、各予測モデルがそれぞれの意見（予測値データ）を持ち寄って、投票に基づく合議により結論としての予測結果を決定するものである。
【００９４】
以上、本発明のデータ予測システムは、予測対象に応じて、予め設定された学習条件ごとに構築された複数の異なるタイプの予測モデルを利用して予測を行い、これらの予測モデルにより算出された複数の予測値データを集計する手段に、予測モデル間の関係性に基づく合議型の決定手段を用いることにより予測の精度を向上させることができる。また、予測環境や予測対象に応じてリアルタイムに、予測値データを集計する予測モデル間関係性を変化させるので、予測結果の確度が向上する。さらに、予測モデル及び予測モデル間の関係性を、学習プロセスにより継続的に向上させるので、予測モデル及び予測モデル間の関係性自体の精度が向上する。
【００９５】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【００９６】
１    データ予測システム
５    インターネット
１０    クライアント端末
１０ａ    操作部
１０ｂ    送受信部
１１、１０１、２０１、３０１    制御部
１２、１１０    記憶部
１３、１２０、２２０、３２０    通信インターフェース（Ｉ／Ｆ）部
１４    入力装置
１５    出力装置
２０    サーバ群
３０    外部装置
１００    ＡＰＩサーバ
２００    入出力データサーバ
２１０    第１記憶部
２１０ａ    時系列データ格納部
２１０ｂ    予測条件データ格納部
２１０ｃ    予測結果データ格納部
２２１    データ取得部
２２２    データ出力部
３００    予測データ生成処理サーバ
３０２    モデル学習部
３０３    モデル間関係性学習部
３０４    予測処理部
３０５    予測結果集計部
３１０    第２記憶部
３１０ａ    予測モデルＤＢ（データベース）部
３１０ｂ    予測データ格納部
３１０ｃ    集計ルール格納部
【図１】
2019095912.tif 000004
【図２】
2019095912.tif 000005
【図３】
2019095912.tif 000006
【図４】
2019095912.tif 000007
【図５】
2019095912.tif 000008
【図６】
2019095912.tif 000009
【図７】
2019095912.tif 000010
【図８】
2019095912.tif 000011
【図９】
2019095912.tif 000012
【図１０】
2019095912.tif 000013
【図１１】
2019095912.tif 000014