(57)【要約】      （修正有）【課題】時系列分析が可能な対象の範囲を拡大する装置、方法及びプログラムを提供する。【解決手段】受付部１０１は、パラメータの入力を受け付け、パラメータをパラメータ格納部１１１に格納する。生成部１０３は、パラメータ格納部に格納されているパラメータと、時系列データ格納部１１３に格納されている時系列データとを用いて、時系列のベッチ数であるベッチ数系列を生成し、生成したベッチ数系列を系列データ格納部１１５に格納する。算出部１０５１は、パラメータ格納部に格納されているパラメータ及び系列データ格納部に格納されているデータを用いて異常スコアを算出し、算出した異常スコアを異常スコア格納部１１７に格納する。推定部１０５３は、パラメータ格納部に格納されているパラメータ及び異常スコア格納部に格納されている異常スコアを用いて、変化点を検知する処理を実行し、処理結果を結果格納部１１９に格納する。【選択図】図７
2019016193.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
時系列データに対するパーシステントホモロジ処理の結果に含まれるベッチ数系列を、複数の次元それぞれのベッチ数系列に分割し、
前記複数のベッチ数系列それぞれに対する分析を実行する、
処理を実行させる分析プログラム。
【請求項２】
前記パーシステントホモロジ処理は、前記アトラクタに含まれる各点を中心とする球の半径を時間の経過に従って拡大した場合におけるベッチ数を計数する処理である、
請求項１記載の分析プログラム。
【請求項３】
前記分析を実行する処理において、
前記複数のベッチ数系列それぞれに対する特異スペクトル変換により、前記時系列データの変化点検知を実行する、
請求項１又は２記載の分析プログラム。
【請求項４】
前記分析を実行する処理において、
前記複数のベッチ数系列それぞれの履歴行列及びテスト行列から、前記複数の次元それぞれの特異ベクトルを生成し、
前記複数の次元それぞれについて、生成された前記特異ベクトルを用いて異常スコアを算出し、
前記複数の次元それぞれについて算出された前記異常スコアを用いて、前記時系列データの変化点検知を実行する、
請求項３記載の分析プログラム。
【請求項５】
コンピュータが、
時系列データに対するパーシステントホモロジ処理の結果に含まれるベッチ数系列を、複数の次元それぞれのベッチ数系列に分割し、
前記複数のベッチ数系列それぞれに対する分析を実行する、
処理を実行する分析方法。
【請求項６】
時系列データに対するパーシステントホモロジ処理の結果に含まれるベッチ数系列を、複数の次元それぞれのベッチ数系列に分割する分割部と、
前記複数のベッチ数系列それぞれに対する分析を実行する分析部と、
を有する分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列データの分析技術に関する。
【背景技術】
【０００２】
カオス性を有する時系列データ（例えば、ジャイロセンサで計測されたデータや株価のデータ等）がある。
【０００３】
例えば株価のデータとして、図１に示すような時系列データが得られたとする。図１は、或る銘柄の株価終値の対数差分の時系列データを示す図である。ここで、対数差分とは、或る日の株価終値の対数とその前の日の株価終値の対数との差分である。
【０００４】
図２は、図１に示した株価の対数差分系列に対する特異スペクトル変換により算出された異常スコアを示す図である。図２の例においては、異常スコアは比較的高い値で推移している。このような場合には、ノイズの影響等により時系列データから変化点を検知することは困難である。
【０００５】
なお、時系列データの分析技術として、位相データ解析により時系列データをベッチ数の系列に変換する技術が知られている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Yuhei Umeda、"Time Series Classification via Topological Data Analysis"、人工知能学会論文誌、平成２９年５月１日、第３２号、第３巻
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１に記載された従来技術による時系列データの分析では、たとえばカオス性を有する時系列データに対しては、ノイズの影響等により適切な分析結果を得られない場合がある。すなわち、時系列データによっては時系列分析が可能ではない場合がある。
【０００８】
本発明の目的は、１つの側面では、時系列分析が可能な対象の範囲を拡大する技術を提供することである。
【課題を解決するための手段】
【０００９】
一態様に係る分析方法は、時系列データに対するパーシステントホモロジ処理の結果に含まれるベッチ数系列を、複数の次元それぞれのベッチ数系列に分割し、複数のベッチ数系列それぞれに対する分析を実行する処理を含む。
【発明の効果】
【００１０】
１つの側面では、時系列分析が可能な対象の範囲を拡大できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、株価の対数差分系列を示す図である。
【図２】図２は、異常スコアを示す図である。
【図３】図３は、株価の対数差分系列から生成されたベッチ数系列を示す図である。
【図４】図４は、異常スコアを示す図である。
【図５】図５は、０次についての異常スコアを示す図である。
【図６】図６は、１次についての異常スコアを示す図である。
【図７】図７は、分析装置の機能ブロック図である。
【図８】図８は、第１の実施の形態の分析装置が実行する処理の処理フローを示す図である。
【図９】図９は、系列生成処理の処理フローを示す図である。
【図１０】図１０は、疑似アトラクタの生成について説明するための図である。
【図１１】図１１は、バーコード図である。
【図１２】図１２は、バーコードデータの一例を示す図である。
【図１３】図１３は、０次元の穴についてバーコードデータとベッチ数系列との関係を示す図である。
【図１４】図１４は、１次元の穴についてバーコードデータとベッチ数系列との関係を示す図である。
【図１５】図１５は、２次元の穴についてバーコードデータとベッチ数系列との関係を示す図である。
【図１６】図１６は、バーコードデータの一例を示す図である。
【図１７】図１７は、特異スペクトル変換について説明するための図である。
【図１８】図１８は、変化点検知について説明するための図である。
【図１９】図１９は、第２の実施の形態の分析装置が実行する処理の処理フローを示す図である。
【図２０】図２０は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１２】
［実施の形態１］
図３は、非特許文献１の技術を用いて図１の対数差分系列から生成されたベッチ数系列を示す図である。図３において、縦軸の値はベッチ数を表し、横軸の値は半径を示す。図３に示すベッチ数系列においては、０次についてのベッチ数系列と、１次についてのベッチ数系列と、２次についてのベッチ数系列とが連結されている。各ベッチ数系列の半径は０からｒ＿ｍａｘまでである。パーシステントホモロジ処理においては時間の経過に伴って球の半径が大きくなるので、０次についてのベッチ数系列は連結成分の数の時系列変化を表し、１次についてのベッチ数系列は穴（すなわちトンネル）の数の時系列変化を表し、２次についてのベッチ数系列は空洞の数の時系列変化を表す。
【００１３】
図３に示したベッチ数系列に対して特異スペクトル変換を実行すると、図４に示すような異常スコアが算出される。図４においては、縦軸の値は異常スコアを表し、横軸の値は日時を表す。
【００１４】
一方、図３に示したベッチ数系列を次元ごとに分割した各ベッチ数系列に対して特異スペクトル変換を実行した場合の結果を図５及び図６に示す。図５は０次についての異常スコアを示す図であり、図６は１次についての異常スコアを示す図である。図５及び図６においては、縦軸の値は異常スコアを表し、横軸の値は日時を表す。
【００１５】
図４と図５及び図６との比較から、図４に示した異常スコアと、図５に示した異常スコアとがほぼ同じであることが分かる。これは、０次についてのベッチ数系列の値のスケールが他の次元についてのベッチ数系列の値のスケールより大きく、他の次元についてのベッチ数系列の値は異常スコアの計算結果に反映されていないことを意味する。従って、図４に示した異常スコアからは適切な変化点を検知することはできない場合がある。
【００１６】
そこで、以下で説明する本実施の形態においては、次元ごとに分割したベッチ数系列の各々に対して変化点検知を実行することで、適切な変化点を検知できるようにする。
【００１７】
図７は、本実施の形態の処理を実行する分析装置１の機能ブロック図である。例えばサーバ或いはパーソナルコンピュータ等である分析装置１は、受付部１０１と、生成部１０３と、分析部１０５と、パラメータ格納部１１１と、時系列データ格納部１１３と、系列データ格納部１１５と、異常スコア格納部１１７と、結果格納部１１９とを含む。分析部１０５は、算出部１０５１と、推定部１０５３とを含む。
【００１８】
受付部１０１、生成部１０３及び分析部１０５は、例えば、図２０におけるメモリ２５０１にロードされたプログラムが図２０におけるＣＰＵ（Central Processing Unit）２５０３に実行されることで実現される。パラメータ格納部１１１、時系列データ格納部１１３、系列データ格納部１１５、異常スコア格納部１１７及び結果格納部１１９は、例えば、図２０におけるメモリ２５０１又は図２０におけるＨＤＤ（Hard Disk Drive）２５０５に設けられる。
【００１９】
受付部１０１は、パラメータ（例えば、ベッチ数の算出に使用されるパラメータ及び時系列分析のパラメータ等）の入力を受け付け、パラメータをパラメータ格納部１１１に格納する。生成部１０３は、パラメータ格納部１１１に格納されているパラメータと、時系列データ格納部１１３に格納されている時系列データとを用いて、時系列のベッチ数であるベッチ数系列を生成し、生成したベッチ数系列を系列データ格納部１１５に格納する。算出部１０５１は、パラメータ格納部１１１に格納されているパラメータ及び系列データ格納部１１５に格納されているデータを用いて異常スコアを算出し、算出した異常スコアを異常スコア格納部１１７に格納する。推定部１０５３は、パラメータ格納部１１１に格納されているパラメータ及び異常スコア格納部１１７に格納されている異常スコアを用いて、変化点を検知する処理を実行し、処理結果を結果格納部１１９に格納する。
【００２０】
なお、時系列データ格納部１１３に格納されているデータは、例えば、生体データ（心拍数、脳波、脈拍或いは体温などの時系列データ）、センサにより計測されたデータ（ジャイロセンサ、加速度センサ或いは地磁気センサなどの時系列データ）、金融データ（金利、物価、国際収支或いは株価などの時系列データ）、自然環境のデータ（気温、湿度或いは二酸化炭素濃度などの時系列データ）、又は社会データ（労働統計或いは人口統計などのデータ）等である。
【００２１】
次に、図８乃至図１８を用いて、分析装置１が実行する処理を説明する。図８は、分析装置１が実行する処理の処理フローを示す図である。なお、上で述べたように、処理においてはパラメータ格納部１１１に格納されたパラメータが使用されるが、説明を簡単にするため、以下ではパラメータに関する説明を省略する。
【００２２】
分析装置１の生成部１０３は、時系列のベッチ数であるベッチ数系列を生成する処理である系列生成処理を実行する（図８：ステップＳ１）。系列生成処理については、図９乃至図１６を用いて説明する。
【００２３】
まず、生成部１０３は、時系列データ格納部１１３に格納されている時系列データを読み出す。生成部１０３は、ターケンスの埋め込み定理に従って、読み出した時系列データから疑似アトラクタを生成する（図９：ステップＳ２１）。なお、厳密には、ステップＳ２１において生成される有限個の点集合は「アトラクタ」ではないため、本明細書ではステップＳ２１において生成される点集合を「疑似アトラクタ」と呼ぶ。
【００２４】
図１０を用いて、疑似アトラクタの生成について説明する。例えば図１０に示すような、関数ｆ（ｔ）（ｔは時間を表す）で表される時系列データを考える。そして、実際の値としてｆ（１），ｆ（２），ｆ（３），．．．，ｆ（Ｔ）が与えられているとする。本実施の形態における疑似アトラクタは、時系列データから遅延時間τ（τ≧１）毎に取り出されたＮ点の値を成分とする、Ｎ次元空間上の点の集合である。ここで、Ｎは埋め込み次元を表し、一般的にはＮ＝３又は４である。例えばＮ＝３且つτ＝１である場合、（Ｔ−２）個の点を含む以下の疑似アトラクタが生成される。
【００２５】
【数１】
2019016193.tif 000003
【００２６】
ここでは、τ＝１であるため１つおきに要素が取り出されているが、例えばτ＝２である場合には点（ｆ（１），ｆ（３），ｆ（５））、点（ｆ（２），ｆ（４），ｆ（６））、・・・を含む疑似アトラクタが生成される。
【００２７】
疑似アトラクタの生成過程において、バタフライ効果等による見た目の違いの影響が取り除かれ、疑似アトラクタに元の時系列データの変化のルールが反映される。そして、疑似アトラクタ間の類似関係は、ルール間の類似関係と等価である。従って、或る疑似アトラクタと別の疑似アトラクタとが似ていることは、元の時系列データの変化のルールが似ていることを意味する。変化のルールが同じであるが現象（見た目）が異なる時系列データからは、互いに類似した疑似アトラクタが生成される。変化のルールが異なるが現象が似ている時系列データからは、異なる疑似アトラクタが生成される。
【００２８】
図９の説明に戻り、生成部１０３は、ステップＳ２１において生成された疑似アトラクタに対するパーシステントホモロジ（Persistent Homology）処理によって、バーコードデータを穴の次元（以下、穴次元と呼ぶ）毎に生成する（ステップＳ２３）。
【００２９】
「ホモロジ」とは、対象の特徴をｍ（ｍ≧０）次元の穴の数によって表現する手法である。ここで言う「穴」とはホモロジ群の元のことであり、０次元の穴は連結成分であり、１次元の穴は穴（トンネル）であり、２次元の穴は空洞である。各次元の穴の数はベッチ数と呼ばれる。
【００３０】
「パーシステントホモロジ」とは、対象（ここでは、点の集合）におけるｍ次元の穴の遷移を特徴付けるための手法であり、パーシステントホモロジによって点の配置に関する特徴を調べることができる。この手法においては、対象における各点が球状に徐々に膨らまされ、その過程において各穴が発生した時点（発生時の球の半径で表される）と消滅した時点（消滅時の球の半径で表される）とが特定される。なお、パーシステントホモロジにおける穴の発生した「時点」、消滅した「時点」と、パーシステントホモロジ処理の対象となる疑似アトラクタの生成元である時系列データにおける「時刻」とは、関連するものではない。
【００３１】
穴の発生半径と消滅半径とを用いて、図１１に示すようなバーコード図を生成することができる。図１１において、横軸の値は半径を表し、各線分は１つの穴に対応する。線分の左端に対応する半径は穴の発生半径であり、線分の右端に対応する半径は穴の消滅半径である。線分はパーシステント区間と呼ばれる。このようなバーコード図から、例えば半径が０．１８である時には２つの穴が存在するということがわかる。
【００３２】
図１２は、バーコード図を生成するためのデータ（以下、バーコードデータと呼ぶ）の一例を示す図である。図１２の例では、穴次元を表す数値と、穴の発生半径と、穴の消滅半径とが含まれる。ステップＳ２３において、バーコードデータは穴次元毎に生成される。
【００３３】
以上のような処理を実行すれば、或る疑似アトラクタから生成されるバーコードデータと他の疑似アトラクタから生成されるバーコードデータとの類似関係は、疑似アトラクタ間の類似関係と等価である。よって、疑似アトラクタが同じである場合、生成されるバーコードデータは同じであり、疑似アトラクタが同じではない場合、疑似アトラクタ間の差が僅かである場合を除きバーコードにも差が表れる。
【００３４】
なお、パーシステントホモロジの詳細については、例えば「平岡裕章、『タンパク質構造とトポロジー  パーシステントホモロジー群入門』、共立出版」を参照されたい。
【００３５】
図９の説明に戻り、生成部１０３は、長さが所定長未満であるパーシステント区間のデータを、ステップＳ２３において生成されたバーコードデータから削除する（ステップＳ２５）。パーシステント区間の長さは、消滅半径から発生半径を差し引くことによって算出される。所定長は、例えば、０次元の穴が発生してから消滅するまでの時間をＫ等分した時間（以下、ブロックと呼ぶ）の長さである。但し、１ブロックの長さに限られるわけではなく、複数ブロックの長さを所定長としてもよい。
【００３６】
発生から消滅までの時間が短い元は、時系列データに付加されるノイズによって発生するものがほとんどである。長さが所定長未満であるパーシステント区間のデータを削除すれば、ノイズの影響を緩和することができるので、分類性能を向上させることができるようになる。但し、削除の対象は次元が１以上であるパーシステント区間のデータであるとする。
【００３７】
ノイズが発生した場合においては、僅かな時間だけ１次元以上の穴が発生することがある。ステップＳ２５の処理を実行すれば、両ケースにおいて生成されるデータはほぼ同じになるので、ノイズの影響を取り除くことができるようになる。
【００３８】
なお、長さが所定長未満であるパーシステント区間のデータが削除されるので、削除後のバーコードデータ間の類似関係は、元のバーコードデータ間の類似関係と厳密には等価ではない。削除が行われない場合には、類似関係は等価である。
【００３９】
図９の説明に戻り、生成部１０３は、ステップＳ２５の処理が実行された、各穴次元のバーコードデータから、ベッチ数系列を穴次元毎に生成する（ステップＳ２７）。そして、生成部１０３は、生成したベッチ数系列を系列データ格納部１１５に格納し、処理は呼び出し元に戻る。
【００４０】
上で述べたように、バーコードデータは穴次元毎に生成されるので、生成部１０３は、各穴次元のバーコードデータからベッチ数系列を生成する。ベッチ数系列は、パーシステントホモロジにおける球の半径（すなわち時間）とベッチ数との関係を示すデータである。図１３乃至図１５を用いて、バーコードデータと生成されるベッチ数系列との関係について説明する。図１３は０次元の穴についてバーコードデータとベッチ数系列との関係を示す図であり、図１４は１次元の穴についてバーコードデータとベッチ数系列との関係を示す図であり、図１５は２次元の穴についてバーコードデータとベッチ数系列との関係を示す図である。図１３乃至図１５において、上段のグラフはバーコードデータから生成されるグラフであり、横軸の値が半径を表す。下段のグラフはベッチ数系列から生成されるグラフであり、縦軸の値はベッチ数を表し、横軸の値は半径を表す。ベッチ数は穴の数を表すので、例えば図１３に示すように、上段のグラフにおいて破線に対応する半径の時には存在している穴の数が１０であるので、下段のグラフにおいては破線に対応するベッチ数も１０である。ベッチ数は、ブロック毎に計数される。上で述べたように、パーシステントホモロジ処理においては時間の経過に伴って半径が大きくなるので、ベッチ数系列を時系列データと見做すことができる。
【００４１】
基本的には、同じバーコードデータからは同じベッチ数系列が得られる。すなわち、元の疑似アトラクタが同じであれば同じベッチ数系列が得られる。但し、異なるバーコードから同じベッチ数系列が得られるケースが極めて稀に発生する。
【００４２】
例えば図１６に示すようなバーコードデータを考える。このバーコードデータは１以上の次元の穴に関するデータであるとする。図１６（ａ）のケースにおいては、パーシステント区間ｐ１が時刻ｔ１で開始し且つ時刻ｔ２で終了し、パーシステント区間ｐ２が時刻ｔ２で開始し且つ時刻ｔ３で終了する。一方、図１６（ｂ）のケースにおいては、パーシステント区間ｐ４が時刻ｔ１で開始し且つ時刻ｔ３で終了する。両ケースにおけるパーシステント区間ｐ３は全く同じであるとする。
【００４３】
このような場合、両ケースにおけるバーコードデータからは全く同じベッチ数系列が得られるので、ベッチ数系列によっては両ケースを区別することができない。しかし、このような現象が発生する可能性は極めて低い。
【００４４】
従って、或るバーコードデータから生成されるベッチ数系列と、別のバーコードデータから生成されるベッチ数系列との類似関係は、上で述べた稀なケースが発生しなければ、バーコードデータ間の類似関係と等価である。以上から、データ間の距離の定義は変わるものの、バーコードデータから生成されるベッチ数系列間の類似関係は、元の時系列データ間の類似関係とほぼ等価である。
【００４５】
以上のように、パーシステントホモロジの計算を実行すれば、疑似アトラクタが表す、元の時系列データの変化のルールを、バーコードデータに反映することができる。
【００４６】
パーシステントホモロジの計算は、位相幾何学の手法であり、点の集合で表される静的な対象（例えば、タンパク質、分子の結晶、センサネットワークなど）の構造の解析等に利用されてきた。これに対し本実施の形態においては、時間の経過に伴って連続的に変化するデータの変化のルールを表す点集合（すなわち疑似アトラクタ）を計算の対象としている。本実施の形態の場合、点集合の構造自体を解析することは目的ではないので、一般的なパーシステントホモロジの計算とは対象及び目的が全く異なる。
【００４７】
また、上で述べたように、本実施の形態によれば時系列データに含まれるノイズの影響を取り除くことができる。
【００４８】
図８の説明に戻り、算出部１０５１は、ステップＳ１においてベッチ数系列が生成された複数の穴次元のうち未処理の穴次元を１つ特定する（ステップＳ３）。
【００４９】
算出部１０５１は、ステップＳ３において特定された穴次元のベッチ数系列を系列データ格納部１１５から読み出す。そして、算出部１０５１は、読み出したベッチ数系列について、履歴行列およびテスト行列を生成する（ステップＳ５）。
【００５０】
算出部１０５１は、ステップＳ５において生成された履歴行列に対する特異値分解と、ステップＳ５において生成されたテスト行列に対する特異値分解とを実行する（ステップＳ７）。
【００５１】
算出部１０５１は、履歴行列について、ステップＳ７の特異値分解の結果に含まれる左特異ベクトルを成分とする行列（以下、第１の行列と呼ぶ）を生成する（ステップＳ９）。
【００５２】
算出部１０５１は、テスト行列について、ステップＳ７の特異値分解の結果に含まれる左特異ベクトルを成分とする行列（以下、第２の行列と呼ぶ）を生成する（ステップＳ１１）。
【００５３】
算出部１０５１は、ステップＳ９において生成された第１の行列とステップＳ１１において生成された第２の行列とのコサイン類似度に基づく異常スコアを算出する（ステップＳ１３）。算出部１０５１は、算出された異常スコアを異常スコア格納部１１７に格納する。なお、ステップＳ５乃至Ｓ１３の処理は各時刻ｔについて実行される。
【００５４】
ステップＳ５乃至Ｓ１３の処理は特異スペクトル変換の処理である。図１７は、特異スペクトル変換について説明するための図である。図１７において、グラフの縦軸の値は時系列データの値を表し、グラフの横軸の値は時間を表す。
【００５５】
特異スペクトル変換においては、スライド窓における時系列データの値のセットが複数取得され、取得された複数のセットを含む履歴行列及びテスト行列が生成される。図１７の例においては、破線１７０１で囲まれた複数のセットに含まれる値から履歴行列Ｘ(t)が生成され、破線１７０２で囲まれた複数のセットに含まれる値からテスト行列Ｚ(t)が生成される。矢印１７０３はラグを表し、ラグは履歴行列とテスト行列の相互位置を定める非負整数である。
【００５６】
履歴行列Ｘ(t)に対する特異値分解により、特異値が上位である左特異ベクトルがｒ本取り出され、取り出されたｒ本の左特異ベクトルをまとめることで第１の行列｛ｕ(t,1)，．．．，ｕ(t,r)｝が生成される。また、テスト行列Ｚ(t)に対する特異値分解により、特異値が上位である左特異ベクトルがｍ本取り出され、取り出されたｍ本の左特異ベクトルをまとめることで第２の行列｛ｑ(t,1)，．．．，ｑ(t,m)｝が生成される。
【００５７】
異常スコアは、第１の行列と第２の行列とのコサイン類似度に基づき算出されるが、コサイン類似度ではなく、ユークリッド距離、マンハッタン距離又はＤＴＷ（Dynamic Time Warping）距離等に基づき異常スコアを算出してもよい。なお、ステップＳ１３において算出される異常スコアは、一般的には「変化度」とも呼ばれる。
【００５８】
算出部１０５１は、未処理の穴次元が有るか判定する（ステップＳ１５）。
【００５９】
未処理の穴次元が有る場合（ステップＳ１５：Ｙｅｓルート）、処理はステップＳ３に戻る。
【００６０】
一方、未処理の穴次元が無い場合（ステップＳ１５：Ｎｏルート）、推定部１０５３は、以下の処理を実行する。具体的には、推定部１０５３は、異常スコア格納部１１７に格納されている異常スコアを読み出す。そして、推定部１０５３は、読み出された異常スコアを用いて、変化点検知を実行する（ステップＳ１７）。そして、推定部１０５３は、変化点検知の結果（例えば、変化点に対応する時刻の情報）を結果格納部１１９に格納する。そして処理は終了する。
【００６１】
図１８は、ステップＳ１７の変化点検知について説明するための図である。図１８において、横軸の値は０次についての異常スコアを表し、縦軸の値は１次についての異常スコアを表す。各点は０次についての異常スコアと１次についての異常スコアとを成分とするベクトルに相当する。ステップＳ１７においては、各穴次元の異常スコアを確率変数とするウィシャート分布が推定され、ウィシャート分布の累積分布確率に基づいて変化点検知が実行される。等高線１８１は累積分布確率が９０％の等高線であり、等高線１８２は累積分布確率が９５％の等高線である。例えば、等高線１８２の外側（すなわち、点が疎な側）に含まれる点に対応する時刻が変化点として検知される。
【００６２】
なお、確率分布としてウィシャート分布以外の分布を用いてもよい。例えば、多変量対数正規分布やディリクレ分布など、定義域が非負の多変量確率分布を用いてもよい。
【００６３】
以上のような処理を実行すれば、各穴次元のベッチ数系列の特徴が考慮されるので、振動が激しくカオス性を有する時系列データに対しても適切な時系列分析を実行できるようになる。
【００６４】
例えば図１及び図２を用いて説明した例においては、振動が激しい株価の対数差分系列に対して特異スペクトル変換を実行した場合に、異常スコアが高い値で推移するため変化点を検知することが困難である。
【００６５】
また、図３乃至図４を用いて説明した例においては、各穴次元のベッチ数系列が統合された１つのベッチ数系列から異常スコアが算出される。従って、各穴次元のベッチ数系列のスケールの大きさが原因で、１次以上についてのベッチ数系列の特徴が変化点検知に反映されにくいので、適切な変化点を検出できない場合がある。
【００６６】
一方、本実施の形態においては、元の時系列データが各穴次元のベッチ数系列に変換され、穴次元ごとに異常スコアが算出されるため、各穴次元の穴の特徴を考慮しつつ変化点検知を実行することができる。なお、０次元についてのベッチ数は連結成分の数を表すので時系列データの振幅やばらつきが０次元についてのベッチ数系列に反映される。１次元についてのベッチ数は穴の数を表すので２次元的な力学構造が１次元についてのベッチ数系列に反映される。２次元についてのベッチ数は空洞の数を表すので３次元的な力学構造が２次元についてのベッチ数系列に反映される。
【００６７】
そして、本実施の形態によれば、例えば、人間の脳波、心拍数及び脈拍数等の時系列データから体調の変化を検知すること、あるいは、株価の時系列データからインサイダー取引を検知すること等が可能になる。
【００６８】
［実施の形態２］
ベッチ時系列は時系列分析以外にも利用することができる。例えば非特許文献１においては、各穴次元のベッチ時系列を統合して１つのベッチ時系列が生成され、生成されたベッチ時系列を入力とする機械学習が実行される。従って、分析装置１が実行する系列生成処理の出力として、各穴次元のベッチ時系列が統合された１つのベッチ時系列が生成されてもよい。この場合、分析装置１は第１の実施の形態における処理とは異なった処理を実行する。
【００６９】
図１９は、系列生成処理の出力として１つのベッチ数系列が生成された場合に分析装置１が実行する処理の処理フローを示す図である。
【００７０】
分析装置１の生成部１０３は、時系列のベッチ数であるベッチ数系列を生成する処理である系列生成処理を実行する（図１９：ステップＳ３１）。ステップＳ３１の系列生成処理は、基本的にはステップＳ１の系列生成処理と同じであるが、最終的な出力として各穴次元のベッチ数系列が統合された１つのベッチ数系列が生成される。すなわち、図３に示したようなベッチ数系列が生成される。
【００７１】
算出部１０５１は、ステップＳ３１において生成された１つのベッチ数系列を、穴次元ごとに分割する（ステップＳ３２）。これにより、０次についてのベッチ数系列、１次についてのベッチ数系列、２次についてのベッチ数系列、・・・が生成される。
【００７２】
ステップＳ３３乃至Ｓ４７の処理はステップＳ３乃至Ｓ１７の処理と同じであるので、説明を省略する。
【００７３】
以上のような処理を実行すれば、系列生成処理において各穴次元のベッチ数系列が統合された１つのベッチ数系列が生成された場合にも、適切な時系列分析を実行できるようになる。
【００７４】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した分析装置１の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００７５】
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００７６】
なお、上で述べた分析装置１は、コンピュータ装置であって、図２０に示すように、メモリ２５０１とＣＰＵ２５０３とＨＤＤ２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７７】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００７８】
本実施の形態の第１の態様に係る分析方法は、（Ａ）時系列データに対するパーシステントホモロジ処理の結果に含まれるベッチ数系列を、複数の次元それぞれのベッチ数系列に分割し、（Ｂ）複数のベッチ数系列それぞれに対する分析を実行する処理を含む。
【００７９】
時系列分析が可能な対象の範囲を拡大する（例えば、時系列分析が可能な時系列データの種類を増やす）ことができるようになる。
【００８０】
また、パーシステントホモロジ処理は、アトラクタに含まれる各点を中心とする球の半径を時間の経過に従って拡大した場合におけるベッチ数を計数する処理であってもよい。
【００８１】
ベッチ数系列を適切に生成できるようになる。
【００８２】
また、分析を実行する処理において、（ｂ１）複数のベッチ数系列それぞれに対する特異スペクトル変換により、時系列データの変化点検知を実行してもよい。
【００８３】
但し、変化点検知以外の時系列分析を実行してもよい。
【００８４】
また、分析を実行する処理において、（ｂ２）複数のベッチ数系列それぞれの履歴行列及びテスト行列から、複数の次元それぞれの特異ベクトルを生成し、（ｂ３）複数の次元それぞれについて、生成された特異ベクトルを用いて異常スコアを算出し、（ｂ４）複数の次元それぞれについて算出された異常スコアを用いて、時系列データの変化点検知を実行してもよい。
【００８５】
適切な変化点を検知できるようになる。
【００８６】
また、異常スコアを算出する処理において、（ｂ３１）コサイン類似度、ユークリッド距離、マンハッタン距離又はＤＴＷ（Dynamic Time Warping）距離に基づき異常スコアを算出してもよい。
【００８７】
本実施の形態の第２の態様に係る分析装置は、（Ｃ）時系列データに対するパーシステントホモロジ処理の結果に含まれるベッチ数系列を、複数の次元それぞれのベッチ数系列に分割する分割部（実施の形態における算出部１０５１は上記分割部の一例である）と、（Ｄ）複数のベッチ数系列それぞれに対する分析を実行する分析部（実施の形態における推定部１０５３は上記分析部の一例である）とを有する。
【００８８】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００８９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９０】
（付記１）
コンピュータに、
時系列データに対するパーシステントホモロジ処理の結果に含まれるベッチ数系列を、複数の次元それぞれのベッチ数系列に分割し、
前記複数のベッチ数系列それぞれに対する分析を実行する、
処理を実行させる分析プログラム。
【００９１】
（付記２）
前記パーシステントホモロジ処理は、前記アトラクタに含まれる各点を中心とする球の半径を時間の経過に従って拡大した場合におけるベッチ数を計数する処理である、
付記１記載の分析プログラム。
【００９２】
（付記３）
前記分析を実行する処理において、
前記複数のベッチ数系列それぞれに対する特異スペクトル変換により、前記時系列データの変化点検知を実行する、
付記１又は２記載の分析プログラム。
【００９３】
（付記４）
前記分析を実行する処理において、
前記複数のベッチ数系列それぞれの履歴行列及びテスト行列から、前記複数の次元それぞれの特異ベクトルを生成し、
前記複数の次元それぞれについて、生成された前記特異ベクトルを用いて異常スコアを算出し、
前記複数の次元それぞれについて算出された前記異常スコアを用いて、前記時系列データの変化点検知を実行する、
付記３記載の分析プログラム。
【００９４】
（付記５）
前記異常スコアを算出する処理において、
コサイン類似度、ユークリッド距離、マンハッタン距離又はＤＴＷ（Dynamic Time Warping）距離に基づき前記異常スコアを算出する、
付記４記載の分析プログラム。
【００９５】
（付記６）
コンピュータが、
時系列データに対するパーシステントホモロジ処理の結果に含まれるベッチ数系列を、複数の次元それぞれのベッチ数系列に分割し、
前記複数のベッチ数系列それぞれに対する分析を実行する、
処理を実行する分析方法。
【００９６】
（付記７）
時系列データに対するパーシステントホモロジ処理の結果に含まれるベッチ数系列を、複数の次元それぞれのベッチ数系列に分割する分割部と、
前記複数のベッチ数系列それぞれに対する分析を実行する分析部と、
を有する分析装置。
【符号の説明】
【００９７】
１  分析装置    １０１  受付部
１０３  生成部    １０５  分析部
１０５１  算出部    １０５３  推定部
１１１  パラメータ格納部    １１３  時系列データ格納部
１１５  系列データ格納部    １１７  異常スコア格納部
１１９  結果格納部
【図１】
2019016193.tif 000004
【図２】
2019016193.tif 000005
【図３】
2019016193.tif 000006
【図４】
2019016193.tif 000007
【図５】
2019016193.tif 000008
【図６】
2019016193.tif 000009
【図７】
2019016193.tif 000010
【図８】
2019016193.tif 000011
【図９】
2019016193.tif 000012
【図１０】
2019016193.tif 000013
【図１１】
2019016193.tif 000014
【図１２】
2019016193.tif 000015
【図１３】
2019016193.tif 000016
【図１４】
2019016193.tif 000017
【図１５】
2019016193.tif 000018
【図１６】
2019016193.tif 000019
【図１７】
2019016193.tif 000020
【図１８】
2019016193.tif 000021
【図１９】
2019016193.tif 000022
【図２０】
2019016193.tif 000023