(57)【要約】      （修正有）【課題】時系列データの多少を問わず、高精度な異常検知を行うことができる変化点検出装置および変化点検出方法を提供する。【解決手段】変化点検出装置は、時系列データをもとに自己回帰モデルによる推定値を算出する自己回帰モデル算出部と、時系列データをもとにマハラノビス距離を算出するマハラノビス距離算出部と、推定値とマハラノビス距離とを統合して解析することにより、時系列データの変化の大小をスコアとして換算して出力する変化点スコア算出部と、を有する。【選択図】図１
2018147442.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力される時系列データをもとに自己回帰モデルによる推定値を算出する自己回帰モデル算出部と、
前記時系列データをもとにマハラノビス距離を算出するマハラノビス距離算出部と、
自己回帰モデル算出部において算出された前記推定値と、前記マハラノビス距離算出部において算出された前記マハラノビス距離とを統合して解析することにより、前記時系列データの変化の大小をスコアとして換算して出力する変化点スコア算出部と、を有する変化点検出装置。
【請求項２】
前記時系列データの新しさに応じて相対的に重みが増えるよう、前記時系列データに重み付け処理を施して加重データを作成する加重データ作成部をさらに有し、
前記マハラノビス距離算出部は、
前記時系列データとして、前記加重データ作成部において作成された前記加重データを用いて前記マハラノビス距離を算出するものである請求項１に記載の変化点検出装置。
【請求項３】
前記変化点スコア算出部は、
前記自己回帰モデル算出部において算出された前記推定値と、前記マハラノビス距離算出部において算出された前記マハラノビス距離とを、同一の尺度の値に換算するものである請求項１又は２に記載の変化点検出装置。
【請求項４】
前記変化点スコア算出部は、
前記推定値を換算して第１変化点スコアを求める第１演算部と、
前記マハラノビス距離を換算して、前記第１変化点スコアと同一の尺度である第２変化点スコアを求める第２演算部と、
前記第１変化点スコアと前記第２変化点スコアとのうちで大きい方を前記スコアとして出力する比較演算部と、を有する請求項３に記載の変化点検出装置。
【請求項５】
前記変化点スコア算出部は、
現在における前記時系列データと前記推定値との差である乖離値を算出すると共に、当該乖離値の、過去における前記乖離値の最大値に対する割合を第１変化点スコアとして求める第１演算部と、
現在における前記マハラノビス距離の、過去における前記マハラノビス距離の最大値に対する割合を第２変化点スコアとして求める第２演算部と、を有する請求項３に記載の変化点検出装置。
【請求項６】
前記変化点スコア算出部は、
前記第１変化点スコアと前記第２変化点スコアとのうちで大きい方を前記スコアとして出力する比較演算部を有する請求項５に記載の変化点検出装置。
【請求項７】
前記時系列データに対する前処理として、ＡＤ変換、サブサンプリング、短時間フーリエ変換、及び正規化処理のうちの少なくとも１つを実行する前処理部をさらに有する請求項１〜６の何れか一項に記載の変化点検出装置。
【請求項８】
外部から入力される時系列データをもとに自己回帰モデルによる推定値を算出する自己回帰モデル算出ステップと、
前記時系列データをもとにマハラノビス距離を算出するマハラノビス距離算出ステップと、
前記自己回帰モデル算出ステップで算出した前記推定値と、前記マハラノビス距離算出ステップで算出した前記マハラノビス距離とを統合して解析することにより、前記時系列データの変化の大小をスコアとして換算して出力する変化点スコア算出ステップと、を有する変化点検出方法。
【請求項９】
前記マハラノビス距離算出ステップに先立って、前記時系列データの新しさに応じて相対的に重みが増えるよう、前記時系列データに重み付け処理を施して加重データを作成する加重データ作成ステップをさらに有し、
前記マハラノビス距離算出ステップでは、
前記時系列データとして、前記加重データ作成ステップで作成した加重データを用いて前記マハラノビス距離を算出する請求項８に記載の変化点検出方法。
【請求項１０】
前記変化点スコア算出ステップでは、
前記自己回帰モデル算出ステップで算出した前記推定値と、前記マハラノビス距離算出ステップで算出した前記マハラノビス距離とを、同一の尺度の値に換算する請求項８又は９に記載の変化点検出方法。
【請求項１１】
前記変化点スコア算出ステップは、
前記推定値を換算して第１変化点スコアを求める第１演算ステップと、
前記マハラノビス距離を換算して、前記第１変化点スコアと同一の尺度である第２変化点スコアを求める第２演算ステップと、
前記第１変化点スコアと前記第２変化点スコアとのうちで大きい方を前記スコアとして出力する比較演算ステップと、を有する請求項１０に記載の変化点検出方法。
【請求項１２】
前記変化点スコア算出ステップは、
現在における前記時系列データと前記推定値との差である乖離値を算出すると共に、当該乖離値の、過去における前記乖離値の最大値に対する割合を第１変化点スコアとして求める第１演算ステップと、
現在における前記マハラノビス距離の、過去における前記マハラノビス距離の最大値に対する割合を第２変化点スコアとして求める第２演算ステップと、を有する請求項１０に記載の変化点検出方法。
【請求項１３】
前記変化点スコア算出ステップは、
前記第１変化点スコアと前記第２変化点スコアとのうちで大きい方を前記スコアとして出力する比較演算ステップをさらに有する請求項１２に記載の変化点検出方法。
【請求項１４】
前記自己回帰モデル算出ステップと前記マハラノビス距離算出ステップとに先立って、前記時系列データに対する前処理として、ＡＤ変換、サブサンプリング、短時間フーリエ変換、及び正規化処理のうちの少なくとも１つを実行する前処理ステップをさらに有する請求項８〜１３の何れか一項に記載の変化点検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列データの異常検知に関し、特に複数の時系列データを含むデータ系列の中から変化点を検出する変化点検出装置および変化点検出方法に関する。
【背景技術】
【０００２】
時系列データに含まれる異常は、従来から様々な手法によって検知されている（例えば、特許文献１〜７参照）。時系列データの異常検知の手法は、その目的により、時系列データのパターンが変化する部分を検知する「変化点検出」と、通常では起こりえないデータ点を検知する「外れ値検出」と、通常のパターンとは異なる区間を検知する「異常部位検出」と、の３つに大別される。
【０００３】
特許文献１および２には、変化点検出に関する技術が開示されている。特許文献１の変化点検出装置は、自己回帰モデルに基づく忘却型学習アルゴリズムによって、データ系列の変化の度合いをスコア化し、スコアが閾値を超えた時刻を変化点として検出するものである。また、特許文献２の異常値検出装置は、ベクトルの類似度比較を用いて、最新の時系列データが異常値であるか否かを検出するものである。
【０００４】
特許文献３および４に記載の技術は、外れ値検出を目的としたものである。特許文献３の状態変化警報装置は、カオス推論により、過去のデータ系列から予測値を算出し、予測値から大きく外れる時系列データを外れ値として検出するものである。また、特許文献４の異常検出装置は、統計値および微分値などに基づく複数の異常判定基準を設定しておき、すべての異常判定基準を満たす時系列データを外れ値として検出するものである。
【０００５】
特許文献５〜７に記載の技術は、異常部位検出を目的として、各々の手法により通常のパターンとの違いを検出している。特許文献５の異常検出装置は、動的時間伸縮法に基づく手法を用いることにより、区間の時間的な伸縮に対応している。特許文献６の異常検知装置は、２つのデータ系列から得られる変化量の差に基づいて、異常部位を検出している。特許文献７の異常検出システムは、グルーピングされたデータ系列から算出される統計量を比較することにより、異常部位を検出している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４２６５２９６号公報
【特許文献２】特許第４４６８１３１号公報
【特許文献３】特許第３６５９７２３号公報
【特許文献４】特許第５８７５４３０号公報
【特許文献５】特開２０１２−５９１９８号公報
【特許文献６】特許第５６６９５５３号公報
【特許文献７】特許第５３１００９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の変化点検出および外れ値検出に関して、特許文献１および３に記載の技術では、過去のデータ系列の遷移から異常を捕捉しようとしており、特許文献２および４に記載の技術では、過去の時系列データの集合の統計量又は変位から異常を捕捉しようとしている。すなわち、特許文献１〜４に記載の技術では、過去の時系列データを一定量蓄積した後でなければ、異常を検知することが困難である。仮に、充分に時系列データを蓄積していない短いデータ系列に対して、各々の手法を適用することを考えると、特許文献１及び３に記載の技術では、モデル構築の段階で妥当な予測モデルが生成されない。また、特許文献２および４に記載の技術では、過去の時系列データの統計量又は変異の傾向を捕捉することができない。したがって、特許文献１〜４に記載の技術では、特に、時系列データの蓄積量が充分でない状況において、本来の変化点でのデータの取りこぼしが生じる、という課題がある。
【０００８】
同様に、特許文献５〜７に記載の技術では、過去のデータ系列の特定部位を通常のパターンとし、通常のパターンから得られる特徴量を利用して異常を捕捉するため、過去の時系列データの一定量の蓄積が不可欠となる。例えば、各種のセンサが検出した時系列データから異常を検出する場合、多くのセンサで秒間数個から数千個以上のデータがサンプリングされるため、通常のパターンとして利用できる過去の時系列データが潤沢にある。しかしながら、月間数件程度のエラーログなどにおける異常検知を対象とした場合、特許文献５〜７に記載された手法の適用は困難である。よって、時系列データが充分に蓄積されている場合はもとより、時系列データの蓄積量が少ない場合においても、異常検知を精度よく行う変化点検出装置および変化点検出方法が望まれている。
【課題を解決するための手段】
【０００９】
本発明に係る変化点検出装置は、外部から入力される時系列データをもとに自己回帰モデルによる推定値を算出する自己回帰モデル算出部と、時系列データをもとにマハラノビス距離を算出するマハラノビス距離算出部と、自己回帰モデル算出部において算出された推定値と、マハラノビス距離算出部において算出されたマハラノビス距離とを統合して解析することにより、時系列データの変化の大小をスコアとして換算して出力する変化点スコア算出部と、を有するものである。
【００１０】
また、本発明に係る変化点検出方法は、外部から入力される時系列データをもとに自己回帰モデルによる推定値を算出する自己回帰モデル算出ステップと、時系列データをもとにマハラノビス距離を算出するマハラノビス距離算出ステップと、自己回帰モデル算出ステップで算出した推定値と、マハラノビス距離算出ステップで算出したマハラノビス距離とを統合して解析することにより、時系列データの変化の大小をスコアとして換算して出力する変化点スコア算出ステップと、を有している。
【発明の効果】
【００１１】
本発明によれば、自己回帰モデルによる推定値とマハラノビス距離との両方を異常検知に用いることから、時系列データの蓄積量が少ない場合でも精度のよい異常検知を行うことができるため、時系列データの多少を問わず、高精度な異常検知を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係る変化点検出装置の構成を示すブロック図である。
【図２】図１の変化点検出装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
実施の形態．
図１は、本発明の実施の形態に係る変化点検出装置の構成を示すブロック図である。図１に示すように、変化点検出装置１００は、入力部１０と、前処理部２０と、データ蓄積部３０と、自己回帰モデル算出部４０と、自己回帰値蓄積部４５と、加重データ作成部５０と、マハラノビス距離算出部６０と、マハラノビス距離蓄積部６５と、変化点スコア算出部７０と、変化点スコア蓄積部７５と、出力部８０と、を有している。
【００１４】
入力部１０は、外部から得られる時系列データを異常検知の対象として受け付けるものである。外部から得られる時系列データとは、何れも図示はしていないが、加速度センサ、振動センサ、電波センサ、もしくはマイクロフォンといった各種のセンシングデバイスから取得されるセンシングデータ、又はデータベースに蓄積されているエラーログデータなどである。変化点検出装置１００は、サンプリング周期数ミリ秒のセンシングデータでも、１ヶ月のエラー件数の集計といったログデータでも、異常検知の対象となる時系列データとして適用することができる。すなわち、変化点検出装置１００は、サンプリング間隔によらず、様々な時系列データを異常検知の対象として適用することができる。
【００１５】
前処理部２０は、入力部１０が受け付けた時系列データを、変化点検出を行うためのパラメータに変換するものである。つまり、前処理部２０は、時系列データの種別に応じて、サブサンプリング又はフィルタリングなどの前処理を行うものである。
【００１６】
前処理の一例としては、ＡＤ変換により、アナログのセンシングデータをディジタル値に変換する処理、必要最低限のデータをデータ蓄積部３０に蓄積させるためのサブサンプリング、適切な周波数成分のみを抽出するための短時間フーリエ変換、又はデータの値域を規定するための正規化処理がある。すなわち、前処理部２０は、ＡＤ変換、サブサンプリング、短時間フーリエ変換、及び正規化処理のうちの少なくとも１つを実行するように構成されている。また、前処理部２０は、前処理後の時系列データのデータ系列について、時系列順を保持させて各時系列データをデータ蓄積部３０に格納するものである。
【００１７】
データ蓄積部３０は、過去のデータ系列を蓄積するものである。より具体的に、データ蓄積部３０は、前処理部２０による前処理後の時系列データを逐次格納するものである。ここで、Ｎ個（Ｎは任意の自然数）の時系列データを含むデータ系列を「ｘ１，ｘ２，…，ｘＮ−１，ｘＮ」と表す。データ系列内の各時系列データは、付された数字が大きいほど新しいデータであるものとする。すなわち、データ系列「ｘ１，ｘ２，…，ｘＮ−１，ｘＮ」の中では、ｘ１が最も古い時系列データであり、ｘＮが最も新しい時系列データである。
【００１８】
自己回帰モデル算出部４０は、外部から入力される時系列データをもとに、自己回帰モデル（ａｕｔｏｒｅｇｒｅｓｓｉｖｅ  ｍｏｄｅｌ）により推定値を算出するものである。そして、自己回帰モデル算出部４０は、算出した自己回帰モデルの推定値を、自己回帰値蓄積部４５に逐次格納するものである。つまり、自己回帰値蓄積部４５は、自己回帰モデル算出部４０において算出された推定値を蓄積するものである。
【００１９】
自己回帰モデルにおいて、データ系列がｐ次のＡＲ（Ａｕｔｏ  Ｒｅｇｒｅｓｓｉｖｅ  ）モデルに従うとき、ｘＮは、過去のデータ系列を用いて、下記の式１で表される。ここで、φｊ（ｊ＝１，２，…，ｐ）は係数であり、εＮは期待値がゼロで分散が一定数のホワイトノイズを示す。
【００２０】
【数１】
2018147442.tif 000003
【００２１】
同様に、データ系列がｑ次のＭＡ（Ｍｏｖｉｎｇ  Ａｖｅｒａｇｅ）モデルに従うとき、ｘＮは下記の式２で表される。ここで、θｊ（ｊ＝１，２，…，ｑ）は係数であり、εＮは期待値がゼロで且つ分散が一定数のホワイトノイズを示す。
【００２２】
【数２】
2018147442.tif 000004
【００２３】
さらに、次数（ｐ，ｑ）のＡＲＭＡ（Ａｕｔｏ  Ｒｅｇｒｅｓｓｉｖｅ  Ｍｏｖｉｎｇ  Ａｖｅｒａｇｅ）モデルに従うとき、ｘＮは下記の式３で表される。ここで、
【００２４】
【数３】
2018147442.tif 000005
【００２５】
そして、ＡＲＩＭＡ（Ａｕｔｏ  Ｒｅｇｒｅｓｓｉｖｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｍｏｖｉｎｇ  Ａｖｅｒａｇｅ）モデルは、式３のＡＲＭＡモデルをｄ次階差にしたものであり、ｄ＝１のときは下記の式４で表され、ｄ＝２のときは式３をもとに下記の式５で表される。
【００２６】
【数４】
2018147442.tif 000006
【００２７】
【数５】
2018147442.tif 000007
【００２８】
式１〜式５におけるパラメータ（ｐ，ｄ，ｑ）、係数φｊ，θｊ（ｊ＝１，２，…，ｐ）、およびホワイトノイズεＮは、一般に、ユールウォーカー法又は最尤法を使って解析的に求められる。本実施の形態においても、自己回帰モデル算出部４０は、これらの方法に従ってパラメータの推定を行う。
【００２９】
上記の処理によって得られた最適な自己回帰モデルの推定値に対して、実際の時系列データｘＮが大きく異なるとき、その時系列データｘＮが過去のデータ系列と乖離している、つまり変化点であると判断することができる。これが時系列データを充分に蓄積しているデータ系列、つまり長いデータ系列に対する変化点検出の原理である。すなわち、特に時系列データが充分に蓄積されている場合に有用な変化点検出の原理である。
【００３０】
加重データ作成部５０は、マハラノビス距離に基づく変化点を検出するための事前処理を行うものである。すなわち、加重データ作成部５０は、時系列データの新しさに応じて相対的に重みが増えるよう、時系列データに重み付け処理を施し、加重データを作成するものである。本実施の形態において、加重データ作成部５０は、データ系列に含まれる各時系列データに対し、新しい時系列データの重みが相対的に増えるように重み付け処理を行うものである。換言すれば、加重データ作成部５０は、データ系列に含まれる各時系列データに対し、古い時系列データの重みが相対的に減少するように重み付け処理を行うものである。
【００３１】
より具体的に、加重データ作成部５０は、Ｎ個の時系列データを含むデータ系列である「ｘ１，ｘ２，…，ｘＮ−１，ｘＮ」に対して、下記の式６で示す重み付け処理を行うものである。式６において、ｘ’ｔは加重データのデータ系列である。また、ｉは２以上の整数であり、データ系列内の時系列データの数などに応じて適宜変更することができる。この重み付け処理により、データ系列に含まれる最新の時系列データ（ｘＮ）から遡ってｉ個より前の時系列データ（ｘ１，ｘ２，…，ｘＮ−（ｉ＋１））の重みが特に低減され、新しい時系列データに対する変化をより鋭敏に検出できるようになる。
【００３２】
【数６】
2018147442.tif 000008
【００３３】
マハラノビス距離算出部６０は、外部から入力される時系列データをもとにマハラノビス距離を算出するものである。本実施の形態において、マハラノビス距離算出部６０は、加重データ作成部５０において重み付けされた時系列データ、すなわち加重データに対してマハラノビス距離の算出を行うものである。
【００３４】
より具体的に、マハラノビス距離算出部６０は、下記の式７に示す、加重データのデータ系列ｘ’ｔに対するマハラノビス距離ｄｔを算出するものである。ここで、μはデータ系列の平均を表し、Σは共分散行列を表す。また、マハラノビス距離算出部６０は、算出したマハラノビス距離ｄｔをマハラノビス距離蓄積部６５に逐次格納するものである。つまり、マハラノビス距離蓄積部６５は、マハラノビス距離算出部６０において算出されたマハラノビス距離ｄｔを蓄積するものである。
【００３５】
【数７】
2018147442.tif 000009
【００３６】
このように、加重データ作成部５０による前処理を経てマハラノビス距離算出部６０が算出したマハラノビス距離ｄｔを用いることで、過去のデータ系列の集合からの乖離が大きい時系列データを変化点として検出することができる。これが充分に時系列データを蓄積していないデータ系列、つまり短いデータ系列に対する変化点検出の原理である。すなわち、時系列データの蓄積量が少ない場合にも有用な変化点検出の原理である。
【００３７】
変化点スコア算出部７０は、自己回帰モデルを使った変化点の判断と、マハラノビス距離を用いた変化点の判断との両方を実施し、データ系列の長い短いに依存しない変化点検出を実現するものである。すなわち、変化点スコア算出部７０は、自己回帰モデル算出部４０において算出された推定値と、マハラノビス距離算出部６０において算出されたマハラノビス距離とを統合して解析することにより、時系列データの変化の大小をスコアとして換算するものである。本実施の形態において、変化点スコア算出部７０は、自己回帰モデルによる推定値と、加重移動平均を用いたマハラノビス距離とを、同一の尺度の値に換算することにより、現在の時系列データの異常度合いを数値化するものである。
【００３８】
変化点スコア算出部７０は、図１に示すように、第１演算部７１と、第２演算部７２と、比較演算部７３と、を有している。
【００３９】
第１演算部７１は、データ蓄積部３０から時系列データを取得し、自己回帰値蓄積部４５から自己回帰モデルの推定値を取得するようになっている。第１演算部７１は、データ蓄積部３０に蓄積された時系列データと、自己回帰値蓄積部４５に蓄積された自己回帰モデルの推定値との差である乖離値Ｄを算出するようになっている。また、第１演算部７１は、過去における乖離値Ｄの最大値を、距離最大値ｄｔＭＡＸとして変化点スコア蓄積部７５に格納するようになっている。第１演算部７１は、距離最大値ｄｔＭＡＸを適宜更新するようになっている。
【００４０】
第１演算部７１は、算出した乖離値Ｄの乖離最大値ＤＭＡＸに対する割合、すなわち「Ｄ／ＤＭＡＸ」を第１変化点スコアとして求めるものである。そして、第１演算部７１は、求めた第１変化点スコアを変化点スコア蓄積部７５に蓄積させるものである。
【００４１】
さらに、第１演算部７１は、第１変化点スコアが１を大きく上回るか否かを判定する変化点抽出機能を有している。より具体的に、第１演算部７１は、第１変化点スコアが１を大きく上回るか否かを判定するときの判定基準をαとすると、第１変化点スコアである「Ｄ／ＤＭＡＸ」が「１＋判定基準α」よりも大きいか否かを判定する機能を有している。ここで、判定基準αは、「（過去の第１変化点スコアの平均値）＋係数×（過去の第１変化点スコアの標準偏差）」など、第１変化点スコアが正規分布に従うと仮定して設定することができる。係数としては、例えば３を用いることができる。係数は、適宜変更するようにしてもよい。
【００４２】
また、第１演算部７１は、変化点抽出機能により、第１変化点スコアが１を大きく上回る場合、その時点、すなわち当該第１変化点スコアに対応する時系列データが入力された時点がデータ系列の変化点であると判断するものである。その際、第１演算部７１は、変化点と判断した時点における第１変化点スコアに、出力側の外部機器が他の第１変化点スコアと区別するための識別情報を付加するようになっている。本実施の形態において、第１演算部７１は、変化点と判断した時点における第１変化点スコアに、異常なデータであることを示すフラグを立てるようになっている。
【００４３】
ところで、変化点と判断された時点における第１変化点スコアは、異常を示すものである。そのため、当該第１変化点スコアの元となる乖離値Ｄは、突飛な値であると考えられ、乖離最大値ＤＭＡＸとして用いることは適当でない。よって、第１演算部７１は、変化点と判断された時点における第１変化点スコアの元となる乖離値Ｄによっては、乖離最大値ＤＭＡＸを更新しないようになっている。
【００４４】
第２演算部７２は、マハラノビス距離蓄積部６５からマハラノビス距離ｄｔを取得するようになっている。また、第２演算部７２は、過去におけるマハラノビス距離ｄｔの最大値を、距離最大値ｄｔＭＡＸとして変化点スコア蓄積部７５に格納するようになっている。第２演算部７２は、距離最大値ｄｔＭＡＸを適宜更新するようになっている。
【００４５】
第２演算部７２は、取得したマハラノビス距離ｄｔを用いて、第１変化点スコアと同一の尺度である第２変化点スコアを求めるものである。より具体的に、第２演算部７２は、距離最大値ｄｔＭＡＸに対する、現在の時系列データのマハラノビス距離ｄｔの割合、すなわち「ｄｔ／ｄｔＭＡＸ」を第２変化点スコアとして求めるものである。そして、第２演算部７２は、求めた第２変化点スコアを変化点スコア蓄積部７５に蓄積させるものである。
【００４６】
さらに、第２演算部７２は、第２変化点スコアが１を大きく上回るか否かを判定する変化点抽出機能を有している。より具体的に、第２演算部７２は、第２変化点スコアが１を大きく上回るか否かを判定するときの判定基準をβとすると、第２変化点スコアである「ｄｔ／ｄｔＭＡＸ」が「１＋判定基準β」よりも大きいか否かを判定する機能を有している。ここで、判定基準βは、「（過去の第２変化点スコアの平均値）＋係数×（過去の第２変化点スコアの標準偏差）」など、第２変化点スコアが正規分布に従うと仮定して設定することができる。係数としては、例えば３を用いることができる。係数は、適宜変更するようにしてもよい。
【００４７】
また、第２演算部７２は、変化点抽出機能により、第２変化点スコアが１を大きく上回る場合、その時点、すなわち当該第２変化点スコアに対応する時系列データが入力された時点がデータ系列の変化点であると判断するものである。その際、第２演算部７２は、変化点と判断した時点における第２変化点スコアに、出力側の外部機器が他の第２変化点スコアと区別するための識別情報を付加するようになっている。本実施の形態において、第２演算部７２は、変化点と判断した時点における第２変化点スコアに、異常なデータであることを示すフラグを立てるようになっている。
【００４８】
ところで、変化点と判断された時点における第２変化点スコアは、異常を示すものである。そのため、当該第２変化点スコアの元となるマハラノビス距離ｄｔは、突飛な値であると考えられ、距離最大値ｄｔＭＡＸとして用いることは適当でない。よって、第２演算部７２は、変化点と判断された時点における第２変化点スコアの元となるマハラノビス距離ｄｔによっては、距離最大値ｄｔＭＡＸを更新しないようになっている。
【００４９】
比較演算部７３は、複数の時系列データの各々について、第１演算部７１が求めた第１変化点スコアと、第２演算部７２が求めた第２変化点スコアとの大小を比較するものである。そして、比較演算部７３は、複数の時系列データの各々について、第１変化点スコアと第２変化点スコアとのうちで大きい方を変化点スコアとして出力部８０に受け渡すものである。
【００５０】
すなわち、変化点スコア算出部７０は、自己回帰モデル算出部４０によって自己回帰値蓄積部４５に蓄積される自己回帰モデルの推定値と、マハラノビス距離算出部６０によってマハラノビス距離蓄積部６５に蓄積されるマハラノビス距離ｄｔとを用いて、変化点の判断を行うものである。変化点スコア蓄積部７５は、第１演算部７１が求めた第１変化点スコアと、第２演算部７２が求めた第２変化点スコアとを蓄積するものである。
【００５１】
出力部８０は、現在の変化点スコアを外部に出力するものである。すなわち、比較演算部７３から逐次受け渡される変化点スコアを最終的な検出結果として出力するものである。出力部８０から出力される変化点スコアは、例えば、ネットワークトラフィック、又は道路の交通流の異常検知など、様々な用途に利用することができる。
【００５２】
また、本実施の形態において、第１演算部７１および第２演算部７２は、変化点と判断した時点における変化点スコアにフラグを立てるようになっている。そのため、出力部８０に接続された出力側の外部機器は、第１演算部７１又は第２演算部７２によって付されたフラグに応じて、例えば、利用者に注意を促すためのアラートを表示することができる。
【００５３】
ここで、変化点検出装置１００の上記各機能は、回路デバイスなどのハードウェアで実現することもできるし、例えば、マイコン、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、又はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算装置上で実行されるソフトウェアとして実現することもできる。また、データ蓄積部３０、自己回帰値蓄積部４５、マハラノビス距離蓄積部６５、および変化点スコア蓄積部７５は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）及びＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ等のＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、又はＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等により構成することができる。
【００５４】
図２は、図１の変化点検出装置の動作を示すフローチャートである。図２を参照して、本実施の形態における変化点検出方法について説明する。
【００５５】
まず、入力部１０は、外部から得られる時系列データを受け付けて、前処理部２０に受け渡す（ステップＳ１０１）。前処理部２０は、入力部１０から取得した時系列データに前処理を施し、前処理後の時系列データをデータ蓄積部３０に記憶させる。つまり、前処理部２０は、時系列データに対する前処理として、必要に応じて、ＡＤ変換、サブサンプリング、短時間フーリエ変換、及び正規化処理のうちの少なくとも１つを実行する（ステップＳ１０２）。
【００５６】
ここで、変化点検出装置１００は、長いデータ系列の変化点を検出するための処理として、自己回帰モデルに基づく変化点検出を実行する。すなわち、自己回帰モデル算出部４０は、データ蓄積部３０から前処理後の時系列データを取得し、自己回帰モデルにより推定値を算出する（ステップＳ１０３：自己回帰モデル算出ステップ）。
【００５７】
次に、第１演算部７１は、データ蓄積部３０に蓄積された時系列データと、自己回帰値蓄積部４５に蓄積された自己回帰モデルの推定値との差である乖離値Ｄを算出する。次いで、第１演算部７１は、算出した乖離値Ｄの乖離最大値ＤＭＡＸに対する割合である第１変化点スコアを求める。そして、第１演算部７１は、求めた第１変化点スコアを変化点スコア蓄積部７５に格納する（ステップＳ１０４：第１演算ステップ）。
【００５８】
また、変化点検出装置１００は、短いデータ系列の変化点を検出するための処理として、マハラノビス距離に基づく変化点検出を、自己回帰モデルに基づく変化点検出と並行して実施する。すなわち、加重データ作成部５０は、時系列データの新しさに応じて相対的に重みが増えるよう、式６に基づく重み付け処理を時系列データに施し、加重データを作成する（ステップＳ１０５：加重データ作成ステップ）。次いで、マハラノビス距離算出部６０は、式７に基づき、加重データ作成部５０において作成された加重データに対するマハラノビス距離を算出する（ステップＳ１０６：マハラノビス距離算出ステップ）。
【００５９】
次に、第２演算部７２は、現在の時系列データのマハラノビス距離ｄｔの距離最大値ｄｔＭＡＸに対する割合である第２変化点スコアを求める。そして、第２演算部７２は、求めた第２変化点スコアを変化点スコア蓄積部７５に格納する（ステップＳ１０７：第２演算ステップ）。
【００６０】
続いて、比較演算部７３は、第１演算部７１が求めた第１変化点スコアと、第２演算部７２が求めた第２変化点スコアとのうちで大きい方を、最終的な検出結果としての変化点スコアに決定し、決定した変化点スコアを出力部８０に受け渡す（ステップＳ１０８：比較演算ステップ）。出力部８０は、比較演算部７３から受け渡された変化点スコアを検出結果として出力する（ステップＳ１０９）。なお、上記ステップＳ１０４、ステップＳ１０７、およびステップＳ１０８の工程は、本発明の「変化点スコア算出ステップ」に相当する。変化点検出装置１００は、上記ステップＳ１０１からＳ１０９までの一連の処理を、データ系列ごとに各時系列データに対して実行する。
【００６１】
このように、本実施の形態における変化点検出方法は、自己回帰モデルと加重移動平均を用いたマハラノビス距離とを利用することにより、過去のデータ系列が多い場合と少ない場合の何れにおいても、時系列データのパターンが変化する部分を精度よく検知することができる。ところで、上記の変化点検出方法は、主に長いデータ系列の変化点を検出するための処理（ステップＳ１０３、Ｓ１０４）と、主に短いデータ系列の変化点を検出するための処理（ステップＳ１０５〜Ｓ１０７）と、を行うようになっているが、長い短いというのは相対的な尺度である。つまり、上記の変化点検出方法は、データ系列の長い短い、すなわち時系列データの蓄積量の多い少ないを一定の閾値で規定することなく、並行して各処理を進めるため、変化点の取りこぼしが発生しづらいという利点がある。
【００６２】
以上のように、変化点検出装置１００は、自己回帰モデルによる推定値とマハラノビス距離との両方を異常検知に用いることから、時系列データの蓄積量が少ない場合でも精度のよい異常検知を行うことができるため、時系列データの多少を問わず、高精度な異常検知を行うことができる。すなわち、変化点検出装置１００は、比較的長い期間に亘って蓄積された時系列データから変化点を検出するために、自己回帰モデルを使って指標を求める処理を行い、比較的短い期間内に蓄積された時系列データから変化点を検出するために、マハラノビス距離という指標を求める処理を行う。そのため、過去に得られた正常なデータ系列が充分にある場合はもとより、従来の手法では検出することが困難であった過去のデータ系列が少ない場合においても、異常検知を精度よく行うことができる。そして、変化点検出装置１００は、データ系列の長い短いを一定の閾値で規定することなく、自己回帰モデルに基づく処理とマハラノビス距離に基づく処理とを並行して行うため、変化点の取りこぼしの発生を抑制することができる。
【００６３】
また、第１変化点スコアと第２変化点スコアとは同一の尺度の値であり、変化点検出装置１００は、第１変化点スコアと第２変化点スコアとのうちで大きい方を出力するようになっている。そのため、より変化の大きな出力値をもとに異常の発生の有無を判断できることから、異常の発見の効率化を図ることができる。
【００６４】
上述した実施の形態は、変化点検出装置および変化点検出方法における好適な具体例であり、本発明の技術的範囲は、これらの態様に限定されるものではない。例えば、上記実施の形態では、変化点検出装置１００が、第１変化点スコアと第２変化点スコアとのうちで大きい方を出力する場合を例示したが、これに限定されるものではない。例えば、変化点スコア算出部７０は、比較演算部７３を設けずに構成し、第１変化点スコアと第２変化点スコアとの双方を出力部８０に受け渡すようにしてもよい。ただし、このようにすると、出力される変化点が多くなり、そこから本質的な異常を見極める手間が増加する可能性がある。この点、本実施の形態における変化点検出装置１００は、時系列データの変化の度合いを、同一の尺度である第１変化点スコアと第２変化点スコアとに指標化して出力するようになっている。そのため、出力された各変化点スコアの優先度の判断が容易となり、効率的に異常を見出すことができる。もっとも、比較演算部７３は、第１変化点スコアと第２変化点スコアとの大小比較を行った上で、大きい方にフラグを立てて双方を出力するようにしてもよい。このようにすれば、当該フラグに応じて、出力側の外部機器に、例えば利用者に注意を促すためのアラートを表示させることが可能となり、さらに異常の発見の効率化を図ることができる。
【符号の説明】
【００６５】
１０  入力部、２０  前処理部、３０  データ蓄積部、４０  自己回帰モデル算出部、４５  自己回帰値蓄積部、５０  加重データ作成部、６０  マハラノビス距離算出部、６５  マハラノビス距離蓄積部、７０  変化点スコア算出部、７１  第１演算部、７２  第２演算部、７３  比較演算部、７５  変化点スコア蓄積部、８０  出力部、１００  変化点検出装置、Ｄ  乖離値、ＤＭＡＸ  乖離最大値、ｄｔ  マハラノビス距離、ｄｔＭＡＸ  距離最大値。
【図１】
2018147442.tif 000010
【図２】
2018147442.tif 000011