(57)【要約】      （修正有）【課題】多次元時系列データに基づく状態識別の精度を向上させる。【解決手段】状態識別方法は、複数の時系列データそれぞれの値を座標とする点を複数含むアトラクタを生成し、アトラクタに対するパーシステントホモロジ処理により、ベッチ数の系列データを生成し、ベッチ数の系列データに基づき、複数の時系列データが示す状態を識別する処理を含む。【選択図】図８
2019016194.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の時系列データそれぞれの値を座標とする点を複数含むアトラクタを生成し、
前記アトラクタに対するパーシステントホモロジ処理により、ベッチ数の系列データを生成し、
前記ベッチ数の系列データに基づき、前記複数の時系列データが示す状態を識別する、
処理を実行させる状態識別プログラム。
【請求項２】
前記パーシステントホモロジ処理は、前記アトラクタに含まれる各点を中心とする球の半径を時間の経過に従って拡大した場合におけるベッチ数を計数する処理である、
請求項１記載の状態識別プログラム。
【請求項３】
前記複数の時系列データが示す状態を識別する処理において、
生成された前記ベッチ数の系列データと、所定時刻前の前記複数の時系列データについて生成されたベッチ数の系列データとの比較に基づき、前記複数の時系列データが示す状態の変化を検知する、
請求項１又は２記載の状態識別プログラム。
【請求項４】
前記複数の時系列データが示す状態を識別する処理において、
生成された前記ベッチ数の系列データと、前記複数の時系列データが示す状態が正常である場合におけるベッチ数の系列データとの比較に基づき、前記複数の時系列データが示す状態が異常であることを検知する、
請求項１又は２記載の状態識別プログラム。
【請求項５】
前記コンピュータに、
識別された前記複数の時系列データが示す状態に関する情報を出力する、
処理をさらに実行させる請求項１乃至４のいずれか１つ記載の状態識別プログラム。
【請求項６】
コンピュータが、
複数の時系列データそれぞれの値を座標とする点を複数含むアトラクタを生成し、
前記アトラクタに対するパーシステントホモロジ処理により、ベッチ数の系列データを生成し、
前記ベッチ数の系列データに基づき、前記複数の時系列データが示す状態を識別する、
処理を実行する状態識別方法。
【請求項７】
複数の時系列データそれぞれの値を座標とする点を複数含むアトラクタを生成する第１生成部と、
前記アトラクタに対するパーシステントホモロジ処理により、ベッチ数の系列データを生成する第２生成部と、
前記ベッチ数の系列データに基づき、前記複数の時系列データが示す状態を識別する識別部と、
を有する状態識別装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態識別技術に関する。
【背景技術】
【０００２】
多次元時系列データに基づき対象の状態を識別することが行われている。
【０００３】
例えばインバリアント分析においては、センサ等により収集された多次元時系列データから普遍的関係性（インバリアントと呼ばれる）が抽出され、抽出された普遍的関係性に基づいて異常状態の発生が検知される。
【０００４】
また、部分空間法においては、多次元時系列データから、特徴を低次元で表現する部分空間の直交基底が状態毎に生成され、直交基底と入力された多次元時系列データとの類似度に基づき、入力された多次元時系列データが示す状態が識別される。
【０００５】
上述した、インバリアント分析および部分空間法について、簡単に補足する。
【０００６】
インバリアント分析は、多次元時系列データの時間相関を監視し、一部の時系列に変化が現れたことを相関の変化として検知する手法である。例えば、平常時において図１に示すような相関関係が得られているとする。そして、何らかの要因により変数ｚの値に変化が現れた場合、入力された多次元時系列データから図２に示すような相関関係が得られ、変数ｙと変数ｚとの相関関係の変化から変化検知が行われる。
【０００７】
インバリアント分析は容易に実施することが可能である。一方、全変数が同時に同方向に変化した場合には、インバリアント分析による変化検知は困難である。例えば、全変数が同時に同方向に変化した場合には図３に示すような相関関係が得られることがあり、この場合には図１に示した相関関係との差異が有意ではないため変化は検知されない。
【０００８】
部分空間法は、一次元時系列データから時間遅れの手法により部分時系列を生成し、部分時系列が規定する部分空間上の直交基底の向きや大きさの変化から、空間全体の状態変化を検知する手法である。図４及び図５は、部分空間法について説明するための図である。図４及び図５において、ハッチングされた楕円の図形はサンプル点が属する空間を表す。図４においては、サンプル点が属する空間のＺ１の方向の大きさはσ１であり、Ｚ２の方向の大きさはσ２であり、Ｚ３の方向の大きさはσ３である。そして、サンプル点が属する空間が図５に示すように変化したとする。図５においては、サンプル点が属する空間のＹ１方向の大きさはρ１であり、Ｙ２方向の大きさはρ２であり、Ｙ３方向の大きさはρ３である。このような直交基底の向きや大きさの変化から、時系列データにおける変化を検知することができる。
【０００９】
部分空間法は線形分析法であるため、線形性および周期性が強い時系列に適している。また、部分空間の密度変化を検知することも可能である。一方、非線形の時系列（例えばカオス時系列）の場合、局所的に直交基底が異なり、空間全体として安定した直交基底の決定が困難である。従って、非線形の時系列は部分空間法による変化検知に適していない。
【００１０】
さて、上記の分析方法に適していない多次元時系列データも存在する。このような多次元時系列データに対して上記の分析方法で分析を行うと誤った状態識別が行われることがある。適切な分析方法を選択するために予め多次元時系列データの性質を調べることも考えられるが、性質が判明したとしても適切な分析方法が見つからない場合があり、また性質を調べる作業は必ずしも容易ではない。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】国際公開第２０１３／１４５４９３号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、１つの側面では、多次元時系列データに基づく状態識別の精度を向上させる技術を提供することである。
【課題を解決するための手段】
【００１３】
一態様に係る状態識別方法は、複数の時系列データそれぞれの値を座標とする点を複数含むアトラクタを生成し、アトラクタに対するパーシステントホモロジ処理により、ベッチ数の系列データを生成し、ベッチ数の系列データに基づき、複数の時系列データが示す状態を識別する処理を含む。
【発明の効果】
【００１４】
１つの側面では、多次元時系列データに基づく状態識別の精度を向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、インバリアント分析について説明するための図である。
【図２】図２は、インバリアント分析について説明するための図である。
【図３】図３は、インバリアント分析について説明するための図である。
【図４】図４は、部分空間法について説明するための図である。
【図５】図５は、部分空間法について説明するための図である。
【図６】図６は、情報処理装置の機能ブロック図である。
【図７】図７は、時系列データ格納部に格納される多次元時系列データのグラフの一例を示す図である。
【図８】図８は、第１の実施の形態の情報処理装置が実行する処理の処理フローを示す図である。
【図９】図９は、アトラクタの一例を示す図である。
【図１０】図１０は、バーコード図の一例を示す図である。
【図１１】図１１は、バーコードデータの一例を示す図である。
【図１２】図１２は、バーコードデータと生成されるベッチ数系列との関係について説明するための図である。
【図１３】図１３は、バーコードデータの一例を示す図である。
【図１４】図１４は、ベッチ数データ格納部に格納されるデータの一例を示す図である。
【図１５】図１５は、距離データ格納部に格納されるデータの一例を示す図である。
【図１６】図１６は、第１の実施の形態における検知データ格納部に格納されるデータの一例を示す図である。
【図１７】図１７は、多次元時系列データの一例を示す図である。
【図１８】図１８は、多次元時系列データのうち変更前の期間のデータから生成されたアトラクタの一例を示す図である。
【図１９】図１９は、多次元時系列データのうち変更後の期間のデータから生成されたアトラクタの一例を示す図である。
【図２０】図２０は、変更前の期間のデータから生成されたアトラクタと変更後の期間のデータから生成されたアトラクタとが重ねられた図である。
【図２１】図２１は、変更前の期間のアトラクタから生成されたベッチ数系列および変更後の期間のアトラクタから生成されたベッチ数系列を示す図である。
【図２２】図２２は、半径が特定の値である時のベッチ数を示す図である。
【図２３】図２３は、インバリアント分析の実行結果を示す図である。
【図２４】図２４は、インバリアント分析の実行結果を示す図である。
【図２５】図２５は、インバリアント分析の実行結果を示す図である。
【図２６】図２６は、部分空間法の実行結果を示す図である。
【図２７】図２７は、多次元時系列データの一例を示す図である。
【図２８】図２８は、多次元時系列データのうち変更前の期間のデータから生成されたアトラクタの一例を示す図である。
【図２９】図２９は、多次元時系列データのうち変更前の期間のデータから生成されたアトラクタの一例を示す図である。
【図３０】図３０は、多次元時系列データのうち変更後の期間のデータから生成されたアトラクタの一例を示す図である。
【図３１】図３１は、多次元時系列データのうち変更後の期間のデータから生成されたアトラクタの一例を示す図である。
【図３２】図３２は、変更前の期間のデータから生成されたアトラクタと変更後の期間のデータから生成されたアトラクタとが重ねられた図である。
【図３３】図３３は、変更前の期間のアトラクタから生成されたベッチ数系列および変更後の期間のアトラクタから生成されたベッチ数系列を示す図である。
【図３４】図３４は、半径が特定の値である時のベッチ数を示す図である。
【図３５】図３５は、インバリアント分析の実行結果を示す図である。
【図３６】図３６は、部分空間法の実行結果を示す図である。
【図３７】図３７は、第２の実施の形態の情報処理装置が実行する処理の処理フローを示す図である。
【図３８】図３８は、第２の実施の形態における検知データ格納部に格納されるデータの一例を示す図である。
【図３９】図３９は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１６】
［実施の形態１］
図６は、本実施の形態の情報処理装置１の機能ブロック図である。情報処理装置１は、第１生成部１０１と、第２生成部１０３と、検知部１０５と、出力部１０７と、時系列データ格納部１１１と、アトラクタ格納部１１３と、バーコードデータ格納部１１５と、ベッチ数データ格納部１１７と、距離データ格納部１１９と、検知データ格納部１２１とを含む。
【００１７】
第１生成部１０１、第２生成部１０３、検知部１０５及び出力部１０７は、例えば、図３９におけるメモリ２５０１にロードされたプログラムが図３９におけるＣＰＵ（Central Processing Unit）２５０３により実行されることで実現される。時系列データ格納部１１１、アトラクタ格納部１１３、バーコードデータ格納部１１５、ベッチ数データ格納部１１７、距離データ格納部１１９及び検知データ格納部１２１は、例えば、メモリ２５０１又は図３９におけるＨＤＤ（Hard Disk Drive）２５０５に設けられる。
【００１８】
第１生成部１０１は、時系列データ格納部１１１に格納されている多次元時系列データに基づき処理を実行し、処理結果をアトラクタ格納部１１３に格納する。第２生成部１０３は、アトラクタ格納部１１３に格納されているデータに基づき処理を実行し、処理結果をバーコードデータ格納部１１５に格納する。第２生成部１０３は、バーコードデータ格納部１１５に格納されているデータに基づき処理を実行し、処理結果をベッチ数データ格納部１１７に格納する。第２生成部１０３は、ベッチ数データ格納部１１７に格納されているデータに基づき処理を実行し、処理結果を距離データ格納部１１９に格納する。検知部１０５は、距離データ格納部１１９に格納されているデータに基づき処理を実行し、処理結果を検知データ格納部１２１に格納する。出力部１０７は、検知データ格納部１２１に格納されているデータに基づき生成した表示データを表示装置（例えばモニタ等）に表示する。なお、本実施の形態における多次元時系列データとは、複数の項目についての時系列データのことである。
【００１９】
図７は、時系列データ格納部１１１に格納される多次元時系列データのグラフの一例を示す図である。図７においては、三次元の時系列データの各項目について時刻と値に関するグラフが示されており、時刻ｉにおける項目ｘの値はｘiであり、時刻ｉにおける項目ｙの値はｙiであり、時刻ｉにおける項目ｚの値はｚiである。時系列データは、例えば、生体データ（心拍数、脳波、脈拍或いは体温などの時系列データ）、センサにより計測されたデータ（ジャイロセンサ、加速度センサ或いは地磁気センサなどの時系列データ）、金融データ（金利、物価、国際収支或いは株価などの時系列データ）、自然環境のデータ（気温、湿度或いは二酸化炭素濃度などの時系列データ）、又は社会データ（労働統計或いは人口統計などのデータ）等である。
【００２０】
本実施の形態においては、図７に示したような多次元時系列データが扱われ、多次元時系列データが示す状態の識別が行われる。なお、図７の例においては次元の数は３であるが、次元の数は２又は４以上であってもよい。
【００２１】
次に、第１の実施の形態における情報処理装置１が実行する処理について説明する。図８は、第１の実施の形態における情報処理装置１が実行する処理の処理フローを示す図である。
【００２２】
第１生成部１０１は、スライド窓の設定を行う（図８：ステップＳ１）。スライド窓とは、処理対象の多次元時系列データが抽出される期間のことであり、ステップＳ１においては初期のスライド窓の開始時刻及び期間の長さが設定される。
【００２３】
第１生成部１０１は、各項目について、スライド窓の期間における多次元時系列データを時系列データ格納部１１１から読み出す（ステップＳ３）。
【００２４】
第１生成部１０１は、ステップＳ３において読み出された各項目の時系列データから、スライド窓の期間における（ｘi，ｙi，ｚi）の集合であるアトラクタを生成する（ステップＳ５）。そして、第１生成部１０１は、生成したアトラクタをアトラクタ格納部１１３に格納する。ステップＳ５において生成される有限個の点集合は厳密には「アトラクタ」ではなく疑似的なアトラクタであるが、本明細書ではステップＳ５において生成される点集合を「アトラクタ」と呼ぶ。なお、各項目の時系列データが離散時間で取得されている場合には、スライド窓の期間における全（ｘi，ｙi，ｚi）の集合ではなく、ｎ個（ｎ＝１，２，３，・・・）おきの（ｘi，ｙi，ｚi）を含む集合からアトラクタを生成してもよい。
【００２５】
図９は、アトラクタの一例を示す図である。図９の例においては、アトラクタが三次元空間上に示されている。アトラクタには、元の多次元時系列データの特徴が反映され、アトラクタ間の類似関係は、元の多次元時系列データ間の類似関係と等価である。アトラクタと別のアトラクタとが似ていることは、元の多次元時系列データの特徴が類似していることを意味する。特徴が同じであるが現象（見た目）が異なる多次元時系列データからは、互いに類似したアトラクタが生成される。特徴が異なるが現象が似ている多次元時系列データからは、異なるアトラクタが生成される。
【００２６】
図８の説明に戻り、第２生成部１０３は、ステップＳ５において生成されたアトラクタに対するパーシステントホモロジ（Persistent Homology）処理によって、各穴次元のバーコードデータを生成する（ステップＳ７）。第２生成部１０３は、生成したバーコードデータをバーコードデータ格納部１１５に格納する。なお、ステップＳ７においては各穴次元のバーコードデータが生成されるが、所定の穴次元（例えば０次元）のみについてバーコードデータが生成されてもよい。
【００２７】
ここで、「ホモロジ」とは、対象の特徴をｍ（ｍ≧０）次元の穴の数によって表現する手法である。ここで言う「穴」とはホモロジ群の元のことであり、０次元の穴は連結成分であり、１次元の穴は穴（トンネル）であり、２次元の穴は空洞である。各次元の穴の数はベッチ数と呼ばれる。
【００２８】
「パーシステントホモロジ」とは、対象（ここでは、点の集合）におけるｍ次元の穴の遷移を特徴付けるための手法であり、パーシステントホモロジによって点の配置に関する特徴を調べることができる。この手法においては、対象における各点が球状に徐々に膨らまされ、その過程において各穴が発生した時点（発生時の球の半径で表される）と消滅した時点（消滅時の球の半径で表される）とが特定される。なお、パーシステントホモロジにおける穴の発生した「時点」、消滅した「時点」と、パーシステントホモロジ処理の対象となるアトラクタの生成元である多次元時系列データにおける「時刻」とは、関連するものではない。
【００２９】
穴の発生半径と消滅半径とを用いて、図１０に示すようなバーコード図を生成することができる。図１０において、横軸の値は半径を表し、各線分は１つの穴に対応する。線分の左端に対応する半径は穴の発生半径であり、線分の右端に対応する半径は穴の消滅半径である。線分はパーシステント区間と呼ばれる。このようなバーコード図から、例えば半径が０．１８である時には２つの穴が存在するということがわかる。
【００３０】
図１１は、バーコード図を生成するためのデータ（以下、バーコードデータと呼ぶ）の一例を示す図である。図１１の例では、穴次元を表す数値と、穴の発生半径と、穴の消滅半径とが含まれる。ステップＳ７において、バーコードデータは各穴次元について生成される。
【００３１】
以上のような処理を実行すれば、或るアトラクタから生成されるバーコードデータと他のアトラクタから生成されるバーコードデータとの類似関係は、アトラクタ間の類似関係と等価である。よって、アトラクタが同じである場合、生成されるバーコードデータは同じであり、アトラクタが同じではない場合、アトラクタ間の差が僅かである場合を除きバーコードデータにも差が表れる。
【００３２】
なお、パーシステントホモロジの詳細については、例えば「平岡裕章、『タンパク質構造とトポロジー  パーシステントホモロジー群入門』、共立出版」を参照されたい。
【００３３】
図８の説明に戻り、第２生成部１０３は、ステップＳ７において生成されたバーコードデータをバーコードデータ格納部１１５から読み出し、読み出されたバーコードデータからベッチ数系列を生成する（ステップＳ９）。そして、第２生成部１０３は、生成したベッチ数系列をベッチ数データ格納部１１７に格納する。
【００３４】
ステップＳ９において生成されるベッチ数系列は、パーシステントホモロジにおける球の半径（すなわち穴の発生した時点と消滅した時点との間隔）とベッチ数との関係を示すデータである。図１２を用いて、バーコードデータと生成されるベッチ数系列との関係について説明する。図１２は０次元の穴についてバーコードデータとベッチ数系列との関係を示す図である。図１２において、上段のグラフはバーコードデータから生成されるグラフであり、横軸の値が半径を表す。下段のグラフはベッチ数系列から生成されるグラフであり、縦軸の値はベッチ数を表し、横軸の値は半径を表す。ベッチ数は穴の数を表すので、例えば図１２に示すように、上段のグラフにおいて破線に対応する半径の時には存在している穴の数が１０であるので、下段のグラフにおいては破線に対応するベッチ数も１０である。
【００３５】
基本的には、同じバーコードデータからは同じベッチ数系列が得られる。すなわち、元のアトラクタが同じであれば同じベッチ数系列が得られる。但し、異なるバーコードから同じベッチ数系列が得られるケースが極めて稀に発生する。
【００３６】
例えば図１３に示すようなバーコードデータを考える。図１３（ａ）のケースにおいては、パーシステント区間ｐ１が時点ｔ１で開始し且つ時点ｔ２で終了し、パーシステント区間ｐ２が時点ｔ２で開始し且つ時点ｔ３で終了する。一方、図１３（ｂ）のケースにおいては、パーシステント区間ｐ４が時点ｔ１で開始し且つ時点ｔ３で終了する。両ケースにおけるパーシステント区間ｐ３は全く同じであるとする。
【００３７】
このような場合、両ケースにおけるバーコードデータからは全く同じベッチ数系列が得られるので、ベッチ数系列によっては両ケースを区別することができない。しかし、このような現象が発生する可能性は極めて低い。
【００３８】
従って、或るバーコードデータから生成されるベッチ数系列と、別のバーコードデータから生成されるベッチ数系列との類似関係は、上で述べた稀なケースが発生しなければ、バーコードデータ間の類似関係と等価である。以上から、データ間の距離の定義は変わるものの、バーコードデータから生成されるベッチ数系列間の類似関係は、元の多次元時系列データ間の類似関係とほぼ等価である。
【００３９】
図１４は、ベッチ数データ格納部１１７に格納されるデータの一例を示す図である。図１４の例では、各スライド窓について、次元と、半径と、ベッチ数とを含むデータが格納されており、各穴次元のベッチ数系列が連結されている。但し、ステップＳ７において所定の穴次元のみについてバーコードデータが生成された場合には、各スライド窓について、所定の穴次元についてのベッチ数系列が格納される。
【００４０】
このように、パーシステントホモロジ処理を実行することで、アトラクタが表す、元の多次元時系列データの特徴を、ベッチ数系列に反映することができる。ベッチ数系列は、各スライド窓について生成されてベッチ数データ格納部１１７に格納される。
【００４１】
パーシステントホモロジの計算は、位相幾何学の手法であり、点の集合で表される静的な対象（例えば、タンパク質、分子の結晶、センサネットワークなど）の構造の解析等に利用されてきた。これに対し本実施の形態においては、時間の経過に伴って連続的に変化するデータの特徴を表す点集合（すなわちアトラクタ）を計算の対象としている。本実施の形態の場合、点集合の構造自体を解析することは目的ではないので、一般的なパーシステントホモロジの計算とは対象及び目的が全く異なる。
【００４２】
図８の説明に戻り、第２生成部１０３は、ステップＳ９において生成されたベッチ数系列をベッチ数データ格納部１１７から読み出す。そして、第２生成部１０３は、読み出されたベッチ数系列と、基準のベッチ数系列（ここでは、所定時刻前のスライド窓について生成されたベッチ数系列）との距離を計算する（ステップＳ１１）。所定時刻前のスライド窓とは、ステップＳ９においてベッチ数系列が生成されたスライド窓の開始時刻より所定時刻前を開始時刻とするスライド窓（例えば１つ前のスライド窓）である。所定時刻前のスライド窓についてのベッチ数系列が無い場合（例えば、初めてステップＳ１１の処理が実行される場合）、予め生成されたベッチ数系列との距離が計算されるか、或いは、ステップＳ１１は省略される。距離とは、例えば、ユークリッド距離（或いはノルム）およびコサイン類似度等である。
【００４３】
第２生成部１０３は、ステップＳ９においてベッチ数系列が生成されたスライド窓の情報に対応付けて、ステップＳ１１において計算された距離を距離データ格納部１１９に保存する（ステップＳ１３）。
【００４４】
図１５（ａ）及び図１５（ｂ）は、距離データ格納部１１９に格納されるデータの一例を示す図である。図１５（ａ）の例では、スライド窓の開始時刻と、スライド窓の終了時刻と、基準のベッチ数系列との距離とが格納される。図１５（ｂ）の例では、スライド窓の開始時刻と、基準のベッチ数系列との距離とが格納される。
【００４５】
第２生成部１０３は、スライド窓が終点に到達した（すなわち、ステップＳ１又はＳ１７において設定されたスライド窓の期間の終了時刻が多次元時系列データの終了時刻に到達した）か判定する（ステップＳ１５）。
【００４６】
スライド窓が終点に到達していない場合（ステップＳ１５：Ｎｏルート）、第２生成部１０３は、次のスライド窓を設定する（ステップＳ１７）。例えば、ステップＳ１又は前回のステップＳ１７において設定されたスライド窓の期間の開始時刻の所定時間後が開始時刻になるように次のスライド窓が設定される。但し、連続するスライド窓が重複する期間を有するように設定をしてもよい。そして処理はステップＳ３に戻る。
【００４７】
一方、スライド窓が終点に到達した場合（ステップＳ１５：Ｙｅｓルート）、検知部１０５は、ステップＳ１１において計算された距離が所定値以上であるスライド窓の時刻（例えば、開始時刻、中間の時刻又は終了時刻等）の情報を検知データ格納部１２１に格納する。そして、出力部１０７は、検知データ格納部１２１に格納された時刻の情報に基づき表示データを生成し、生成した表示データを表示装置に表示する（ステップＳ１９）。そして処理は終了する。なお、ステップＳ１９の処理を実行するか否かは任意であるため、図８においてステップＳ１９のブロックは破線で示されている。
【００４８】
図１６は、第１の実施の形態における検知データ格納部１２１に格納されるデータの一例を示す図である。本実施の形態においては距離によって変化を検知することができるため、検知データ格納部１２１に格納される時刻の情報は変化が検知された時刻を表す。
【００４９】
本実施の形態の変化検知は、背景技術の欄に挙げた従来技術（例えばインバリアント分析や部分空間法）のように適用可能な多次元時系列データが限定されるわけではなく、より多くのタイプの多次元時系列データに対して適用可能である。すなわち、従来技術を利用する場合には誤検知が発生する可能性がある多次元時系列データについても適切に変化検知を行えるので、変化検知の精度が向上する。
【００５０】
この点について、以下で具体例を用いて説明する。ここでは、図１７に示す多次元時系列データを例とする。図１７において、横軸の値は時刻を表し、縦軸の値は時系列データの値を表す。図１７の例では、項目ｘの時系列データと、項目ｙの時系列データと、項目ｚの時系列データとが示されており、いずれの項目の時系列データも正弦波のデータであるが、それぞれの位相は所定幅ずれている。時刻５００において、振幅が１から２に変更され且つ周波数が増加するように変更されている。
【００５１】
図１８は、図１７に示した多次元時系列データのうち変更前の期間のデータから生成されたアトラクタの一例を示す図である。図１８の例においては、三次元空間上に各時刻における値を座標とする点が示されている。
【００５２】
図１９は、図１７に示した多次元時系列データのうち変更後の期間のデータから生成されたアトラクタの一例を示す図である。図１８と同様、三次元空間上に各時刻における値を座標とする点が示されている。
【００５３】
図２０は、変更前の期間のデータから生成されたアトラクタと変更後の期間のデータから生成されたアトラクタとが重ねられた図である。図２０から明らかなように、変化の前後においてアトラクタの形状は同じであるが、アトラクタのサイズが変化している。また、周波数を変更したことにより点の分布が疎になっている。
【００５４】
図２１は、変更前の期間のアトラクタから生成されたベッチ数系列および変更後の期間のアトラクタから生成されたベッチ数系列を示す図である。図２１において、ハッチングされたプロットは変更前の期間のアトラクタから生成されたベッチ数系列を表し、ハッチングされていないプロットは変更後の期間のアトラクタから生成されたベッチ数系列を表す。このように、アトラクタのサイズが変化したことによって、ベッチ数系列の形状が変化している。
【００５５】
図２２は、図２１における矢印が示す半径の時のベッチ数を示す図である。時刻５００において、ベッチ数が１から１６に変化している。このように、多次元時系列データに変化がある時刻においては、ベッチ数にも明らかな変化が現れる。
【００５６】
図２３乃至図２５は、図１７に示した多次元時系列データに対するインバリアント分析の実行結果を示す。図２３において、横軸の値は時刻を表し、縦軸の値は項目ｘと項目ｙとの相互相関係数を表す。図２４において、横軸の値は時刻を表し、縦軸の値は項目ｙと項目ｚとの相互相関係数を表す。図２５において、横軸の値は時刻を表し、縦軸の値は項目ｚと項目ｘとの相互相関係数を表す。図２３乃至図２５に示すように、いずれの組合せにおいても相互相関係数は概ね１で推移しているため、時刻５００における変化を検知することはできない。
【００５７】
図２６は、図１７に示した多次元時系列データに対する部分空間法の実行結果を示す図である。図２６において、横軸の値は時刻を表す。縦軸の値は各部分空間の位置や大きさに相当する量である。具体的には、各部分空間上の状態点の基準点からの距離を表す。基準点としては例えば分布中心を用いることができる。図２６において、太い実線は項目ｘの値を表し、細い実線は項目ｙの値を表し、破線は項目ｚの値を表す。ここではそれぞれの項目の値の変化を確認し易くなるようにバイアスが加えられている。図２６に示すように、変更後においては縦軸の値が変更前よりも大きな値を持つようになっている。これは、周波数が増加することによってアトラクタ上の点の間隔が広がり、同じ数の状態点で部分時系列を作ると部分空間が広がるためである。このように、時刻５００の前後において値が変化することによって、状態の変化を検知することが可能である。
【００５８】
さらに、別の具体例を用いて、本実施の形態の方法を用いた場合の結果と従来技術を用いた場合の結果との違いについて説明する。ここでは、図２７に示す多次元の時系列データを例とする。図２７において、横軸の値は時刻を表し、縦軸の値は時系列データの値を表す。図２７の例では、項目ｘの時系列データと、項目ｙの時系列データと、項目ｚの時系列データとが示されており、ｘ、ｙ及びｚはカオス時系列の支配方程式に含まれる３変数に相当する。時刻５００において、支配方程式の制御パラメータの値が変更されている。但し、変化の前後においてダブルスクロールカオスの状態はほぼ保存されている。
【００５９】
図２８及び図２９は、図２７に示した多次元時系列データのうち変更前の期間のデータから生成されたアトラクタの一例を示す図である。図２８の例においては、三次元空間上に各時刻における値を座標とする点が示されている。図２９の例においては、ｘｙ平面上に各時刻における値を座標とする点が示されている。
【００６０】
図３０及び図３１は、図２７に示した多次元時系列データのうち変更後の期間のデータから生成されたアトラクタの一例を示す図である。図３０の例においては、三次元空間上に各時刻における値を座標とする点が示されている。図３１の例においては、ｘｙ平面上に各時刻における値を座標とする点が示されている。
【００６１】
図３２は、変更前の期間のデータから生成されたアトラクタと変更後の期間のデータから生成されたアトラクタとが重ねられた図である。図３２から明らかなように、変化の前後においてダブルスクロールの形状であることは共通しているものの、細部の形状は異なっている。
【００６２】
図３３は、変更前の期間のアトラクタから生成されたベッチ数系列および変更後の期間のアトラクタから生成されたベッチ数系列を示す図である。図３３において、ハッチングされたプロットは変更前の期間のアトラクタから生成されたベッチ数系列を表し、ハッチングされていないプロットは変更後の期間のアトラクタから生成されたベッチ数系列を表す。このように、アトラクタの形状が変化したことによって、ベッチ数系列の形状が変化している。
【００６３】
図３４は、図３３における矢印が示す半径の時のベッチ数を示す図である。時刻５００においてベッチ数の変化が大きく、制御パラメータの値の変更前後においてはベッチ数の大きさ及び推移の様子が異なる。このように、多次元時系列データに変化がある時刻においては、ベッチ数にも明らかな変化が現れる。
【００６４】
図３５は、図２７に示した多次元時系列データに対するインバリアント分析の実行結果を示す。図３５において、横軸の値は時刻を表し、縦軸の値は変数の組合せのうちいずれかの組合せについての相互相関係数を表す。図３５に示すように、制御パラメータの変更後においては、制御パラメータの変更前と比べると、相互相関係数の値は０になる期間が長くなっている。このように、制御パラメータの変更前後における相互相関係数の値の相違から、状態の変化を検知することが可能である。
【００６５】
図３６は、図２７に示した多次元時系列データに対する部分空間法の実行結果を示す図である。図３６において、横軸の値は時刻を表す。縦軸の値は各部分空間の位置や大きさに相当する量である。具体的には、各部分空間上の状態点の基準点からの距離を表す。基準点としては例えば分布中心を用いることができる。図３６において、太い実線は項目ｘの値を表し、細い実線は項目ｙの値を表し、破線は項目ｚの値を表す。ここではそれぞれの項目の値の変化を確認し易くなるようにバイアスが加えられている。図３６に示すように、変更前後における値の変化は小さく、また、そもそも時系列データが非線形であるので、安定した直交基底の抽出は困難である。なお、部分空間の変化に敏感な手法である為、局所的には細かい部分の変化が有るように見えるものの、明瞭な変化検知は困難である。以上から、部分空間法は図２７に示した多次元時系列データには適していない。
【００６６】
従って、上で述べたように、本実施の形態の変化検知は、背景技術の欄に挙げた従来技術のように適用可能な多次元時系列データが限定されるわけではなく、より多くのタイプの多次元時系列データに対して適用可能である。
【００６７】
［実施の形態２］
第１の実施の形態においては状態識別の一態様として変化検知が実行されるが、第２の実施の形態においては状態識別の他の態様として異常検知が実行される。
【００６８】
以下では、第２の実施の形態における情報処理装置１が実行する処理について説明する。図３７は、第２の実施の形態における情報処理装置１が実行する処理の処理フローを示す図である。
【００６９】
第１生成部１０１は、スライド窓の設定を行う（図３７：ステップＳ２１）。スライド窓とは、処理対象の多次元時系列データが抽出される期間のことであり、ステップＳ２１においては初期のスライド窓の開始時刻及び期間の長さが設定される。
【００７０】
第１生成部１０１は、各項目について、スライド窓の期間における多次元時系列データを時系列データ格納部１１１から読み出す（ステップＳ２３）。
【００７１】
第１生成部１０１は、ステップＳ２３において読み出された各項目の時系列データから、スライド窓の期間における（ｘi，ｙi，ｚi）の集合であるアトラクタを生成する（ステップＳ２５）。そして、第１生成部１０１は、生成したアトラクタをアトラクタ格納部１１３に格納する。
【００７２】
第２生成部１０３は、ステップＳ２５において生成されたアトラクタに対するパーシステントホモロジ（Persistent Homology）処理によって、各穴次元のバーコードデータを生成する（ステップＳ２７）。第２生成部１０３は、生成したバーコードデータをバーコードデータ格納部１１５に格納する。なお、ステップＳ２７においては各穴次元のバーコードデータが生成されるが、所定の穴次元（例えば０次元）のみについてバーコードデータが生成されてもよい。
【００７３】
第２生成部１０３は、ステップＳ２７において生成されたバーコードデータをバーコードデータ格納部１１５から読み出し、読み出されたバーコードデータからベッチ数系列を生成する（ステップＳ２９）。そして、第２生成部１０３は、生成したベッチ数系列をベッチ数データ格納部１１７に格納する。
【００７４】
第２生成部１０３は、ステップＳ２９において生成されたベッチ数系列をベッチ数データ格納部１１７から読み出す。そして、第２生成部１０３は、読み出されたベッチ数系列と、基準のベッチ数系列（ここでは、正常状態時のスライド窓について生成されたベッチ数系列）との距離を計算する（ステップＳ３１）。正常状態時のスライド窓についてのベッチ数系列は、予め生成される。距離とは、例えば、ユークリッド距離（或いはノルム）およびコサイン類似度等である。
【００７５】
第２生成部１０３は、ステップＳ２９においてベッチ数系列が生成されたスライド窓の情報に対応付けて、ステップＳ３１において計算された距離を距離データ格納部１１９に保存する（ステップＳ３３）。
【００７６】
第２生成部１０３は、スライド窓が終点に到達した（すなわち、ステップＳ２１又はＳ３７において設定されたスライド窓の期間の終了時刻が多次元時系列データの終了時刻に到達した）か判定する（ステップＳ３５）。
【００７７】
スライド窓が終点に到達していない場合（ステップＳ３５：Ｎｏルート）、第２生成部１０３は、次のスライド窓を設定する（ステップＳ３７）。例えば、ステップＳ２１又は前回のステップＳ３７において設定されたスライド窓の期間の開始時刻の所定時間後が開始時刻になるように次のスライド窓が設定される。但し、連続するスライド窓が重複する期間を有するように設定をしてもよい。そして処理はステップＳ２３に戻る。
【００７８】
一方、スライド窓が終点に到達した場合（ステップＳ３５：Ｙｅｓルート）、検知部１０５は、ステップＳ３１において計算された距離が所定値以上であるスライド窓の時刻（例えば、開始時刻、中間の時刻又は終了時刻等）の情報等を検知データ格納部１２１に格納する。そして、出力部１０７は、検知データ格納部１２１に格納された時刻の情報に基づき表示データを生成し、生成した表示データを表示装置に表示する（ステップＳ３９）。そして処理は終了する。なお、ステップＳ３９の処理を実行するか否かは任意であるため、図３７においてステップＳ３９のブロックは破線で示されている。
【００７９】
図３８は、第２の実施の形態における検知データ格納部１２１に格納されるデータの一例を示す図である。本実施の形態においては距離によって基準の状態との相違を検知することができるため、検知データ格納部１２１に格納される時刻の情報は基準の状態との相違が検知された時刻を表す。図３８の例では、基準の状態である正常状態との相違が検知されたため、異常状態が発生したことを示す情報が格納されている。
【００８０】
本実施の形態の変化検知は、背景技術の欄に挙げた従来技術（例えばインバリアント分析や部分空間法）のように適用可能な多次元時系列データが限定されるわけではなく、より多くのタイプの多次元時系列データに対して適用可能である。すなわち、従来技術を利用する場合には誤検知が発生する可能性がある多次元時系列データについても適切に変化検知を行えるので、変化検知の精度が向上する。
【００８１】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置１の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００８２】
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００８３】
また、本実施の形態の処理を複数台の情報処理装置に実行させることで処理を高速化してもよい。
【００８４】
なお、上で述べた情報処理装置１は、コンピュータ装置であって、図３９に示すように、メモリ２５０１とＣＰＵ２５０３とＨＤＤ２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８５】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００８６】
本実施の形態の第１の態様に係る状態識別方法は、（Ａ）複数の時系列データそれぞれの値を座標とする点を複数含むアトラクタを生成し、（Ｂ）アトラクタに対するパーシステントホモロジ処理により、ベッチ数の系列データを生成し、（Ｃ）ベッチ数の系列データに基づき、複数の時系列データが示す状態を識別する処理を含む。
【００８７】
上記のような方法で生成されたベッチ数の系列データには元の複数の時系列データの特徴が適切に反映されるので、状態識別の精度を向上させることができるようになる。
【００８８】
また、パーシステントホモロジ処理は、アトラクタに含まれる各点を中心とする球の半径を時間の経過に従って拡大した場合におけるベッチ数を計数する処理であってもよい。
【００８９】
球の半径を拡大することで穴の数が変化するが、アトラクタに含まれる点の分布によって穴の数の変化の様子は異なる。従って、上記のようにしてベッチ数を計数すれば、ベッチ数の系列データにアトラクタの特徴が適切に反映されるようになる。
【００９０】
また、複数の時系列データが示す状態を識別する処理において、（ｃ１）生成されたベッチ数の系列データと、所定時刻前の複数の時系列データについて生成されたベッチ数の系列データとの比較に基づき、複数の時系列データが示す状態の変化を検知してもよい。
【００９１】
変化検知を適切に実行できるようになる。
【００９２】
また、複数の時系列データが示す状態を識別する処理において、（ｃ２）生成されたベッチ数の系列データと、複数の時系列データが示す状態が正常である場合におけるベッチ数の系列データとの比較に基づき、複数の時系列データが示す状態が異常であることを検知してもよい。
【００９３】
なお、異常である場合におけるベッチ数との比較に基づき、複数の時系列データが示す状態が正常であることを検知してもよい。
【００９４】
また、本状態識別方法は、（Ｄ）識別された複数の時系列データが示す状態に関する情報を出力する処理をさらに含んでもよい。
【００９５】
コンピュータの操作者等が状態を確認することができるようになる。
【００９６】
また、アトラクタを生成する処理において、（ａ２）各時刻について、複数の時系列データそれぞれから抽出された値を座標とする点を生成し、生成された複数の点を含むアトラクタを生成してもよい。
【００９７】
本実施の形態の第２の態様に係る状態識別装置は、（Ｅ）複数の時系列データそれぞれの値を座標とする点を複数含むアトラクタを生成する第１生成部（実施の形態における第１生成部１０１は上記第１生成部の一例である）と、（Ｆ）アトラクタに対するパーシステントホモロジ処理により、ベッチ数の系列データを生成する第２生成部（実施の形態における第２生成部１０３は上記第２生成部の一例である）と、（Ｇ）ベッチ数の系列データに基づき、複数の時系列データが示す状態を識別する識別部（実施の形態における検知部１０５は上記識別部の一例である）とを有する。
【００９８】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００９９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１００】
（付記１）
コンピュータに、
複数の時系列データそれぞれの値を座標とする点を複数含むアトラクタを生成し、
前記アトラクタに対するパーシステントホモロジ処理により、ベッチ数の系列データを生成し、
前記ベッチ数の系列データに基づき、前記複数の時系列データが示す状態を識別する、
処理を実行させる状態識別プログラム。
【０１０１】
（付記２）
前記パーシステントホモロジ処理は、前記アトラクタに含まれる各点を中心とする球の半径を時間の経過に従って拡大した場合におけるベッチ数を計数する処理である、
付記１記載の状態識別プログラム。
【０１０２】
（付記３）
前記複数の時系列データが示す状態を識別する処理において、
生成された前記ベッチ数の系列データと、所定時刻前の前記複数の時系列データについて生成されたベッチ数の系列データとの比較に基づき、前記複数の時系列データが示す状態の変化を検知する、
付記１又は２記載の状態識別プログラム。
【０１０３】
（付記４）
前記複数の時系列データが示す状態を識別する処理において、
生成された前記ベッチ数の系列データと、前記複数の時系列データが示す状態が正常である場合におけるベッチ数の系列データとの比較に基づき、前記複数の時系列データが示す状態が異常であることを検知する、
付記１又は２記載の状態識別プログラム。
【０１０４】
（付記５）
前記コンピュータに、
識別された前記複数の時系列データが示す状態に関する情報を出力する、
処理をさらに実行させる付記１乃至４のいずれか１つ記載の状態識別プログラム。
【０１０５】
（付記６）
前記アトラクタを生成する処理において、
各時刻について、前記複数の時系列データそれぞれから抽出された値を座標とする点を生成し、生成された複数の点を含む前記アトラクタを生成する、
付記１記載の状態識別プログラム。
【０１０６】
（付記７）
コンピュータが、
複数の時系列データそれぞれの値を座標とする点を複数含むアトラクタを生成し、
前記アトラクタに対するパーシステントホモロジ処理により、ベッチ数の系列データを生成し、
前記ベッチ数の系列データに基づき、前記複数の時系列データが示す状態を識別する、
処理を実行する状態識別方法。
【０１０７】
（付記８）
複数の時系列データそれぞれの値を座標とする点を複数含むアトラクタを生成する第１生成部と、
前記アトラクタに対するパーシステントホモロジ処理により、ベッチ数の系列データを生成する第２生成部と、
前記ベッチ数の系列データに基づき、前記複数の時系列データが示す状態を識別する識別部と、
を有する状態識別装置。
【符号の説明】
【０１０８】
１  情報処理装置    １０１  第１生成部
１０３  第２生成部    １０５  検知部
１０７  出力部    １１１  時系列データ格納部
１１３  アトラクタ格納部    １１５  バーコードデータ格納部
１１７  ベッチ数データ格納部    １１９  距離データ格納部
１２１  検知データ格納部
【図１】
2019016194.tif 000003
【図２】
2019016194.tif 000004
【図３】
2019016194.tif 000005
【図４】
2019016194.tif 000006
【図５】
2019016194.tif 000007
【図６】
2019016194.tif 000008
【図７】
2019016194.tif 000009
【図８】
2019016194.tif 000010
【図９】
2019016194.tif 000011
【図１０】
2019016194.tif 000012
【図１１】
2019016194.tif 000013
【図１２】
2019016194.tif 000014
【図１３】
2019016194.tif 000015
【図１４】
2019016194.tif 000016
【図１５】
2019016194.tif 000017
【図１６】
2019016194.tif 000018
【図１７】
2019016194.tif 000019
【図１８】
2019016194.tif 000020
【図１９】
2019016194.tif 000021
【図２０】
2019016194.tif 000022
【図２１】
2019016194.tif 000023
【図２２】
2019016194.tif 000024
【図２３】
2019016194.tif 000025
【図２４】
2019016194.tif 000026
【図２５】
2019016194.tif 000027
【図２６】
2019016194.tif 000028
【図２７】
2019016194.tif 000029
【図２８】
2019016194.tif 000030
【図２９】
2019016194.tif 000031
【図３０】
2019016194.tif 000032
【図３１】
2019016194.tif 000033
【図３２】
2019016194.tif 000034
【図３３】
2019016194.tif 000035
【図３４】
2019016194.tif 000036
【図３５】
2019016194.tif 000037
【図３６】
2019016194.tif 000038
【図３７】
2019016194.tif 000039
【図３８】
2019016194.tif 000040
【図３９】
2019016194.tif 000041