(57)【要約】      （修正有）【課題】コンピュータにより、非定常時系列データを予測する方法を提供する。【解決手段】現在の時間ステップに続く次の時間ステップにおいてニューラルネットワークが非定常時系列データの予測値を出力する予測サイクルを繰り返し実行する。時系列データの値は現在の時間ステップまで知られており、各々の予測サイクルで、ニューラルネットワークの入力は、各々の時間ステップにおいて入力選択処理を実行することにより動的に選択される。入力選択処理は、各々の候補指示子が時系列データと相関され得る候補指示子セットについて、時系列データの値と候補指示子セットの各々の指示子の値との間の因果性を所定の因果性指標を用いて決定し、現在の時間ステップにおいて時系列データとの最高の相関関係を生じるよう計算される候補指示子の指示子から、ニューラルネットワークの入力となるべき指示子サブセットを選択する。【選択図】図１
2017199362.tif 000002
【特許請求の範囲】
【請求項１】
連続する時間ステップについて、現在の時間ステップに続く次の時間ステップで非定常時系列データの予測値を出力するニューラルネットワークの入力を動的に選択する、コンピュータにより実施される方法であって、前記時系列データの値は、前記現在の時間ステップまで及びそれについて知られており、前記方法は、各々の時間ステップにおいて、入力選択処理を実行するステップを有し、前記入力選択処理は、
各々の候補指示子が前記時系列データと相関し得る候補指示子セットについて、所定の因果性指標を用いて、前記時系列データの値と前記候補指示子セットの各々の指示子の値との間の因果性を決定するステップと、
前記現在の時間ステップにおいて、前記ニューラルネットワークの前記入力になるべき、前記時系列データとの最高の因果関係を生じるよう計算される前記候補指示子の指示子から、指示子サブセットを選択するステップと、
を有する、方法。
【請求項２】
前記所定の因果性指標は、グレンジャーの因果性である、請求項１に記載の方法。
【請求項３】
現在の時間ステップに続く次の時間ステップにおいてニューラルネットワークが非定常時系列データの予測値を出力する予測サイクルを繰り返し実行する、コンピュータにより実施されるデータ予測方法であって、前記時系列データの値は、前記現在の時間ステップまで及びそれについて知られており、各々の予測サイクルで、ニューラルネットワークの前記入力は、請求項１又は２に記載の方法に従い選択される、方法。
【請求項４】
各々の予測サイクルで、前記ニューラルネットワークの前記入力が選択された後に、
同一の選択された入力及び出力を有する適切に訓練されたニューラルネットワークが検索のために利用可能であるか否かについて決定が行われ、
利用可能である場合、最近の過去の予測サイクルから訓練されたニューラルネットワークが、現在の予測サイクルで使用するために検索され、前記ネットワークが最後に検索されて以来、新しい入力指示子について得られたデータの任意の過去の値について更に訓練され、又は
利用可能ではない場合、所要の入力及び出力を有するニューラルネットワークが、構築され、前記時系列データの過去の値及び前記指示子サブセットの中の前記指示子に基づき訓練される、
請求項３に記載の方法。
【請求項５】
前記ニューラルネットワークを訓練することは、
前記指示子サブセットからの過去のｍ回の時間ステップのデータと前記時系列データとを、前記ニューラルネットワークの訓練セットに変換するステップであって、前記訓練セットは、ｎ個の行を有し、各々の行は、１又は複数の時間ステップの時間枠に渡る指示子サブセットの中の前記指示子の値と該時間枠に続く時間ステップの前記時系列データの値とを表し、１つの行は最近の時間枠を表し、他の行は過去の時間枠を表し、１つの時間ステップだけ離れている、ステップと、
ニューラルネットワーク学習アルゴリズムを用いて、前記訓練セットを使用して前記ニューラルネットワークの重みを設定するステップと、
を有する、請求項４に記載の方法。
【請求項６】
前記ニューラルネットワークは、訓練の後に格納される、請求項５に記載の方法。
【請求項７】
前記ニューラルネットワークは、複数の過去の時間枠に渡り前記指示子サブセットの中の各々の指示子の値を前記ニューラルネットワークに入力することにより、前記次の時間ステップにおける前記時系列データの前記値を予測するために使用され、各々の時間枠は、１又は複数の時間ステップを有する、請求項３乃至６のいずれか一項に記載の方法。
【請求項８】
コンピュータプログラムであって、コンピュータ上で実行すると、該コンピュータに、請求項１又は２に記載の方法及び／又は請求項３乃至７のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【請求項９】
連続する時間ステップについて、現在の時間ステップに続く次の時間ステップで非定常時系列データの予測値を出力するニューラルネットワークの入力を動的に選択するよう構成される入力選択装置であって、前記時系列データの値は、前記現在の時間ステップまで及びそれについて知られており、前記装置は、各々の時間ステップにおいて、入力選択処理を実行するよう動作し、前記入力選択処理は、
各々の候補指示子が前記時系列データと相関し得る候補指示子セットについて、所定の因果性指標を用いて、前記時系列データの値と前記候補指示子セットの各々の指示子の値との間の因果性を決定するステップと、
前記現在の時間ステップにおいて、前記ニューラルネットワークの前記入力になるべき、前記時系列データとの最高の因果関係を生じるよう計算される前記候補指示子の指示子から、指示子サブセットを選択するステップと、
を有する、装置。
【請求項１０】
前記所定の因果性指標は、グレンジャーの因果性である、請求項９に記載の装置。
【請求項１１】
現在の時間ステップに続く次の時間ステップにおいてニューラルネットワークが非定常時系列データの予測値を出力する予測サイクルを繰り返し実行するよう構成される時系列データ予測装置であって、前記時系列データの値は、前記現在の時間ステップまで及びそれについて知られており、前記装置は、各々の予測サイクルで、ニューラルネットワークの前記入力を選択する請求項９又は１０に記載の入力選択装置を有する、装置。
【請求項１２】
各々の予測サイクルで、前記ニューラルネットワークの前記入力が前記入力選択装置により選択された後、同一の選択された入力及び出力を有する適切に訓練されたニューラルネットワークが検索のために利用可能であるか否かを決定するよう動作する決定装置と、
前記決定装置が、適切に訓練されたニューラルネットワークが検索のために利用可能であると決定した場合、現在の予測サイクルで使用するために最近の過去の予測サイクルから訓練されたニューラルネットワークを検索するよう動作する過去のニューラルネットワーク検索装置と、
前記決定装置が、適切に訓練されたニューラルネットワークが検索のために利用可能ではないと決定した場合、現在の予測サイクルで、所要の入力及び出力を有する新しいニューラルネットワークを構築するよう動作するニューラルネットワーク構築装置と、
現在の予測サイクルで使用されるべき前記ネットワークを訓練するよう動作するニューラルネットワーク訓練装置であって、検索されたニューラルネットワークは、前記ネットワークが最後に検索されて以来、新しい自身の入力された指示子について得られたデータの任意の過去の値について訓練され、新しいニューラルネットワークは、前記時系列データの過去の値及び前記指示子サブセットの中の前記指示子に基づき訓練される、ニューラルネットワーク訓練装置と、
を更にする請求項１１に記載の装置。
【請求項１３】
前記ニューラルネットワーク訓練装置は、
前記指示子サブセットからの過去のｍ回の時間ステップのデータと前記時系列データとを、前記ニューラルネットワークの訓練セットに変換するよう動作する訓練データ準備装置であって、前記訓練セットは、ｎ個の行を有し、各々の行は、１又は複数の時間ステップの時間枠に渡る前記指示子サブセットの中の前記指示子の値と該時間枠に続く時間ステップの前記時系列データの値とを表し、１つの行は最近の時間枠を表し、他の行は過去の時間枠を表し、１つの時間ステップだけ離れている、訓練データ準備装置と、
ニューラルネットワーク学習アルゴリズムを用いて、前記訓練セットを使用して前記ニューラルネットワークの重みを設定するよう動作する重み設定装置と、
を有する、請求項１２に記載の装置。
【請求項１４】
前記装置は、訓練の後に前記ニューラルネットワークを格納するよう動作する、請求項１３に記載の装置。
【請求項１５】
前記装置は、前記ニューラルネットワークを用いて、複数の過去の時間枠に渡り前記指示子サブセットの中の各々の指示子の値を前記ニューラルネットワークに入力することにより、前記次の時間ステップにおける前記時系列データの前記値を予測するよう動作し、各々の時間枠は、１又は複数の時間ステップを有する、請求項１１乃至１４のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非定常時系列データの予測に用いる方法及び装置に関する。
【発明の概要】
【０００２】
時系列データの予測は、例えば（限定ではなく）経営指標、並びにウェアラブル及びスマート装置を含む様々な異なる装置から収集されるデータの分析を含む、多くの異なる分野に関連する。時系列データは、観測時刻により順序付けられたデータシーケンスである。シリーズの要素同士の時間差は、通常固定される。多くの場合、時系列データの中の動きを予測するとき、予測は、指示子が予測されるべき時系列データ（「目標時系列データ」）に関する予測情報を提供するように見える程度まで、予測されるべき時系列データと相関する（又は相関するように見える）、指示子、つまり値若しくは値の時系列に基づく。株価予測は、例えば、広範な指示子を用いて試みられている。これらは、１次指示子（価格及び取引量）、２次指示子（１次指示子についての計算）、又は雇用可能性率、為替レート、又はニュース若しくはツイート数（つまり、Twitter（登録商標）の関連投稿数）、感想値、等のようなソーシャルメディアからのデータのような他の主要業績評価指標（key  performance  indicator：ＫＰＩ）であっても良い。通常、この場合には、価格自体ではなく株価変動方向（正又は負）が予測される。株価又は他の予測で、この変動方向が正しく予測される率は、通常、「ヒット率」として参照される。
【０００３】
因果性は、１つの時系列データセットの変化が別の時系列データセットの変化に影響する程度であり、したがって、前者が後者の予測に有用である程度でもある。指示子を選択するために、データアナリストは、例えば「グレンジャー因果性分析」として知られる種類の「因果性分析」を実行して、前者の変化が後者の変化を引き起こす証拠を示すような方法で、予測されるべき時系列データと相関する指示子を識別しても良い。
【０００４】
時系列データの傾向を予測することは、（例えば株価のように）時系列データが非定常であるとき、つまり平均及び標準偏差のようなパラメータが一定ではないとき、特に難しい。言い換えると、時系列データは、データの中のパターンが変化し続けるとき又は明確なパターンが僅かしか若しくは全く存在しないとき、非定常である。これを考慮すると、指示子と予測されるべき目標時系列データとの間の因果性も一定ではないことがある。したがって、予測されるべき時系列データとの最強の相関を示す指示子は、時間に依存して変化し得る。
【０００５】
株式予測のシナリオに戻ると、広範な異なる指示子が試みられるが、達成される最高ヒット率は、５０〜６５％の間になる傾向がある。これは、当てずっぽうに対して僅かな向上しか示さない。約７０〜８０％の幾つかのヒット率が達成されているが、このような結果は、限られた時間期間及び特定の株式について実証されているだけである。データの非定常的特性により、結果は、異なる時間期間又は異なる株式について、あまり見込みのあるものではない場合がある。
【０００６】
指示子入力に基づき時系列データを予測する１つの方法は、指示子の過去の値を入力として及び予測されるべき値を出力として、ニューラルネットワークを使用することである。ニューラルネットワークは、ユニット間のエッジにおける数値重みに従って（入力レイヤにある）入力ベクトルを（出力レイヤにある）出力ベクトルにマッピングする人工ユニットの階層型ネットワークである。重みは、通常逆伝搬である訓練アルゴリズムに従い調整される。ある種のニューラルネットワークは、１つ又は非常に少数の隠れ層を有し、複数層のパーセプトロンである（「浅い」ニューラルネットワークとしても表される場合がある）。別の種類のニューラルネットワークは、複数層を有し、ディープニューラルネットワークである。株価予測へのニューラルネットワークアプローチは、概して、上記の段落で強調されたヒット率を生み出している。
【０００７】
非定常時系列データの予測に使用するための、より適切な予測システムを提供することが望ましい。
【０００８】
本発明の第１の態様の一実施形態によると、連続する時間ステップについて、現在の時間ステップに続く次の時間ステップにおいて非定常時系列データの予測値を出力するニューラルネットワークの入力を動的に選択する、コンピュータにより実施される方法が提供される。ここで、時系列データの一部又は全部の値は、現在の時間ステップまで及びそれについて知られている。方法は、各々の時間ステップで、入力選択処理を実行するステップを有する。入力選択処理は、各々の候補指示子が時系列データと相関され得る候補指示子セットについて、前記時系列データの値と前記候補指示子セットの各々の指示子の値との間の因果性を、所定の因果性指標（例えば、グレンジャー因果性）を用いて決定するステップと、現在の時間ステップにおいて前記時系列データとの最高の相関関係を生じるよう計算される候補指示子の指示子から、前記ニューラルネットワークの前記入力となるべき指示子サブセットを選択するステップと、を有する。所定の因果性指標は、例えばグレンジャー因果性であっても良いが、任意の他の適切な因果性指標であっても良い。
【０００９】
本発明の第２の態様の一実施形態によると、現在の時間ステップに続く次の時間ステップにおいてニューラルネットワークが非定常時系列データの予測値を出力する予測サイクルを繰り返し実行する、コンピュータにより実施されるデータ予測方法が提供される。ここで、時系列データの値は、現在の時間ステップまで及びそれについて知られている。各々の予測サイクルで、ニューラルネットワークの入力は、本発明の第１の態様を具現化する方法に従い選択される。
【００１０】
本発明の第２の態様を具現化する方法の各々の予測サイクルでは、ニューラルネットワークの入力が選択された後に、同じ選択された入力及び出力を有する適切な訓練されたニューラルネットワークが検索のために利用可能か否かに関して決定が行われても良い。利用可能な場合、最近の過去の予測サイクルからのこのような訓練されたニューラルネットワークは、現在の予測サイクルで使用するために検索され、ネットワークが最後に検索されて以来、新しい入力指示子について得られたデータの任意の過去の値で更に訓練される。利用可能ではない場合、所要の入力及び出力を有する新しいニューラルネットワークが構築され、時系列データの過去の値及び指示子サブセットの中の指示子に基づき、訓練される。
【００１１】
ニューラルネットワークの訓練は、指示子サブセットからの過去のｍ回の時間ステップ（ここで、ｍは正整数である）のデータ及び時系列データを、ニューラルネットワークの訓練セットに変換するステップを有しても良い。訓練セットは、ｎ個の行を有する（ｎは正整数である）。各々の行は、１又は複数の時間ステップの時間枠に渡る指示子サブセットの中の指示子の値、及び該時間枠に続く時間ステップの時系列データの値を表す。ここで、１つの行は最近の時間枠を表し、他の行は過去の時間枠を表し、１つの時間ステップだけ離れている。ニューラルネットワークの訓練は、ニューラルネットワーク学習アルゴリズムを用いて、訓練セットを使用してニューラルネットワークの重みを設定するステップを更に有しても良い。訓練されたニューラルネットワークは、後の予測サイクルにおける使用及び検索のために訓練された後に格納されても良い。
【００１２】
本発明の一実施形態では、ニューラルネットワークは、複数の過去の時間枠に渡り前記指示子サブセットの中の各々の指示子の値を前記ニューラルネットワークに入力することにより、前記次の時間ステップにおける前記時系列データの前記値を予測するために使用されても良く、各々の時間枠は、１又は複数の時間ステップを有する。
【００１３】
本発明の第３の態様の一実施形態によると、コンピュータプログラムであって、コンピュータで実行されると、該コンピュータに、本発明の第１の及び／又は第２の態様を具現化する方法を実行させる、コンピュータプログラムが提供される。
【００１４】
本発明の第４の態様の一実施形態によると、連続する時間ステップについて、現在の時間ステップに続く次の時間ステップにおいて非定常時系列データの予測値を出力するニューラルネットワークの入力を動的に選択するよう構成される入力選択装置が提供される。ここで、時系列データの一部又は全部の値は、現在の時間ステップまで及びそれについて知られている。装置は、各々の時間ステップで、入力選択処理を実行するよう動作する。入力選択処理は、各々の候補指示子が時系列データと相関され得る候補指示子セットについて、前記時系列データの値と前記候補指示子セットの各々の指示子の値との間の因果性を、所定の因果性指標（例えば、グレンジャー因果性）を用いて決定するステップと、現在の時間ステップにおいて前記時系列データとの最高の相関関係を生じるよう計算される候補指示子の指示子から、前記ニューラルネットワークの前記入力となるべき指示子サブセットを選択するステップと、を有する。所定の因果性指標は、例えばグレンジャー因果性であっても良いが、任意の他の適切な因果性指標であっても良い。
【００１５】
本発明の第５の態様の一実施形態によると、現在の時間ステップに続く次の時間ステップにおいてニューラルネットワークが非定常時系列データの予測値を出力する予測サイクルを繰り返し実行するよう構成される時系列データ予測装置が提供される。ここで、時系列データの値は、現在の時間ステップまで及びそれについて知られている。装置は、各々の予測サイクルで、ニューラルネットワークの入力を選択する入力選択装置であって、該装置は本発明の第４の態様を具現化する、入力選択処理を有する。
【００１６】
本発明の第５の態様を具現化する装置は、各々の予測サイクルで、ニューラルネットワークの入力が入力選択装置により選択された後に、同じ選択された入力及び出力を有する適切な訓練されたニューラルネットワークが検索のために利用可能か否かを決定するよう動作する決定装置と、決定装置が適切な訓練されたニューラルネットワークが検索のために利用可能であると決定した場合、現在の予測サイクルで使用するために、最近の過去の予測サイクルからこのような訓練されたニューラルネットワークを検索するよう動作する過去のニューラルネットワーク検索装置と、を更に有しても良い。装置は、決定装置が適切な訓練されたニューラルネットワークが検索のために利用可能ではないと決定した場合、現在の予測サイクルで、所要の入力及び出力を有する新しいニューラルネットワークを構築するよう動作するニューラルネットワーク構築装置を更に有する。ニューラルネットワーク訓練装置は、現在の予測サイクルで使用されるべきネットワークを訓練するために設けられる。ここで、検索されたニューラルネットワークは、ネットワークが最後に検索されて以来新しい自身の入力された指示子について得られたデータの任意の過去の値で訓練され、新しいニューラルネットワークは、時系列データの過去の値及び指示子サブセットの中の指示子に基づき訓練される。
【００１７】
前記ニューラルネットワーク訓練装置は、前記指示子サブセットからの過去のｍ回の時間ステップのデータと前記時系列データとを、前記ニューラルネットワークの訓練セットに変換するよう動作する訓練データ準備装置であって、前記訓練セットは、ｎ個の行を有し、各々の行は、１又は複数の時間ステップの時間枠に渡る前記指示子サブセットの中の前記指示子の値と該時間枠に続く時間ステップの前記時系列データの値とを表し、１つの行は最近の時間枠を表し、他の行は過去の時間枠を表し、１つの時間ステップだけ離れている、訓練データ準備装置を有しても良い。訓練装置は、重み設定装置であって、ニューラルネットワーク学習アルゴリズムを用いて、訓練セットを使用してニューラルネットワークの重みを設定するよう動作する、重み設定装置を更に有しても良い。装置は、望ましくは、訓練の後に、訓練されたニューラルネットワークを格納するよう動作する。
【００１８】
装置は、ニューラルネットワークを用いて、複数の過去の時間枠に渡り前記指示子サブセットの中の各々の指示子の値を前記ニューラルネットワークに入力することにより、前記次の時間ステップにおける前記時系列データの前記値を予測するよう動作しても良い。ここで、各々の時間枠は、１又は複数の時間ステップを有する。
【００１９】
本発明の実施形態は、予測の基づく指示子が因果性の再評価に依存して切り替えられる、ニューラルネットワークを用いる非定常時系列データ予測への向上したアプローチを提供する。
【００２０】
本発明の一実施形態は、現在どの指示子が予測されるべき時系列データとの最強の因果性を示すかに基づき、予測のために使用される指示子を動的に変更する方法を提供することにより、時間及び指示子に関して一般的であるニューラルネットワークを用いる時系列データ予測へのアプローチを提供できる。結果として、システムは、常に、最強の因果性指標を生じる指示子に基づき予測し、例えば、特定の株式、予測子、及び時間期間についてのみより高いヒット率が提示される株式市場予測の場合には、ヒット率は、以前に達成されたヒット率よりも高くなる（又は少なくとも、より一貫性がある）。
【００２１】
因果性指標を用いて指示子を識別する方法は、以前に提案されているが、それらを用いてネットワーク入力に基づきニューラルネットワークの選択を動的に指示するメカニズムは未だ提案されていない。時間と共にネットワークトポロジを変化させる動的ニューラルネットワークも提案されているが、モデル全体又はネットワークにより受信された入力を変更しない。さらに、トポロジの動的変化は、グレンジャー因果性又は入力又は出力の間の任意の他の形式の相関ではなく、ネットワークノード及びコネクションの動作に基づく。
【００２２】
これに対して、本発明の一実施形態は、各々の時点において各々の可能な入力と目標出力との間の因果性を再計算することにより、及び最高の因果関係を有する入力指示子セットに従い出力を予測するために使用されるネットワークを切り替えることにより、異なる指示子がより強力な因果関係を示し得る異なる時間期間に適応可能である。
【００２３】
本発明の実施形態は、精度と計算効率との間の平衡を保つ。予測モデルの中の指示子サブセットを使用する代わりに、可能な指示子のセット全体が使用できると思う人もいるかもしれない。しかしながら、これは、アルゴリズムの計算時間を増大し、予測に使用される指示子セットは、サブセットだけに限定される必要がある場合がある。しかしながら、指示子サブセットの使用が強制される場合、各々の時間ステップにおいて因果性を再評価することなく、ユーザは、最初に高いヒット率を生じるが後の時間にそれを生じない指示子サブセットを選択する可能性がある。各々の時間ステップにおける因果性の自動的再評価は、最高ヒット率を生じる少数の指示子のみが常に使用されることを保証する。
【００２４】
例として、添付の図面を参照する。
【図面の簡単な説明】
【００２５】
【図１】本発明を具現化するデータ予測方法を示すフローチャートを示す。
【図２】本発明を具現化する時系列データ予測装置を示すブロック図である。
【図３】本発明を具現化するニューラルネットワーク入力選択処理の説明で使用する図である。
【図４】構築されたニューラルネットワークのための訓練データがどのように生成され得るかの説明で使用する図である。
【図５】構築されたニューラルネットワークがどのように訓練され得るかの説明で使用する図である。
【図６】訓練されたニューラルネットワークがどのように時系列データを予測するために使用され得るかの説明で使用する図である。
【図７】本発明を具現化するニューラルネットワーク入力選択処理の特定の例の説明で使用する図である。
【図８】構築されたニューラルネットワークのための訓練データがどのように生成され得るかの特定の例の説明で使用する図である。
【図９】構築されたニューラルネットワークがどのように訓練され得るかの特定の例の説明で使用する図である。
【図１０】訓練されたニューラルネットワークがどのように時系列データを予測するために使用され得るかの特定の例の説明で使用する図である。
【図１１】図７のサイクルの後のサイクルにおける、本発明を具現化するニューラルネットワーク入力選択処理の特定の例の説明で使用する図である。
【図１２】本発明を具現化する方法を実行するために適するコンピューティング装置のブロック図である。
【発明を実施するための形態】
【００２６】
本発明により具現化されるデータ予測方法は、現在の時間ステップに続く次の時間ステップにおいてニューラルネットワークが非定常時系列データの予測値を出力する予測サイクルを繰り返し実行する。ここで、時系列データの値は、現在の時間ステップまで及びそれについて知られている。各々の予測サイクルで、ニューラルネットワークの入力は、各々の時間ステップにおいて入力選択処理を実行することにより動的に選択される。入力選択処理は、望ましくは、各々の候補指示子が時系列データと相関され得る候補指示子セットについて、時系列データの値と候補指示子セットの各々の指示子の値との間の因果性を、所定の因果性指標（例えば、グレンジャー因果性）を用いて決定するステップと、現在の時間ステップにおいて時系列データとの最高の相関関係を生じるよう計算される候補指示子の指示子から、ニューラルネットワークの入力となるべき指示子サブセットを選択するステップと、を有する。
【００２７】
つまり、本発明の一実施形態では、各々の時間ステップｔにおいて、予測されるべき時系列データセットＸ、及び候補指示子セットＩが与えられると、Ｘとの最高因果関係を生じると現在示される指示子サブセットＪが、Ｘの次の値の予測で使用するために選択される。Ｘに対する各々の候補指示子Ｉの因果性は、任意の因果性指標、例えばグレンジャー因果性分析を用いて測定できる。各々のｔで、Ｊを入力とし及びＸの次の値を出力とするニューラルネットワークモデルが、ニューラルネットワークモデルが未だ存在していない場合には構築され、ニューラルネットワークモデルが存在する場合にはメモリから読み出される。ネットワークは、Ｊ及びＸの過去のデータで訓練され、メモリに保存され、Ｘの次の値が予測される。
【００２８】
先ず図１を参照し、本発明を具現化する方法は詳細に記載される。図１は、本発明の一実施形態による、Ｊを選択し及びＸを予測する全体の処理を纏める。ステップ１では（「因果性分析」）、各々の時間ステップｔで、各々の指示子（Ｉの各々の構成要素）と目標時系列データＸとの間の因果性が計算される。任意の因果性指標、例えばグレンジャー因果性分析が使用されても良い。ステップ２では（「入力／モデル選択」）、指示子Ｉのうちの固定数のＪ（つまりサブセット）が、それらの目標時系列データＸについての因果性指標に基づき選択される。ステップ３では（「選択されたモデルは存在するか？」）、適切なモデルのニューラルネットワークが既に（例えば前のサイクルで）生成されているか否かについて決定が行われる。選択された入力及び出力セットを有する選択されたモデルが、メモリに既に存在する場合、ステップ３ａで（「前のモデルをロードする」）、格納されたモデルがロードされる。存在しない場合、ステップ３ｂで（「選択された入力でモデルを生成する」）、選択された指示子の各々からの過去の値を入力とし及び目標時系列データの次の値を出力とするニューラルネットワークが最初から構築される。ステップ４では（「選択されたモデルを訓練する」）、ロードされた又は構築されたネットワークは、次に、現在の指示子の過去のデータ、及び目標時系列データで訓練され、メモリに保存される。既存のネットワークは、メモリから読み出された後に、望ましくは、該ネットワークが最後にロードされて以来、つまり該ネットワークが入力とする指示子が予測指示子として選択されたとき以来、得られた任意の履歴データにより更に訓練される。ネットワークは、それらが訓練される度に、再びメモリに保存される。ステップ５では（「予測を行う」）、ネットワークは、次に、目標時系列データの次の値を予測するために使用される。全体の処理は、次に、次のステップに進み、繰り返す。
【００２９】
図１に示す処理を実行するのに適する時系列データ予測装置１０は、図２に示される。装置１０は、入力選択装置１、決定装置２、過去のニューラルネットワーク検索装置３１、ニューラルネットワーク構築装置３２、訓練データ準備装置４１と重み設定装置４２とを備えるニューラルネットワーク訓練装置４、予測装置５、過去のニューラルネットワーク記憶装置６を有する。  
入力選択装置１は、各々の時間ステップで、入力選択処理を実行することにより、ニューラルネットワークの入力を動的に選択するよう構成される。入力選択処理は、各々の候補指示子が時系列データＸと相関され得る、装置に入力される候補指示子Ｉ０，Ｉ１，Ｉ２，．．．，Ｉｎのセットについて、時系列データＸの値と候補指示子セットの各々の指示子Ｉ０，Ｉ１，Ｉ２，．．．，Ｉｎの値との間の因果性を、所定の因果性指標（例えば、グレンジャー因果性）を用いて決定するステップと、現在の時間ステップにおいて時系列データＸとの最高の相関関係を生じるよう計算される候補指示子Ｉ０，Ｉ１，Ｉ２，．．．，Ｉｎの指示子から、ニューラルネットワークの入力となるべき指示子Ｊ０，Ｊ１，Ｊ２，．．．（３個が示される）のサブセットを選択するステップと、を有する。
【００３０】
決定装置２は、各々の予測サイクルで、ニューラルネットワークの入力が入力選択装置１により選択された後に、同じ選択された入力、指示子Ｊ０，Ｊ１，Ｊ２のサブセット、及び出力を有する適切に訓練されたニューラルネットワークが、記憶装置６から検索のために利用可能であるか否かを決定するよう動作する。決定装置２が、適切な訓練されたニューラルネットワークが記憶装置６から検索のために利用可能であると決定した場合、過去のニューラルネットワーク検索装置３１は、現在の予測サイクルで使用するために、最近の過去の予測サイクルから、このような訓練されたニューラルネットワークを検索するよう動作する。決定装置２が、適切なニューラルネットワークは記憶装置６から検索のために利用可能ではないと決定した場合、ニューラルネットワーク構築装置３２は、現在の予測サイクルで、所要の入力、指示子Ｊ０，Ｊ１，Ｊ２のサブセット、及び出力Ｘを有する新しいニューラルネットワークを構築するよう動作する。
【００３１】
ニューラルネットワーク訓練装置４は、時系列データＸの過去の値及び指示子サブセットの中の指示子Ｊ０，Ｊ１，Ｊ２に基づき、新しいニューラルネットワークを訓練するよう、又は検索されたニューラルネットワークを更に訓練するよう、動作する。ニューラルネットワーク訓練装置４は、訓練データ準備装置４１を有する。訓練データ準備装置４１は、指示子Ｊ０，Ｊ１，Ｊ２のサブセットからの過去のｍ回の時間ステップのデータ及び時系列データＸを、新しいニューラルネットワークのための訓練セットに変換するよう動作する。訓練セットは、ｎ個の行を有する。各々の行は、１又は複数の時間ステップの時間枠に渡る指示子サブセットの中の指示子Ｊ０，Ｊ１，Ｊ２の値、及び該時間枠に続く時間ステップの時系列データＸの値を表す。ここで、１つの行は最近の時間枠を表し、他の行は前の時間枠を表し、１つの時間ステップだけ離れている。ニューラルネットワーク訓練装置４は、重み設定装置４２を更に有する。重み設定装置４２は、ニューラルネットワーク学習アルゴリズムを用いて、訓練セットを使用してニューラルネットワークの重みを設定するよう動作する。訓練の後、ニューラルネットワークは記憶装置６に格納される。
【００３２】
予測装置５は、次に、次の時間ステップで、ニューラルネットワーク（新しく訓練されたニューラルネットワーク又は更なる訓練に続き検索されたニューラルネットワーク）に、複数の過去の時間枠に渡る指示子サブセットの中の各々の指示子の値Ｊ０，Ｊ１，Ｊ２を入力することにより、時系列データＸの値の予測を実施する。ここで、各々の時間枠は、１又は複数の時間ステップを有する。
【００３３】
図３は、指示子Ｉと予測されるべき時系列データＸとの間の因果性に基づくニューラルネットワークの構築（又は選択）を説明する図である（図１のステップ１〜３（ａ及びｂ））。ここで、時間ｔにおいて、ユーザは、所与の時系列データセットＸについて、Ｊの前のｓ個の値、指示子サブセットＩに基づき、（時間ｔ＋１における）次の値を予測したいと望む。Ｉ（及びしたがってＪ）はＸ自体を含み得ることに留意すべきである。
【００３４】
図３のステージ１では、各々の指示子（Ｉの各々の構成要素）とＸとの間の因果性が計算される（因果性値は単なる例である）。Ｉの各々の構成要素について、計算された因果性は、Ｉの該構成要素からの過去のｓ個の時間ステップからのデータがＸの次の値を予測できる程度を反映する。因果性は、グレンジャー因果性、又は任意の他の因果性の指標に従い計算されても良い。
【００３５】
図３のステージ２では、Ｘについて最高の因果性を有するＩからのこれらＮ個の時系列は、次に、Ｘの予測子として選択され、セットＪとして格納される。この例では、Ｎ＝３であるが、０より大きい任意の正整数値も可能である。
【００３６】
図３のステージ３では、Ｊの現在の構成は、Ｊの各々の構成要素からのｓ個の値を入力とし及びＸの値を出力するニューラルネットワークを構築するために使用される。代替で、前のサイクルでＪのこの構成に遭遇している場合、これが真である最近のサイクルからの訓練されたネットワークがメモリから検索される。新しいネットワークが構築中である場合、重みはランダムに初期化される。その他の場合、検索されたネットワークは、自身の前の訓練サイクルから学習した重みを保持する。
【００３７】
図４及び５は、図１のステップ４を説明する図である。ここで、図１のステージ３ａで検索された又は図１のステージ３ｂで構築されたニューラルネットワークが訓練される。
【００３８】
先ず、図４は、過去のｍ回の時間ステップのＪ及びＸの両方からのデータ（図４の左側に示す）が、ネットワークを訓練するための訓練セット（図４の右側に示す）に変換されることを示す。各々の行は、入力セット、及びネットワークが所与の時間について所与の入力を用いて予測することを期待される目標値を含む。つまり、各々の行は、Ｊの各々の構成要素のｓ個の連続する値を入力とし、及び該ｓ個の値に続くＸの値を出力とする。訓練セットの中の各々の行１〜ｎは、Ｊからの（長さｓの）異なる時間枠、及び該時間枠に続く時間ステップのＸの値を表す。一番上の行は最近の時間枠を表し、続く行は前の時間枠を表し、行毎に１時間ステップだけ戻る。この枠は、第１の行の最近の枠により、各々の行を生成するために、一度に１つの時間ステップを、時系列を通じて戻る。
【００３９】
次に、図５は、ネットワークが図４からの訓練データで訓練されることを示す。例として、図５は、図４の行１からのデータを用いる訓練を表す。ネットワークが示され、訓練データからの各々の行及び重みは、逆伝搬又は任意の他のニューラルネットワーク訓練／学習アルゴリズムに従い調整される。
【００４０】
訓練されたネットワークは、同じ指示子セットが後のサイクルでＪのために選択されるならば、潜在的な将来の使用のために保存される。
【００４１】
図６は、図１のステップ５を説明するための図である。ここで、次の時間ステップにおけるＸの値の予測は、訓練されたネットワークを用いて行われる。過去のｓ回の時間ステップに渡るＪの中の各々の指示子の値は、入力として表され、訓練されたネットワークは、次の時間ステップで、Ｘの値の予測を出力する。つまり、時間ｔ＋１におけるＸの次の値を予測するために、範囲［ｔ−（ｓ−１），ｔ］の各々のＪの値は、訓練されたニューラルネットワークに入力され、出力はＸｔ＋１の値を予測する。
【００４２】
図１のステップ１からの処理の更なるサイクルは、ｔをインクリメントすることにより実行される。
【００４３】
任意の時間における任意の新しい時系列データは、Ｉに追加され、次のサイクルの始めに指示子選択の候補になる。
【００４４】
本発明の一実施形態は、株価予測の問題を一例として用いて、図６〜１０を参照して以下に説明される。本実施形態は、所与の時点における所与の株価と相関する指示子を探す適用型の方法を提供する。本例では、ユーザは、Ａｐｐｌｅ（ティッカーシンボルは「ＡＡＰＬ」である）の終値の翌日変動方向を予測したいと望む。ユーザに利用可能な他の時系列データ（つまり指示子）は、ＡＡＰＬの取引量、ポンドとドルとの間の為替レート、ダウジョーンズ工業株平均（Dow  Jones  Industrial  Average：ＤＪＩＡ）、この特定の株式に関するツイート数、この株式に関するツイートの感想（何らかの感想分析指標に従い測定される）を含む。
【００４５】
図７は、Ａｐｐｌｅ（ＡＡＰＬ）の株価終値Ｘを、可能な指示子Ｉと該株価との間の因果性に基づき予測するネットワークの構築を説明する図である（図１のステップ１〜３（ａ及びｂ）に対応する）。
【００４６】
図７のステージ１では、各々の指示子（Ｉの各々の構成要素）と終値Ｘとの間の因果性が計算される（因果性値は単なる例である）。
【００４７】
図７のステージ２では、終値Ｘについて最高の因果性を有するＮ個の指示子（本例ではＮ＝３だが、必須ではない）からセットＪを形成することにより、ネットワーク入力が選択される。この場合には、取引量、ＤＪＩＡ、及びＴｗｉｔｔｅｒ（登録商標）感想が、終値Ｘについて最高の因果性を有するＮ＝３個の時系列として見出され、したがってＸの予測子として選択され、セットＪに格納される。
【００４８】
図７のステージ３では、所望の構成を有するネットワークが未だメモリの中に存在しないと仮定し、Ｊのこの特定の構成を入力とするニューラルネットワークが構築される。つまり、図８に示すように、Ｊの現在の構成は、Ｊの各々の構成要素からのｓ個の値を入力とし及び終値Ｘの次の予測値を出力とするニューラルネットワークを構築するために使用される。
【００４９】
次にネットワークの訓練が行われる。これは、図８及び９を参照して以下に説明される（時系列データの値及び訓練データのみが例である）。本例では、先ず図８で、過去のｍ日間のＪ及びＳの両方からのデータは、−１と１の間の値に正規化され、訓練データセットに変換される。訓練データセットの中の各々の行は、Ｊ及びＸからのデータの長さｓの異なる時間枠（本例ではｓ＝３）を表す。ここで、一番上の行は最近の時間枠を表し、続く表は前の時間枠を表し、行毎に１日だけ戻る。
【００５０】
図９に示すように、次に、ネットワークが図８からの訓練データを用いて訓練される。
【００５１】
つまり、ネットワークが示され、訓練データからの各々の行及び重みは、例えば逆伝搬又は任意の他のニューラルネットワーク学習アルゴリズムに従い調整される。
【００５２】
翌日（時間ｔ＋１）の終値の変動方向を予測するために、過去のｓ日間に渡る、つまり範囲［ｔ−２，ｔ］（［ｔ−（ｓ−１），ｔ］）の範囲の各々の指示子Ｊの値は、訓練されたニューラルネットワークに入力され、出力は予測を提供する。図１０の例に示すように、ネットワークは、ＡＡＰＬの株価の変動方向が１であることを予測する。つまり終値の正の変化が予測される。
【００５３】
図７〜１０を参照して上述した処理は、毎日繰り返される。後の日付で、図６で識別された指示子と異なる指示子が、終値との最強の相関（因果性）を生じることが分かった場合、処理で使用するために異なる指示子セットＪが生成される。例えば、図１１に示すように、ダウジョーンズ工業株平均（ＤＪＩＡ）は、依然として最強の相関を生み出すが、為替レート及びツイート数は、２番目及び３番目に強い相関を生み出し、取引量及びＴｗｉｔｔｅｒ（登録商標）感想はそうではない。したがって、Ｊの中の指示子セットは、ＤＪＩＡ、為替レート、及びツイート数である。
【００５４】
概して、本発明の実施形態は、任意の非定常時系列データ予測問題に適用できる。例えば、本発明の実施形態は、為替レートの予測、ビットコイン価格、売上高、又は時系列に基づく任意のＫＰＩ（主要業績評価指標）の予測のような、株価予測以外の金融用途を有し得る。本発明の別の可能な用途は、時系列が非定常である場合に、特定の話題についての投稿数、その同一の話題に関して投稿するユーザの数、等のような、ソーシャルメディアの傾向の予測であり得る。しかしながら、これらの例は網羅的ではない。
【００５５】
本発明の実施形態は、ハードウェア、１若しくは複数のプロセッサで動作するソフトウェアモジュールとして又はそれらの組合せで実施されてもよい。つまり、当業者は、マイクロプロセッサ又はデジタルシグナルプロセッサ（ＤＳＰ）が実際には用いられて、上述の機能の一部又は全部を実施してもよいことを理解するだろう。
【００５６】
本発明は、１又は複数の装置若しくは機器の、本願明細書に記載された方法の一部又は全部を実行するプログラム（例えば、コンピュータプログラム及びコンピュータプログラムプロダクト）として具現化されてもよい。このような本発明を具現化するプログラムは、コンピュータ可読媒体又はクラウドに、例えば１又は複数の信号の形式で格納されてもよい。このような信号は、インターネットのウェブサイトからダウンロード可能なデータ信号であってもよく、又はキャリア信号で若しくはどんな他の形式で提供されてもよい。
【００５７】
図１２は、本発明を実現し、本発明を具現化する方法のステップの一部又は全部を実施するために及び一実施形態の装置のタスクの一部又は全部を実行するために使用できる、データ記憶サーバのようなコンピューティング装置のブロック図である。例えば、図１２のコンピューティング装置は、図１に示したデータ予測方法の全てのステップを実施し、及び図２に示したデータ予測装置の全部のタスクを実行し、又は図１の方法のステップの一部のみを実施し、及び図２の装置のタスクの一部のみを実行するために、使用されても良い。
【００５８】
コンピューティング装置は、プロセッサ９９３、及びメモリ９９４を有する。任意で、コンピューティング装置は、コンピューティング装置のような他者、例えば本発明の実施形態の他のコンピューティング装置と通信するためのネットワークインタフェース９９７も有する。
【００５９】
例えば、一実施形態は、このようなコンピューティング装置のネットワークで構成されても良い。任意で、コンピューティング装置は、キーボード及びマウスのような１又は複数の入力メカニズム９９６、及び１又は複数のモニタのようなディスプレイユニット９９５も有する。コンポーネントは、バス９９２を介して互いに接続可能である。
【００６０】
メモリ９９４は、コンピュータ実行可能命令を実行する又は格納されたデータ構造を有するよう構成される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース及び／又は関連するキャッシュ及びサーバ）を表し得るコンピュータ可読媒体を有しても良い。コンピュータ実行可能命令は、例えば、汎用コンピュータ、特定目的コンピュータ又は特定目的処理装置（例えば、１又は複数のプロセッサ）によりアクセス可能であり及び１又は複数の機能又は工程を実行させる命令及びデータを有しても良い。したがって、用語「コンピュータ可読記憶媒体」は、機械による実行のために命令セットを格納しエンコードし又は持ち運ぶことが可能であり、機械に本開示の方法のうち任意の１又は複数を実行させる任意の媒体も含み得る。用語「コンピュータ可読記憶媒体」は、固体メモリ、光学媒体及び磁気媒体を含むと考えられるが、これらに限定されない。例として且つ限定ではなく、このようなコンピュータ可読媒体は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read−Only  Memory）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＣＤ−ＲＯＭ（Compact  Disc  Read−Only  Memory）又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置を含む非一時的若しくは有形コンピュータ可読記憶媒体、又は他の媒体、フラッシュメモリ装置（例えば、固体メモリ装置）を有し得る。
【００６１】
プロセッサ９９３は、コンピューティング装置を制御し、処理工程を実行するよう、例えば図１、３、４、５及び／又は６を参照して記載された及び請求の範囲において定められる方法を実施するためにメモリ９９４に格納されたコンピュータプログラムコードを実行するよう構成される。メモリ９９４は、プロセッサ９９３によりリード及びライトされるデータを格納する。本願明細書で参照されるとき、プロセッサは、マイクロプロセッサ、中央処理ユニット、等のような１又は複数の汎用処理装置を含み得る。プロセッサは、ＣＩＳＣ（complex  instruction  set  computing）マイクロプロセッサ、ＲＩＳＣ（reduced  instruction  set  computing）マイクロプロセッサ、ＶＬＩＷ（very  long  instruction  word）マイクロプロセッサ、又は他の命令セットを実施するプロセッサ、若しくは命令セットの組合せを実施するプロセッサを含み得る。プロセッサは、ＡＳＩＣ（application  specific  integrated  circuit）、ＦＰＧＡ（field  programmable  gate  array）、ＤＳＰ（digital  signal  processor）、ネットワークプロセッサ、等のような１又は複数の特定目的処理装置も含み得る。１又は複数の実施形態では、プロセッサは、本願明細書で議論する工程又はステップを実行する命令を実行するよう構成される。
【００６２】
ディスプレイユニット９９５は、コンピューティング装置により格納されたデータの提示を表示しても良く、ユーザとプログラムとコンピューティング装置に格納されたデータとの間の相互作用を可能にするカーソル及びダイアログボックス及びスクリーンも表示しても良い。入力メカニズム９９６は、ユーザがデータ及び命令をコンピューティング装置に入力することを可能にし得る。
【００６３】
ネットワークインタフェース（ネットワークＩ／Ｆ）９９７は、インターネットのようなネットワークに接続され、ネットワークを介して他のコンピューティング装置に接続可能であっても良い。ネットワークＩ／Ｆ９９７は、ネットワークを介して他の装置からのデータ入力／へのデータ出力を制御しても良い。
【００６４】
マイクロフォン、スピーカ、プリンタ、電源ユニット、ファン、筐体、スキャナ、トラックボール等のような他の周辺装置は、コンピューティング装置に含まれても良い。
【００６５】
本発明を実現する方法は、図１２に示されたようなコンピューティング装置で実行されても良い。このようなコンピューティング装置は、図１２に示した全てのコンポーネントを有する必要はなく、これらのコンポーネントのうちの部分集合で構成されても良い。本発明を具現化する方法は、ネットワークを介して１又は複数のデータ記憶サーバと通信する単一のコンピューティング装置により実行されても良い。コンピューティング装置は、データの少なくとも一部を格納するデータ記憶装置自体であっても良い。
【００６６】
本発明を実現する方法は、互いに協働して動作する複数のコンピューティング装置により実行されても良い。複数のコンピューティング装置のうちの１又は複数は、データの少なくとも一部を格納するデータ記憶サーバであっても良い。
【００６７】
上述の本発明の実施形態は、実施形態のうちの任意の他の実施形態と独立に又は実施形態のうちの１又は複数の他の実施形態との任意の実現可能な組合せで、使用されても良い。
【００６８】
以上の実施形態に加え、更に以下の付記を開示する。
（付記１）  連続する時間ステップについて、現在の時間ステップに続く次の時間ステップで非定常時系列データの予測値を出力するニューラルネットワークの入力を動的に選択する、コンピュータにより実施される方法であって、前記時系列データの値は、前記現在の時間ステップまで及びそれについて知られており、前記方法は、各々の時間ステップにおいて、入力選択処理を実行するステップを有し、前記入力選択処理は、
各々の候補指示子が前記時系列データと相関し得る候補指示子セットについて、所定の因果性指標を用いて、前記時系列データの値と前記候補指示子セットの各々の指示子の値との間の因果性を決定するステップと、
前記現在の時間ステップにおいて、前記ニューラルネットワークの前記入力になるべき、前記時系列データとの最高の因果関係を生じるよう計算される前記候補指示子の指示子から、指示子サブセットを選択するステップと、
を有する、方法。
（付記２）  前記所定の因果性指標は、グレンジャーの因果性である、付記１に記載の方法。
（付記３）  現在の時間ステップに続く次の時間ステップにおいてニューラルネットワークが非定常時系列データの予測値を出力する予測サイクルを繰り返し実行する、コンピュータにより実施されるデータ予測方法であって、前記時系列データの値は、前記現在の時間ステップまで及びそれについて知られており、各々の予測サイクルで、ニューラルネットワークの前記入力は、付記１又は２に記載の方法に従い選択される、方法。
（付記４）  各々の予測サイクルで、前記ニューラルネットワークの前記入力が選択された後に、
同一の選択された入力及び出力を有する適切に訓練されたニューラルネットワークが検索のために利用可能であるか否かについて決定が行われ、
利用可能である場合、最近の過去の予測サイクルから訓練されたニューラルネットワークが、現在の予測サイクルで使用するために検索され、前記ネットワークが最後に検索されて以来、新しい入力指示子について得られたデータの任意の過去の値について更に訓練され、又は
利用可能ではない場合、所要の入力及び出力を有するニューラルネットワークが、構築され、前記時系列データの過去の値及び前記指示子サブセットの中の前記指示子に基づき訓練される、
付記３に記載の方法。
（付記５）  前記ニューラルネットワークを訓練することは、
前記指示子サブセットからの過去のｍ回の時間ステップのデータと前記時系列データとを、前記ニューラルネットワークの訓練セットに変換するステップであって、前記訓練セットは、ｎ個の行を有し、各々の行は、１又は複数の時間ステップの時間枠に渡る指示子サブセットの中の前記指示子の値と該時間枠に続く時間ステップの前記時系列データの値とを表し、１つの行は最近の時間枠を表し、他の行は過去の時間枠を表し、１つの時間ステップだけ離れている、ステップと、
ニューラルネットワーク学習アルゴリズムを用いて、前記訓練セットを使用して前記ニューラルネットワークの重みを設定するステップと、
を有する、付記４に記載の方法。
（付記６）  前記ニューラルネットワークは、訓練の後に格納される、付記５に記載の方法。
（付記７）  前記ニューラルネットワークは、複数の過去の時間枠に渡り前記指示子サブセットの中の各々の指示子の値を前記ニューラルネットワークに入力することにより、前記次の時間ステップにおける前記時系列データの前記値を予測するために使用され、各々の時間枠は、１又は複数の時間ステップを有する、付記３乃至６のいずれか一項に記載の方法。
（付記８）  コンピュータプログラムであって、コンピュータ上で実行すると、該コンピュータに、付記１又は２に記載の方法及び／又は付記３乃至７のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
（付記９）  連続する時間ステップについて、現在の時間ステップに続く次の時間ステップで非定常時系列データの予測値を出力するニューラルネットワークの入力を動的に選択するよう構成される入力選択装置であって、前記時系列データの値は、前記現在の時間ステップまで及びそれについて知られており、前記装置は、各々の時間ステップにおいて、入力選択処理を実行するよう動作し、前記入力選択処理は、
各々の候補指示子が前記時系列データと相関し得る候補指示子セットについて、所定の因果性指標を用いて、前記時系列データの値と前記候補指示子セットの各々の指示子の値との間の因果性を決定するステップと、
前記現在の時間ステップにおいて、前記ニューラルネットワークの前記入力になるべき、前記時系列データとの最高の因果関係を生じるよう計算される前記候補指示子の指示子から、指示子サブセットを選択するステップと、
を有する、装置。
（付記１０）  前記所定の因果性指標は、グレンジャーの因果性である、付記９に記載の装置。
（付記１１）  現在の時間ステップに続く次の時間ステップにおいてニューラルネットワークが非定常時系列データの予測値を出力する予測サイクルを繰り返し実行するよう構成される時系列データ予測装置であって、前記時系列データの値は、前記現在の時間ステップまで及びそれについて知られており、前記装置は、各々の予測サイクルで、ニューラルネットワークの前記入力を選択する付記９又は１０に記載の入力選択装置を有する、装置。
（付記１２）  各々の予測サイクルで、前記ニューラルネットワークの前記入力が前記入力選択装置により選択された後、同一の選択された入力及び出力を有する適切に訓練されたニューラルネットワークが検索のために利用可能であるか否かを決定するよう動作する決定装置と、
前記決定装置が、適切に訓練されたニューラルネットワークが検索のために利用可能であると決定した場合、現在の予測サイクルで使用するために最近の過去の予測サイクルから訓練されたニューラルネットワークを検索するよう動作する過去のニューラルネットワーク検索装置と、
前記決定装置が、適切に訓練されたニューラルネットワークが検索のために利用可能ではないと決定した場合、現在の予測サイクルで、所要の入力及び出力を有する新しいニューラルネットワークを構築するよう動作するニューラルネットワーク構築装置と、
現在の予測サイクルで使用されるべき前記ネットワークを訓練するよう動作するニューラルネットワーク訓練装置であって、検索されたニューラルネットワークは、前記ネットワークが最後に検索されて以来、新しい自身の入力された指示子について得られたデータの任意の過去の値について訓練され、新しいニューラルネットワークは、前記時系列データの過去の値及び前記指示子サブセットの中の前記指示子に基づき訓練される、ニューラルネットワーク訓練装置と、
を更にする付記１１に記載の装置。
（付記１３）  前記ニューラルネットワーク訓練装置は、
前記指示子サブセットからの過去のｍ回の時間ステップのデータと前記時系列データとを、前記ニューラルネットワークの訓練セットに変換するよう動作する訓練データ準備装置であって、前記訓練セットは、ｎ個の行を有し、各々の行は、１又は複数の時間ステップの時間枠に渡る前記指示子サブセットの中の前記指示子の値と該時間枠に続く時間ステップの前記時系列データの値とを表し、１つの行は最近の時間枠を表し、他の行は過去の時間枠を表し、１つの時間ステップだけ離れている、訓練データ準備装置と、
ニューラルネットワーク学習アルゴリズムを用いて、前記訓練セットを使用して前記ニューラルネットワークの重みを設定するよう動作する重み設定装置と、
を有する、付記１２に記載の装置。
（付記１４）  前記装置は、訓練の後に前記ニューラルネットワークを格納するよう動作する、付記１３に記載の装置。
（付記１５）  前記装置は、前記ニューラルネットワークを用いて、複数の過去の時間枠に渡り前記指示子サブセットの中の各々の指示子の値を前記ニューラルネットワークに入力することにより、前記次の時間ステップにおける前記時系列データの前記値を予測するよう動作し、各々の時間枠は、１又は複数の時間ステップを有する、付記１１乃至１４のいずれか一項に記載の装置。
【符号の説明】
【００６９】
１  因果性分析
２  入力／モデル選択
３  選択されたモデルは存在するか？
３ａ  前のモデルをロードする
３ｂ  選択された入力でモデルを生成する
４  選択されたモデルを訓練する
５  予測を行う
【図１】
2017199362.tif 000003
【図２】
2017199362.tif 000004
【図３】
2017199362.tif 000005
【図４】
2017199362.tif 000006
【図５】
2017199362.tif 000007
【図６】
2017199362.tif 000008
【図７】
2017199362.tif 000009
【図８】
2017199362.tif 000010
【図９】
2017199362.tif 000011
【図１０】
2017199362.tif 000012
【図１１】
2017199362.tif 000013
【図１２】
2017199362.tif 000014