(57)【要約】【課題】未知の異常の検知にも有効な特徴波形を、教師無し学習で生成する。【解決手段】本発明の実施形態としての時系列データ分析装置は、複数の時系列データに設定された複数の区間の部分時系列と、複数の特徴波形との距離とに基づいて、前記複数の特徴波形の特徴量を算出する特徴ベクトル計算部と、前記特徴量に基づき、前記特徴波形を更新する更新部と、を備える。【選択図】図１
2018205994.tif 000002
【特許請求の範囲】
【請求項１】
複数の時系列データに設定された複数の区間の部分時系列と、複数の特徴波形との距離とに基づいて、前記複数の特徴波形の特徴量を算出する特徴ベクトル算出部と、
前記特徴量に基づき、前記特徴波形を更新する更新部と、
を備えた時系列データ分析装置。
【請求項２】
前記複数の区間の集合は、前記時系列データの全体をカバーする
請求項１に記載の時系列データ分析装置。
【請求項３】
直前に設定した区間から一定の範囲内で、部分時系列との距離が最も小さい位置の区間と前記特徴波形との組を特定することを繰り返すことにより、前記複数の区間の設定を行う特徴波形選択部
を備えた請求項１または２に記載の時系列データ分析装置。
【請求項４】
前記特徴ベクトル算出部は、前記特徴波形との距離が最も小さい前記部分時系列との距離のうち最大の距離に基づき、前記特徴波形の特徴量を算出する
請求項１ないし３のいずれか一項に記載の時系列データ分析装置。
【請求項５】
前記更新部は、前記特徴波形の勾配を計算し、前記勾配に基づいて、前記特徴波形を更新する
請求項１ないし４のいずれか一項に記載の時系列データ分析装置。
【請求項６】
前記更新部は、前記特徴量に基づき、１クラス識別器のモデルパラメータを勾配法により更新する
請求項１ないし５のいずれか一項に記載の時系列データ分析装置。
【請求項７】
前記１クラス識別器は、前記特徴量を表す入力変数と、前記モデルパラメータとを含む評価式である
請求項６に記載の時系列データ分析装置。
【請求項８】
前記１クラス識別器は、線形または非線形の１クラスＳＶＭである
請求項６または７に記載の時系列データ分析装置。
【請求項９】
異常検知部をさらに備え、
前記特徴ベクトル算出部は、テスト対象となる時系列データに設定された複数の区間の部分時系列と、前記更新された複数の特徴波形である複数の第２特徴波形との距離とに基づいて、前記第２特徴波形の特徴量を算出し、
前記異常検知部は、前記モデルパラメータと、前記第２特徴波形の特徴量に基づいて、前記テスト対象となる時系列データに対して、異常の有無を判定する
請求項６ないし８のいずれか一項に記載の時系列データ分析装置。
【請求項１０】
前記特徴ベクトル算出部は、前記距離が最も小さい前記部分時系列との距離のうち最大の距離に基づき、前記第２特徴波形の特徴量を算出し、
前記テスト対象となる時系列データに対して前記異常を検知した場合に、前記テスト対象となる時系列データにおける各区間の部分時系列と、前記複数の第２特徴波形のうち前記部分時系列との距離が最も小さい前記第２特徴波形との距離を、前記第２特徴波形の前記最大の距離と比較し、前記距離が前記最大の距離より大きい前記部分時系列を異常波形とする異常同定部
を備えた請求項９に記載の時系列データ分析装置。  
【請求項１１】
前記時系列データに対して複数の範囲が設定されており、
前記範囲ごとに、複数の特徴波形が指定されており、
前記特徴ベクトル算出部は、前記複数の区間の部分時系列と、前記区間が属する前記範囲に指定された複数の特徴波形のうち最も距離が小さい特徴波形との距離に基づいて、前記特徴量を算出する
請求項１ないし１０のいずれか一項に記載の時系列データ分析装置。
【請求項１２】
前記時系列データは、各変数の時系列データが時間方向に結合されたものであり、
前記時系列データにおいて各変数の時系列データに対応する範囲ごとに、前記複数の特徴波形が指定されている
請求項１１に記載の時系列データ分析装置。
【請求項１３】
複数の時系列データに設定された複数の区間の部分時系列と、複数の特徴波形との距離とに基づいて、前記複数の特徴波形の特徴量を算出する特徴ベクトル算出ステップと、
前記特徴量に基づき、前記特徴波形を、更新する更新ステップと、
を備えた時系列データ分析方法。
【請求項１４】
複数の時系列データに設定された複数の区間の部分時系列と、複数の特徴波形との距離とに基づいて、前記複数の特徴波形の特徴量を算出する特徴ベクトル算出ステップと、
前記特徴量に基づき、前記特徴波形を更新する更新ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、時系列データ分析装置、時系列データ分析方法およびコンピュータプログラムに関する。  
【背景技術】
【０００２】
センサデータ分析や経済時系列分析など様々なデータマイニングの分野において、時系列データにおける異常検知技術が重要になってきている。異常検知技術では、異常を検知するだけでなく、異常の原因を究明する技術も求められている。そのような技術として、異常検知および異常の原因の特定に有効な特徴波形であるｓｈａｐｅｌｅｔｓを発見するＴｉｍｅ  Ｓｅｒｉｅｓ  Ｓｈａｐｅｌｅｔｓ法（ＴＳＳ法）が、盛んに研究されている。
【０００３】
これまでのＴＳＳ法では、時系列データの中でｓｈａｐｅｌｅｔｓに最もマッチする部分時系列データを特定し、特定した部分時系列データとｓｈａｐｅｌｅｔｓとの距離のみを考慮する。このため、時系列データの中の他の箇所で異常波形が出現しても、これを検知することは難しい。また、ＴＳＳ法の多くは、教師有りの識別学習であるため、未知の異常を発見することは難しい。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“Learning Time-Series Shapelets”, KDD '14 Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data miningPages 392-401／Josif Grabocka et.al／
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、未知の異常の検知にも有効な特徴波形を、教師無し学習で生成することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施形態としての時系列データ分析装置は、複数の時系列データに設定された複数の区間の部分時系列と、複数の特徴波形との距離とに基づいて、前記複数の特徴波形の特徴量を算出する特徴ベクトル計算部と、前記特徴量に基づき、前記特徴波形を更新する更新部と、を備える。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態に係る時系列データ分析装置のブロック図。
【図２】時系列データ集合Ｔの例を示す図。
【図３】特徴波形集合Ｓの例を示す図。
【図４】特徴波形選択部の動作のフローチャートを示す図。
【図５】特徴波形選択部の動作の具体例を示す図。
【図６】信頼幅空間から特徴空間への変換例を示す図。
【図７】学習されたモデルパラメータにより表される識別境界を模式的に示す図。
【図８】学習フェーズの動作のフローチャートを示す図。
【図９】出力情報の例を示す図。
【図１０】出力情報の他の例を示す図。
【図１１】テストフェーズの動作のフローチャートを示す図。
【図１２】本発明の実施形態に係る時系列データ分析装置のハードウェア構成を示す図。
【図１３】複数のマッチング範囲を設定し、マッチング範囲ごとに複数の特徴波形を指定する例を示す図。
【図１４】複数の時系列データを結合する例を示す図。
【図１５】本発明の実施形態に係る時系列データ分析システムを示す図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、本発明の実施形態について説明する。
（第１実施形態）
図１は、本発明の実施形態に係る時系列データ分析装置を表すブロック図である。
【０００９】
図１の時系列データ分析装置は、学習用データ記憶部１、特徴波形選択部２、フィッティング結果記憶部３、特徴ベクトル算出部４、更新部５、更新終了判定部６、パラメータ記憶部７、テスト用データ記憶部８、異常検知部９、異常同定部１０、および出力情報記憶部１１を備える。
【００１０】
本時系列データ分析装置は、学習フェーズと、テストフェーズとを備える。学習フェーズでは、学習用の時系列データを用いて、１クラス（Ｏｎｅ−Ｃｌａｓｓ）識別器のモデルパラメータと、複数の特徴波形とを学習する。テストフェーズでは、学習フェーズで学習したモデルパラメータと複数の特徴波形とを用いて、テスト対象となる時系列データを評価する。これにより、当該テスト対象となる時系列データの分析対象装置に異常が発生したかを判断する。
【００１１】
学習フェーズでは、図１の構成要素のうち、学習用データ記憶部１、特徴波形選択部２、フィッティング結果記憶部３、特徴ベクトル算出部４、更新部５、更新終了判定部６、パラメータ記憶部７を用いる。テストフェーズでは、テスト用データ記憶部８、特徴波形選択部２、フィッティング結果記憶部３、特徴ベクトル算出部４、異常検知部９、異常同定部１０、および出力情報記憶部１１を用いる。
【００１２】
以下、学習フェーズとテストフェーズに分けて、本装置について説明する。
【００１３】
＜学習フェーズ＞
学習用データ記憶部１は、複数の分析対象装置から取得した学習用の時系列データを記憶する。学習用の時系列データは、教師無し時系列データである。つまり、時系列データは、正常状態にある分析対象装置から取得された時系列データ（正常時系列データ）である。学習用の時系列データには、正常または異常のラベルが付けられていない。本実施形態において、時系列データは、単一変数の時系列データを想定する。時系列データは、一例として、分析対象装置に設置されたセンサの検出値に基づく時系列データである。時系列データは、センサの検出値そのものでもよいし、検出値の統計値（平均、最大、最小、標準偏差など）でもよいし、複数のセンサの検出値の演算値（例えば電流と電圧とを乗算した電力）でもよい。以下の説明で、時系列データの集合をＴ、時系列データの個数をＩとする。また、各時系列データの長さをＱとする。すなわち、各時系列データは、Ｑ個の点からなるデータである。
【００１４】
図２に、学習用データ記憶部１に格納されている時系列データ集合Ｔの例を示す。集合ＴにはＩ個の時系列データが含まれる。各時系列データの長さは同じＱである。すなわち、各時系列データは、Ｑ個の点を含む。図では、Ｑ個の点を線でつないだ例が示される。個々の時系列データをＴｉ（ｉ＝１，２，…,Ｉ）によって表している。任意の時系列データは時系列データｉと表現する。本実施形態では、各時系列データの長さは同じＱであるが、長さが異なる場合への拡張も可能である。
【００１５】
また、学習用データ記憶部１は、特徴波形の個数Ｋと、特徴波形の長さＬを表す値を記憶している。Ｌは、時系列データの長さＱよりも小さい値である。
【００１６】
ここで、特徴波形は、Ｌ個の点からなるデータである。特徴波形の集合をＳとすると、ＳはＫ×Ｌの行列である。特徴波形は、Ｔｉｍｅ  Ｓｅｒｉｅｓ  Ｓｈａｐｅｌｅｔｓ法（ＴＳＳ法）でｓｈａｐｅｌｅｔと呼ばれるものに相当する。後述するように、特徴波形は、学習フェーズの開始時に初期の形状が決定された後は、繰り返し更新されていく。
【００１７】
図３に、２つ（Ｋ＝２）の特徴波形を含む特徴波形集合Ｓの例を示す。各特徴波形の長さはＬである。各特徴波形をＳ１、Ｓ２で表している。本実施形態では、各特徴波形の長さは同じＬであるが、長さが異なる場合への拡張も可能である。
【００１８】
ここで、時系列データｉと、特徴波形ｋとの距離の計算方法を述べる。時系列データｉのオフセットをｊとする。オフセットとは、時系列データの波形の開始位置（先頭）からの長さのことである。時系列データｉのオフセットｊにおける特徴波形ｋとの距離Ｄ（より詳細には、時系列データｉにおけるオフセットｊから長さＬの区間の部分時系列と、特徴波形ｋとの距離Ｄ）は、以下のように計算される。ここではユークリッド距離を用いているが、これに限定されず、波形間の類似度を評価可能な距離であれば、どのような種類の距離でもよい。
【００１９】
【数１】
2018205994.tif 000003
【００２０】
Ｔｉ，ｊ＋ｌ−１は、時系列データ集合Ｔに含まれる時系列データｉにおけるオフセットｊの位置から数えてｌ−１番目の位置の値を表す。Ｓｋ，ｌは、特徴波形集合Ｓに含まれる特徴波形ｋの先頭から数えてｌ番目の位置の値を表す。つまり、式（１）で計算されるＤｉ，ｋ，ｊは、時系列データｉにおけるオフセットｊから長さＬの区間の部分時系列（部分波形）と、特徴波形ｋとの間の平均距離に相当する。平均距離が小さいほど、部分時系列と特徴波形ｋとは類似している。
【００２１】
特徴波形選択部２は、長さＬのＫ個の特徴波形を用いて、時系列データｉに設定された複数の区間のそれぞれの部分時系列に最も距離が近い（最もフィットする）特徴波形を特定する。複数の区間は、時系列データｉの全体をカバーするように設定される。具体的な動作としては、まず、特徴波形選択部２は、Ｋ個の複数の特徴波形から、部分時系列との距離が最も小さい（最もフィットする）特徴波形を選択することを、時系列データの先頭の長さＬの区間に対して行う。次に、直前に設定した区間から一定範囲内で、部分時系列との距離が最も小さくなる区間と特徴波形とを特定する。一定の範囲とは、次の区間が、直前の区間と隙間が空かない範囲である。以降、同様の動作を繰り返し行う。これにより、複数の区間の設定と、各区間の部分時系列との距離が最も小さい特徴波形の選択とが行われる。区間の位置（本実施形態では区間の開始位置）をオフセットとして表すと、オフセットと特徴波形との組の集合が生成される。つまり、時系列ｉの全体に最もフィットするように、特徴波形とオフセットとの組の集合が生成される。このような処理を、フィッティング処理と呼ぶ。
【００２２】
１回目のフィッティング処理では、初期の特徴波形をＫ個作成し、これらを用いる。後述する更新部５で当該Ｋ個の特徴波形が更新された後は、特徴波形選択部２は、直前に更新されたＫ個の特徴波形を用いる。
【００２３】
初期の特徴波形を生成する処理は、長さＬの任意の波形データを生成できる限り、どのような方法を用いてもよい。例えば、ランダムな波形データをＫ個生成してもよい。あるいは、関連技術と同様の方法で、時系列データ集合Ｔから得られる長さＬの複数の部分時系列にｋ−ｍｅａｎｓ法を適用することによって、Ｋ個の波形データを生成してもよい。
【００２４】
図４は、特徴波形選択部２の動作のフローチャートを示す。
まず、ステップＳ１０１では、オフセットｊを０にする。そして、各時系列データｉに対して、時系列データｉのオフセット０から長さＬの区間の部分時系列との距離Ｄが最も近い特徴波形を、Ｋ個の特徴波形の中から１つ選択する。選択した特徴波形を、特徴波形ｋとする。この動作により、各時系列データｉに対して、（ｉ，ｋ，０）の組が計算される。計算した（ｉ，ｋ，０）と、このとき得られた距離Ｄの値とを、フィッティング結果記憶部３に格納する。
【００２５】
次に、ステップＳ１０２を行う。前回選択したオフセット（現時点では０）をｊ’と記述する。ｊ’＋１から、ｍｉｎ（ｊ’＋Ｌ，Ｑ−Ｌ）までの範囲を対象として、時系列データｉに最も距離Ｄが小さい（最もフィットする）、オフセットｊと特徴波形ｋとの組を選択する。ｍｉｎ（ｊ’＋Ｌ，Ｑ−Ｌ）は、ｊ’＋ＬとＱ−Ｌとのうちの小さい方を意味する。この動作により、各時系列データｉに対して、（ｉ，ｋ，ｊ）の組が得られる。計算した（ｉ，ｋ，ｊ）と、このとき得られた距離Ｄの値とを、フィッティング結果記憶部３に格納する。
【００２６】
ｊ＝Ｑ−Ｌになったかを判断し（ステップＳ１０３）、ｊ＝Ｑ−Ｌでない間は（ＮＯ）、ステップＳ１０２の動作を繰り返す。ｊ＝Ｑ−Ｌになった場合（ＹＥＳ）、繰り返しを終了する。ｊ＝Ｑ−Ｌになったことは、時系列データの末尾まで処理が完了したことを意味する。すなわち、時系列データの末尾を含む長さＬの区間の部分時系列に対する特徴波形が選択されたことを意味する。
【００２７】
図５を用いて、フィッティング処理の具体的な動作例を示す。図５（Ａ）に示すように、、長さＱ＝１０の時系列データｉが存在する。長さＬ＝４の２つの特徴波形０、１が存在する。
【００２８】
図５（Ｂ）に示すように、オフセットｊ＝０で、時系列データｉの先頭から長さ４の区間の部分時系列に対して、特徴波形０、１のそれぞれの距離を計算する。距離が小さい方の特徴波形は特徴波形０であったとする。従って、オフセットｊ＝０に対して、特徴波形０が選択され、（ｉ，０，０）が得られる。（ｉ，０，０）は、フィッティング結果記憶部３に格納される。
【００２９】
次に、オフセット１（＝ｊ’＋１）から、４（＝ｊ’＋Ｌ）までの範囲の各オフセットを対象として、時系列データｉに最もフィットするオフセットｊと特徴波形ｋとの組を選択する。すなわち、オフセット１から始まる長さ４の区間、オフセット２から始まる長さ４の区間、オフセット３から始まる長さ４の区間、オフセット４から始まる長さ４の区間を対象として、これらの区間のうち最も時系列データｉにフィットする区間と特徴波形ｋとの組を選択する。
【００３０】
まず、オフセット１で、時系列データｉに最もフィットする（最も距離が小さい）オフセットｊと特徴波形ｋとの組を選択する。同様に、オフセット２、３、４のそれぞれで、時系列データｉに最もフィットするオフセットｊと特徴波形ｋとの組を選択する。最も小さい距離が得られたときの組を最終的に選択する。本例ではオフセット４および特徴波形１の組が選択される。したがって、（ｉ，１，４）が、フィッティング結果記憶部３に格納される。
【００３１】
次に、オフセット５（＝ｊ’＋１）から、８（＝ｊ’＋Ｌ）までの範囲の各オフセットを対象として、時系列データｉに最もフィットするオフセットｊと特徴波形ｋとの組を選択する。上記の同様に計算すると、オフセット６および特徴波形１の組が選択される。したがって、（ｉ，１，６）が、フィッティング結果記憶部３に格納される。
【００３２】
ｊがＱ−Ｌ＝１０−４＝６に一致したため、フィッティング処理を終了する。
【００３３】
特徴ベクトル算出部４は、フィッティング処理で得られた（ｉ，ｋ，ｊ）を利用して、各時系列データｉに対して、各特徴波形との距離Ｄの最大値である信頼幅Ｍを計算する。時系列データｉに対する特徴波形ｋの信頼幅Ｍｉ，ｋは、以下の式（２）に基づき計算される。
【数２】
2018205994.tif 000004
【００３４】
ｎは、時系列データｉに対して取得された複数のオフセットｊについて、何番目のオフセットかを表す番号である。
Ｎｉは、時系列データｉに対して取得された複数のオフセットｊの個数から１を引いた値である。
【数３】
2018205994.tif 000005
は、時系列データｉに対して取得された複数のオフセットｊのうち、ｎ番目のオフセットｊの値である。
【００３５】
時系列データｉについて、特徴波形ｋの信頼幅Ｍｉ，ｋは、当該特徴波形ｋが選択された各オフセットでの距離Ｄのうち最も大きいもの（式（２）の下側）である。
【００３６】
時系列データｉに対して一度も選択されなかった特徴波形ｋが存在する場合、その特徴波形ｋについて、時系列データｉの開始位置から所定値（例えば１）ずつ増やした各オフセットでの距離を計算する。そして、計算した距離のうち、最も小さいものを信頼幅とする（式（３）の上側）。ｊ＝０，１，２，…，ＪのＪは、最後のオフセットが何番目かを表す番号である。
【００３７】
ここでは、特徴波形ｋの信頼幅として、特徴波形ｋが選択された各オフセットでの部分時系列との距離Ｄの最大の距離を用いたが、これに限定されない。例えば、特徴波形ｋが選択された各オフセットでの部分時系列との距離Ｄの標準偏差または平均値などでもよい。
【００３８】
特徴ベクトル算出部４は、算出した信頼幅Ｍｉ，ｋに基づき、特徴量Ｘｉ，ｋを算出する。一例として、
【数４】
2018205994.tif 000006
である。そして、ｋ＝１，２，…,Ｋの各特徴波形について特徴量を算出し、特徴ベクトルＸｉ＝（Ｘｉ，１、Ｘｉ，２、…、Ｘｉ，Ｋ）を生成する。信頼幅は正の実数のため、信頼幅が小さいほど、特徴量の空間（特徴空間）では、原点から離れる。逆に、信頼幅が大きいほど、特徴空間では、原点に近くなる。各特徴波形の信頼幅Ｍｉ，ｋを含む信頼幅ベクトルから、特徴ベクトルへの変換の例を図６に示す。図６の左側が信頼幅空間であり、横軸が信頼幅ベクトルの第１成分、縦軸が第２成分である。図６の右側が特徴空間であり、横軸が特徴ベクトルの第１成分、縦軸が第２成分である。いずれの空間も２次元である。
【００３９】
ここで
【数５】
2018205994.tif 000007
を、時系列データｉのｎ番目のオフセットｊに対して選択された特徴波形ｋを表すものとする。このとき、
【数６】
2018205994.tif 000008
を、以下の式（３）のように定義する。
【数７】
2018205994.tif 000009
は、上述したフィッティング処理で時系列データｉに対して取得された（ｋ、ｊ）を、後述する最適化処理の式に合わせて、ｎを用いた表現に書き換えたものである。
【００４０】
【数８】
2018205994.tif 000010
【００４１】
式（３）において、Ｒｋ，０及びＲｋ，１は、時系列データにおいて特徴波形ｋを選択可能な範囲（マッチング範囲）を規定する値である。Ｒｋ，０はマッチング範囲の始点、Ｒｋ，１はマッチング範囲の終点を表す。本実施形態では、特徴波形ｋは、時系列データの最初から最後の全範囲で選択可能であるため、マッチング範囲を規定するＲｋ，０及びＲｋ，１は、それぞれ０とＱに設定される。後述する第２の実施形態のように、時系列データに複数のマッチング範囲を設定し、マッチング範囲毎に、複数の特徴波形を指定してもよい。
【００４２】
更新部５は、１クラス（Ｏｎｅ−Ｃｌａｓｓ）識別器をベースに用いて、教師無しの機械学習を行う。ここでは、１クラス識別器として、Ｏｎｅ−Ｃｌａｓｓ  Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ（ＯＣ−ＳＶＭ）を想定する。更新部５は、ＯＣ−ＳＶＭのモデルパラメータの学習（更新）と、特徴波形の学習（更新）とを同時に行う。モデルパラメータは、特徴空間において、正常と異常を判別する識別境界を規定するパラメータに相当する。特徴空間は、Ｘｉ，ｋ（ｋ＝１，２，…，Ｋ）を軸とするＫ次元の空間であり、特徴波形の個数Ｋが２であれば、Ｘｉ，１とＸｉ，２を軸とする２次元の空間である（前述した図６の右側参照）。なお、“Ｏｎｅ−Ｃｌａｓｓ”は、正常状態の分析対象装置から取得された時系列データ（正常時系列データ）のみを用いることを意味する。ＯＣ−ＳＶＭは、正常データ集合から構成される線形または非線形の識別境界を学習するアルゴリズム、または当該識別境界に基づき判定を行う識別器である。
【００４３】
本実施形態において、ＯＣ−ＳＶＭによるモデルパラメータ（識別境界）の学習は、特徴波形の学習と同時に行われる。具体的には、これらの学習は、以下のような最適化問題として定式化される。Ｗがモデルパラメータを表している。この最適化問題を解くことで、モデルパラメータＷと、特徴波形集合Ｓ（Ｋ×Ｌの行列）とを求める。
【数９】
2018205994.tif 000011
【００４４】
線形の識別境界の場合、識別境界を表す式のパラメータ（重み）は有限個数（例えば２次元であれば、切片と傾きとの２つ）であるため、これらのパラメータをモデルパラメータＷとして用いればよい。一方、識別境界が非線形の場合、識別境界を表す式のパラメータ（重み）は無限次元のベクトルとなるため、代わりに、識別境界のモデルパラメータＷとして、サポートベクトル集合Ｓｖと、集合Ｓｖに属するサポートベクトルの寄与率の集合Ｓａとを用いる。
【００４５】
ここで、サポートベクトルは，識別境界の決定に寄与する特徴ベクトルである。寄与率は，そのサポートベクトルが、識別境界の決定にどの程度寄与するかを表しており，寄与率の絶対値が大きいほど、その決定に大きく寄与する（寄与率が０の場合は，識別境界の決定に寄与せず、それに対応する特徴ベクトルはサポートベクトルではない）。ＳＶＭでは，カーネル（内積を拡張した関数）と、サポートベクトルとその寄与率とを用いて，非線形の識別境界を表現できる。
【００４６】
式（４）で用いられている記号について説明する。
・Ｘｉは、時系列データｉに対する特徴ベクトルである。
・λ１とλ２とは、ハイパーパラメータであり、予め値が与えられる。
・ｌ（Ｗ；φ（Ｘｉ））は、ヒンジロス関数である。損失関数として、ヒンジロス関数以外の関数を利用してもよい。
・〈Ｘ，Ｙ〉は、ＸとＹの内積を表し、有限次元でも、無限次元でも良い。
・φは、特徴空間上における写像を表す。
【００４７】
この最適化問題は、確率的勾配法を用いて効率的に計算することが可能である。最急降下法など、他の種類の勾配法を用いてもよい。最適化の対象である目的関数（式（４）の一番上の式）をＦとしたとき、モデルパラメータＷによる勾配∂Ｆ／∂Ｗと、特徴波形集合Ｓによる勾配∂Ｆ／∂Ｓとを計算する必要がある。それらの計算は、微分公式の連鎖律（ｃｈａｉｎ  ｒｕｌｅ）を用いて、以下のようにできる。
【数１０】
2018205994.tif 000012
【００４８】
∂Ｆ／∂Ｗは、ＯＣ−ＳＶＭのモデルパラメータＷ（識別境界）の勾配を求めていることに等しい。ＯＣ−ＳＶＭを確率的勾配法で効率的に計算する方法として、Ｐｅｇａｓｏｓ（Ｐｒｉｍａｌ  Ｅｓｔｉｍａｔｅｄ  ｓｕｂ−ＧｒＡｄｉｅｎｔ  ＳＯｌｖｅｒ  ｆｏｒ  ＳＶＭ）というアルゴリズムを用いてもよい。Ｗから、勾配∂Ｆ／∂Ｗ、またはこれに（学習率に応じた値など）を掛けた値を引くことで、Ｗを更新できる。
【００４９】
次に、∂Ｆ／∂Ｓの計算については、ｃｈａｉｎ  ｒｕｌｅで分解した各勾配を、以下のように計算することで、計算できる。
【数１１】
2018205994.tif 000013
式（７）は、
【数１２】
2018205994.tif 000014
であることから計算できる。式（８）は、∂Ｍ／∂Ｄを劣微分で計算することで求まる。Ｓから、勾配∂Ｆ／∂Ｓ、またはこれに係数（学習率に応じた値など）を掛けた値を引くことで、Ｓを更新できる。
【００５０】
解が収束されるように、∂Ｆ／∂Ｗおよび∂Ｆ／∂Ｓの計算と、ＷとＳの更新とを繰り返し行う。
【００５１】
∂ｌ（Ｗ；φ（Ｘｉ））／∂Ｘの計算は、ＯＣ−ＳＶＭが線形か非線形かで異なる。
［線形の場合］
劣微分を用いて、以下のように計算できる。
【数１３】
2018205994.tif 000015
［非線形の場合］
ガウシアンカーネルを想定して、カーネルトリックを用いて以下のように計算できる。
【数１４】
2018205994.tif 000016
【００５２】
更新部５は、上述した勾配法を用いた計算により特徴波形集合ＳおよびモデルパラメータＷを更新すると、更新後の特徴波形集合Ｓ、および更新後のモデルパラメータＷを、パラメータ記憶部７に格納する。
【００５３】
更新終了判定部６は、特徴波形集合およびモデルパラメータの更新を終了するか判定する。具体的には、更新終了判定部６は、更新終了条件が満たされたか判定する。更新終了条件は、例えば、更新回数により設定される。この場合、更新終了判定部６は、更新部５による更新回数が所定回数に達すると、更新を終了すると判定する。このように、更新終了条件を更新回数により設定することにより、学習に要する時間を所望の範囲内に設定することができる。
【００５４】
また、異常データが学習時に与えられた場合、更新終了条件は、更新されたモデルパラメータと、特徴ベクトルとを含む評価関数（後述）から求まる予測精度により設定されてもよい。この場合、更新終了判定部６は、学習用データ記憶部１から学習に使用していない複数の時系列データを取得し、更新部５が更新したモデルパラメータと、時系列データの特徴ベクトルとにより構成される評価関数により、正常または異常を予測する。更新終了判定部６は、予測結果の正解率が所定値以上の場合、更新を終了すると判定する。このように、更新終了条件を予測精度により設定することにより、得られる評価関数の精度を高くできる。
【００５５】
更新終了条件が満たされない場合は、特徴波形選択部２は、パラメータ記憶部７に記憶されている特徴波形集合Ｓを用いて、前述したフィッティング処理を再度行う。これにより、各時系列データｉについて、特徴波形とオフセットとの組の集合を生成し、フィッティング結果記憶部３に格納する。特徴ベクトル算出部４は、フィッティング結果記憶部３に記憶された情報を用いて、各時系列データｉについて、各特徴波形の特徴量を含む特徴ベクトルを計算する。更新部５は、パラメータ記憶部７におけるモデルパラメータＷ（直前に更新されたモデルパラメータＷ）と、計算した特徴ベクトルを用いて、目的関数の最適化処理を行う。これにより、特徴波形集合ＳおよびモデルパラメータＷを再度更新する。更新終了判定部６は、更新集条件が満たされたかを判断する。更新終了条件が満たさない間は、特徴波形選択部２、特徴ベクトル算出部４および更新部５の一連の処理を繰り返す。更新終了判定部６は、更新終了条件が満たされたと判断した場合は、学習フェーズを終了する。
【００５６】
図７は、学習されたモデルパラメータにより表される識別境界を模式的に示す図である。図７（Ａ）は、線形の識別境界の例、図７（Ｂ）が、非線形の識別境界の例を示す。いずれも特徴空間は、２次元である。図７（Ａ）に示すように、線形の識別境界の場合、識別境界は直線によって表され、直線に対して、一方の側が正常領域、反対側が異常領域である。黒丸は特徴ベクトルを表す。学習時は、正常状態の分析対象装置の時系列データを用いるため、すべて正常領域に特徴ベクトルが配置されている。図７（Ｂ）に示すように、非線形の識別境界の場合、識別境界は、複雑な形状になっている。識別境界の内側が正常領域、外側が異常領域である。内側の正常領域にすべての特徴ベクトルが配置されている。
【００５７】
図８は、学習フェーズの動作のフローチャートである。
ステップＳ１１において、特徴波形選択部２は、学習用データ記憶部１から時系列データｉを読み出す。特徴波形選択部２は、長さＬのＫ個の特徴波形を用いて、時系列データｉに最もフィットするオフセットと特徴波形との組の集合を生成する。具体的には、図４のフローチャートの動作を行う。
【００５８】
ステップＳ１２において、特徴ベクトル算出部４は、ステップＳ１１で得られた（ｉ，ｋ，ｊ）に基づき、時系列データｉに対して、各特徴波形との距離Ｄの最大値である信頼幅Ｍを計算する。時系列データｉに対する特徴波形ｋの信頼幅Ｍｉ，ｋは、前述した式（２）に基づき計算される。
【００５９】
ステップＳ１３において、特徴ベクトル算出部４は、算出した信頼幅Ｍｉ，ｋに基づき、特徴量Ｘｉ，ｋを算出し、特徴ベクトルＸｉ＝（Ｘｉ，１、Ｘｉ，２、…、Ｘｉ，Ｋ）を生成する。
【００６０】
ステップＳ１４において、更新部５は、時系列データｉの特徴ベクトルに基づき、確率的勾配法等の勾配法により、ＯＣ−ＳＶＭ等の１クラス識別器のモデルパラメータＷと、Ｋ個の特徴波形集合Ｓとを更新する。具体的には、モデルパラメータＷの勾配と特徴波形集合Ｓの勾配とを計算し、これらの勾配に基づいて、モデルパラメータＷと特徴波形集合Ｓとを更新する。更新部５は、更新されたモデルパラメータＷおよび特徴波形集合Ｓを、パラメータ記憶部７に上書きする。
【００６１】
ステップＳ１５において、更新終了判定部６が、特徴波形集合ＳおよびモデルパラメータＷの更新を終了するか判定する。具体的には、更新終了判定部６は、更新終了条件が満たされたか判定する。更新終了条件は、例えば、更新回数により設定されることができる。更新終了条件が満たされない間は（ＮＯ）、ステップＳ１１〜Ｓ１４を繰り返す。更新終了条件が満たされた場合は（ＹＥＳ）、学習フェーズを終了する。
【００６２】
＜テストフェーズ＞
テストフェーズでは、パラメータ記憶部７と、テスト用データ記憶部８と、特徴波形選択部２と、フィッティング結果記憶部３と、特徴ベクトル算出部４と、異常検知部９と、異常同定部１０と、出力情報記憶部１１とを用いる。
【００６３】
パラメータ記憶部７には、学習フェーズで最終的に得られた更新後の特徴波形集合ＳとモデルパラメータＷとが記憶されている。ここではモデルパラメータＷとして、サポートベクトルの集合Ｓｖと、寄与率の集合Ｓａが記憶されている場合を想定する。更新後の特徴波形集合Ｓに含まれる各特徴波形は、本実施形態の第２の特徴波形に相当する。
【００６４】
テスト用データ記憶部８は、テスト対象となる時系列データを記憶している。この時系列データは、テスト対象となる分析対象装置に設置されたセンサの検出値に基づくものである。
【００６５】
特徴波形選択部２は、テスト用データ記憶部８からテスト対象の時系列データを読み出し、学習フェーズと同様の処理（図４のフローチャートを参照）により、時系列データに最もフィットするように、特徴波形とオフセットとの組の集合を生成する。このとき使用する特徴波形集合は、パラメータ記憶部７に記憶された特徴波形集合Ｓである。算出した特徴波形とオフセットとの組の集合を、フィッティング結果記憶部３に格納する。
【００６６】
特徴ベクトル算出部４は、テスト対象となる時系列データに対して、特徴波形集合Ｓに含まれる各特徴波形との距離Ｄの最大値である信頼幅Ｍを算出する。特徴ベクトル算出部４は、各特徴波形の信頼幅Ｍに基づき、各特徴波形の特徴量を計算し、これらの特徴量を要素とする特徴ベクトルＸを算出する。これらの計算は、学習フェーズと同様の方法で行う。
【００６７】
異常検知部９は、識別境界のモデルパラメータ（Ｓａ，Ｓｖ）と、入力変数Ｘとを含み、Ｙを出力とする評価式（モデル）を、以下のように生成する。Ｙに−１を掛けた“−Ｙ”を異常度と定義する。ここでＫはカーネル関数であり、ＳｖはサポートベクトルＳ’ｖの集合である。ＳａはＳｖに属するサポートベクトルの寄与率Ｓ’ａの集合である。異常検知部９は、特徴ベクトル算出部４で算出した特徴ベクトルＸを入力変数Ｘとして、評価式を計算する。
【数１５】
2018205994.tif 000017
【００６８】
異常検知部９は、計算された異常度“−Ｙ”が閾値以上であれば、分析対象装置に異常が発生したことを検知する。異常度“−Ｙ”が閾値未満であれば、異常検知部９は、分析対象装置に異常は発生していないと判断する。閾値は、予め与えられている。
【００６９】
異常同定部１０は、異常検知部９で異常が検知された場合に、検知された異常に関する出力情報を生成する。異常同定部１０は、生成した出力情報を、出力情報記憶部１１に格納する。
【００７０】
具体的には、異常同定部１０は、時系列データにおいて異常波形を同定し、同定した異常波形を識別する情報を生成する。具体的な動作例を示す。特徴波形選択部２で算出した特徴波形とオフセットとの組に基づき、当該オフセットでの部分時系列と、特徴波形との距離を計算する。計算した距離を当該特徴波形の信頼幅Ｍと比較する。計算した距離が信頼幅Ｍより大きい部分時系列が存在する場合、その部分時系列を異常波形とする。ここで述べた以外の方法で異常波形を同定することも可能である。出力情報には、各特徴波形の信頼幅の情報や、異常の検知を通知するメッセージなど、別の情報を含めてもよい。
【００７１】
出力情報記憶部１１に格納した出力情報は、液晶表示装置等の表示装置に表示して、異常検知作業の担当者または管理者等のユーザに視認させてもよい。または、通信ネットワークを介してユーザの端末に送信してもよい。ユーザは、出力情報に含まれる異常波形の情報を確認することで、どの検査対象装置で、いつ異常が発生したかを判断できる。また、ユーザは、異常波形をパターン分析等することで、異常の種類または原因を特定することもできる。
【００７２】
図９および図１０に、出力情報の例を示す。
【００７３】
図９において、テスト対象となった時系列データ８１と、学習により得られた２つの特徴波形８２、８３とが示されている。また特徴波形８２、８３が選択された区間の部分時系列に対して、各特徴波形の信頼幅に応じた情報が、一対の破線によって表される。一対の破線８４は特徴波形８２が選択された部分時系列を囲み、一対の破線８５は特徴波形８３が選択された部分時系列を囲んでいる。信頼幅Ｍが小さいほど（信頼性が高いほど）、一対の破線の幅は小さくなっている。ここでは、範囲８６で囲まれた部分時系列が、異常波形と判断されている。
【００７４】
図１０は、２次元の特徴空間に、テスト対象となった時系列データの特徴ベクトルを３つプロットした状態を表している。横軸は、特徴ベクトルＸの第一成分、縦軸は第二成分を表す。第一成分が、１番目の特徴波形の特徴量、第２成分が、２番目の特徴波形の特徴量に対応する。図の中に、特徴ベクトルＰ１、Ｐ２、Ｐ３を表す点が表される。等高線の値は、Ｙ（異常度“−Ｙ”にマイナス１を掛けたもの）に相当する。閾値を設定することで、それが識別境界になる。例えば，閾値を０．９とすると，Ｙが０．９以上の場合（異常度“−Ｙ”が−０．９以下の場合）に正常で、Ｙが０．９より小さい場合（異常度“−Ｙ”が−０．９以上の場合）が異常となる識別境界が得られる。図の例では、特徴ベクトルＰ１については、Ｙが閾値０．９以上であるため、正常と判断する。特徴ベクトルＰ２についても、Ｙが０．９以上であるため、同様に正常と判断できる。一方、特徴ベクトルＰ３については、Ｙが０．９より小さいため、異常と判断できる。
【００７５】
図９と図１０の出力情報の両方を表示してもよいし、いずれか一方のみを表示してもよい。
【００７６】
図１１は、テストフェーズの動作のフローチャートである。
【００７７】
ステップＳ２１において、特徴波形選択部２は、テスト用データ記憶部８からテスト対象の時系列データを読み出し、学習フェーズのステップＳ１１と同様に、時系列データに最もフィットするように、特徴波形とオフセットの組の集合を算出する。このとき使用する特徴波形集合は、パラメータ記憶部７に記憶された特徴波形集合Ｓである。
【００７８】
ステップＳ２２において、特徴ベクトル算出部４は、テスト対象となる時系列データに対して、特徴波形集合Ｓに含まれる各特徴波形との距離Ｄの最大値である信頼幅Ｍを算出する。
【００７９】
ステップＳ２３において、特徴ベクトル算出部４は、各特徴波形の信頼幅Ｍに基づき、各特徴波形の特徴量を計算し、これらの特徴量を要素とする特徴ベクトルＸを生成する。
【００８０】
ステップＳ２４において、異常検知部９は、モデルパラメータと、入力変数Ｘとを含み、Ｙを出力とする評価式（式（１１）参照）を計算する。入力変数Ｘには、ステップＳ２３で生成された特徴ベクトルＸを与える。評価式で計算されたＹに−１を掛けて、異常度“−Ｙ”を計算する。異常検知部９は、異常度“−Ｙ”が閾値以上かを判断する（Ｓ２５）。閾値未満である場合は（ＮＯ）、分析対象装置は正常であると判断し、テストフェーズを終了する。閾値以上である場合は（ＹＥＳ）、分析対象装置の異常を検知する。この場合、ステップＳ２６に進む。
【００８１】
ステップＳ２６において、異常同定部１０は、異常検知部９で検知された異常に関する出力情報を生成する。異常同定部１０は、生成した出力情報を表す信号を、表示装置に出力する。表示装置は、入力された信号に基づき、出力情報を表示する。出力情報は、例えば、時系列データにおいて同定された異常波形を識別する情報を含む。また、出力情報には、各特徴波形の信頼幅の情報や、異常の検知を通知するメッセージなど、別の情報を含んでもよい。
【００８２】
図１２に、本実施形態に係る時系列データ分析装置のハードウェア構成を示す。本実施形態に係る時系列データ分析装置は、コンピュータ装置１００により構成される。コンピュータ装置１００は、ＣＰＵ１０１と、入力インターフェース１０２と、表示装置１０３と、通信装置１０４と、主記憶装置１０５と、外部記憶装置１０６とを備え、これらはバス１０７により相互に接続されている。
【００８３】
ＣＰＵ（中央演算装置）１０１は、主記憶装置１０５上で、コンピュータプログラムである分析プログラムを実行する。分析プログラムは、時系列データ分析装置の上述の各機能構成を実現するプログラムのことである。ＣＰＵ１０１が、分析プログラムを実行することにより、各機能構成は実現される。
【００８４】
入力インターフェース１０２は、キーボード、マウス、及びタッチパネルなどの入力装置からの操作信号を、時系列データ分析装置に入力するための回路である。
【００８５】
表示装置１０３は、時系列データ分析装置から出力されるデータまたは情報を表示する。表示装置１０３は、例えば、ＬＣＤ（液晶ディスプレイ）、ＣＲＴ（ブラウン管）、及びＰＤＰ（プラズマディスプレイ）であるが、これに限られない。出力情報記憶部１１に記憶されたデータまたは情報は、この表示装置１０３により表示することができる。
【００８６】
通信装置１０４は、時系列データ分析装置が外部装置と無線又は有線で通信するための回路である。学習用データまたはテスト用データなどのデータは、通信装置１０４を介して外部装置から入力することができる。外部装置から入力したデータを、学習用データ記憶部１またはテスト用データ記憶部８に格納することができる。
【００８７】
主記憶装置１０５は、分析プログラム、分析プログラムの実行に必要なデータ、及び分析プログラムの実行により生成されたデータなどを記憶する。分析プログラムは、主記憶装置１０５上で展開され、実行される。主記憶装置１０５は、例えば、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭであるが、これに限られない。学習用データ記憶部１、テスト用データ記憶部８、フィッティング結果記憶部３、パラメータ記憶部７、出力情報記憶部１１は、主記憶装置１０５上に構築されてもよい。
【００８８】
外部記憶装置１０６は、分析プログラム、分析プログラムの実行に必要なデータ、及び分析プログラムの実行により生成されたデータなどを記憶する。これらのプログラムやデータは、分析プログラムの実行の際に、主記憶装置１０５に読み出される。外部記憶装置１０６は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。学習用データ記憶部１、テスト用データ記憶部８、フィッティング結果記憶部３、パラメータ記憶部７、出力情報記憶部１１は、外部記憶装置１０６上に構築されてもよい。
【００８９】
なお、分析プログラムは、コンピュータ装置１００に予めインストールされていてもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶されていてもよい。また、分析プログラムは、インターネット上にアップロードされていてもよい。
【００９０】
本実施形態では、時系列データ分析装置が、学習フェーズと、テストフェーズとの両方を行う構成を備えていたが、いずれか一方のみを行う構成でもよい。つまり、学習フェーズを行う装置と、テストフェーズを行う装置を別々に構成してもよい。
【００９１】
以上、本実施形態によれば、ＯＣ−ＳＶＭ等の１クラス識別器を用いて、モデルパラメータ（識別境界）を学習する。これにより、正常時の時系列データのみを用いて、モデルパラメータ（識別境界）と、特徴波形とを学習できる。また、カーネルトリックを用いて非線形な識別境界を学習できる。関連技術では、教師付き時系列データと、ロジスティック回帰を用いて、線形の識別境界を学習していた。これに対して、本実施形態では、教師付き時系列データは不要であるとともに、学習する識別境界も線形に限定されず、非線形な識別境界も学習可能である。
【００９２】
また、本実施形態では、時系列データにおける任意の箇所の異常波形を検知できる。関連技術では、特徴波形に最もマッチする部分時系列を時系列データにおいて特定し、特定した部分時系列と特徴波形との距離のみを考慮して、識別器の学習を行う。このため、特定した部分時系列以外に異常波形が発生した場合に、異常を検知できない。これに対して、本実施形態では、時系列データの全体をカバーするように設定された複数の区間の部分時系列に最もマッチする特徴波形を選択し、各区間の部分時系列と、選択した特徴波形との距離を考慮して、識別器の学習を行う。このため、時系列データの任意の箇所に異常波形が発生しても、異常を検知できる。
【００９３】
（第２の実施形態）
第１の実施形態では、学習フェーズにおいて、時系列データの全範囲に対して、共通の複数の特徴波形を用いたが、第２の実施形態では、時系列データに複数の範囲（マッチング範囲と呼ぶ）を設定し、マッチング範囲ごとに、複数の特徴波形を用意する。マッチング範囲の設定では、時系列データにマッチング範囲が設定されていない箇所が存在しても良い。複数のマッチング範囲の一部が互いに重複してもよい。学習フェーズでは、各マッチング範囲に対して用意された複数の特徴波形を使用する。マッチング範囲の設定、および複数の特徴波形の指定は、ユーザインタフェースを介して入力される指示に基づいて、特徴波形選択部２または別の処理部（特徴波形選択部２の前段に設ける前処理部など）が行えばよい。
【００９４】
前述した式（３）では、Ｒｋ，０及びＲｋ，１が、特徴波形ｋについて、マッチング範囲を指定する値である。Ｒｋ，０及びＲｋ，１をそれぞれ、マッチング範囲の始点および終点を示す値に設定すればよい。このようにして、各特徴波形がフィッティング処理で利用できる範囲を指定する。
【００９５】
図１３は、本実施形態において複数のマッチング範囲を設定し、マッチング範囲ごとに複数の特徴波形を指定する例を示す。時系列データに対して、２つのマッチング範囲２０１、２０２を指定しており、一部が重複している。マッチング範囲２０１に対しては特徴波形１，２，３が設定されており、マッチング範囲２０２に対しては、特徴波形４，５が設定されている。学習フェーズにおいて、マッチング範囲２０１では、特徴波形１，２，３を特徴波形集合Ｓとし、マッチング範囲２０２では、特徴波形４，５を特徴波形集合Ｓとする。テストフェーズでは、マッチング範囲２０１では、更新された特徴波形１，２，３を用い、マッチング範囲２０２では、更新された特徴波形４，５を用いる。つまり、学習フェーズおよびテストフェーズのいずれにおいても、マッチング範囲２０１では、当該範囲２０１に属する区間の（オフセットでの）部分時系列との最小距離の特徴波形を、特徴波形１，２，３から選択する。マッチング範囲２０２では、当該範囲２０２に属する区間の（オフセットでの）部分時系列との最小距離の特徴波形を、特徴波形４，５から選択する。
【００９６】
本実施形態によれば、時系列データにおける複数のマッチング範囲ごとに、複数の特徴波形を指定することができる。
【００９７】
（第３の実施形態）
第１および第２の実施形態では、１つの変数からなる時系列データを想定したが、第３の実施形態では、複数の変数からなる多変数時系列データを対象とする。
【００９８】
本実施形態では、各変数の時系列データを時系列に結合して、単一の時系列データを生成する。生成した単一の時系列データに対して、第２の実施形態と同様の処理を適用する。
【００９９】
図１４に、センサＡに対応する変数Ａの時系列データの末尾に、センサＢに対応する変数Ｂの時系列データを結合する例を示す。
【０１００】
第２の実施形態に倣って、結合された時系列データのうち、変数Ａの時系列データ部分にマッチング範囲３０１を設定し、変数Ｂの時系列データ部分にマッチング範囲３０２を設定する。マッチング範囲３０１では、特徴波形１，２を設定し、マッチング範囲３０２では、特徴波形３，４を設定する。学習フェーズにおいて、マッチング範囲３０１では、特徴波形１，２を特徴波形集合Ｓとし、マッチング範囲３０２では、特徴波形３，４を特徴波形集合Ｓとする。テストフェーズでは、マッチング範囲３０１では、更新された特徴波形１，２を用い、マッチング範囲３０２では、更新された特徴波形３，４を用いる。つまり、学習フェーズおよびテストフェーズのいずれにおいても、マッチング範囲３０１では、当該範囲３０１に属する区間の（オフセットでの）部分時系列との最小距離の特徴波形を、特徴波形１，２から選択する。マッチング範囲３０２では、当該範囲３０２に属する区間の（オフセットでの）部分時系列との最小距離の特徴波形を、特徴波形１，２から選択する。
【０１０１】
本実施形態によれば、変数間の関係性を考慮して、多変数に対応する特徴波形を学習することができる。
【０１０２】
（第４の実施形態）
第４の実施形態では、時系列データ分析装置が、通信ネットワークを介して、分析対象装置に接続された時系列データ分析システムの実施形態を示す。
【０１０３】
図１５に、本実施形態に係る時系列データ分析システムを示す。時系列データ分析装置４０１は、第１〜第３の実施形態のいずれかに係る時系列データ分析装置に相当する。時系列データ分析装置４０１は、通信ネットワーク４０２を介して、複数の分析対象装置４０３に接続されている。分析対象装置４０３には、物理量を検出するセンサが搭載されている。分析対象装置４０３は、センサの検出値に基づく時系列データを生成し、生成した時系列データを、通信ネットワーク４０２を介して、時系列データ分析装置４０１に送信する。時系列データ分析装置４０１は、学習フェーズ用に時系列データを収集する場合、各分析対象装置４０３が事前に正常状態にあることを確認しておく。時系列データ分析装置４０１は、正常状態にある分析対象装置４０３から受信した時系列データを、学習用データ記憶部に格納する。また、時系列データ分析装置４０１は、テストフェーズ用に時系列データを収集する場合は、受信した時系列データをテスト用データ記憶部８に格納し、テストフェーズを実行する。これにより、リアルタイムに分析対象装置４０３の異常有無をテストできる。
【０１０４】
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１０５】
１：学習用データ記憶部
２：特徴波形選択部
３：フィッティング結果記憶部
４：特徴ベクトル算出部
５：更新部
６：更新終了判定部
７：パラメータ記憶部
８：テスト用データ記憶部
９：異常検知部
１０：異常同定部
１１：出力情報記憶部
【図１】
2018205994.tif 000018
【図２】
2018205994.tif 000019
【図３】
2018205994.tif 000020
【図４】
2018205994.tif 000021
【図５】
2018205994.tif 000022
【図６】
2018205994.tif 000023
【図７】
2018205994.tif 000024
【図８】
2018205994.tif 000025
【図９】
2018205994.tif 000026
【図１０】
2018205994.tif 000027
【図１１】
2018205994.tif 000028
【図１２】
2018205994.tif 000029
【図１３】
2018205994.tif 000030
【図１４】
2018205994.tif 000031
【図１５】
2018205994.tif 000032