(57)【要約】      （修正有）【課題】時系列データにおける未来の値を高精度に予測する装置、方法およびコンピュータプログラムを提供する。【解決手段】時系列データ予測装置は、データストリーム受信部と、データ処理部と、モデル生成部と、予測部とを備える。データストリーム受信部は、時系列データを受信する。データ処理部は、受信した時系列データの一部のデータを選択し、選択したデータをデータ記憶情報に格納し、データ記憶情報の空き領域に応じて、データ記憶情報に記憶されている複数のデータを圧縮して圧縮データとし、データ記憶情報の空き領域を増やす。モデル生成部は、データ記憶情報におけるデータと前記圧縮データに基づいて、時系列データの未来の値の予測モデルを生成する。予測部は、時系列データにおいて予測対象となる部分時系列と、予測モデルとに基づいて、時系列データの未来の値を予測する。【選択図】図１
2019101490.tif 000002
【特許請求の範囲】
【請求項１】
時系列データを受信する受信部と、
前記受信された時系列データの一部のデータを選択し、選択したデータをデータ記憶情報に格納し、前記データ記憶情報の空き領域に応じて、前記データ記憶情報に記憶されている複数の前記データを圧縮して圧縮データとし、前記データ記憶情報の空き領域を増やすデータ処理部と、
前記データ記憶情報における前記データと前記圧縮データに基づいて、前記時系列データの未来の値の予測モデルを生成するモデル生成部と、
前記時系列データにおいて予測対象となる部分時系列と、前記予測モデルとに基づいて、前記時系列データの未来の値を予測する予測部と、
を備えた時系列データ予測装置。
【請求項２】
前記データ処理部は、第１パラメータに従って前記時系列データから一部のデータを選択し、
前記モデル生成部は、前記データと前記圧縮データの少なくとも一方に基づいて、前記予測モデルを生成し、
前記モデル生成部は、前記データ、前記圧縮データおよび前記第１パラメータの値の複数の組み合わせを生成し、前記複数の組み合わせに対して複数の予測モデルを生成し、
前記予測部は、前記複数の予測モデルに基づいて、前記時系列データの未来の値を予測する
請求項１に記載の時系列データ予測装置。
【請求項３】
前記モデル生成部は、モデルの種類をさらに加えて、前記複数の組み合わせを生成する
請求項２に記載の時系列データ予測装置。
【請求項４】
前記モデル生成部は、前記複数の予測モデルの予測誤差に基づいて前記複数の予測モデルに対して重みを設定し、
前記予測部は、前記複数の予測モデルによる複数の予測値を前記複数の重みで重み付け合計することで、前記時系列データの未来の値を予測する
請求項２または３に記載の時系列データ予測装置。
【請求項５】
前記モデル生成部は、前記予測モデルの生成に用いる前記データおよび前記圧縮データのサンプル数に基づいて、前記予測モデルの前記重みを設定する
請求項４に記載の時系列データ予測装置。
【請求項６】
前記モデル生成部は、前記予測モデルの複雑度に応じて、前記予測モデルの重みを設定する
請求項４または５に記載の時系列データ予測装置。
【請求項７】
前記モデル生成部は、前記重みが大きい予測モデルほど、次回前記予測モデルに設定する重みに、前記重みを大きくする値を加算する
請求項４ないし６のいずれか一項に記載の時系列データ予測装置。
【請求項８】
前記第１パラメータは、選択する前記時系列データの前記一部の長さを表す
請求項２ないし７のいずれか一項に記載の時系列データ予測装置。
【請求項９】
前記データ処理部は、前記複数のデータに基づき複数の特徴ベクトルを生成し、前記複数の特徴ベクトルをクラスタリングすることにより複数のクラスタを生成し、前記複数のクラスタの複数の代表ベクトルを生成し、前記複数の代表ベクトルに基づき、複数の前記圧縮データを得る
請求項１ないし８のいずれか一項に記載の時系列データ予測装置。
【請求項１０】
前記データは、前記時系列データにおける部分時系列と、前記時系列データにおける前記部分時系列の一定時間後の値とを含み、
前記予測部は、前記予測対象となる部分時系列から前記一定時間後の値を予測する
請求項１ないし９のいずれか一項に記載の時系列データ予測装置。
【請求項１１】
前記データ記憶情報は、前記データを格納するための第１記憶領域と、前記圧縮データを格納するための第２記憶領域を備え、
前記データ処理部は、前記予測部の予測誤差に応じて、前記第１記憶領域と前記第２記憶領域の容量の割合を変更する
請求項１ないし１０のいずれか一項に記載の時系列データ予測装置。
【請求項１２】
前記データ処理部は、前記データ記憶情報の空き領域に応じて、前記データ記憶情報に記憶されている前記データと前記圧縮データとを圧縮して、圧縮データとし、前記空き領域を増やす
請求項１ないし１２のいずれか一項に記載の時系列データ予測装置。
【請求項１３】
前記データ記憶情報を保持するデータ記憶部
をさらに備えた請求項１ないし１２のいずれか一項に記載の時系列データ予測装置。
【請求項１４】
前記予測部により予測された前記未来の値を表示する表示部
を備えた請求項１ないし１３のいずれか一項に記載の時系列データ予測装置。
【請求項１５】
時系列データを受信するステップと、
前記受信された時系列データの一部のデータを選択し、選択したデータをデータ記憶情報に格納するステップと、
前記受信された時系列データの一部のデータを選択し、選択したデータをデータ記憶情報に格納し、前記データ記憶情報の空き領域に応じて、前記データ記憶情報に記憶されている複数の前記データを圧縮して圧縮データとし、前記データ記憶情報の空き領域を増やすステップと、
前記データ記憶情報における前記データと前記圧縮データに基づいて、前記時系列データの未来の値の予測モデルを生成するステップと、
前記時系列データにおいて予測対象となる部分時系列と、前記予測モデルとに基づいて、前記時系列データの未来の値を予測するステップと、
を備えた時系列データ予測方法。
【請求項１６】
時系列データを受信するステップと、
前記受信された時系列データの一部のデータを選択し、選択したデータをデータ記憶情報に格納するステップと、
前記受信された時系列データの一部のデータを選択し、選択したデータをデータ記憶情報に格納し、前記データ記憶情報の空き領域に応じて、前記データ記憶情報に記憶されている複数の前記データを圧縮して圧縮データとし、前記データ記憶情報の空き領域を増やすステップと、
前記データ記憶情報における前記データと前記圧縮データに基づいて、前記時系列データの未来の値の予測モデルを生成するステップと、
前記時系列データにおいて予測対象となる部分時系列と、前記予測モデルとに基づいて、前記時系列データの未来の値を予測するステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、時系列データ予測装置、時系列データ予測方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
IoT（Internet of Things）の普及に伴い、データストリームを解析する技術に関心が高まっている。ここでいうデータストリームは、データが長期間にわたってまたは無限に流れ続け（性質１）、かつデータの傾向が時間に応じて変化する（コンセプトドリフトが起こる）時系列データを想定している。特に、情報機器・製造装置の異常予兆や交通流・電力の予測など、データストリームにおける未来の値を予測するオンライン予測技術が求められている。オンライン予測技術として良く知られている方法として、現在時点から過去の直近の時間長のデータ（直近データ）を用いた自己回帰（AR:Autoregressive）がある。しかしながら、一般に直近データのみから未来の値を予測することは難しく、予測精度の向上が求められる。
【０００３】
そこで、データが発生した曜日やデータが発生したイベントなどを表したカレンダー情報や、過去のデータから作成した典型的な波形など過去の履歴を利用することで、予測精度を高める方法（方法１）も提案されている。また、コンセプトドリフトに対応するため、回帰のメタパラメータをリアルタイムに変更する方法（方法２）なども近年提案されている。
【０００４】
しかしながら、カレンダー情報を利用する方法では、適用ドメインに固有の知識が必要となり汎用性に欠ける。過去の波形を保持する方法では、過去波形を貯め続けなければならない。このためには大きな記憶容量を必要とし、また記憶容量を超えて波形を貯めることはできない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平6-35895号公報
【特許文献２】特開2008-3920公報
【非特許文献】
【０００６】
【非特許文献１】“KNN Classifier with Self Adjusting Memory for Heterogeneous Concept Drift”, IEEE 16th International Conference on Data Mining (ICDM2016), Pages 391-300／Viktor Losing et al.
【非特許文献２】“Regime Shifts in Streams  Real-time Forecasting of Co-evolving Time Sequences”, Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD2016), Pages 392-401／Yasuko Matsubara et al.
【非特許文献３】“Multivariate k-Nearest Neighbor Regression for Time Series data - a novel Algorithm for Forecasting UK Electricity Demand", International Joint Conference on Neural Networks (IJCNN2013), Pages1-8／Fahad H. Al-Qahtani et al.
【非特許文献４】k-means++: The advantages of careful seeding、 ACM-SIAM2007
【非特許文献５】Supervised Weighting-Online Learning Algorithm for Short-Term Traffic Flow Prediction、 IEEE TRANSACTION ITS2013
【非特許文献６】Utilizing Real-World Transportation Data for Accurate Traffic Prediction、 ICDM2012
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の実施形態は、時系列データにおける未来の値を高精度に予測可能な時系列データ予測装置、時系列データ予測方法およびコンピュータプログラムを提供する。
【課題を解決するための手段】
【０００８】
本発明の時系列データ予測装置は、受信部と、データ処理部と、モデル生成部と、予測部とを備える。前記受信部は、時系列データを受信する。前記データ処理部は、前記受信された時系列データの一部のデータを選択し、選択したデータを前記データ記憶情報に格納し、前記受信された時系列データの一部のデータを選択し、選択したデータをデータ記憶情報に格納し、前記データ記憶情報の空き領域に応じて、前記データ記憶情報に記憶されている複数の前記データを圧縮して圧縮データとし、前記データ記憶情報の空き領域を増やす。前記モデル生成部は、前記データ記憶情報における前記データと前記圧縮データに基づいて、前記時系列データの未来の値の予測モデルを生成する。前記予測部は、前記時系列データにおいて予測対象となる部分時系列と、前記予測モデルとに基づいて、前記時系列データの未来の値を予測する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に関わる時系列データ予測装置のブロック図
【図２】短期記憶表の生成方法の例を示す図。
【図３】短期記憶表の例を示す図。
【図４】長期記憶表の例を示す図。
【図５】短期記憶表と長期記憶表の役割を模式的に示す図。
【図６】短期記憶表および長期記憶表に含まれるサンプルを座標系にマッピングした状態を概略的に示す図。
【図７】時系列データ上に、類似度の高いサンプルを表記した状態を示す図。
【図８】本発明の実施形態に係る時系列データ予測装置のハードウェア構成を示す。
【図９】時系列データ予測装置の動作を説明するためのフローチャートを示す図。
【図１０】図９に続くフローチャートを示す図。
【図１１】図１０に続くフローチャートを示す図。
【図１２】予測モデルを生成する具体的な動作の一例のフローチャートを示す図。
【図１３】予測区間の例と、予測時間幅および重みの関係の例とを示す図。
【図１４】短期記憶部と長期記憶部の記憶容量の割合パターンの例を示す図。
【図１５】本発明の実施形態に係る時系列データ予測システムを示す図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本発明の実施形態について説明する。
（第１の実施形態）
図１に、本実施形態に関わる時系列データ予測装置のブロック図を示す。図１の時系列データ予測装置は、データストリーム受信部（以下、受信部）１１、データ記憶部１２、データ処理部１３、メタパラメータ設定部１４、モデル生成部１５、モデル情報記憶部１６、予測部１７、予測結果記憶部１８、および表示部１９を備える。データ記憶部１２は、短期記憶部２１と長期記憶部２２とを備える。本時系列データ予測装置は、通信ネットワークを介して、対象装置から時系列の波形データであるデータストリームを受信し、受信したデータストリームに基づき、データストリームの未来の時刻の値を予測する予測モデルを生成する。そして、生成した予測モデルと、データストリームの現在の値から、未来の時刻の値を予測する。予測モデルの生成と、予測モデルを用いた予測とをデータストリームの値の受信ごとに繰り返し行うことで、データストリームの未来の時系列波形を予測する。
【００１１】
受信部１１は、通信ネットワークを介して、対象装置から、データストリームを受信する。通信ネットワークは、インターネットのような広域ネットワークでも、ローカルネットワークでもよい。また、通信ネットワークは、有線でも、無線でも、これらの混合でもよい。データストリームは、Ｘ＝（Ｘ１、Ｘ２、Ｘ３、…）のような形式によって表される時系列の波形データである。つまり、データストリームは、複数の時刻の値を含む時系列データである。データストリームの各時刻ｉの値Ｘｉは、一例として、対象装置におけるセンサの観測値である。観測値は、単変数でも良いし、多変数でも良い。以下の説明では、単変数を想定する。本実施形態は、現在時刻ｔからｎ時刻（ｎステップ）先の時刻におけるデータストリームの値（Ｘｔ＋ｎ）を、リアルタイムに予測する。予測時間幅ｎは、本装置のオペレータであるユーザが、入力装置を用いて本予測装置に対して指定してもよい。ストリームデータの値は、センサの観測値の他、複数のセンサの観測値の演算値（例えば電流と電圧の積）でもよいし、観測値の統計値（平均値または標準偏差など）でもよい。
【００１２】
受信部１１は、受信したデータストリームの観測値をデータ処理部１３に提供する。例えば、受信部１１は、データストリームとして、・・・Ｘｔ−９、Ｘｔ−８・・・Ｘｔ−２、Ｘｔ−１、Ｘｔの順に観測値を受信し、これらの観測値を、順次、短期記憶部２１に提供する。
【００１３】
データ処理部１３は、短期記憶部（第１記憶領域）２１において短期波形表（データ記憶情報）を管理する。短期波形表は、データストリームにおける一部のデータを保持する表である。この一部のデータは、データストリームにおいて選択した波形長ｍの波形と、当該波形に対してｎ時刻後の観測値との組を含む。ｎは、予測時間幅である。予測時間幅ｎの起点（基準時刻）は、ここでは波形の末尾の時刻とするが、波形の先頭の時刻など、別に定義してもよい。
【００１４】
図２（Ａ）および図２（Ｂ）に、短期波形表の生成方法の例を示す。図２（Ａ）はデータストリームの最も直近に受信した時刻（現在時刻）ｔから、（ｍ＋ｎ）時刻分に遡った範囲にウインドウを設定している。図２（Ｂ）にはウインドウサイズが１０の場合の例を示す。ウインドウに含まれる現在時刻ｔの観測値と、ウインドウ内の末尾時刻（最新時刻）から遡ってｎ〜ｎ＋ｍ−１時刻の範囲の長さｍ分の波形（部分時系列）とを含むデータを取得する。波形は、ｍ個の観測値を含む。図の例ではｍ＝２であり、波形（Ｘｔ−９，Ｘｔ−８）と、現在時刻の観測値Ｘｔとを含むデータを取得する。取得したデータを短期波形表に格納する。現在時刻ｔの観測値Ｘｔは、取得した長さｍの波形の末尾時刻の観測値Ｘｔ−８から８（＝ｎ）時刻後の観測値である。新たな値を受信するごとに、ウインドウが１時刻、時間軸方向にずらされる。
【００１５】
図３の左に、波形長ｍが２、予測時間幅ｎが３の場合に作成された短期波形表の例を示す。ウインドウサイズは５である。データストリームの最新の観測値が受信されるごとに、ウインドウが１ずつ時間方向にずらされ、ウインドウ内の最新時刻の観測値と、ウインドウ内の最新時刻から３（＝ｎ）〜４（＝ｎ＋ｍ−１）時刻だけ遡った範囲の波形長２の波形（２つの時刻の観測値）とを含むデータが取得される。取得されたデータは、短期波形表に登録される。
【００１６】
図３の右に、波形長ｍが４、予測時間幅ｎが３の場合に作成された短期波形表を一例として示す。この例ではウインドウサイズが７である。
【００１７】
データ処理部１３は、１つまたは複数の波形長について、短期波形表を作成する。複数の予測時間幅を用意し、予測時間幅と波形長との組み合わせ毎に、短期波形表を作成してもよい。
【００１８】
データ処理部１３は長期記憶部（第２記憶領域）２２において長期記憶表（データ記憶情報）を管理する。データ処理部１３は、短期記憶表に新たなデータ（波形と観測値の組）を書き込むための空き領域がなくなると、短期記憶部の短期記憶表の一部のデータを、長期記憶部の長期記憶表に移動させる。また、データ処理部１３は、長期記憶表に新たにデータを書き込むための空き領域がなくなると、長期記憶部内のデータを圧縮（要約）して圧縮データを作成し、圧縮データによって長期記憶部２２を上書きする。これにより、長期記憶部２２の空き領域を増やす。長期記憶表には短期記憶部２１から移動させられたデータ、および圧縮データが存在するが、これらのいずれもが圧縮の対象となる。圧縮データは、代表波形と、代表値（代表観測値）とを含む。
【００１９】
長期記憶部２２におけるデータ圧縮は、ｋ−ｍｅａｎｓ＋＋などのクラスタリングアルゴリズムにより行うことができる。例えば、波形長をｍとし、長期記憶表における各データをｍ＋１次元の特徴ベクトルとみなす。そして、ｋ−ｍｅａｎｓ＋＋クラスタリングを実行する。ｋ＝ｉｎｔ（ｒ×α）とする。ｒは、現在、長期記憶表に保持されているデータ数である。ｋは、生成するクラスタ数（つまり、生成する代表ベクトルの個数）である。αは０から１の範囲に値をとる定数であり、ｉｎｔは浮動小数を整数に近似する関数である。例えば、長期記憶表に登録されているデータ数を半分（１／２）にする場合は、αを１／２に設定すればよい。クラスタリングによって生成されたｋ個のクラスタに属するデータの平均が、ｋ個のクラスタの代表ベクトルとなる。これによりｋ個の代表ベクトルが生成される。
【００２０】
代表ベクトルは、代表波形と、代表観測値とを含む。代表波形は、クラスタに属するデータにおける波形の平均である。代表観測値は、クラスタに属するデータにおける観測値の平均である。ｋ個の代表ベクトルを、圧縮データとして長期記憶部２２に書き込む。これにより、長期記憶表のデータ数は、ｒ個からｋ個に減少し、ｒ−ｋ個分の要素に相当する領域が空く。
【００２１】
図４の左に、波形長が２の場合の長期記憶表の例を示す。図４の右に、波形長が４の場合の長期記憶表の例を示す。左の側の波形長が２の長期記憶表は、図３の左側の波形長が２の短期記憶表に対応する。図４の右側の波形長が４の長期記憶表は、図３の右側の波形長が４の短期記憶表に対応する。各長期波形表には、短期波形表から移動させられたデータ（波形と観測値との組）と、圧縮データ（代表波形と代表観測値との組）とが含まれている。
【００２２】
このように、短期記憶表には、現在時刻から直近のデータが含まれ、長期記憶表には過去の古いデータ（圧縮データの場合も含む）が含まれる。このことを図５に模式的に示す。
【００２３】
なお、本実施形態では短期記憶表と長期記憶表が別々に管理されているが、これらを１つに統合して、１つのデータ記憶情報として管理してもよい。この場合、データ記憶情報の領域を、短期記憶用の領域（第１記憶領域）と、長期記憶用の領域（第２記憶領域）とに分けて管理してもよい。
【００２４】
モデル生成部１５は、短期記憶表および長期記憶表に保持されたデータを用いて、複数の予測モデルを生成し、これらの予測モデルを統合することで、統合モデルを生成する。モデルの統合は、一例として、複数の予測モデルに重みを設定し、これらの予測モデルを重み付け合計することで行う。統合モデルを用いて、現在時刻からｎ時刻後の値を予測できる。予測モデルを１つのみ生成し、この予測モデルを使って、現在時刻からｎ時刻後の値を予測することも可能である。
【００２５】
モデル情報記憶部１６は、予測モデルの作成に必要な情報を格納している。例えば、モデルの型（種類）に関する情報、モデルのパラメータを最適化するための関数（最適化関数）に関する情報が格納されている。モデルの種類としては、重回帰モデル、非線形回帰モデル、ニューラルネットワーク、決定木など、未来の値を予測するのに利用可能なものであれば、何でもかまわない。本実施形態では一例として、重回帰モデルを想定する。重回帰モデルの回帰係数を最小二乗誤差の最小化により求める場合には、最小二乗誤差の関数が、最適化関数としてモデル情報記憶部１６に格納されている。最適化関数は、使用するモデルの種類に応じて、適切なものを用いればよい。
【００２６】
複数の予測モデルを生成するため、モデルの種類と、短期記憶表および長期記憶表の少なくとも一方と、メタパラメータ（第１パラメータ）とを組み合わせる。記憶表の利用形態として、短期記憶表のみ用いる場合、長期記憶表のみ用いる場合、これらの両方を用いる場合（３通り）がある。メタパラメータとしては、波形長がある。その他のメタパラメータの例として、ウインドウ長がある。
【００２７】
最大で、（モデルの種類の個数）×（記憶表の個数）×（メタパラメータの組み合わせ数）の予測モデルを生成できる。一例として、モデルの種類として重回帰モデルを用い、記憶表の利用形態が短期記憶表、長期記憶表、およびこれらの両方の３通りあり、メタパラメータとして波形長が２または４の２通りある場合、１×３×２個の予測モデルを生成できる。
【００２８】
メタパラメータ設定部１４は、波形長またはウインドウ長等のメタパラメータを設定する。その他、本実施形態で使用する定数または係数など、ユーザが指定するハイパーパラメータを設定してもよい。メタパラメータは、例えば、本装置のユーザが入力装置を用いて指定する。例えば、（波形長、ウインドウ長）＝（２、６）、（４、７）がユーザにより指定された場合、メタパラメータ設定部１４は、これらの２つを設定する。この場合、波形長およびウインドウ長の組み合わせ数は２である。メタパラメータ設定部１４は、設定したメタパラメータを、モデル生成部１５に提供する。なお、メタパラメータを、モデル生成部１５がアクセス可能な任意の記憶装置に事前に記憶させておいてもよい。
【００２９】
モデル生成部１５が予測モデルを生成する例を示す。ここでは、短期記憶表および長期記憶表の両方を使用して、重回帰モデルを生成する例を示す。
【００３０】
現在時刻の波形長ｍの波形（現在時刻からｍ−１時刻前までの波形）を特定する。また、短期記憶表および長期記憶表の両方において、波形長ｍの波形（代表波形の場合も含む）を含むデータをサンプルｉとしてすべて特定する。特定した各サンプルｉは、波形長ｍの波形Ｘｉ＝（Ｘｉ、１、  Ｘｉ、２、…、  Ｘｉ、ｍ）と、そのｎ時刻先の観測値Ｙｉとの組（Ｘｉ、Ｙｉ）を含む。ｉはサンプルを表す番号である。現在時刻の波形長ｍの波形に対して、各サンプルｉに含まれる波形長ｍの波形との類似度を計算する。類似度としては、波形間のユークリッド距離などがある。類似度の大きさに応じて、各サンプルｉに含まれる波形に重みを設定する。一例として、現在時刻の波形に対して類似度の高い順にｈ個の波形を特定し、特定したｈ個の波形に同一の重み（例えば１）を付与する。それ以外の波形には、重みを０にする。なお、ｈは、このモデルのハイパーパラメータであり、正の整数である。
【００３１】
より詳細に説明する。各サンプルｉの波形に設定する重み（波形重み）をＷｉと表す。サンプルｉの波形に含まれる各値の重み（要素重み）をＷｉ，  １、Ｗｉ，２、・・・Ｗｉ，ｍと表す。Ｗｉ＝（Ｗｉ，  １、Ｗｉ，２、・・・Ｗｉ，ｍ）である。要素重みＷｉ，  １、Ｗｉ，２、・・・Ｗｉ，ｍは、すべて同じ値でよい。例えば波形重みＷｉが１のときは、要素重みＷｉ，  １、Ｗｉ，２、・・・Ｗｉ，ｍは１であり、波形重みＷｉが０のときは、要素重みＷｉ，  １、Ｗｉ，２、・・・Ｗｉ，ｍは０である。ただし、これとは異なる方法で要素重みを決定してもよい。
【００３２】
波形重みが設定されたサンプルに基づき、波形Ｘｉ＝（Ｘｉ、１、  Ｘｉ、２、…、  Ｘｉ、ｍ）から観測値Ｙｉを回帰する重回帰モデルｆを、予測モデルとして生成する。この予測モデルは、以下の式（１）のように記述できる。式（１）は、一般的にＹｉ＝ｆ（Ｘｉ）と表される。
【数１】
2019101490.tif 000003
【００３３】
回帰係数Ａ＝（Ａ１，Ａ２，・・・Ａｍ）は、式（２）のように、最小二乗誤差により求めればよい。すなわち、Ｊを最小化するように、回帰係数Ａを求める。なお、Iはサンプル数である。
【数２】
2019101490.tif 000004
【００３４】
式（２）により求めた回帰係数Ａ＝（Ａ１，Ａ２，・・・Ａｍ）を式１に設定することで、重回帰モデル（予測モデル）ｆを生成する。予測モデルに、現在時刻の波形Ｘ’＝（Ｘ’１，Ｘ’２，・・・，Ｘ’ｍ）を入れることで、現在時刻からｎ時刻先の予測値Ｙ’を計算できる。この式を、以下に示す。
【数３】
2019101490.tif 000005
【００３５】
図６に、短期記憶表および長期記憶表に含まれるサンプルを座標系にマッピングした例を概略的に示す。この座標系は、基準時刻または現在時刻（ここではいずれもｔで表す）からｎ時刻後の観測値（Ｘｔ＋ｎ）と、ｔとｔ−１の２時刻の観測値（Ｘｔ，Ｘｔ−１）と、を軸としている。ｔとｔ−１の２時刻の観測値（Ｘｔ，Ｘｔ−１）は、観測値（Ｘｔ＋ｎ）の時刻から遡ってｎ〜ｎ＋ｍ−１の範囲の波形を構成する観測値である（ｍは２である）。
【００３６】
黒塗りの丸が、短期記憶表におけるサンプルの波形（複数の観測値）を表している。白抜きの丸が長期記憶表におけるサンプルの波形（複数の観測値）を表している。また黒丸から延びる矢印、および白丸から延びる矢印は、基準時刻ｔからｎ時刻後の観測値を表している。
【００３７】
現在時刻の波形に類似度の高いｈ個の波形のサンプルが破線３１で囲まれている。破線３１で囲まれたサンプルの波形に重み１が設定され、破線３１の枠外のサンプルの波形には重み０が設定される。重み１が設定された波形のサンプルを用いて、予測モデルが生成される。白抜きの三角は、現在時刻の波形（複数の観測値）を表している。三角から延びる矢印が指す星印は、現在時刻の波形から予測モデルで予測した値（現在時刻からｎ時刻後の観測値）を表している。
【００３８】
図７は、図６の破線３１で囲まれたサンプルの波形および現在時刻の波形を、図５における時系列データ上で表した状態を示している。破線で囲まれた２時刻分の黒丸は、図６の１つの黒丸に対応し、破線で囲まれた２時刻分の白丸は、図６の１つの白丸に対応し、破線で囲まれた２時刻分の三角は、図６の三角に対応している。
【００３９】
上記の例では、予測モデルと短期・長期記憶表とメタパラメータとの組み合わせのうちの１つについて、予測モデルを生成する例を示したが、他の組み合わせについても同様に、予測モデルを生成する。
【００４０】
ここで、短期記憶表および長期記憶表のうち短期記憶表のみを用いる場合、前述した波形の類似度を用いた方法で、短期記憶表における各サンプルの波形に重みを設定してもよいが、別の方法として、短期記憶表に含まれているすべてのサンプルの波形に同じ重みを設定してもよい。あるいは、短期記憶表のうち、現在時刻から最も近い所定数のサンプルの波形に同じ重み１を設定し、それ以外の波形に重み０を設定してもよい。長期記憶表のみを用いる場合も、前述した波形間の類似度を用いた方法で、長期記憶表の各サンプルの波形に重みを設定してもよい。ここで述べた以外の方法で、波形に重みを設定してもよい。
【００４１】
モデル生成部１５は、上述した方法により、複数の組み合わせ対応する複数の予測モデルを生成する。生成するモデルの個数をＣとし、これらの予測モデルを予測モデル１、２、・・・ｃと表す。
【００４２】
モデル生成部１５は、生成した予測モデル１〜ｃに対し、重み（モデル重み）Ｚ１、Ｚ２、・・・Ｚｃを設定する。モデル重みは、予測モデルを算出する元となった上記組み合わせの重みであるともいえる。予測モデルに設定するモデル重みの算出例を以下に示す。
【００４３】
各予測モデルを用いて、過去のデータ（短期記憶表または長期記憶表のデータ）から、現在時刻の観測値を予測する。予測した観測値と、受信したデータストリームの現在時刻の値（現在時刻の実際の観測値）との差を計算し、計算した値を予測誤差とする。予測誤差が小さい予測モデルほど、モデル重みが大きくなるように、各予測モデルのモデル重みを算出する。モデル重みの算出式の一例を示す。
【数４】
2019101490.tif 000006
【００４４】
ここで、ｅｃは、予測モデルｃの予測誤差であり、Ｃは予測モデルの数である。αは定数であり、例えば１に設定する。
【００４５】
モデル重みの他の算出例を示す。予測誤差のみに基づいて、モデル重みを算出すると、偶然、観測値にノイズがのった場合に、その影響で過剰にフィッティングする予測モデルが生成される可能性がある。そこで、予測モデルの複雑度と、予測モデルの生成に用いるサンプル数（例えば波形重みが０でないサンプルの個数）とを用いて、モデル重みを決定する方法がある。具体的には、複雑度とサンプル数とを考慮したＡＩＣまたはＢＩＣに基づき、予測誤差を修正する。式（５）に当該ＡＩＣを用いたモデル重みの定義式、および式（６）に当該ＢＩＣを用いた予測誤差の定義式を示す。
【数５】
2019101490.tif 000007
【数６】
2019101490.tif 000008
【００４６】
ｅｃは、予測モデル（組み合わせ）ｃの予測誤差（式（４）で説明済み）である。ｄｃは予測モデルｃの次元数（パラメータ数）であり、モデルの複雑度に対応する。ｎｃは予測モデルの生成に用いるサンプル数である。
【００４７】
なお、生成した複数の予測モデルの全てに対してモデル重みを算出せずに、一部の予測モデルに対してのみ、モデル重みを算出して良い。この場合、モデル重みを算出しなかった予測モデルについては、ユーザが入力装置を用いてモデル重みを設定すればよい。なお、すべての予測モデルの重みを、同じ値（例えば１／予測モデルの個数）にしてもよい。
【００４８】
モデル生成部１５は、生成した複数の予測モデルにモデル重みを乗じて、合計することにより統合モデルを生成する。予測モデル１〜ｃの関数を、Ｙ１＝ｆ１（Ｘ’）、Ｙ２＝ｆ２（Ｘ’）、・・・Ｙｃ＝ｆｃ（Ｘ’）と表すと、統合モデルの式は、以下のようになる。
【数７】
2019101490.tif 000009
【００４９】
予測部１７は、モデル生成部１５で生成された統合モデル（式（７））と、現在時刻の波形Ｘ’＝（Ｘ’１，Ｘ’２，・・・，Ｘ’ｍ）とから、現在時刻のｎ時刻先の予測値Ｙを計算する。すなわち、現在時刻の波形Ｘ’＝（Ｘ’１，Ｘ’２，・・・，Ｘ’ｍ）から各予測モデルの予測値を計算し、各予測モデルの予測値に、各予測モデルのモデル重みを乗算し、乗算結果を合計する。これにより、予測値Ｙを計算する。予測部１７は、計算した予測値Ｙを、ｎ時刻先の時刻と関連づけて生成した予測データを、予測結果記憶部１８に格納する。表示部１９は、予測結果記憶部１８内の予測データを画面に表示する。その他、モデル重みが大きい予測モデルの識別子またはモデル式などの付加情報も、予測データとともに予測結果記憶部１８に格納し、表示部１９に表示してもよい。
【００５０】
上述したデータ処理部１３、モデル生成部１５、および予測部１７の処理を、データストリームの値が受信されるごとに繰り返し行う。これにより、１時刻毎に、ｎ時刻先の予測値を計算する。計算した予測値を時系列に表示することで、データストリームの未来の部分時系列を確認できる。ここでは１時刻毎に予測値を計算したが、２以上の時刻毎に予測値を計算してもよい。
【００５１】
図８に、本実施形態に係る時系列データ予測装置のハードウェア構成を示す。本実施形態に係る時系列データ予測装置は、コンピュータ装置１００により構成される。コンピュータ装置１００は、ＣＰＵ１０１と、入力インターフェース１０２と、表示装置１０３と、通信装置１０４と、主記憶装置１０５と、外部記憶装置１０６とを備え、これらはバス１０７により相互に接続されている。
【００５２】
ＣＰＵ（中央演算装置）１０１は、主記憶装置１０５上で、コンピュータプログラムである予測プログラムを実行する。予測プログラムは、時系列データ予測装置の上述の各機能構成を実現するプログラムのことである。ＣＰＵ１０１が、予測プログラムを実行することにより、各機能構成は実現される。
【００５３】
入力インターフェース１０２は、キーボード、マウス、及びタッチパネルなどの入力装置からの操作信号を、時系列データ予測装置に入力するための回路である。
【００５４】
表示装置１０３は、時系列データ予測装置から出力されるデータまたは情報を表示する。表示装置１０３は、例えば、ＬＣＤ（液晶ディスプレイ）、ＣＲＴ（ブラウン管）、及びＰＤＰ（プラズマディスプレイ）であるが、これに限られない。予測結果記憶部１８、モデル情報記憶部１６、短期記憶部２１および長期記憶部２２に記憶されたデータまたは情報は、この表示装置１０３により表示することができる。
【００５５】
通信装置１０４は、時系列データ予測装置が外部装置と無線又は有線で通信するための回路である。データストリームは、通信装置１０４を介して外部装置から入力することができる。
【００５６】
主記憶装置１０５は、予測プログラム、予測プログラムの実行に必要なデータ、及び予測プログラムの実行により生成されたデータなどを記憶する。予測プログラムは、主記憶装置１０５上で展開され、実行される。主記憶装置１０５は、例えば、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭであるが、これに限られない。予測結果記憶部１８、モデル情報記憶部１６、短期記憶部２１および長期記憶部２２は、主記憶装置１０５上に構築されてもよい。
【００５７】
外部記憶装置１０６は、予測プログラム、予測プログラムの実行に必要なデータ、及び予測プログラムの実行により生成されたデータなどを記憶する。これらのプログラムやデータは、予測プログラムの実行の際に、主記憶装置１０５に読み出される。外部記憶装置１０６は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。予測結果記憶部１８、モデル情報記憶部１６、短期記憶部２１および長期記憶部２２は、外部記憶装置１０６上に構築されてもよい。
【００５８】
なお、予測プログラムは、コンピュータ装置１００に予めインストールされていてもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶されていてもよい。また、予測プログラムは、インターネット上にアップロードされていてもよい。
【００５９】
なお、コンピュータ装置１００は、プロセッサ１０１、入力インターフェース１０２、表示装置１０３、通信装置１０４、及び主記憶装置１０５を、それぞれ１つ又は複数備えてもよいし、プリンタやスキャナなどの周辺機器を接続されていてもよい。
【００６０】
また、時系列データ予測装置は、単一のコンピュータ装置１００により構成されてもよいし、相互に接続された複数のコンピュータ装置１００からなるシステムとして構成されてもよい。
【００６１】
図９〜図１１は、時系列データ予測装置の動作を説明するためのフローチャートである。
図９に示すように、受信部１１がデータストリームを受信し（Ｓ１０１）、受信したデータストリームをデータ処理部に渡す。データ処理部は、データストームの現在時刻の観測値を含む、所定のウインドウ長のウインドウを設定する（Ｓ１０２）。設定したウインドウに含まれる観測値を、Ｘ１、Ｘ２、・・・Ｘｔと表すと、Ｘｔが現在時刻の観測値、Ｘ１、Ｘ２、・・・Ｘｔ−１が、これより前に直近に受信した観測値である。データ処理部は、全ての波形長ｍ（＝ｍ１、ｍ２、・・・ｍＭ：Ｍは、波形長ｍの個数であり、１以上の整数）について、以下の処理を行う（Ｓ１０３）。すなわち、現在時刻ｔよりｎ〜ｎ＋ｍ−１時刻前の範囲の波形をウインドウから取得する（Ｓ１０４）。取得した波形と、現在時刻の値との組を含むデータを生成する（Ｓ１０５）。全ての波形長についてデータを生成したら（Ｓ１０３のＹＥＳ）、図１０のフローチャートに進む。
【００６２】
図１０に示すように、データ処理部１３は、短期記憶表にデータを追加する空き領域があるかを判断し（Ｓ２０１）、空き領域が存在する場合は（Ｓ２０１のＹＥＳ）、短期記憶表にデータを追加する（Ｓ２０５）。空き領域が存在しない場合は（Ｓ２０１のＮＯ）、長期記憶表に空き領域が存在するかを判断する（Ｓ２０２）。空き領域が存在する場合は（Ｓ２０２のＹＥＳ）、短期記憶表の最古の所定数（１以上の整数）のデータを、長期記憶表に移動させ（Ｓ２０４）、短期記憶表にデータを追加する（Ｓ２０５）。長期記憶表に空き領域が存在しない場合は（Ｓ２０２のＮＯ）、長期記憶表に記憶されているデータ群を圧縮し（Ｓ２０３）、短期記憶表の最古の所定数のデータを、長期記憶表に移動させ（Ｓ２０４）、短期記憶表にデータを追加する（Ｓ２０５）。
【００６３】
図１１に示すように、モデル生成部１５が、モデルの種類、短期・長期記憶表およびメタパラメータの組み合わせを生成する（Ｓ３０１）。モデル生成部１５は、各組み合わせに対して予測モデルを生成する（Ｓ３０２）。各予測モデルと、現在時刻からｎ〜ｎ＋ｍ−１時刻前の範囲の波形とに基づき、現在時刻の値（観測値）を予測する。ｎは予測時間幅、ｍは波形長である。予測モデルごとにｍが異なる場合は、予測モデルに応じたｍを用いる。モデル生成部１５は、予測した観測値と、実際の観測値との差により予測誤差を計算する（Ｓ３０３）。そして、予測誤差に基づき各予測モデルに重み（モデル重み）を設定し、各予測モデルを、各予測モデルのモデル重みで重み付け合成した統合モデルを生成する（Ｓ３０４）。
【００６４】
予測部１７が、統合モデルと、現在時刻からｎ〜ｎ＋ｍ−１時刻前の範囲の波形とに基づき、現在時刻からｎ時刻後の観測値を予測する（Ｓ３０５）。予測部１７は、予測した観測値と、現在時刻とを含む予測データを、予測結果記憶部１８に格納する。格納した予測データを表示部１９に表示してもよい。
【００６５】
本装置は、処理を終了するかを判断し（Ｓ３０６）、終了しない場合は（Ｓ３０６のＮＯ）、図９のステップＳ１０１に戻る。処理を終了する場合は（Ｓ３０６のＹＥＳ）、処理を終了する。例えばユーザから終了指示が入力された場合、処理を終了する。
【００６６】
図１２は、図１１のステップ３０２において、モデルの種類として重回帰モデルを用い、記憶表として短期記憶表および長期記憶表の両方を用いる場合に予測モデルを生成する動作のフローチャートである。
【００６７】
データストリームにおいて現在時刻の波形（現在時刻からｍ−１時刻前までの波形。波形長はｍ）を特定する（Ｓ４０１）。短期記憶表および長期記憶表の両方において、波形長ｍの波形（代表波形の場合も含む）を含むデータをサンプルとして特定する（Ｓ４０２）。現在時刻の波形に対して、各サンプルの波形との類似度を計算する（同Ｓ４０２）。類似度の大きさに応じて、各サンプルの波形に重みを設定する（Ｓ４０３）。各サンプルの波形と、各サンプルの観測値（各サンプルの波形からｎ時刻後の観測値）と、各サンプルの波形の重みとに基づき、波形長ｍの波形Ｘｉから観測値Ｙｉを回帰する重回帰モデルｆ（前述の式（１））を生成する（Ｓ４０４）。
【００６８】
以上、本実施形態によれば、データストリームの性質に対応した、汎用性が高くかつ、高精度なオンライン予測を実現できる。具体的に、本実施形態では、直近の波形を短期記憶として保持し、過去の古い波形を圧縮して長期記憶として保持する。そして、これらを活用しつつ、１つまたは複数の異なる予測モデルをリアルタイムに組み合わせて予測する。例えば、予測対象となる波形に類似する過去の波形（圧縮波形）と、直近の波形との両方を活用した予測モデルを使用する。または、過去の古い波形（圧縮された波形）のみを用いる予測モデルと、直近の波形のみを用いる予測モデルとを同時に使用する。またはこれらの３タイプの予測モデルを組み合わせることもできる。これにより高い予測精度を実現でき、新しい波形が出現する場合や、コンセプトドリフトにも有効に対応できる。
【００６９】
＜第２の実施形態＞
第１の実施形態では、現在時刻からｎ時刻先の観測値を予測した。本実施形態では、観測値を予測する区間を指定し、区間内の各時刻の観測値を予測する。区間は、例えばユーザが指定する。
【００７０】
ユーザが指定する複数の時刻をｎ、ｎ＋１、ｎ＋２、・・・ｎ＋Ｎ−２、ｎ＋Ｎ−１、ｎ＋Ｎとする。すなわち、現在時刻に対してｎ時刻後、ｎ＋１時刻後、ｎ＋２時刻後、・・・ｎ＋Ｎ時刻後の観測値を予測する。区間の指定方法は、区間の始点“ｎ”と終点“ｎ＋Ｎ”を指定することで行ってもよい。ｎ、ｎ＋１、ｎ＋２、・・・ｎ＋Ｎ−２、ｎ＋Ｎ−１、ｎ＋Ｎの区間を指定した例を図１３（Ａ）に示す。
【００７１】
現在時刻からの予測時間幅が大きい場合には、過去の古いデータなどを用いる予測モデルが優位になり、逆に予測時間幅が小さい場合には、直近データを用いる予測モデルが優位になると考えられる。優位とは、高い予測精度が得られることが期待されることを意味する。
【００７２】
そこで、本実施形態では、現在時刻からの予測時間幅が小さいほど、短期記憶部のサンプルの重みＷを大きくし（長期記憶部のサンプルの重みＷを小さくし）、予測時間幅が大きいほど、長期記憶部のサンプルの重みＷを大きくする（短期記憶部のサンプルの重みＷを小さくする）。このことを模式的に図１３（Ｂ）に一例として示す。重みの調整方法は任意でよい。例えば短期記憶表のサンプルに対しては第１の実施形態によって決定された重みに係数ＱＳをさらに乗じ、長期記憶表のサンプルに対しては係数ＱＬをさらに乗じて、重みＷを調整してもよい。ＱＳの値は、現在時刻からの時間幅が短いほど大きく、現在時間からの時間幅が大きいほど小さくなる。ＱＬの値は、現在時刻からの時間幅が小さいほど小さく、現在時刻からの時間幅が大きいほど大きくなる。これらの係数自体を重みＷとして用いることも可能である。
【００７３】
同様にして、予測モデルに対するモデル重みＺを、現在時刻からの予測時間幅に応じて変更してもよい。例えば短期記憶表のみ用いる予測モデルに対して係数ＰＳ、長期記憶表のみ用いる予測モデルに対して係数ＰＬ、短期と長期の両方の記憶表を用いる予測モデルに対して係数ＰＳ＆Ｌをそれぞれの予測モデルのモデル重みＺとして用いる。係数ＰＳは、現在時刻からの時間幅が短い大きく、現在時刻からの時間幅が長いほど小さくなる。係数ＰＬは、現在時刻からの時間幅が短いほど小さく、現在時刻からの時間幅が長いほど大きくなる。係数ＰＳ＆Ｌは、係数ＰＳとＰＬの平均値とする。これらの係数を、第１の実施形態で求めたモデル重みにさらに乗じることで、モデル重みＺを調整することも可能である。
【００７４】
＜第３の実施形態＞
第１及び第２の実施形態において、データストリームの未来値を予測する場合、毎回複数の予測モデルのモデル重みを決定するため、モデル重みの大きな予測モデルが頻繁に変わる可能性がある。表示部１９の画面にモデル重みの大きい予測モデルおよび当該予測モデルの元となった上記組み合わせを表示して、ユーザに影響度の大きい予測モデルを通知する場合、モデル重みが頻繁に変わると、データストリームのどの期間でどの予測モデル（どの組み合わせ）が予測に大きく影響しているかを、ユーザが直感的に理解することは難しい。
【００７５】
そこで、本実施形態では、予測モデルｃに対して第１および第２の実施形態の方法で計算したモデル重みＺｃに対して、罰則項（ペナルティ項）βを加算した修正モデル重みＺ’ｃを定義する。βは、予測モデルの前回の重みが大きいほど、予測モデルの今回の重みを大きくする値である。第１および第２の実施形態におけるモデル重みＺｃに変えて、修正モデル重みＺ’’ｃを用いる。修正モデル重みＺ’’ｃの式を以下に示す。βは値が可変のパラメータであり、ユーザが入力装置を用いて指定する。βの値は正でも負でもかまわない。
【数８】
2019101490.tif 000010
【００７６】
前回の予測（例えば１時刻前の予測）で、モデル重み（あるいは修正モデル重み）が大きかった予測モデルほど重みを大きくするための値βを、今回計算したモデル重みに加算する。そして、加算後のモデル重みに基づき修正モデル重みを計算し、これを、今回の予測モデルの重みとして用いる。
【００７７】
例えば複数の予測モデル１〜３つ存在し、前回予測モデル１〜３のモデル重み（あるいは修正モデル重み）が予測モデル１、２、３の順に大きかったとする。この場合、今回、予測モデル１に対して計算したモデル重みにβ１を加算し、予測モデル２に対して計算したモデル重みにβ２を加算し、予測モデル３に対して計算したモデル重みにβ３を加算する。β１＞β２＞β３である。加算後のモデル重みに基づき、修正重みを計算し、これらを予測モデル１〜３の重みとして用いる。
【００７８】
＜第４の実施形態＞
本実施形態では、統合モデルの予測誤差（予測部の予測誤差）に応じて、短期記憶部（第１記憶領域）２１と長期記憶部（第２記憶領域）２２の記憶容量の割合を変更する。すなわち短期記憶表と長期記憶表のサイズの割合を変更する。本変更を、例えば一定期間ごとに行う。一定期間内で行った複数の予測の予測誤算に基づいて、次の一定期間に適用する短期記憶部２１および長期記憶部２２の記憶容量の割合を決定する。当該次の一定期間では、決定した割合になるように短期記憶部２１および長期記憶部２２の記憶容量を設定する。データストリームの内容によって、未来の値の予測に過去の古いデータが有効であるときもあれば、直近のデータが有効なときもある。そこで、本実施形態では、短期記憶部２１および長期記憶部２２の記憶容量の割合を、統合モデルの予測誤差に応じて適応的に変更することで、有効なデータを多く予測に活用できるようにして、予測精度を高める。
【００７９】
図１４に短期記憶部２１と長期記憶部２２の割合パターンの例を２つ示す。割合パターン１では、長期記憶部２２の記憶容量が短期記憶部２１の記憶容量よりも大きい。割合パターン２では、長期記憶部２２の記憶容量が短期記憶部２１の記憶容量よりも小さい。割合パターンは３つ以上、定義されてもよい。短期記憶部２１および長期記憶部２２の記憶容量は、データ処理部１３により、いずれかの割合パターンになるように設定される。
【００８０】
データ処理部１３は、一定期間または一定回数行った予測の予測誤差から評価指標を計算し、評価指標が閾値を下回った（あるいは越えた）場合は、割合パターンを別の割合パターンに変更する。例えば、現在の割合パターンが割合パターン１であり、上記平均が閾値を下回った場合は、次の一定期間から割合パターン２になるように、短期記憶部２１と長期記憶部２２の記憶容量を調整する。評価指標は、予測誤差の平均、最大値、最小値、あるいは標準偏差などがある。
【００８１】
調整の結果、短期記憶部２１の容量が小さくなる場合は、変更後の容量に応じて、短期記憶部２１のデータを、長期記憶部２２に移動させてもよい。あるいは、短期記憶部２１から古いまたは新しいデータを優先的に消去してもよい。
【００８２】
一方、調整の結果、長期記憶部２２の記憶容量が小さくなる場合は、長期記憶部２２内のデータに基づき再クラスタリングを行い、変更後の記憶容量に応じた個数のクラスタ（代表ベクトル）を生成してもよい。あるいは、長期記憶部２２内のデータのうち非圧縮データを短期記憶部２１に戻してもよい。あるいは、長期記憶部２２から古いまたは新しい圧縮データを優先的に消去してもよい。
【００８３】
＜第５の実施形態＞
第５の実施形態では、時系列データ予測装置が、通信ネットワークを介して、対象装置に接続された時系列データ予測システムの実施形態を示す。
【００８４】
図１５に、本実施形態に係る時系列データ予測システムを示す。時系列データ予測装置４０１は、第１〜第４の実施形態のいずれかに係る時系列データ予測装置に相当する。時系列データ予測装置４０１は、通信ネットワーク４０２を介して、少なくとも１台の対象装置４０３に接続されている。対象装置４０３には、任意のセンサが搭載されている。対象装置４０３は、センサの検出値に基づく時系列データを生成し、生成した時系列データをデータストリームとして、通信ネットワーク４０２を介して、時系列データ予測装置４０１に送信する。時系列データ予測装置４０１は、対象装置４０３からデータストリームを受信し、データ処理部により図９および図１０のフローチャートの処理を行う。モデル生成部１５が、図１１のフローチャートの処理を行って、現在時刻の波形からｎ時刻後の観測値を予測する複数の予測モデルを生成し、これらの予測モデルを重み付け合計した統合モデルを生成する。予測部１７が、統合モデルと、現在時刻の波形とを用いて、ｎ時刻後の観測値を予測する。これにより、リアルタイムにデータストリームの未来の値を、高精度に予測できる。予測した観測値およびｎ時刻後の時刻を含む予測データを、予測結果記憶部１８に格納する。その他、モデル重みが大きい予測モデルの識別子またはモデル式などの付加情報も、予測データに関連づけて予測結果記憶部１８に格納してもよい。予測結果記憶部１８に記憶されている予測データおよび付加情報を、表示部１９に表示する。表示部１９には、予測データを時系列にグラフ表示してもよい。
【００８５】
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【符号の説明】
【００８６】
１１：データストリーム受信部
１２：データ記憶部
１３：データ処理部
１４：メタパラメータ設定部
１５：モデル生成部
１６：モデル情報記憶部
１７：予測部
１８：予測結果記憶部
１９：表示部
２１：短期記憶部
２２：長期記憶部
【図１】
2019101490.tif 000011
【図２】
2019101490.tif 000012
【図３】
2019101490.tif 000013
【図４】
2019101490.tif 000014
【図５】
2019101490.tif 000015
【図６】
2019101490.tif 000016
【図７】
2019101490.tif 000017
【図８】
2019101490.tif 000018
【図９】
2019101490.tif 000019
【図１０】
2019101490.tif 000020
【図１１】
2019101490.tif 000021
【図１２】
2019101490.tif 000022
【図１３】
2019101490.tif 000023
【図１４】
2019101490.tif 000024
【図１５】
2019101490.tif 000025