(58)【調査した分野】(Int.Cl.,DB名)
前記変化点検出プログラムは、当該基準となる時系列データについて、所定条件を満たす高い自己相関を示す時系列データを生成する自己相関データ生成手段としてコンピュータを更に機能させ、
前記特徴量生成手段は、当該所定条件を満たす高い自己相関を示す時系列データを、当該相関行列を生成するための時系列データ群に含める
ことを特徴とする請求項1に記載の変化点検出プログラム。
前記相互相関データ決定手段は、変化点を検出する対象となる複数の時系列データの各々を、基準となる時系列データとし、当該基準となる時系列データ毎に、当該高い相互相関を示す1つ又は複数の時系列データを決定し、
前記特徴量生成手段は、当該基準となる時系列データ毎に、当該特徴量時系列データを生成する
ことを特徴とする請求項1から3のいずれか1項に記載の変化点検出プログラム。
前記相互相関データ決定手段は、当該基準となる時系列データとの間で、ある正のタイムラグ値において所定条件を満たす高い相互相関を示す1つ又は複数の時系列データを含む時系列データリストを生成し、
前記変化点検出プログラムは、前記変化点決定手段によって変化点が1つの時点で決定された時系列データについての当該時系列データリストに含まれた時系列データにおいて、当該1つの時点から当該正のタイムラグに係る時間の経過後に、変化点が発生することを予測する変化点予測手段としてコンピュータを更に機能させる
ことを特徴とする請求項1から4のいずれか1項に記載の変化点検出プログラム。
前記特徴量生成手段は、第N(N≧1)の期間に係る当該時系列データ群から、第Nの時点での相関行列を生成し、当該相関行列の固有ベクトルと、当該時系列データ群に含まれる1つの時系列データに係る行列要素をベクトル成分としたベクトルである代表ベクトルとの向きの差に対応するスカラ値を、第Nの時点での当該1つの時系列データに係る特徴量とし、次いで、第Nの期間から見て時間単位分だけ時間経過方向にずれた第(N+1)の期間に係る当該時系列データ群から、第Nの時点に次ぐ第(N+1)の時点での相関行列を生成し、当該相関行列の固有ベクトルと、当該時系列データ群に含まれる1つの時系列データに係る行列要素をベクトル成分としたベクトルである代表ベクトルとの向きの差に対応するスカラ値を、第(N+1)の時点での当該1つの時系列データに係る特徴量とする処理を、N値を順次増分させる形で繰り返して、当該特徴量時系列データを生成することを特徴とする請求項1から5のいずれか1項に記載の変化点検出プログラム。
前記特徴量生成手段は、部分空間追跡法を用いて、当該時系列データ群に係る新たな時点でのデータに基づいて、当該相関行列の固有ベクトルを更新し、当該時系列データ群に含まれる1つの時系列データにおける他の時系列データとの間の相関係数から生成されるベクトルと、更新された当該固有ベクトルとの向きの差に対応するスカラ値を、当該新たな時点での特徴量とすることを特徴とする請求項1から6のいずれか1項に記載の変化点検出プログラム。
前記相互相関データ決定手段は、当該基準となる時系列データとの間で、ある正のタイムラグ値において所定条件を満たす高い相互相関を示す1つ又は複数の時系列データを含む時系列データリストを生成し、
前記変化点検出装置は、前記変化点決定手段によって変化点が1つの時点で決定された時系列データについての当該時系列データリストに含まれた時系列データにおいて、当該1つの時点から当該正のタイムラグに係る時間の経過後に、変化点が発生することを予測する変化点予測手段を更に有する
ことを特徴とする請求項9に記載の変化点検出装置。
当該基準となる時系列データとの間で、ある正のタイムラグ値において所定条件を満たす高い相互相関を示す1つ又は複数の時系列データを含む時系列データリストを生成するステップと、
前記変化点を決定するステップで変化点が1つの時点で決定された時系列データについての当該時系列データリストに含まれた時系列データにおいて、当該1つの時点から当該正のタイムラグに係る時間の経過後に、変化点が発生することを予測するステップと
を更に有することを特徴とする請求項11に記載の変化点検出方法。
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかしながら、特許文献1〜4に記載されたような従来技術では、漏れなく変化点を検出するために計算コストが膨大になったり、検出のリアルタイム性に欠けたりする問題が生じてしまう。
【0014】
例えば、特許文献1〜3に記載の技術では、時系列データ毎に変化点の検出を実施しなければならない。その結果、時系列データの数が増えると計算コストが線形的に増大してしまう。実際、時系列データを取り扱う多くの現場、例えば多数の無線基地局を有する無線通信サービス提供の現場では、取得される膨大な時系列データから、変化点を漏れなく検出しなければならない。従って、計算コストの増大は重大な問題となる。
【0015】
また、特許文献4に記載の技術では、全時系列データを同時に扱ってはいるが、時系列データにおける過去の一定期間より取得される特徴ベクトル又は空間を利用するため、遅延が生じ、リアルタイム性に欠けるという問題が生じる。また、長い周期性を持つ時系列データが存在する場合、最新時刻に時間的に近い部分空間では特徴が異なるので、類似性は低くなってしまう。これに対処するため、周期分の過去の時系列データを参照する必要が生じ、結局、周期分だけ検出の遅延が発生してしまう。
【0016】
さらに、時系列データ毎の変動の相関性が低い場合、部分空間は時刻によって異なってしまい、類似度が安定せず、その結果、安定して変化点検出を行うことができなくなってしまう。また、入力された複数の時系列データ群について、データ群毎に固有の周期性が存在する可能性もあるが、このような場合、データ群毎に類似度を算出するための期間を適切に決定することが容易ではなく、結果的に、安定して変化点検出を行うことができない場合も生じ得る。
【0017】
そこで、本発明は、計算コストの増大を抑制しつつ、時系列データから変化点を適宜検出可能なプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0018】
本発明によれば、時系列データから傾向変化や異常を示す変化点を検出する装置に搭載されたコンピュータを機能させる変化点検出プログラムであって、
基準となる時系列データとの間で、ある負のタイムラグ値において所定条件を満たす高い相互相関を示す1つ又は複数の時系列データを決定する相互相関データ決定手段と、
当該基準となる時系列データと、決定された時系列データとを含む時系列データ群から、1つの時点に係る相関行列を生成し、当該相関行列の固有ベクトルと、当該時系列データ群に含まれる1つの時系列データに係る行列要素
をベクトル成分としたベクトルである代表ベクトルとの向きの差に対応するスカラ値を特徴量として、各時点での当該特徴量を含む特徴量時系列データを生成する特徴量生成手段と、
当該特徴量時系列データでの特徴量の変動に基づいて、当該1つの時系列データの変化点を決定する変化点決定手段と
してコンピュータを機能させる変化点検出プログラムが提供される。
【0019】
この本発明による変化点検出プログラムの一実施形態として、本変化点検出プログラムは、当該基準となる時系列データについて、所定条件を満たす高い自己相関を示す時系列データを生成する自己相関データ生成手段としてコンピュータを更に機能させ、
特徴量生成手段は、当該所定条件を満たす高い自己相関を示す時系列データを、当該相関行列を生成するための時系列データ群に含めることも好ましい。
【0020】
また、本発明による変化点検出プログラムにおいて、特徴量生成手段は、当該時系列データ群に含まれる時系列データ毎に、当該時系列データに係る行列要素
をベクトル成分としたベクトルである代表ベクトルについての特徴量を生成し、各時点において当該時系列データ毎に生成された複数の特徴量の組を含む特徴量時系列データを生成し、
変化点決定手段は、当該特徴量時系列データでの特徴量の変動に基づいて、変化点を発生させた時系列データを特定することも好ましい。
【0021】
さらに、本発明による変化点検出プログラムにおいて、相互相関データ決定手段は、変化点を検出する対象となる複数の時系列データの各々を、基準となる時系列データとし、当該基準となる時系列データ毎に、当該高い相互相関を示す1つ又は複数の時系列データを決定し、
特徴量生成手段は、当該基準となる時系列データ毎に、当該特徴量時系列データを生成することも好ましい。
【0022】
また、本発明による変化点検出プログラムの他の実施形態として、相互相関データ決定手段は、当該基準となる時系列データとの間で、ある正のタイムラグ値において所定条件を満たす高い相互相関を示す1つ又は複数の時系列データを含む時系列データリストを生成し、
本変化点検出プログラムは、変化点決定手段によって変化点が1つの時点で決定された時系列データについての当該時系列データリストに含まれた時系列データにおいて、当該1つの時点から当該正のタイムラグに係る時間の経過後に、変化点が発生することを予測する変化点予測手段としてコンピュータを更に機能させることも好ましい。
【0023】
さらに、本発明による変化点検出プログラムにおいて、特徴量生成手段は、第N(N≧1)の期間に係る当該時系列データ群から、第Nの時点での相関行列を生成し、当該相関行列の固有ベクトルと、当該時系列データ群に含まれる1つの時系列データに係る行列要素
をベクトル成分としたベクトルである代表ベクトルとの向きの差に対応するスカラ値を、第Nの時点での当該1つの時系列データに係る特徴量とし、次いで、第Nの期間から見て時間単位分だけ時間経過方向にずれた第(N+1)の期間に係る当該時系列データ群から、第Nの時点に次ぐ第(N+1)の時点での相関行列を生成し、当該相関行列の固有ベクトルと、当該時系列データ群に含まれる1つの時系列データに係る行列要素
をベクトル成分としたベクトルである代表ベクトルとの向きの差に対応するスカラ値を、第(N+1)の時点での当該1つの時系列データに係る特徴量とする処理を、N値を順次増分させる形で繰り返して、当該特徴量時系列データを生成することも好ましい。
【0024】
また、本発明による変化点検出プログラムの更なる他の実施形態として、特徴量生成手段は、部分空間追跡法を用いて、当該時系列データ群に係る新たな時点でのデータに基づいて、当該相関行列の固有ベクトルを更新し、当該時系列データ群に含まれる1つの時系列データにおける他の時系列データとの間の相関係数から生成され
るベクトルと、更新された当該固有ベクトルとの向きの差に対応するスカラ値を、当該新たな時点での特徴量とすることも好ましい。
【0025】
本発明によれば、また、時系列データから傾向変化や異常を示す変化点を検出する装置に搭載されたコンピュータを機能させる変化点検出プログラムであって、
基準となる時系列データとの間で、ある負のタイムラグ値において所定条件を満たす高い相互相関を示す1つ又は複数の時系列データを決定する相互相関データ決定手段と、
部分空間追跡法を用い、当該基準となる時系列データと、決定された時系列データとを含む時系列データ群に係る新たな時点でのデータに基づいて、予め設定された初期の固有ベクトル又は前時点で更新された固有ベクトルを更新し、当該時系列データ群に含まれる1つの時系列データにおける他の時系列データとの間の相関係数から生成され
るベクトルと、更新された当該固有ベクトルとの向きの差に対応するスカラ値を、当該新たな時点での特徴量として、各時点での当該特徴量を含む特徴量時系列データを生成する特徴量生成手段と、
当該特徴量時系列データでの特徴量の変動に基づいて、当該1つの時系列データの変化点を決定する変化点決定手段と
してコンピュータを機能させる変化点検出プログラムが提供される。
【0026】
本発明によれば、さらに、時系列データから傾向変化や異常を示す変化点を検出する変化点検出装置であって、
基準となる時系列データとの間で、ある負のタイムラグ値において所定条件を満たす高い相互相関を示す1つ又は複数の時系列データを決定する相互相関データ決定手段と、
当該基準となる時系列データと、決定された時系列データとを含む時系列データ群から、1つの時点に係る相関行列を生成し、当該相関行列の固有ベクトルと、当該時系列データ群に含まれる1つの時系列データに係る行列要素
をベクトル成分としたベクトルである代表ベクトルとの向きの差に対応するスカラ値を特徴量として、各時点での当該特徴量を含む特徴量時系列データを生成する特徴量生成手段と、
当該特徴量時系列データでの特徴量の変動に基づいて、当該1つの時系列データの変化点を決定する変化点決定手段と
を有する変化点検出装置が提供される。
【0027】
この本発明による変化点検出装置の一実施形態として、相互相関データ決定手段は、当該基準となる時系列データとの間で、ある正のタイムラグ値において所定条件を満たす高い相互相関を示す1つ又は複数の時系列データを含む時系列データリストを生成し、
本変化点検出装置は、変化点決定手段によって変化点が1つの時点で決定された時系列データについての当該時系列データリストに含まれた時系列データにおいて、当該1つの時点から当該正のタイムラグに係る時間の経過後に、変化点が発生することを予測する変化点予測手段を更に有することも好ましい。
【0028】
本発明によれば、また、時系列データから傾向変化や異常を示す変化点を検出する装置における変化点検出方法であって、
基準となる時系列データとの間で、ある負のタイムラグ値において所定条件を満たす高い相互相関を示す1つ又は複数の時系列データを決定するステップと、
当該基準となる時系列データと、決定された時系列データとを含む時系列データ群から、1つの時点に係る相関行列を生成し、当該相関行列の固有ベクトルと、当該時系列データ群に含まれる1つの時系列データに係る行列要素
をベクトル成分としたベクトルである代表ベクトルとの向きの差に対応するスカラ値を特徴量として、各時点での当該特徴量を含む特徴量時系列データを生成するステップと、
当該特徴量時系列データでの特徴量の変動に基づいて、当該1つの時系列データの変化点を決定するステップと
を有する変化点検出方法が提供される。
【0029】
この本発明による変化点検出方法の一実施形態として、本変化点検出方法は、
当該基準となる時系列データとの間で、ある正のタイムラグ値において所定条件を満たす高い相互相関を示す1つ又は複数の時系列データを含む時系列データリストを生成するステップと、
上記の変化点を決定するステップで変化点が1つの時点で決定された時系列データについての当該時系列データリストに含まれた時系列データにおいて、当該1つの時点から当該正のタイムラグに係る時間の経過後に、変化点が発生することを予測するステップと
を更に有することも好ましい。
【発明の効果】
【0030】
本発明の変化点検出プログラム、装置及び方法によれば、計算コストの増大を抑制しつつ、時系列データから変化点を適宜検出することができる。
【発明を実施するための形態】
【0032】
以下、本発明の実施形態について、図面を用いて詳細に説明する。
【0033】
[変化点検出装置]
図1は、本発明による変化点検出装置の一実施形態における機能構成を示す機能ブロック図である。
【0034】
図1に示した本実施形態の変化点検出装置1は、通信インタフェース101を介して複数の時系列データを受信し、これらの時系列データにおける傾向変化や異常を示す変化点を検出する装置である。変化点検出装置1は、例えば、本発明による変化点検出プログラムの搭載されたサーバ、又はパーソナルコンピュータ(PC)とすることができる。
【0035】
ここで、複数の時系列データとは、互いに出所の異なる又はデータ種の異なる時系列データである。例えば、無線通信サービスでは、時系列データとして、設置された1つの基地局における所定時刻毎の(又は所定単位時間経過毎の)トラヒック(通信量)データを採用することができる。例えば、1つの時刻でのトラヒックデータは、この時刻よりも所定時間単位だけ前の時点からこの時刻までの間の通信量としてもよい。ここで、通常、通信エリアには複数の基地局が設置されているので、基地局(又は基地局アンテナ)の数だけの複数の時系列データが取得される。
【0036】
さらに、トラヒックデータとして、通信量ではなく、呼接続数や、接続試行数等を採用することも可能である。さらにまた、取り扱う複数の時系列データとして、トラヒックデータに通信量を採用したものと、呼接続数(又は接続試行数)を採用したものとを取り混ぜて採用することも可能である。この場合、例えば呼の数が増加しても通信量は減少する、といった通常とは異なる事態を変化点として検出することも可能となる。
【0037】
ここで、変化点検出装置1の検出する時系列データにおける変化点とは、時系列データにおけるデータ値の推移の傾向が変化する箇所(時点)、及びデータ値が正常な傾向からかけ離れた箇所(時点)のことである。
【0038】
変化点検出装置1を用いて時系列データにおける変化点を検出することによって、例えばセルラ通信に代表される無線通信サービスでは、ネットワーク設備や、基地局、サーバ等の機器における故障や障害の発生を突き止めることができる。すなわち、このような設備等に故障が発生し障害が起こった場合、トラヒックが通常と異なる傾向を示したり通常の傾向からかけ離れたりするので、時系列トラヒックデータの変化点を検出することにより、故障・障害を検知することが可能となるのである。
【0039】
なお、変化点検出装置1による変化点検出は、当然に、ネットワーク設備等の故障や障害の発生を検知するためだけに利用されるものではない。例えば、通信ネットワークにおける攻撃検知や侵入検知といったセキュリティ手段として利用されてもよく、製造システムにおける異常監視や故障検出・障害検知等に適用されてもよい。実際、様々な要因によってデータ値が変動し得るような複数の時系列データを取得できる環境であれば、変化点検出装置1を用いて、その要因の発生を検知することが可能となるのである。
【0040】
この本発明による変化点検出装置1は、その特徴として、
(A)基準となる時系列データ(以後、「基準時系列データ」と略称)との間で、ある負のタイムラグ値において所定条件を満たす高い相互相関を示す1つ又は複数の時系列データ(以後、「高相互相関データ」と略称)を決定し、
(B)「基準時系列データ」と、決定された「高相互相関データ」とを含む時系列データ群から、1つの時点に係る相関行列を生成し、当該相関行列の「固有ベクトル」と、当該時系列データ群に含まれる1つの時系列データに係る行列要素から生成される「代表ベクトル」との向きの差に対応するスカラ値を「スカラ特徴量」として、各時点での「スカラ特徴量」を含む特徴量時系列データを生成し、
(C)当該特徴量時系列データでの「スカラ特徴量」の変動に基づいて、当該1つの時系列データの変化点を決定する。
【0041】
変化点検出装置1では、このように、スカラ値であるが故に比較的算出処理負担の小さい「スカラ特徴量」を利用するので、複数の時系列データを取り扱っていても、変化点検出のための計算コストの増大を抑制することができる。さらに、各時点での「スカラ特徴量」を含む特徴量時系列データから変化点を決定するので、リアルタイムに近い形で変化点を適宜検出することが可能となる。また、スカラ量の時系列の処理となるので、変化点決定のための計算量も少なくて済む。言い換えると、逐次的にスカラ特徴量を算出することによって、変化点を少ない計算量で随時検出することができるのである。
【0042】
また、変化点検出装置1では、複数の時系列データをまとめて処理して特徴量を算出するので、時系列データ毎の個別の変動に大きく影響されずに、より確実に安定して変化点検出を行うことも可能となる。
【0043】
この点、変化点検出装置1は、特に、「基準時系列データ」との間で高い相互相関を示す「高相互相関データ」を、相関行列を生成するための時系列データ群にグルーピングしている。また、後に詳述するよう一実施形態として、「基準時系列データ」との間で高い自己相関を示す「高自己相関データ」を、この時系列データ群に含めることもできる。
【0044】
このようなグルーピングによって、互いに所定以上の高い相関を有する複数の時系列データから「固有ベクトル」を算出するので、より確実に安定して変化点検出を行うことが可能となる。すなわち、まとめて処理する複数の時系列データ間での変動の相関性が低いために安定した変化点検出ができなくなるような事態を回避することができる。
【0045】
ちなみに、「高相互相関データ」が「基準時系列データ」との間で高い相互相関を示すのは、負のタイムラグ値においてである。従って、「基準時系列データ」についての相関行列を生成するのに使用される「高相互相関データ」としては、「基準時系列データ」の発生に関して原因(因)となるものが選択されていることになる。このように、「基準時系列データ」についての相関行列において、「基準時系列データ」よりも時間的に前の状況に係るデータを取り入れることにより、より確実に変化点検出を捉えることが可能となる。
【0046】
さらに、このようにタイムラグを考慮して、相関行列を生成するための時系列データをグルーピングすることによって、因果関係の認められる時系列データを逃さずに相関行列に取り入れることができるのである。例えば、ある装置の異常が、1時間前に発生した別の装置の異常に起因して発生した場合、タイムラグを考慮せずに両装置の時系列データの相関のみを考慮すると、両時系列データを同じグループとして取り入れた相関行列を生成しないことも十分に考えられる。これに対し、変化点検出装置1のように、両時系列データの因果関係を考慮することにより、両時系列データを取り入れた相関行列を生成し、データの異常検知をより確実に行うことが可能となるのである。
【0047】
ちなみに、1つの例として、無線通信ネットワークの各基地局で生成される通信トラヒックに係る時系列データにおいては、例えば基地局の設置位置の違いによって互いの間にタイムシフトが生じ、基地局毎の時系列データの間に因果関係が生じる場合も少なくない。本発明によれば、このような因果関係を有するトラヒック時系列データをも適切にグルーピングして相関行列を生成することができる。
【0048】
また、変化点検出装置1は、後に詳細に説明するが、本発明の一実施形態として、変化点を検出した際、グルーピングされた時系列データのいずれにおいて変化点が検出されたのかを特定することもできる。さらに、時系列データにおける変化点発生を予測することも可能となる。このような変化点発生データの特定処理及び変化点発生の予測処理も、時系列データ間の因果関係を考慮することによって可能となるのである。
【0049】
[装置の機能構成]
同じく、
図1に示した機能ブロック図によれば、変化点検出装置1は、通信インタフェース101と、時系列データ蓄積部102と、相関データ記憶部103と、特徴量時系列記憶部104と、変化点情報記憶部105と、時系列データリスト蓄積部106と、ディスプレイ(DP)107と、キーボード(KB)108と、プロセッサ・メモリとを有する。ここで、プロセッサ・メモリは、変化点検出装置1のコンピュータを機能させるプログラムを実行することによって、変化点検出機能を実現させる。
【0050】
さらに、このプロセッサ・メモリは、機能構成部として、時系列データアクセス部111と、自己相関データ生成部112と、相互相関データ決定部113と、特徴量生成部114と、変化点決定部115と、変化点予測部116と、入出力制御部117とを有する。ここで、
図1における装置1の機能構成部間を矢印で接続して示した処理の流れは、本発明による変化点検出方法の一実施形態としても理解される。
【0051】
同じく
図1において、通信インタフェース101は、複数の基地局のそれぞれにおいて取得される複数の時系列トラヒックデータ、といったような複数の時系列データを、アクセスネットワーク(事業者通信網)やインターネットを介して受信する。ここで、各時系列データには、データの出所、すなわち系列を識別するための識別子、例えば基地局識別子が付与されていることも好ましい。
【0052】
時系列データ蓄積部102は、受信(取得)された時系列データを、系列毎に区別して逐次記憶する。ここで、各系列において(例えば基地局毎に)、一定期間のデータを蓄積することも好ましい。例えば、常時、所定時間前から現在までの期間に係るデータのみを蓄積し、新たに受信したデータを蓄積する一方、所定時間前の時点よりも過去となった時点に係るデータを破棄していってもよい。または、新たに受信したデータを蓄積する一方で、データ長が所定閾値以内となるように最古のデータの破棄/維持を行ってもよい。
【0053】
時系列データアクセス部111は、適宜、例えば時系列データのデータ時間間隔経過毎に、蓄積された複数の時系列データにおける所定期間分のデータを、又は複数の系列のそれぞれにおいて新たに取得されたデータを、自己相関データ生成部112及び相互相関データ決定部113に出力する。
【0054】
自己相関データ生成部112は、(入力された)基準となる基準時系列データについて、ピリオドグラム(periodogram)から決定される周期t
pだけタイムシフトさせた時系列データである高自己相関データを生成する。ここで、ピリオドグラムは、自己相関関数(ACF,Auto-Correlation Function)のフーリエ変換に相当する関数であり、周波数(1/周期)についての関数となっている。このピリオドグラムを用いた高自己相関データの生成については、後に
図2を用いて詳細に説明する。
【0055】
相互相関データ決定部113は、入力された時系列データの中から、(同じく入力された)基準となる基準時系列データとの間で、ある負のタイムラグ値において所定条件を満たす高い相互相関を示す時系列データである高相互相関データを決定する。ここで、タイムラグは、相互相関関数(CCF,Cross-Correlation Function)における2つの時系列データの時間パラメータのシフト分(時間差)である。この相互相関関数を考慮した高相互相関データの決定についても、次に、
図2を用いて詳細に説明する。
【0056】
図2は、自己相関データ生成部112及び相互相関データ決定部113での処理の一実施例を示すグラフである。
【0057】
図2(A)によれば、変化点検出対象の時系列データとして、3つの時系列データA、B及びCが取得(入力)されており、このうち、時系列データAを基準時系列データとした場合の処理が
図2(B)及び(C)に示されている。最初に、基準時系列データAから高自己相関データA'を生成する処理を説明する。
【0058】
図2(B)に示すように、自己相関データ決定部112は、基準時系列データAの自己相関関数(ACF)からピリオドグラムを生成する。この基準時系列データAの自己相関関数R(τ)は、次式
(1) R(τ)=T
-1Σ
t=1T A(t)・A(t+τ)
によって算出される。上式(1)において、A(t)は基準時系列データAの時刻tでのデータ値であり、A(t+τ)は時刻(t+τ)でのデータ値である。また、Σ
t=1Tは、時刻tについてのt=1, 2, ・・・, Tでの総和(summation)である。ここで、時刻tは、1時間単位だけ経過すると1だけ増分する値となっている。また、それ故に、上式(1)におけるTは、基準時系列データAのデータ数と一致している。
【0059】
次いで、基準時系列データAのピリオドグラムp(f)は、上式(1)のR(τ)を用いて、次式
(2) p(f)=Σ
τ=-TT exp(-i2πfτ)・R(τ)
によって算出される。ここで、fは周波数(1/周期)であり、Σ
τ=-TTは、τについての−TからTまでの総和(summation)である。なお、上式(2)のexp内のiは虚数単位である。
【0060】
図2(B)のグラフに示された時系列データAのピリオドグラムは、周波数f=0.14でピーク値(極大値)をとり、その周期t
p(=1/f)は7となっている。自己相関データ決定部112は、
(a)基準時系列データAにおいて、ピリオドグラムから求めたこの周期t
p(=7)だけタイムシフトさせた時系列データA'を生成し、
(b)基準時系列データAの自己相関関数において、周期t
p=7での自己相関関数値ACF
7が所定閾値以上であるならば、生成した時系列データA'を、高自己相関データA'として、相関行列を生成するための時系列データ群に加える。
ここで、所定閾値が例えば0.80であれば、ACF
7は0.81であるから、時系列データA'は、高自己相関データA'として時系列データ群に加えられることになる。
【0061】
実際には、自己相関データ生成部112は、入力された時系列データの各々を基準時系列データとし、当該基準時系列毎に、上記(a)及び(b)の手順に従ってピリオドグラムを生成して周期t
pを導出し、この周期t
pを用いて生成した高自己相関データを、相関行列生成用の時系列データ群の要素とすることができる。なお、基準時系列データAをタイムシフトしていき、自己相関関数値が最大となるタイムシフト分だけタイムシフトした時系列データを時系列データA'とする等、ピリオドグラムを用いずに高自己相関データを生成することも可能である。次に、基準時系列データAから高相互相関データを決定する処理を説明する。
【0062】
図2(C)に示すように、相互相関データ決定部113は、まず、時系列データAと時系列データBとの相互相関関数(CCF)を生成する。この相互相関関数C
AB(t
g)は、次式
(3) C
AB(t
g)=T
-1Σ
t=1T A(t)・B(t+t
g)
によって算出される。ここで、A(t)は基準時系列データAの時刻tでのデータ値であり、B(t+t
g)は時系列データBの時刻t+t
gでのデータ値である。また、t
gは、基準時系列データAに対する時系列データBのタイムラグである。次に、相互相関データ決定部113は、時系列データAと時系列データCとの相互相関関数C
AC(t
g)も、次式
(4) C
AC(t
g)=T
-1Σ
t=1T A(t)・C(t+t
g)
によって算出する。
【0063】
図2(C)に示された(上式(3)で算出された)相互相関関数C
AB(t
g)においては、相互相関関数値CCFの絶対値は、タイムラグt
g=+6において0.8となり最大値をとる。このように時系列データA及びBのCCFの絶対値が最大となるタイムラグt
gをt
ABとすると、本実施例ではt
AB=+6である。ここで、本実施例のように、CCFの絶対値が最大となるタイムラグが正値をとる場合(t
AB>0)、基準となる時系列データ(A)が原因(因)となって、結果(果)としての相関調査対象の時系列データ(B)が生じている、と捉えることが可能となる。
【0064】
相互相関データ決定部113は、この基準時系列データAに対して「果」となる時系列データBを、後に詳細に説明する、変化点予測の際に利用する時系列データリストに加える。
【0065】
一方、
図2(C)に示された(上式(4)で算出された)相互相関関数C
AC(t
g)においては、相互相関関数値CCFの絶対値は、タイムラグt
g=−6において0.8となり最大値をとる。このように時系列データA及びCのCCFの絶対値が最大となるタイムラグt
gをt
ACとすると、本実施例ではt
AC=−6である。ここで、本実施例のように、CCFの絶対値が最大となるタイムラグが負値をとる場合(t
AC<0)、相関調査対象の時系列データ(C)が原因(因)となって、結果(果)としての基準時系列データ(A)が生じている、と捉えることが可能となる。
【0066】
相互相関データ決定部113は、この基準時系列データAに対して「因」となる時系列データCを高相互相関データとして、相関行列を生成するための時系列データ群に加える。
【0067】
実際には、相互相関データ生成部113は、
(a)入力された全ての時系列データに対し、pairwiseの相互相関関数を生成し、すなわち、入力された時系列データから選択される全ての時系列データの(順序を考慮した)ペアについて相互相関関数を生成し、
(b)時系列データX及びYのペアにおいて、相互相関関数値CCF
XYの絶対値が最大となるタイムラグ値t
XYを算出して、このt
XYを当該ペアに対応付けて記録し、
(c)上記(b)の処理を全てのペアについて実施し、
(d)入力された時系列データの各々を基準時系列データとして、当該基準時系列データ(X)毎に、ペアの相手である時系列データ(Y)についての記録されたタイムラグ(t
XY)が正値であって、且つこのタイムラグ値(t
XY)での相互相関関数値(CCF
XY)の絶対値が所定閾値以上であれば、当該時系列データ(Y)を、時系列データリストに加え、
(e)一方、タイムラグ(t
XY)が負値であって、且つこのタイムラグ値(t
XY)での相互相関関数値(CCF
XY)の絶対値が所定閾値以上であれば、当該時系列データ(Y)を、相関行列を生成するための時系列データ群の要素とする
ことができる。
【0068】
なお、自己相関データ生成部112及び相互相関データ決定部113に入力される複数の時系列データについては、これらの機能構成部で処理される直前の前処理として、各時系列データにおいてトレンド成分を抽出し、当該時系列データから当該トレンド成分を除外した時系列データを準備してもよい。ここで、時系列データからのトレンド成分の抽出は、公知の方法、例えば回帰分析等を用いて実施することができる。
【0069】
ちなみに、時系列データのトレンド成分は、例えば通信サービスにおける時系列トラヒックデータの場合、対象地域において通信を行うユーザ数が増加していったり、ユーザの用いる通信端末がより通信量の多くなるスマートフォン等に移行していったりすることで発生する。このような変化点発生の要因とはならないトレンド成分を予め除去しておくことによって、より確実に変化点を検出することが可能となるのである。
【0070】
図1に戻って、相関データ記憶部103は、自己相関データ生成部112で生成された高自己相関データを、相関相手となる基準時系列データに対応付けて記憶する。また、相互相関データ決定部113で決定された高相互相関データを、相関相手となる基準時系列データに対応付けて記憶する。また、相関データ記憶部103は、要求に応じて又は適宜、記憶した基準時系列データ、高自己相関データ、及び高相互相関データを、特徴量生成部114へ出力する。
【0071】
また、時系列データリスト蓄積部106は、相互相関データ決定部113で生成された時系列データリストを相関相手となる基準時系列データに対応付けて蓄積し、また、当該リストに加わった時系列データの情報を入力して、時系列データリストを更新する。さらに、時系列データリスト蓄積部106は、要求に応じて又は適宜、記憶した時系列データリストを、変化点予測部116へ出力する。
【0072】
同じく
図1において、特徴量生成部114は、
(a)相関行列生成部114cにおいて、相関データ記憶部103から入力した基準時系列データと、対応付けられた高自己相関データと、同じく対応付けられた高相互相関データとを含む時系列データ群から、1つの時点に係る相関行列を生成し、
(b)主成分分析PCA(Principle Component Analysis)によって、生成した相関行列の(第一主成分)固有ベクトルを算出し、
(c)算出した固有ベクトルと、当該時系列データ群に含まれる1つの時系列データに係る行列要素から生成される代表ベクトルとのなす内積(角度)に相当するスカラ値を算出して、特徴量とし、
(d)各時点において上記(a)の相関行列を生成して、算出した特徴量を含む特徴量時系列データを生成する。
【0073】
ここで、特徴量生成部114は、上記(a)において、高自己相関データを使用せずに(当該時系列データ群に含めずに)相関行列を生成することも可能である。例えば、基準時系列データに周期性が無く、高自己相関データを生成することができない場合でも相関行列を生成することができる。当然、意図的に高自己相関データを含めずに相関行列を生成してもよい。このような場合、基準時系列データ及び高相互相関データの各々において、単独で変化点が発生した際に、この変化点を検出することができる。
【0074】
一方、上記(a)のように、高自己相関データも使用して(当該時系列データ群に含めて)相関行列を生成することにより、相関行列を構成する時系列データ全体におけるデータの傾向変化や異常をも変化点発生として捉えることが可能となるのである。
【0075】
ここで、上述した相関行列を用いた特徴量生成処理の前処理として、相関行列を生成するための時系列データ群に含まれる時系列データに対し、ボリューム比をそろえる正規化処理を行うことも好ましい。ここで、ボリューム比とは、各時系列データを横軸が時間であるグラフに表した場合における縦軸スケールの互いの比である。
【0076】
例えば、当該時系列データ群内の時系列データにおいて、他の時系列データに比べてボリューム比の小さいものがある場合、この時系列データのデータ値に変化が生じたとしても特徴量(固有ベクトルと代表ベクトルとのなす角度)には相応する変化が生じにくい。すなわち、ボリューム比のより小さな時系列データにおけるデータ値の変動は、ボリューム比のより大きなデータにまぎれてしまい、特徴量に反映されにくい。
【0077】
そこで、当該時系列データ群内の時系列データにおける縦軸スケールを揃える(ボリューム比を一定にする又は所定範囲内に収める)、すなわちデータ値を正規化することによって、各時系列データに表れているデータ値の変化を、確実に特徴量に反映させるようにする。その結果、より漏れの少ない確実な変化点検出を実施することが可能となるのである。特に、特徴量生成部114では、複数の時系列データをまとめて特徴量生成処理を行うので、正規化処理を行うことは非常に有効となる。
【0078】
なお、以上に説明した相関行列生成部114cで生成される相関行列は、相関係数に相当する値を行列要素とするものだけでなく、例えば、この相関係数に対応する分散・共分散に相当する値を行列要素とするものも含むものとする。言い換えると、時系列データの相関行列生成処理と数学的に同様の意味を有する処理は、相関行列生成部114cでの処理に含まれるとする。
【0079】
図3は、生成された相関行列及び時系列データリストの一実施例を示すテーブルである。
【0080】
図3には、
図2に示した実施例において特徴量生成部114で生成された相関行列と、相互相関データ決定部113で生成された時系列データリストとが示されている。このうち、相関行列は、基準時系列データA、高自己相関データA'及び高相互相関データCを含む時系列データ群から構成されている。また、時系列データリストは、基準時系列データAに対して「果」となる時系列データBをそのリストに含んでいる。これらの相関行列及び時系列データリストは、
図3のように、基準時系列データAの属性(補助データ)として記録されていることも好ましい。
【0081】
図4は、特徴量生成部114における特徴量時系列データを生成する処理の一実施形態を説明するための模式図である。
【0082】
図4によれば、最初に、1つの基準時系列データ、対応する1つの高自己相関データ、及び対応する1つ又は複数の高相互相関データを含む時系列データ群の各時系列について、時刻(t-M)から時刻tまでのデータを有する時系列データを取得する。
図4では、時刻(t-M)から時刻tまでのウィンドウによって取り出された時刻(t-M)〜tにおける、基準時系列データ、高自己相関データ及び高相互相関データの3つが取り出されている。
【0083】
次に、これらの時系列データを、系列k(=1, 2,・・・, N
k)の時系列データX
kとして、次式
(5) X
k=[x
k1, x
k2,・・・, x
k(M+1)]
で表すと、グループ内の各時系列データを列データとした行列Xの転置行列X
Tは、
(6) X
T=[X
1, X
2,・・・, X
Nk]
の形で表される。次いで、このような行列X
T(X)を用いて、時刻tでの相関行列(疑似相関行列)C
tを、次式
(7)C
t=m
-1 X・X
T
によって生成する。また、さらに、この生成した相関行列C
tの第一主成分固有ベクトルwを算出する。
【0084】
次に、生成した相関行列C
tの各列成分(各行成分)をベクトル成分とした、列毎(行毎)の代表ベクトルを生成する。この列毎(行毎)の代表ベクトルa
kは、基準時系列データ、高自己相関データ、及び1つ以上の高相互相関データのうち、当該列(行)に対応するいずれか1つの時系列データについての代表ベクトルとなっている。
【0085】
次いで、算出した固有ベクトルwと、時系列データX
kについての代表ベクトルa
kとのなす角度F
k(t)を、次式
(8) F
k(t)=cos
-1(w
T・a
k)
によって算出する。この時刻tにおいて算出された角度F
k(t)を、時系列データX
kのスカラ特徴量とし、さらに、次式
(9) F(t)=[F
1(t), F
2(t),・・・, F
Nk(t)]
で表された時刻tでの特徴量の組F(t)を算出する。
【0086】
次いで、以上に述べた時刻tでの特徴量の組F(t)の算出処理を、tを1単位だけ増分させた時刻t+1において繰り返し、時刻t+1での特徴量の組F(t+1)を算出する。具体的には、時刻(t-M+1)から時刻(t+1)までのウィンドウによって取り出された時刻(t-M+1)〜(t+1)の時系列データから特徴量の組F(t+1)を算出する。このように、順次経過する時刻t+p(p=1, 2,・・・)毎に、特徴量の組F(t+p)を算出して記憶していくことで、F(t), F(t+1), F(t+2),・・・といったデータ列である特徴量時系列データを生成することができる。ここで、t+pは、時刻tから見て、時系列データに係る時刻の時間単位(増分)のp倍だけの時間が経過した時点の時刻を表している。
【0087】
以上説明した特徴量時系列データの生成処理をまとめると、以下の通りとなる。
(a)最初に第N(N≧1)の期間(ウィンドウ)に係る相関行列生成用の時系列データ群から、第Nの時点での(疑似)相関行列を生成し、
(b)生成した(疑似)相関行列の第一主成分固有ベクトルと、当該時系列データ群に含まれる1つの時系列データに係る行列要素から生成される代表ベクトルとのなす角度(向きの差)に対応するスカラ値を、第Nの時点での当該1つの時系列データに係る特徴量とし、
(c)次いで、第Nの期間から見て時間単位分だけ時間経過方向にずれた第(N+1)の期間(ウィンドウ)に係る当該時系列データ群から、第Nの時点に次ぐ第(N+1)の時点での(疑似)相関行列を生成し、
(d)生成した(疑似)相関行列の固有ベクトルと、当該時系列データ群に含まれる1つの時系列データに係る行列要素から生成される代表ベクトルとのなす角度(向きの差)に対応するスカラ値を、第(N+1)の時点での当該1つの時系列データに係る特徴量とし、
(e)このような処理を、N値を順次1だけ増分させる形で繰り返して、特徴量時系列データを生成する。
このように、時刻の経過とともにウィンドウをずらして新たな時系列データのバッチが取得される毎に固有値解析を行い、特徴量時系列データを導出するバッチ処理が行われるのである。
【0088】
なお、実際には、特徴量生成部114は、変化点検出対象として入力された時系列データの各々を基準時系列データとして、当該基準時系列データ(X)毎に、特徴量の組F(t)の時系列である特徴量時系列データを算出することができる。この場合、変化点検出対象として入力された時系列データの数だけ、相関行列及び特徴量時系列データが生成されることになる。
【0089】
図1に戻って、特徴量生成部114は、生成した特徴量時系列データを、対応する基準時系列データに対応付けた形で特徴量時系列記憶部104に出力する。特徴量時系列記憶部104は、入力した特徴量時系列データを記憶するとともに、要求に応じて又は適宜、記憶した特徴量時系列データを変化点決定部115に出力する。
【0090】
変化点決定部115は、入力した特徴量時系列データでの特徴量の変動に基づいて、1つの時系列データにおいて発生した変化点を決定する。ここで、上式(9)によって算出される特徴量の組F(t)の時系列データを取得した場合、このF(t)の特徴量時系列データでの特徴量の変動に基づいて、変化点を発生させた時系列データを特定することもできる。
【0091】
図5は、変化点決定部115における変化点検定処理の一実施形態を説明するための模式図である。
【0092】
図5(A)〜(D)には、
図2に示した実施例における、各時刻Tでの相関行列と、特徴量生成部114で生成された
特徴量時系列データとが示されている。このうち、相関行列は、基準時系列データA、高自己相関データA'及び高相互相関データCを含む時系列データ群から生成されている。また、特徴量時系列データは、
(a)この相関行列の第一主成分固有ベクトルと、基準時系列データAの代表ベクトルとのなす角度であるスカラ特徴量F
WA[t]、
(b)この相関行列の第一主成分固有ベクトルと、高自己相関データA'の代表ベクトルとのなす角度であるスカラ特徴量F
WA'[t]、及び
(c)この相関行列の第一主成分固有ベクトルと、高相互相関データCの代表ベクトルとのなす角度であるスカラ特徴量F
WC[t]
を含むスカラ特徴量の組から構成されている。
【0093】
変化点決定部115は、各時刻において、この特徴量時系列データのスカラ特徴量Fにおける1つ前の時刻での値からの変化分の絶対値が所定閾値F
TH以上になった場合、このスカラ特徴量Fの代表ベクトルに係る時系列データにおいて変化点が発生したと判定する。具体的に、
図5の実施例においては、この所定閾値F
THを0.1とすると、時刻T=1(
図5(A))から時刻T=t(
図5(C))までの間、いずれのスカラ特徴量Fにも、この所定閾値F
TH以上となる変化は見られない。
【0094】
しかしながら、時刻T=t+1(
図5(D))では、高相互相関データCに係るスカラ特徴量Fについて、
(10) F
WC[t+1]−F
WC[t]=0.45−0.24=0.21>0.1=F
TH
となり、所定以上の変化があったと判定される。これにより、変化点決定部115は、時刻t+1において時系列データCに変化点が発生したことを決定し、また、変化点の発生した時系列データを、時系列データCであると特定する。
【0095】
このように、変化点決定部115によれば、特徴量Fの組から構成される特徴量時系列データを生成し利用することによって、変化点の発生を検出するだけではなく、当該変化点が発生した時系列データがいずれであるかを特定することも可能となるのである。
【0096】
ここで、1つの例として、無線通信ネットワークにおいて通信トラヒックに変化点が発生した基地局単体を特定するためには、従来、膨大な計算処理コストがかかっていた。これに対し、変化点決定部115によれば、特定対象となるいずれの時系列データについても、スカラ量の計算に基づいて変化点を検出するので、変化点を発生させた基地局(時系列)の特定処理における計算コストを抑えることが可能となる。
【0097】
以上説明したように、変化点決定部115は、
(a)ある時刻でのスカラ特徴量Fと1つ前の時刻でのスカラ特徴量Fとの差が、予め設定された所定閾値F
THを以上となる場合に、当該ある時刻において変化点が発生したと決定する
ことができる。
【0098】
この場合、具体的には、生成した特徴量時系列データから、時刻毎に、当該時刻でのスカラ特徴量Fと1つ前の時刻でのスカラ特徴量Fとの差(特徴量差)を対応付けて記録した特徴量差時系列データを生成しておき、この特徴量差時系列データを用いて変化点を決定することも好ましい。ここで、この特徴量差を変化点検出スコアとして、この変化点検出スコアが所定スコア以上となる場合に、当該時刻において変化点が発生したと決定してもよい。
【0099】
また、変化点決定の他の方法として、変化点決定部115は、
(b)特徴量時系列データにおけるある時刻でのスカラ特徴量Fと、予め設定された時系列予測モデルにおける当該時刻でのデータ値との差分(誤差)を算出し、この誤差が予め設定された所定閾値以上となる場合に、当該時刻において変化点が発生したと決定する
ことも可能である。
【0100】
ここで、このような時系列予測モデルとの比較処理は、変化点決定部115のモデル比較部115mで実施される。また、予め設定される時系列予測モデルとして、例えば、時系列データを予測するのに一般的に用いられるAR(自己回帰)モデルを採用してもよい。線形のARモデルでは、目的変数は目的変数の過去値を説明変数とし、モデルを表す多項式の係数は、通常、最尤法で決定される。
【0101】
図1に戻って、変化点決定部115で決定された変化点の情報は、いずれの時刻において、いずれの時系列データで変化点が発生したかを示す情報を含む変化点検出情報として、変化点情報記憶部105に記録される。また、この変化点検出情報は、入出力制御部117を介し、ディスプレイ107に表示されてもよく、または、通信インタフェース101から外部の情報処理装置に送信されてもよい。変化点検出情報は、さらに、キーボード108等の入力デバイスから入力された変化点検出情報の要求信号に従って、以上に説明したように出力されてもよい。
【0102】
変化点予測部116は、変化点決定部115によって変化点が1つの時点において1つの時系列データで検出された際、
(a)当該1つの時系列データについての時系列データリストを、時系列データリスト蓄積部106から取得し、
(b)取得した時系列データリストが時系列データを含んでいる(Nullではない)場合、すなわち、当該1つの時系列データを「因」とする(正のタイムラグ値が対応付けられた)時系列データが存在する場合、当該リストに含まれている時系列データ(の各々)において、当該1つの時点から当該正のタイムラグ値に係る時間の経過後に、変化点が発生することを予測する。
【0103】
例えば、
図2に示した実施例の場合であって
図3に示したような時系列データリストが生成されている場合において、時刻T=t'で時系列データAに変化点が発生したと判定(特定)された際、変化点予測部116は、時刻T=t'+6において、時系列データBに変化点が発生する、と予測することができる。
【0104】
この時系列データリストに含まれている時系列データは、すでに説明したように、基準時系列データに対して「果」となるデータであり、基準時系列データでの変化を原因とした変化を起こし得る時系列データとなっている。変化点予測部116によれば、このような時系列データリストを利用することによって、変化点の発生を検出するだけではなく、将来の1つの時点で1つの時系列データにおいて変化点が発生する、との予測情報を決定することも可能となるのである。
【0105】
ここで、1つの例として、従来、無線通信ネットワークでは、通信トラヒックにおける変化点発生を予測することが困難であった。これに対し、変化点予測部116によれば、自己相関解析によって生成した自己相関時系列データと、スカラ量の計算によって検出した変化点とに基づいて変化点発生を予測するので、計算コストを抑えつつ、変化点を発生させる基地局(時系列)を事前に特定(予測)することが可能となるのである。
【0106】
ちなみに、変化点予測部116は、特徴量生成部114で生成された相関行列を用いて、変化点の発生を予測することもできる。例えば、
図5に示した実施例において、時刻T=t+1で時系列データCに変化点が発生したと判定された際、変化点予測部116は、この判定結果を受け、この時系列データCに対して「果」の関係にある時系列データAについて、時刻Tが、
T=(t+1)+|t
AC|=t+1+6=t+7 (ここで、タイムラグ値t
AC=-6)
において変化点が発生する、と予測することができる。
【0107】
この変化点予測部116で決定された変化点予測情報は、入出力制御部117を介し、ディスプレイ107に表示されてもよく、または、通信インタフェース101から外部の情報処理装置に送信されてもよい。変化点予測情報は、さらに、キーボード108等の入力デバイスから入力された変化点予測情報の要求信号に従って、以上に説明したように出力されてもよい。次に、機能・処理としては遡るが、特徴量生成部114における特徴量生成処理において、部分空間追跡法を用いた他の実施形態について説明する。
【0108】
図6は、特徴量生成部114における特徴量生成処理の他の実施形態を説明するための模式図である。
【0109】
特徴量生成処理の他の実施形態として、特徴量生成部114の部分空間追跡部114p(
図1)によって実施される、部分空間追跡法を用いた特徴量生成処理について、以下に説明する。
【0110】
最初に、比較のため、
図4を用いてすでに説明した特徴量生成バッチ処理の概要を、
図6(A)に示す。このバッチ処理における特徴量の算出では、時系列データにおける新たな時点でのデータが追加される毎に、所定期間のウィンドウ(
図4)内の時系列データのバッチに対し、特徴量算出のための固有値解析を実施することが必要となる。
【0111】
一方、
図6(B)によれば、部分空間追跡部114p(
図1)は、部分空間追跡法を用い、複数の時系列データに係る新たな時点でのデータに基づいて、
(a)当初は、予め設定された初期の固有ベクトルを更新し、
(b)前時点で更新された固有ベクトルが存在する場合、当該前時点で更新された固有ベクトルをさらに更新し、
更新された固有ベクトルと、時系列データ群に含まれる1つの時系列データにおける他の時系列データとの間の相関係数(相互相関関数値)から生成される代表ベクトルとの向きの差(角度)に対応するスカラ値を、この新たな時点での特徴量として、各時点での特徴量を含む特徴量時系列データを生成する。
【0112】
具体的には、PAST
Dアルゴリズムとして、時刻tにおいて取得される(時刻(t-M)〜tでの)時系列データを、時刻tでの観測ベクトルx
tとして表し、時刻tでの固有ベクトルw
tを、次式
(11) y
t=w
Tt-1・x
t
d
t=β・d
t-1+y
t2
e
t=x
t−w
t-1・y
t
w
t=w
t-1+e
t・y
t/d
t
を用いて算出する。ここで、d
tは、時刻tの観測ベクトルx
tによって更新された固有値相当量であり、βは忘却係数である。上式(11)によって算出された時刻tでの固有ベクトルw
tは、時刻tの観測ベクトルx
tによって更新された固有ベクトルに相当する。
【0113】
次いで、算出された固有ベクトルw
tと代表ベクトルa
tとの時刻tでの特徴量F
tを、次式
(12) F
t=cos
-1(w
tT・a
t)
を用いて算出する。このような上式(11)及び(12)を用いた処理を、経過する時刻毎に、全ての時系列データの代表ベクトルについて行って特徴量Fの組を算出することにより、当該特徴量Fの組の時系列で構成される特徴量時系列データが生成される。ちなみに、このアルゴリズムの初期パラメータとしての初期固有ベクトルw(0)、及び初期固有値d(0)はそれぞれ、ゼロベクトル以外の任意のベクトル、及びゼロ以外の任意のスカラ値とすることができる。
【0114】
このように、各時系列で時刻tのデータが追加される毎に、この追加データに対し部分空間追跡法を適用することによって、部分空間追跡法の各種パラメータを更新し、結果として、特徴量F
tも更新されるのである。従って、本実施形態では、データが追加される毎に固有値解析を実施するといった処理の必要がなく、比較的簡易な計算によって特徴量が算出されるので、計算量が低減し処理負担がより軽減される。
【0115】
ちなみに、特徴量生成部114(部分空間追跡部114p)は、変更態様として、
(a)当初、
図4に示したようなバッチ処理によって、時系列データ群の(疑似)相関行列を生成して、第一主成分固有ベクトル及び対応する固有値を算出し、
(b)初回の時刻だけ、又は初回の時刻から所定数の時間単位経過後の時刻まで、上記(a)の固有値解析によって、当該時刻での特徴量Fを算出し、
(c)その直後の時刻において、上記(b)で算出された固有ベクトルを初期固有ベクトルとし、部分空間追跡法を用いて、複数の時系列データに係る当該時刻でのデータに基づき、この初期固有ベクトルを更新して、時系列データ群に含まれる1つの時系列データにおける他の時系列データとの間の相関係数(相互相関関数値)から生成される代表ベクトルと、更新された初期固有ベクトルとの向きの差(角度)に対応するスカラ値を、当該新たな時点での特徴量Fとし、
(d)その後、各時刻において、
図6(B)に示したような部分空間追跡法を用いた処理によって特徴量Fの組を算出し、特徴量時系列データを生成する
ことも好ましい。
【0116】
なお、さらなる変更態様として、上記(d)での処理に引き続き、
(e)当初から所定期間経過後の時刻において、再度、当該時刻に係る時系列データの(疑似)相関行列を生成し、第一主成分固有ベクトル(及び対応する固有値)を算出して、特徴量Fの組を算出する
ことも好ましい。この後は、新たな時刻毎に、引き続き固有値解析を行って特徴量Fの組を算出してもよいし、または、これらの固有ベクトル及び固有値を部分空間追跡法のパラメータとして順次更新して、当該時刻での特徴量Fの組を算出してもよい。
【0118】
図7は、本発明による変化点検出方法の一実施形態を示すフローチャートである。以下、
図7(A)及び
図7(B)を用いて、本実施形態の変化点検出方法におけるフローの概要を説明する。
【0119】
最初に、
図7(A)に、時系列データアクセス部111における処理フローを示す。
(S11)各系列の最新時系列データを取得する。
(S12)系列毎に、時系列データを、時系列データ蓄積部102に蓄積する。
【0120】
(S13)各時系列データにおいて、データ長が所定閾値を超えているか否かを判定する。ここで、偽の判定が行われた場合、判定された時系列データをそのまま、次の変化点検出対象とする。
(S14)一方、ステップS13において真の判定が行われた場合、判定された時系列データにおける最古データから順次、データ長が所定閾値以内となるまでデータを削除した上で、当該時系列データを次の変化点検出対象とする。
【0121】
次いで、
図7(B)に、変化点検出データ特定・変化点予測処理フローを示す。
(S21)データ長を調整された変化点検出対象の全時系列データを読み込む。
(S22)基準時系列データ毎に、高自己相関データを生成し、相関行列を生成するための時系列データ群に加える。
(S23)基準時系列データ毎に、正のタイムラグ値で所定以上の高相互相関を示すデータを生成し、変化点発生予測のために用いる時系列データリストに加える。
(S24)基準時系列データ毎に、高相互相関データを決定し、相関行列を生成するための時系列データ群に加える。
【0122】
(S25)基準時系列データ毎に、高自己相関データ及び高相互相関データを含む時系列データ群を用いて相関行列を生成し、当該相関行列の固有ベクトルを算出する。
(S26)基準時系列データ毎に、算出された固有ベクトルと代表ベクトルとのなす角度に相当するスカラ値を特徴量とし、各時刻での特徴量の組から特徴量時系列データを生成・更新する。
(S27)生成・更新した特徴量時系列データの変動に基づいて変化点を検出し、当該変化点を発生させた時系列データを特定する。
(S28)生成・更新した時系列データリストを用いて、変化点を発生させる時系列データを、その推定発生時刻とともに予測する。
以上、ステップS11からステップS28までの処理を各時刻において実施することによって、本変化点検出方法の実施が完了する。
【0123】
以上、詳細に説明したように、本発明によれば、変化点検出において、スカラ値であるが故に比較的算出処理負担の小さいスカラ特徴量を利用するので、複数の時系列データを取り扱っていても、変化点検出のための計算コストの増大を抑制することができる。さらに、各時点でのスカラ特徴量を含む特徴量時系列データから変化点を決定するので、リアルタイムに近い形で変化点を適宜検出することが可能となる。
【0124】
また、複数の時系列データをまとめて処理して特徴量を算出するので、時系列データ毎の個別の変動に大きく影響されずに、より確実に安定して変化点検出を行うことも可能となる。
【0125】
特に、基準時系列データとの間で高い相互相関を示す高相互相関データを、相関行列を生成するための時系列データ群にグルーピングしている。また、一実施形態として、基準時系列データとの間で高い自己相関を示す高自己相関データを、この時系列データ群に含めることもできる。このようなグルーピングを行い、互いに所定以上の高い相関を有する複数の時系列データから固有ベクトルを算出するので、より確実に安定して変化点検出を行うことが可能となるのである。
【0126】
さらに、本発明の一実施形態として、変化点を検出した際、グルーピングされた時系列データのいずれにおいて変化点が検出されたのかを特定することも可能となる。また、時系列データにおける変化点発生を予測することもできる。このような特定処理及び予測処理も、時系列データ間の因果関係を考慮することによって可能となるのである。これにより、例えば無線通信ネットワークにおいて、通信トラヒックに変化点を発生させた基地局(時系列)を特定したり、変化点を発生させる基地局(時系列)を事前に特定(予測)したりすることが、計算コストを抑えつつ可能となるのである。
【0127】
ちなみに、時系列データの発生源は、当然に、基地局のような通信中継装置に限定されるものではない。例えば、通信ネットワークを構成する各種端末やサーバ等、製造システムを構成する製造装置、搬送装置及び管理装置等、さらには、マーケット・金融システムを構成する端末、認証サーバ及び顧客管理サーバ等、様々な装置・設備が時系列データの発生源となる。本発明は、当然、そのような発生源を含むシステムにも適用可能なものとなっている。さらに、これらの発生源からの時系列データにおける変化点の検出は、故障検出や障害検知を目的とするものに限定されず、例えば異常監視やアクセスの急変の検知、さらには攻撃・侵入検知等、様々の用途・目的のために有用となるのである。
【0128】
また、本発明によれば、今後大きく進展することが予想されるIoT(Internet of Things)の分野でも、多数のセンサや、機器・デバイスから出力される時系列データにおける変化点を検出することによって、監視・管理対象における異常を確実に検知したり、システム環境の変化を適切に把握したりすることが可能となるのである。
【0129】
以上に述べた本発明の種々の実施形態について、本発明の技術思想及び見地の範囲内での種々の変更、修正及び省略は、当業者によれば容易に行うことができる。以上に述べた説明はあくまで例示であって、何ら制約を意図するものではない。本発明は、特許請求の範囲及びその均等物によってのみ制約される。