(57)【要約】【課題】計算資源制約下においても即座に状態検知を行うことができ、閾値法よりも正確な結果を得ることができ、さらに異常検知の根拠を明確に示すことのできるようにする。【解決手段】異常判定装置は、センサデータを入力し、該センサデータからノイズを除去するノイズフィルタリング部と、前記ノイズが除去されたセンサデータから適切な長さ区間の部分波形データを抽出するセグメンテーション部と、前記部分波形データに基づいて判定モデルを構築するモデル構築部と、判定がなされていない未知データが入力された場合に、該未知データに異常があるかどうかを前記判定モデルを用いて判定する判定部と、前記未知データについての異常判定結果を出力する出力部と、を具備する。【選択図】図１
2010122912.tif 000002
【特許請求の範囲】
【請求項１】
センサデータを入力し、該センサデータからノイズを除去するノイズフィルタリング部と、
前記ノイズが除去されたセンサデータから、少なくとも２つのバッファを利用して前後方向のデータ区間を独立に切り出し、データの前後での窓幅を非対称として適切な長さ区間の部分波形データを抽出するセグメンテーション部と、
前記部分波形データに基づいて判定モデルを構築するモデル構築部と、
判定がなされていない未知データが入力された場合に、該未知データに異常があるかどうかを前記判定モデルを用いて判定する判定部と、
前記未知データについての異常判定結果を出力する出力部と、
を具備する異常判定装置。
【請求項２】
前記未知データについての異常判定結果をネットワーク経由で他のネットワークノード、ゲートウェイ、インターネット・イントラネットに送受信するネットワーク部をさらに具備することを特徴とする請求項１記載の装置。
【請求項３】
すでに前記判定モデルが構築された状態で追加的に訓練データが入力された場合に、該判定モデルを更新するモデル更新部をさらに具備することを特徴とする請求項１記載の装置。
【請求項４】
前記判定部は、過去データの波形断片と検査対象データの波形の一部との距離の近さによって異常かどうかを判定することを特徴とする請求項１記載の装置。
【請求項５】
前記モデル構築部は、予兆である波形断片群とそれらの時間差とを統合して異常を判定するための前記判定モデルを生成することを特徴とする請求項１記載の装置。
【請求項６】
前記センサデータは、多チャンネルセンサから同時に入力された複数のセンサデータであることを特徴とする請求項１記載の装置。
【請求項７】
ノイズフィルタリング部がセンサデータを入力し、該センサデータからノイズを除去するステップと、
前記ノイズが除去されたセンサデータからセグメンテーション部が少なくとも２つのバッファを利用して前後方向のデータ区間を独立に切り出し、データの前後での窓幅を非対称として適切な長さ区間の部分波形データを抽出するステップと、
前記部分波形データに基づいてモデル構築部が判定モデルを構築するステップと、
判定がなされていない未知データが入力された場合に、該未知データに異常があるかどうかを判定部が前記判定モデルを用いて判定するステップと、
前記未知データについての異常判定結果を出力部が出力するステップと、
を具備する異常判定方法。
【請求項８】
コンピュータを、
センサデータを入力し、該センサデータからノイズを除去するノイズフィルタリング部、
前記ノイズが除去されたセンサデータから、少なくとも２つのバッファを利用して前後方向のデータ区間を独立に切り出し、データの前後での窓幅を非対称として適切な長さ区間の部分波形データを抽出するセグメンテーション部、
前記部分波形データに基づいて判定モデルを構築するモデル構築部、
判定がなされていない未知データが入力された場合に、該未知データに異常があるかどうかを前記判定モデルを用いて判定する判定部、
前記未知データについての異常判定結果を出力する出力部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサデータから計測対象の異常予兆を捉え、異常個所の推定を可能とする異常判定装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、センサネットワークの普及により、さまざまなシーンでセンサデータ解析技術が必要になっている。しかしながら、多種多様で時々刻々と変化するセンサデータから計測対象の状態を正しく判定するための信号処理は、これまでの信号処理よりも困難であるという問題点がある。例えば、異種センサ信号の相対的な位相ずれを考慮しなければならない。また、計算資源制約の厳しいセンサノードおよび低コストの計算機やデバイスであっても即座にデータを処理しなければならないことから計算量を低く抑えなければならない。
【０００３】
センサデータに対する異常の閾値を予め設定しておき、該閾値を超えたかどうかを判定することで異常を検知する方式（閾値法）には、処理時間はかからないが誤報が多くなる危険性があり、また、頻繁に閾値周辺上下にセンサデータの振幅が集まる場合にその判定の明確な根拠を示すことが困難であるという問題点がある（例えば下記特許文献１〜３参照）。この問題に対しては閾値周辺をファジー化させるなどの方法が考えられるが、この方法も同様に理解容易な形で明確な根拠としてユーザに提示することは難しい。
【０００４】
適応的フィルタ技術の導入に関しては、所望の信号を入力しなければならないため、異常判定にバイアスがかかるという問題点がある。
【０００５】
さらに、時系列データの予測に用いられ一般に予測精度が高いと言われているニューラルネットワークなどの技術に関しては、モデルがブラックボックスとなっており、なぜそのような状態検知が行われたかの検証が難しく検知の根拠を示すことができないという問題点がある。
【特許文献１】特許第３６２４５４６号公報
【特許文献２】特開２００７−６４３０７号公報
【特許文献３】特許第３９７８０５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記事情を考慮してなされたものであり、計算資源制約下においても即座に状態検知を行い、閾値法よりも正確な結果を得ることができ、さらに異常検知の根拠を明確に示すことのできる異常状態判定装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一観点に係る異常判定装置は、センサデータを入力し、該センサデータからノイズを除去するノイズフィルタリング部と、前記ノイズが除去されたセンサデータから適切な長さ区間の部分波形データを抽出するセグメンテーション部と、前記部分波形データに基づいて判定モデルを構築するモデル構築部と、判定がなされていない未知データが入力された場合に、該未知データに異常があるかどうかを前記判定モデルを用いて判定する判定部と、前記未知データについての異常判定結果を出力する出力部と、を具備する。
【０００８】
本発明の別の観点に係る異常判定方法は、ノイズフィルタリング部がセンサデータを入力し、該センサデータからノイズを除去するステップと、前記ノイズが除去されたセンサデータからセグメンテーション部が適切な長さ区間の部分波形データを抽出するステップと、前記部分波形データに基づいてモデル構築部が判定モデルを構築するステップと、判定がなされていない未知データが入力された場合に、該未知データに異常があるかどうかを判定部が前記判定モデルを用いて判定するステップと、前記未知データについての異常判定結果を出力部が出力するステップと、を具備する。
【０００９】
本発明の別の観点は、センサデータを入力し、該センサデータからノイズを除去するノイズフィルタリング部、前記ノイズが除去されたセンサデータから適切な長さ区間の部分波形データを抽出するセグメンテーション部、前記部分波形データに基づいて判定モデルを構築するモデル構築部、判定がなされていない未知データが入力された場合に、該未知データに異常があるかどうかを前記判定モデルを用いて判定する判定部、前記未知データについての異常判定結果を出力する出力部、としてコンピュータや組み込み機器等を機能させるためのプログラムである。
【発明の効果】
【００１０】
本発明によれば、過去に蓄積されたチャンネルセンサデータと検査対象の状態を示す情報とを活用し、判定に必要な特徴を切り出して絞り込みルールとして構造化し、これにより計算資源制約下においても即座に状態検知を行うことができ、かつ閾値法よりも正確な結果を得ることのできる異常状態判定装置を提供できる。閾値法では値の瞬間的なピークのみに着目していたが、本発明では複数チャネルの時系列データにおける値の瞬間的ピークの周辺波形情報とそれらの位相ずれをすべて考慮し、統合して状態判定することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら本発明の実施形態を説明する。
【００１２】
図１は、本発明の一実施形態に係り、センサデータから計測対象の異常予兆を捉え、異常個所の推定を可能とするための装置の構成を示すブロック図である。この装置は、センサデータを入力しノイズを除去するノイズフィルタリング部１と、入力されたセンサデータを適切な長さ区間だけ抽出するセグメンテーション部２と、部分波形データから判定モデルを学習するモデル構築部３と、構築された判定モデルを格納する判定モデル格納部４と、判定結果のついていない未知のデータが入力された場合にその未知データを判定する判定部５と、波形データや判定結果などを表示器や音で外部に知らせる出力部６とを具備する。
【００１３】
まず、訓練用入力データ（以下訓練データという）としてセンサ時系列データと異常個所・予兆個所を示したデータとをノイズフィルタリング部１に入力する。異常個所・予兆個所は保守員があらかじめデータベース等に入力しておく。ノイズフィルタリング部１においては一般的な信号処理において用いられる低域周波数通過フィルタ（ローパスフィルタ）、波形の包絡線を滑らかにする平滑化フィルタなどにより、センサデータに混入するハムノイズや基線の揺れによるノイズ等を除去する。
【００１４】
次に、セグメンテーション部２は、ノイズフィルタリング部１によりノイズ除去されたデータに対し、異常個所・予兆個所の時刻を中心として、その前後をあらかじめ決められた時区間分だけ取り出し予兆セグメント（単純モデル）とする。取り出されたデータは部分波形に相当する。
【００１５】
正常データにおいては、異常ありのすべてのデータで指定された異常個所の前後の時区間にある部分波形を抜き出す。すべての訓練データに対してこの処理を施したら、予兆部分波形の幅を決定する。
【００１６】
あらかじめ決められた窓幅でずれの総和を計算すると、その窓幅にずれの累積量が強く依存してしまう。そこで本発明では、異常個所・予兆個所の中心時刻から前後にそれぞれ１つずつ幅を広げてずれの累積量を計算し、異常と正常の区別が可能だと考えられる条件を満たす最大区間幅まで拡張させる方法を採用する。予兆部分波形の幅は、例えば以下の手順で決定する。
【００１７】
（ステップ１）N個の訓練データを異常群（n個）と正常群（m個）とに分ける。i=1とする。
【００１８】
（ステップ２）i=nとなったら処理を停止する。i<nの場合、n個の異常群の波形データのうちi番目の波形データを取り出し、予兆箇所を予兆中心位置として一定区間分だけその前後の波形データを２つの異なるバッファＡ、Ｂにそれぞれ格納する（Ａにデータを格納する際には、予兆中心を最も先頭に格納するように逆順にデータを格納する）。s=1とする。
【００１９】
（ステップ３）バッファＢにおいて予兆中心から(s*Δ)分だけ進んだところまでを予兆セグメント候補範囲Ｂとし、２で取り出した異常群の波形データ以外のn-1個の異常群の波形データとの部分波形との値のずれの和をそれぞれ計算してδ1iとし、n-1でδ1iを正規化する。
【００２０】
（ステップ４）同様に、ステップ３で計算した予兆セグメント候補範囲Ｂとすべての正常群の波形データとの値のずれの総和δ2iを計算し、mで徐してδ2iを正規化する。
【００２１】
（ステップ５）ステップ３で計算した正規化済みδ1iとδ2iとを比較し、δ1i < δ2i であればs=s+1として３に戻る。そうでなければバッファＢにおいて予兆中心から(s*Δ)分だけ進んだところまでを予兆セグメント範囲Ｂとし、予兆中心から(s*Δ)分を予兆範囲とする。
【００２２】
（ステップ６）q=1とする。
【００２３】
（ステップ７）バッファＡにおいて、予兆中心から(q*Δ)分だけ進んだところまでを予兆セグメント候補範囲Ａとし、２で取り出した異常群の波形データ以外のn-1個の異常群の波形データとの部分波形との値のずれの和をそれぞれ計算してδ3iとし、n-1でδ3iを正規化する。
【００２４】
（ステップ８）同様に、６で計算した予兆セグメント候補範囲Ｂとすべての正常群の波形データとの値のずれの総和δ4iを計算し、mで徐してδ4iを正規化する。
【００２５】
（ステップ９）ステップ６で計算した正規化済みδ3iとδ4iとを比較し、δ3i<δ4iであればs=s+1として６に戻る。そうでなければバッファＡにおいて予兆中心から(q*Δ)分だけ戻ったところまでを予兆セグメント範囲Ａとし、予兆中心から(q*Δ)分を予兆範囲としてi=i+1とし２に戻る。
【００２６】
以上のように、入力される訓練波形を切り出す際に、ダブルバッファを利用して、前後方向のデータ区間を独立に切り出し、データの前後での窓幅が非対称になっても高速に区間切り計算が可能なように拡張することが好ましい。
【００２７】
もちろん、予兆中心の前後の幅を等しくしてしまうことで計算を簡略化してしまってもよい。この場合は、ステップ３からステップ５のバッファＢの部分を「バッファＡとＢともに同時に」処理するようにし、ステップ６からステップ９を省略し、ステップ５にて「i=i+1とし２に戻る」処理を加えればよい。
【００２８】
２つの波形の振幅値の差（距離）を計算するには、単に同時刻同士の振幅の差の絶対値を比較するユークリッド距離を用いても良い。波形同士の距離定義は一般に1≦p≦∞に対して以下のように与えられる。
【数１】
2010122912.tif 000003
【００２９】
特にp=1のときユークリッド距離となる。ユークリッド距離では、時系列データのピーク位相のずれを考慮せずに同時刻どうしで波形同士の距離を計算する。
【００３０】
例えば、図２に示すように、異常個所・予兆個所の中心を境に、前後で幅の異なる区間を抽出し、ここで算出した予兆セグメント範囲を利用してこれ異常・予兆パターンとして抽出する。
【００３１】
また、ずれの累積量を計算するのには、局所的なピークの位相ずれを考慮してＤＴＷ距離を取っても良い。ＤＴＷ距離は以下の手順で計算する。まず、波形xと波形yのワーピングパスＷを求める。ワーピングパスＷは任意の２つの部分波形同士の局所的な時刻ずれを非線形に最小化するための時刻ずれ補正の情報を計算していることになる。
【数２】
2010122912.tif 000004
【００３２】
Ｗは以下の条件を満たす必要がある。
【００３３】
［制約１］  境界条件
【数３】
2010122912.tif 000005
【００３４】
［制約２］  連続性条件
【数４】
2010122912.tif 000006
【００３５】
［制約３］  単調性条件
【数５】
2010122912.tif 000007
【００３６】
ここで、波形同士の距離行列においてこれらの制約を満たすパスのうち以下の式に示す方法で最短パスを求め、その最短パスで求めた距離をＤＴＷ距離とする。
【数６】
2010122912.tif 000008
【００３７】
実際には以下の再帰式を利用し、最短の累積距離γ(i,j)を通るiとjの組のパスを求め、Ｗとする。
【数７】
2010122912.tif 000009
【００３８】
このようにして得られた予兆箇所・異常個所に関する波形断片の振幅値ベクトルと波形断片の開始時刻ならびに終了時刻の組（これを単純モデルと呼ぶ）をモデル構築部３に渡す。以上に述べた異常と正常の区別が可能だと考えられる条件を満たす最大区間幅まで拡張させる方法は、先に述べた、予兆中心の前後の幅を等しくしてしまう簡略計算で幅を決めてしまう方法に比べ、より柔軟でしかも根拠としてユーザが理解することがより容易な部分波形パターンを算出することができる。
【００３９】
モデル構築部３は、セグメンテーション部２で算出した予兆セグメントすなわち波形断片である単純モデルを構造化して組み合わせ、訓練データの数分だけ内部検証を行い、少なくとも１つ以上の判定精度の高い単純モデルのみを判定モデルとして判定モデル格納部４に保持する。判定精度の下限値はたとえば９５％といった値をあらかじめユーザが決めておき、これを超える単純モデルのみを判定モデルとする。
【００４０】
次に、先に述べた単純モデルから得られた単純な判定モデルを構造化して内部検証を行い、判定精度の高い複雑な判定モデルをさらに構築する。この手順の一例は例えば以下のようになる。ただし、単純モデル（波形断片）はL個あるとする。
【００４１】
（ステップ１）L個の単純モデルのうち１モデルまたは任意の組み合わせで判定モデル候補を生成する。すべての判定モデル候補を生成し終わったら処理を停止し、これまでに計算した判定モデル集合の中の判定モデルすべてを結果として返す。判定確率の下限値を設定する。
【００４２】
（ステップ２）生成した判定モデルを用い、あらかじめ判定結果の分かっている訓練データの判定を行う。
【００４３】
（ステップ３）ステップ１で生成した判定モデル候補に関してステップ２の判定成否確率を計算し、ステップ１で設定した判定確率の下限値を上回る判定モデル候補を判定モデル集合に加える。
【００４４】
（ステップ４）ステップ１に戻る。
【００４５】
ここで、ステップ３の判定成否確率は、精度でもよいし、正常のものを異常と判定した確率（誤報確率）や異常なものを正常と判定した確率（取り逃し確率）を用いてもよい。
【００４６】
この判定モデル集合中の判定モデルをルール形式に変換すると、装置ユーザにとって理解しやすい表現になる（図３参照）。このような形式で出力部６においてディスプレイ等に異常・予兆パターンとして表示することで、判定モデルの算出の根拠を明らかにすることができる。
【００４７】
これは、未知入力波形が多チャンネルで入力されたときに、予兆セグメントの生起時刻付近に類似するパターンが同様に生起していることを学習された判定モデルを用いて捉えることで、未知入力波形において異常となる区間を推定可能であることを示している。この予兆セグメントの部分波形と、検査対象波形における同部分の部分波形との距離の総和を計算し、判定モデルにより類似しているか、正常データに類似しているかをｋ最近傍法により計算することで、異常が起こるかどうかを判定することが可能となる（図４）。これは特に、過去データの波形断片と検査対象データの波形の一部との距離の近さで異常かどうかを判定する装置構成において必須の判定方法となる。ｋ最近傍法においては、少なくとも１つ以上の正常を判定する判定モデル（正常判定モデル）、少なくとも１つ以上の異常を判定する判定モデル（異常判定モデル）を、それぞれ、検査対象波形の先頭から時刻位置をずらして照合し、その距離が最も近くなる時刻位置における検査対象波形と判定モデルにおける予兆セグメントが存在する区間との距離を求め、正常判定モデルと異常判定モデルのうち、距離が小さい順にモデルを並べたときの上位ｋ個のモデルの中で、正常と判定される数が多いのか、異常と判定される数が多いのかで正常か異常かを決定する。たとえば、ｋ＝３としておいた場合、正常判定モデルが１００個、異常判定モデルが８０個あった場合、検査対象波形の該当部分とモデルに含まれる予兆パターンの各点との距離の総和を計算した結果、距離の小さい上位３個分の中に、正常と判定されるケースが１つ、異常と判定されるケースが２つある場合、多数決により異常と判定(推定)されることになる。
【００４８】
多チャンネルの波形を同時に処理する場合には、以上の方法を多変量に拡張する必要がある。多変量波形を同時に処理する場合の実施形態を図５に示す。学習された判定ルール、すなわち判定モデル（異常予兆パターン）は、多変量の場合には例えば図６のように複数チャンネルになる。ただし、チャンネル１は加速度センサのｘ座標、チャンネル２は加速度センサのｙ座標、チャンネル３はＯＮまたはＯＦＦ状態を検知する検知スイッチの状態を表すこととする。判定部５における異常範囲推定の一例を図７に示す。多変量の場合には予兆セグメントが異種のセンサになる可能性があることが分かる。
【００４９】
ここで、訓練用入力データが新たに入力された場合、モデル更新部７によって動的に判定モデルを更新することが可能である。その手順をフローチャートにすると図８のようになる。まず、新たに入力される訓練データと異常範囲の時刻を示すパラメータを入力し（ステップＳ１）、ノイズフィルタリングを施す（ステップＳ２）。次に、新たに入力される訓練波形を先の方法で動的にセグメンテーションし、単純モデルを生成する（ステップＳ３）。今までの判定モデルでこの訓練データを正しく判定することができるのであれば、モデル更新をせずに今までの判定モデルのままにしておく（ステップＳ４）。もしこの訓練データを正しく判定できない場合は、新たに単純モデルを生成し、訓練データを用いて分類検証し、精度の下限値を超える単純モデルを判定モデルに加える。さらに、精度の下限値を超える単純モデルを構造化し、より複雑な判定モデルを判定モデル格納部４に追加する（ステップＳ５）。もし判定モデル格納部４に格納されている判定モデルのうち、判定に悪影響を及ぼすものがあればその判定モデルを部分的に削除する場合もある。このような処理をモデル更新とよぶ。
【００５０】
異常判定結果は、図９のブロック図に示すネットワーク部８を経由して遠隔監視することにも応用が可能である。このような実施形態を実現する装置のより具体的な構成を図１０に示す。マルチプレクサ等を経由して各種多チャンネルセンサのデータをＩ／Ｏから同期入力し、ＣＰＵ、ＲＡＭ、ＲＯＭを利用して上述した異常状態判定モデルの学習、未知データの判定を行う。なお、多チャンネルのデータを扱う場合は、入出力データは図５に示したものと同様である。
【００５１】
以上説明した本発明の実施形態によれば、時々刻々と変化するチャンネルセンサデータから、計測対象物体や計測対象者の状態を適切にかつ簡潔に検知することが可能となる。また、判定モデルは明示的な予兆パターンから構成されるため、なぜそのような状態検知がされたのかの根拠を示すことができ、品質管理・保守部門における保守センサデータ、医療などにおける生体センサデータなどのさまざまな事象の時系列記録から、異常や予兆などを検知・判定することが可能になる。
【００５２】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施形態に係り、センサデータから計測対象の異常予兆を捉え、異常個所の推定を可能とするための装置のブロック図
【図２】波形の区分幅の動的決定方法を示す図
【図３】学習された異常・予兆パターンを示す図
【図４】異常判定の模式図
【図５】多変量波形を同時に処理する場合を示す図
【図６】判定ルール（学習された異常予兆パターン）の一例を示す図
【図７】異常範囲推定の一例を示す図
【図８】モデル更新の手順を示すフローチャート
【図９】ネットワークを経由して遠隔監視する場合の構成を示す図
【図１０】より具体的なハードウェア構成の一例を示すブロック図
【符号の説明】
【００５４】
１…ノイズフィルタリング部；
２…セグメンテーション部；
３…モデル構築部；
４…判定モデル格納部；
５…判定部；
６…出力部；
７…モデル更新部
【図１】
2010122912.tif 000010
【図２】
2010122912.tif 000011
【図３】
2010122912.tif 000012
【図４】
2010122912.tif 000013
【図５】
2010122912.tif 000014
【図６】
2010122912.tif 000015
【図７】
2010122912.tif 000016
【図８】
2010122912.tif 000017
【図９】
2010122912.tif 000018
【図１０】
2010122912.tif 000019