(57)【特許請求の範囲】
【請求項１】
設備に装着されたセンサから出力される複数の時系列のセンサ信号を用いた異常検知装置における異常検知方法であって、前記異常検知装置は、
前記センサ信号を入力し、
除外するセンサ信号の指定に応じて、前記指定されたセンサ信号を除く前記センサ信号から所定時間毎に特徴ベクトルを抽出し、
指定された学習期間の前記特徴ベクトルを学習データとして前記所定時間毎の異常測度を算出し、
前記学習期間の前記異常測度に基づいてしきい値を算出し、
前記異常測度と前記しきい値との比較結果に基づいて、前記所定時間毎の前記センサ信号が異常か正常かを判定し、
前記除外するセンサ信号は、（１）前記学習期間の前記異常測度を算出する過程で、前記所定時間毎に算出される残差ベクトル、（２）指定された評価期間の前記センサ信号の二次元の分布密度に基づいて算出される評価値、および（３）前記センサ毎に算出される、前記センサ信号が正常分布から離れているか否かを表す指標である孤立度のいずれか一つに基づいて指定されることを特徴とする異常検知方法。
【請求項２】
設備に装着されたセンサから出力される複数の時系列のセンサ信号を用いた異常検知装置における異常検知方法であって、前記異常検知装置は、
前記センサ信号を入力し、
除外するセンサ信号の指定に応じて、前記指定されたセンサ信号を除く前記センサ信号から所定時間毎に特徴ベクトルを抽出し、
指定された学習期間の前記特徴ベクトルを学習データとして前記所定時間毎の異常測度を算出し、
前記学習期間の前記異常測度に基づいてしきい値を算出し、
前記異常測度と前記しきい値との比較結果に基づいて、前記所定時間毎の前記センサ信号が異常か正常かを判定し、
前記除外するセンサ信号は、（１）前記学習期間の前記異常測度を算出する過程で、前記所定時間毎に算出される残差ベクトル、（２）指定された評価期間の前記センサ信号の二次元の分布密度に基づいて算出される評価値、および（３）前記センサ毎に算出される、前記センサ信号が正常分布から離れているか否かを表す指標である孤立度のいずれか一つに基づいて、且つ、前記学習期間の前記残差ベクトルを累積した残差累積および前記学習期間の予め複数に分割された区間のうち前記異常測度が最大となる区間の前記残差累積の少なくとも一方に基づいて指定されることを特徴とする異常検知方法。
【請求項３】
前記除外するセンサ信号は、前記学習期間の前記残差累積および前記学習期間の予め複数に分割された区間のうち前記異常測度が最大となる区間の前記残差累積の少なくとも一方と、前記評価期間の前記残差累積および前記評価期間のうち異常が検出された区間の前記残差累積の少なくとも一方との比に基づいて指定されることを特徴とする請求項２記載の異常検知方法。
【請求項４】
前記異常検知装置は、
前記評価期間の前記学習期間の前記センサ信号の前記二次元の分布密度を前記センサの総当りで算出することを特徴とする請求項１記載の異常検知方法。
【請求項５】
前記異常検知装置は、
前記二次元の分布密度と前記学習期間の前記異常測度に基づいて前記しきい値を算出し、
前記二次元の分布密度と前記評価期間の前記所定時間毎の前記センサ信号に基づいて、前記所定時間毎の前記センサ毎の前記孤立度を算出することを特徴とする請求項４記載の異常検知方法。
【請求項６】
前記二次元の分布密度をもとに算出される前記評価値は、離散性を表すことを特徴とする請求項４記載の異常検知方法。
【請求項７】
前記二次元の分布密度をもとに算出される前記評価値は、対角性を表すことを特徴とする請求項４記載の異常検知方法。
【請求項８】
設備に装着されたセンサから出力される複数の時系列のセンサ信号を用いた異常検知装置であって、
前記センサ信号を入力するセンサ信号入力部、
除外するセンサ信号の指定に応じて、前記指定されたセンサ信号を除く前記センサ信号から所定時間毎に特徴ベクトルを抽出する特徴ベクトル抽出部、
指定された学習期間の前記特徴ベクトルを学習データとして前記所定時間毎の異常測度を算出する異常測度算出部、
前記学習期間の前記異常測度に基づいてしきい値を算出するしきい値算出部、
前記異常測度と前記しきい値との比較結果に基づいて、前記所定時間毎の前記センサ信号が異常か正常かを判定する異常検出部、および
前記除外するセンサ信号を、（１）前記学習期間の前記異常測度を算出する過程で、前記異常測度算出部により前記所定時間毎に算出される残差ベクトル、（２）指定された評価期間の前記センサ信号の二次元の分布密度、および（３）前記センサ毎に算出される、前記センサ信号が正常分布から離れているか否かを表す指標である孤立度のいずれか一つに基づいて指定するセンサ選択部を有することを特徴とする異常検知装置。
【請求項９】
設備に装着されたセンサから出力される複数の時系列のセンサ信号を用いた異常検知装置であって、
前記センサ信号を入力するセンサ信号入力部、
除外するセンサ信号の指定に応じて、前記指定されたセンサ信号を除く前記センサ信号から所定時間毎に特徴ベクトルを抽出する特徴ベクトル抽出部、
指定された学習期間の前記特徴ベクトルを学習データとして前記所定時間毎の異常測度を算出する異常測度算出部、
前記学習期間の前記異常測度に基づいてしきい値を算出するしきい値算出部、
前記異常測度と前記しきい値との比較結果に基づいて、前記所定時間毎の前記センサ信号が異常か正常かを判定する異常検出部、および
前記除外するセンサ信号を、（１）前記学習期間の前記異常測度を算出する過程で、前記異常測度算出部により前記所定時間毎に算出される残差ベクトル、（２）指定された評価期間の前記センサ信号の二次元の分布密度、および（３）前記センサ毎に算出される、前記センサ信号が正常分布から離れているか否かを表す指標である孤立度のいずれか一つに基づいて、且つ、前記学習期間の前記残差ベクトルを累積した残差累積および前記学習期間の予め複数に分割された区間のうち前記異常測度が最大となる区間の前記残差累積に基づいて、前記除外するセンサ値を指定するセンサ選択部を有することを特徴とする異常検知装置。
【請求項１０】
前記センサ選択部は、前記学習期間の前記残差累積および前記学習期間の予め複数に分割された区間のうち前記異常測度が最大となる区間の前記残差累積の少なくとも一方と、前記評価期間の前記残差累積および前記評価期間のうち異常が検出された区間の前記残差累積の少なくとも一方との比に基づいて、前記除外するセンサ信号を指定することを特徴とする請求項９記載の異常検知装置。
【請求項１１】
前記評価期間の前記学習期間の前記センサ信号の前記二次元の分布密度を前記センサの総当りで算出する分布密度算出部をさらに有することを特徴とする請求項８記載の異常検知装置。
【請求項１２】
前記しきい値算出部は、前記二次元の分布密度と前記学習期間の前記異常測度に基づいて前記しきい値を算出し、
前記二次元の分布密度と前記評価期間の前記所定時間毎の前記センサ信号に基づいて、前記所定時間毎の前記センサ毎の前記孤立度を算出する孤立度算出部をさらに有することを特徴とする請求項１１記載の異常検知装置。
【請求項１３】
前記分布密度算出部が、前記二次元の分布密度をもとに算出する前記評価値は、離散性を表すことを特徴とする請求項１１記載の異常検知装置。
【請求項１４】
前記分布密度算出部が、前記二次元の分布密度をもとに算出する前記評価値は、対角性を表すことを特徴とする請求項１１記載の異常検知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントや設備などが出力する複数の時系列センサ信号をもとに異常を早期に検知し、検知した異常に関連するセンサを特定する異常検知方法およびその装置に関する。
【背景技術】
【０００２】
電力会社では、ガスタービンの廃熱などを利用して地域暖房用温水を供給したり、工場向けに高圧蒸気や低圧蒸気を供給したりしている。石油化学会社では、ガスタービンなどを電源設備として運転している。このようにガスタービンなどを用いた各種プラントや設備において、設備の不具合またはその兆候を検知する異常検知は、社会へのダメージを最小限に抑えるためにも極めて重要である。
【０００３】
ガスタービンや蒸気タービンのみならず、水力発電所での水車、原子力発電所の原子炉、風力発電所の風車、航空機や重機のエンジン、鉄道車両や軌道、エスカレータ、エレベータ、機器・部品レベルでも、搭載電池の劣化・寿命など、上記のような予防保全を必要とする設備は枚挙に暇がない。
【０００４】
このため、対象設備やプラントに複数のセンサを取り付け、センサ毎の監視基準に従って、対象設備やプラントの正常か異常かが判定される。特許文献１には、過去の正常データから作成されたモデルとの比較によって算出される異常測度に基づいて異常の有無を検知する異常検知方法において、正常モデルを局所部分空間法によって作成することが開示されている。正常モデルに基づく異常検知において、異常予兆検知の感度向上すなわち異常予兆の早期発見のためには、不要なセンサは除外するべきである。特に感度阻害要因となるセンサを自動的に見つけて除外する必要がある。
【０００５】
このようなニーズに対応するため、特許文献１には、特徴毎、周期毎の平均と分散のばらつきが大きいセンサを除外する方法、特徴毎の1周期の波形モデルからの外れ回数に基づいてセンサを除外する方法が開示されている。また、正常部と異常部の異常測度の比を評価値とし、センサを１個ずつ除いて最も評価値が上がるものを除くことを評価値が上がらなくなるまで繰り返すことにより、センサを除外する方法が開示されている。
【０００６】
また、特許文献２には、過去の正常データから作成されたモデルとの比較によって算出される異常測度に基づいて異常の有無を検知する異常検知方法において、異常検知した際に残差がしきい値を超えるセンサを取り除くことを繰り返すことにより、顕著な異常に隠れた潜在的な異常を発見する方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１―７０６３５号公報
【特許文献２】特開２０１２−５８８９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載の特徴毎、周期毎の平均と分散に基づく方法や、特徴毎の1周期の波形モデルからの外れ回数に基づく方法では、規則正しいオペレーションの設備以外には適用困難である。また、センサを１個ずつ除いて最も評価値が上がるものを除く方法は、計算時間が長くなる。
【０００９】
特許文献２に記載の方法は、顕著な異常に隠れた潜在的な異常を発見するという効果は得られるが、感度を阻害するセンサを除外するという観点では不十分である。なぜならば、顕著な異常がなくても、正常データのばらつきが大きくかつ他のセンサと無相関であるためにしきい値が高くなり、異常検知感度が低下する場合があるからである。
【００１０】
そこで、本発明の目的は、上記課題を解決し、多次元時系列センサ信号を用いた正常モデルに基づく異常検知において、しきい値を低く抑えて高感度に異常予兆を検知するために、感度を阻害するセンサを簡便な方法で適切に除外する方法および装置を提供することにある。
【課題を解決するための手段】
【００１１】
開示する異常検知方法は、異常検知装置が、センサ信号を入力し、除外するセンサ信号の指定に応じて、指定されたセンサ信号を除くセンサ信号から所定時間毎に特徴ベクトルを抽出し、指定された学習期間の特徴ベクトルを学習データとして所定時間毎の異常測度を算出し、学習期間の異常測度に基づいてしきい値を算出し、異常測度としきい値との比較結果に基づいて、所定時間毎のセンサ信号が異常か正常かを判定し、除外するセンサ信号は、（１）学習期間の異常測度を算出する過程で、所定時間毎に算出される残差、（２）指定された評価期間のセンサ信号の二次元の分布密度に基づいて算出される評価値、および（３）センサ毎に算出される、センサ信号が正常分布から離れているか否かを表す指標である孤立度のいずれか一つに基づいて指定される。
【発明の効果】
【００１２】
開示する異常検知方法によれば、しきい値を低く抑えて高感度に異常予兆を検知するために、感度を阻害するセンサを簡便な方法で除外できる。
【図面の簡単な説明】
【００１３】
【図１】異常検知装置の一構成例である。
【図２】センサ信号をリスト化し、表形式に表した例である。
【図３】学習時の処理のフロー図である。
【図４】学習データの異常測度算出処理のフロー図である。
【図５】局所部分空間法を説明する図である。
【図６】異常検知時の処理のフロー図である。
【図７】レシピ設定のためのＧＵＩの１例である。
【図８Ａ】結果表示画面の例である。
【図８Ｂ】結果拡大表示画面の例である。
【図８Ｃ】センサ選択詳細表示画面の例である。
【図９】表示対象を指定するためのＧＵＩの例である。
【図１０】結果表示画面に含まれる期間表示ウィンドウの表示例である。
【図１１】実施例２の異常検知装置の一構成例である。
【図１２】オフライン解析の処理のフロー図である。
【図１３】二次元の分布密度を算出する処理のフロー図である。
【図１４】分布密度画像の例である。
【図１５】センサ毎の、所定時間毎の孤立度を算出する処理のフロー図である。
【図１６Ａ】自動センサ除外の例である。
【図１６Ｂ】自動センサ除外の例である。
【図１７】オフライン異常診断処理のパラメータ設定のためのＧＵＩの例である。
【図１８】実施例３のオフライン解析の処理のフロー図である。
【図１９】離散性評価値の異なる分布密度画像の例である。
【図２０】対角性評価値の異なる分布密度画像の例である。
【発明を実施するための形態】
【実施例１】
【００１４】
図１は、異常検知装置の一構成例である。異常検知装置は、設備１０１に装着されたセンサから出力されるセンサ信号１０２を、所定時間ごとに（周期的に）入力し、蓄積するセンサ信号蓄積部１０３、センサ信号蓄積部１０３または設備１０１からセンサ信号１０２を入力するセンサ信号入力部１０４、指定されたセンサを除外するセンサ選択部１０５、選択されたセンサ信号１０２をもとに特徴ベクトルを抽出する特徴ベクトル抽出部１０６、予め指定された学習期間の特徴ベクトルを用いて所定時間毎（以下、各時刻と表現する場合もある。）の特徴ベクトル毎に残差ベクトルと異常測度を算出する異常測度算出部１０７、学習データの異常測度に基づいてしきい値を算出するしきい値算出部１０８、及び、各特徴ベクトルの異常測度と算出されたしきい値との比較により異常を検出する異常検出部１０９を備える。
【００１５】
異常検知装置の動作には、蓄積されたデータを用いて学習データの生成、保存を行う「学習」と、入力信号に基づき異常を検知する「異常検知」の二つのフェーズがある。基本的に前者はオフラインの処理、後者はオンラインの処理である。ただし、後者をオフラインの処理とすることも可能である。以下の説明では、それらを学習時、異常検知時という言葉で区別する。
【００１６】
異常検知の対象とする設備１０１は、例えばガスタービンや蒸気タービンなどの設備やプラントである。設備１０１は、その状態を表すセンサ信号１０２を出力する。センサ信号１０２はセンサ信号蓄積部１０３に蓄積される。
【００１７】
図２は、センサ信号１０２をリスト化して表形式に表した例である。センサ信号１０２は所定間隔毎に取得される多次元時系列信号であり、それをリスト化した表は、図２に示すように、日時２０１と設備１０１に設けられた複数のセンサのセンサ値２０２の対応表になる。センサは、数百から数千といった数になる場合もあり、それらの種類によって、例えば、シリンダ、オイル、冷却水などの温度、オイルや冷却水の圧力、軸の回転速度、室温、運転時間などをセンサ値として出力する。センサ値は、設備やプラントなどの出力や状態を表すのみならず、何かの状態をある値（たとえば目標値）に制御するための制御信号の場合もある。
【００１８】
学習時は、センサ信号蓄積部１０３に蓄積されたセンサ値のうち指定された期間（学習期間）のセンサ値を用いて、ユーザに選択された種類のセンサのセンサ信号をもとに特徴ベクトルを抽出する。学習期間として、設備が正常な状態であった期間を指定するものとする。ここで抽出された特徴ベクトルを表すデータを学習データと呼ぶ。学習データの残差ベクトルおよび異常測度を交差検証により算出し、その結果に基づきさらに除外するセンサを決定し、異常判定のしきい値を算出することを予め指定した回数繰り返す。繰り返し回数は、１回でもよい。異常検知時は、繰り返しにより得られた複数の学習結果の中から１つを選択し、そのときの選択センサ（除外されないセンサであり、センサ選択情報として保存される）としきい値を用いて、時刻毎に異常判定を行う。なお、センサを除外することは、除外するセンサのセンサ値を除外することに等価である。
【００１９】
図３は、異常検知装置の学習時の処理のフロー図である。センサ信号入力部１０４は、センサ信号蓄積部１０３から学習期間として指定された期間のセンサ信号１０２を入力し（Ｓ３０１）、センサ信号毎に正準化する（Ｓ３０２）。センサ選択部１０４は、除外するセンサ（以下、除外センサ）を指定する（Ｓ３０３）。異常検知装置は、ステップＳ３０５からＳ３１０までの処理を予め指定されたＮ回繰り返す（Ｓ３０４）。
【００２０】
繰り返し処理の中で、センサ選択部１０４が、指定されたセンサを除外し（Ｓ３０５）、特徴ベクトル抽出部１０５が、特徴ベクトルを抽出する（Ｓ３０６）。異常測度算出部１０７は、抽出した特徴ベクトルの基準ベクトル、残差ベクトルおよび異常測度を算出する（Ｓ３０７）。しきい値算出部１０８は、異常測度に基づいてしきい値を算出する（Ｓ３０８）。センサ選択部１０４は、対象の全センサについて残差累積を算出し（Ｓ３０９）、残差累積が最大となるセンサを除外センサに追加指定する（Ｓ３１０）。
【００２１】
各ステップについて詳細に説明する。センサ信号入力部１０４は、ステップＳ３０２において、各センサ信号の正準化を行う。例えば、各センサ信号の、指定された期間の平均と標準偏差を用いて、平均が０、分散が１となるように各センサ信号を変換する。異常検知時に同じ変換ができるように、各センサ信号の平均と標準偏差を記憶しておく。または、各センサ信号の、指定された期間の最大値と最小値を用いて、最大が１、最小が０となるように各センサ信号を変換する。または、最大値と最小値の代わりに予め設定した上限値と下限値を用いてもよい。センサ選択部１０４は、異常検知時に同様の変換ができるように、各センサ信号の最大値と最小値または上限値と下限値を記憶しておく。センサ信号の正準化は、単位およびスケールの異なるセンサ信号を同様に扱うためである。
【００２２】
センサ選択部１０４は、ステップＳ３０３において、初回の除外センサの指定を行う。最低限の処理として、分散が非常に小さいほぼ一定値とみなせるセンサ信号および単調増加するセンサ信号を除外センサに指定する。この指定はセンサ信号の解析により自動で行うことが可能である。また、長期変動が大きい特徴を除いてもよい。長期変動が大きい特徴を用いることは正常状態の状態数を多くすることにつながり、学習データの不足を引き起こすためである。例えば、長期変動の１周期期間毎の平均と分散を算出し、それらのばらつきによって長期変動の大きさを推定できる。このほか、ユーザが指定するようにしてもよい。
【００２３】
特徴ベクトル抽出部１０５は、ステップＳ３０６において、センサ選択部１０４によりステップＳ３０５で除外されなかった選択センサのセンサ信号を用いて、時刻毎に特徴ベクトル抽出を行う。センサ信号を正準化したものをそのまま並べることが考えられるが、ある時刻に対して±1,±2,…のウィンドウを設け，ウィンドウ幅（3,5,…）×センサ数の特徴ベクトルにより、センサ信号の時間変化を表す特徴を抽出することもできる。また、離散ウェーブレット変換(DWT: Discrete Wavelet Transform)を施して、周波数成分に分解してもよい。
【００２４】
図４は、異常測度算出部１０７の学習データの異常測度算出処理（ステップＳ３０７）のフロー図である。抽出された特徴ベクトルを、複数区間に分ける（Ｓ４０１）。抽出した全特徴ベクトルについて、以下の処理を繰り返す（Ｓ４０２）。異常測度算出部１０７は、複数区間に対応して順次選んだ特徴ベクトルである注目ベクトルと、注目ベクトルと同じ区間を除く学習データを用いて、基準ベクトルを作成する（Ｓ４０３）。異常測度算出部１０７は、注目ベクトルと基準ベクトルとの差を残差ベクトルとする（Ｓ４０４）。注目ベクトルから基準ベクトルへの距離すなわち残差ベクトルのノルムに基づいて異常測度を算出する（Ｓ４０５）。
【００２５】
異常測度算出方法として、局所部分空間法(LSC: Local Sub-space Classifier)や投影距離法(PDM: Projection Distance Method)を用いる。
【００２６】
局所部分空間法は、注目ベクトルqのk個の近傍ベクトルが張るｋ−１次元のアフィン部分空間への投影距離を測る方法である。図５は、ｋ＝３の場合の例である。図５に示すように、注目ベクトルqに最も近いアフィン部分空間上の点Ｘｂが基準ベクトルとなる。具体的には評価データqとそのk-近傍ベクトルxi( i = 1,…,k )から算出することができる、qをk個並べた行列Qとxiを並べた行列Xから
【００２７】
【数１】
0005849167.tif 000002
【００２８】
により相関行列Cを求め、
【００２９】
【数２】
0005849167.tif 000003
【００３０】
によりbを計算する。ｂは、xiの重み付けを表す係数ベクトルである。
【００３１】
残差ベクトルはｑ−Ｘｂ、異常測度ｄは残差ベクトルのノルムまたはその２乗により算出される。
【００３２】
なお、図５ではｋ＝３の場合を説明したが、特徴ベクトルの次元数より十分小さければいくつでもよい。ｋ＝１の場合は、最近傍法と等価の処理になる。
【００３３】
投影距離法は、選択された特徴ベクトルに対し独自の原点をもつ部分空間すなわちアフィン部分空間（分散最大の空間）を作成する方法である。なんらかの方法で注目ベクトルに対応する複数の特徴ベクトルを選択し、以下の方法でアフィン部分空間を算出する。まず、選択された特徴ベクトルの平均μと共分散行列Σ を求め、次にΣの固有値問題を解いて、値の大きい方から予め指定したr個の固有値に対応する固有ベクトルを並べた行列Ｕをアフィン部分空間の正規直交基底とする。ｒは特徴ベクトルの次元より小さくかつ選択データ数より小さい数とする。またはｒを固定した数とせず、固有値の大きい方から累積した寄与率が予め指定した割合を超えたときの値としてもよい。注目ベクトルから最も近いアフィン部分空間上の点が基準ベクトルとなる。また、注目ベクトルから基準ベクトルを引いたものが残差ベクトルとなり、残差ベクトルのノルムまたはノルムの２乗が異常測度となる。ここで、複数の特徴ベクトルの選択方法としては、予め指定した数十から数百の数の特徴ベクトルを注目ベクトルから近い順に選択する方法がある。また、学習対象の特徴ベクトルを予めクラスタリングしておき、注目ベクトルに最も近いクラスタに含まれる特徴ベクトルを選択するようにしてもよい。また、注目ベクトルqのk-近傍ベクトルの平均ベクトルまでの距離を異常測度とする局所平均距離法や、ガウシアンプロセスなどを用いてもよい。
【００３４】
しきい値算出部１０８は、ステップＳ３０８において、しきい値を算出する。例えば、異常測度最大値をしきい値とする。または、全特徴ベクトルの異常測度を昇順にソートし、予め指定した１に近い比率に到達する値をしきい値とする。または、この値（予め指定した１に近い比率に到達する値）にオフセットを加える、定数倍するなどの処理によりしきい値を算出することも可能である。このように、しきい値を算出しておくことにより、高いしきい値（感度を鈍らせるしきい値）の原因となるセンサを除外できる。
【００３５】
センサ選択部１０４は、ステップＳ３０９において、各センサの残差累積を算出する。特徴ベクトル抽出時にセンサ信号を正準化したものをそのまま並べた場合は、残差ベクトルの各センサに対応する成分またはその２乗を学習期間全てに渡って時刻方向に累積する。ウィンドウを設けて特徴ベクトルを抽出した場合は、まず各残差ベクトルの各センサに対応するウィンドウ幅分の成分の２乗を加算したものを、時刻方向に累積する。周波数成分に分解した場合は、各センサについて全周波数に対応する成分の２乗を加算したものを、時刻方向に累積する。または、各センサ各周波数について残差累積を算出してもよい。この場合は、除外の指定はあるセンサのある周波数という形で行う。
【００３６】
センサ選択部１０４によるステップＳ３０９の処理の変形例を説明する。図示はしていないが、学習期間を例えば１日単位などの複数の区間に分割しておき、異常測度が最大値となる区間を求め、その区間の各センサ信号の残差を時刻方向に累積する。この方法によれば、しきい値が高くなる原因となるセンサを高い確度で見つけることができる。
【００３７】
センサ選択部１０４は、ステップＳ３１０において、ステップＳ３０９で算出した残差累積が最大となるセンサを求め、そのセンサを除外センサとして指定する。繰り返し処理のそれ以前の回で除外していたセンサはそのまま除外とするため、追加指定となる。
【００３８】
ここで、図示はしていないが、学習結果を繰り返し毎に昇順の処理番号と対応付けて保存しておく。学習結果には、少なくとも特徴ベクトル抽出のためのパラメータ、異常測度算出のためのパラメータ、センサ正準化のためのパラメータ、センサ選択情報、抽出した全特徴ベクトルデータおよび異常判定のしきい値が含まれる。特徴ベクトル抽出のためのパラメータおよび異常測度算出のためのパラメータは、学習時と共通かつ繰り返し処理の全ての回に共通である。センサ正準化のためのパラメータは、センサ信号入力部１０４がステップＳ３０２の処理で算出した各センサ信号の平均、標準偏差、最大値、最小値などであり、繰り返し処理の全ての回に共通である。
【００３９】
図６は、異常検知時の処理のフロー図である。異常検知時は、センサ信号蓄積部１０３に蓄積されたデータのうち指定された期間のデータまたは新たに観測されたデータの異常測度を算出し、正常か異常かの判定を行う。
【００４０】
異常検知装置は、学習時に保存した学習結果を読み出す（Ｓ６０１）。その際、学習時の異常測度やしきい値に基づいて、ユーザが適切な処理番号を選択し、処理番号に対応付けられた学習結果を用いる。センサ信号入力部１０４は、センサ信号蓄積部１０３または設備１０１からセンサ信号１０２を入力し（Ｓ６０２）、センサ信号毎に正準化する（Ｓ６０３）。このとき、ステップＳ３０２の正準化の処理に用いたパラメータを用いる。次に、センサ選択部１０５は、学習時に保存したセンサ選択情報を用いて使用するセンサを選択する（Ｓ６０４）。次に、特徴ベクトル抽出部１０５は、選択したセンサ信号から、テップＳ３０５の処理と同じ方法で特徴ベクトルの抽出を行う（Ｓ６０５）。次に、全特徴ベクトルについてステップＳ６０７からＳ６１０までの処理を、学習時と同じ方法で行う（Ｓ６０６）。異常測度算出部１０７は、注目ベクトルと学習データを用いて、基準ベクトルを作成する（Ｓ６０７）。異常測度算出部１０７は、注目ベクトルと基準ベクトルとの差から残差ベクトルを算出する（Ｓ６０８）。異常測度算出部１０７は、注目ベクトルから基準ベクトルへの距離すなわち残差ベクトルのノルムに基づいて異常測度を算出する（Ｓ６０９）異常検出部１０９は、学習時に算出したしきい値と異常測度とを比較して、異常測度がしきい値より大きければ異常、そうでなければ正常と判定する（Ｓ６１０）。
【００４１】
以上の方法を実現する異常検知装置のＧＵＩを説明する。図７は、学習期間および処理パラメータ設定のためのＧＵＩの例である。以下の説明ではこの設定のことを、単にレシピ設定と呼ぶことにする。また、過去のセンサ信号１０２は設備ＩＤおよび時刻と対応付けられてデータベースに保存されているものとする。
【００４２】
レシピ設定画面７０１では、対象設備、学習期間、初回使用センサ、異常測度算出パラメータ、しきい値設定パラメータ、およびセンサ自動除外パラメータを入力する。設備ＩＤ入力ウィンドウ７０２には、対象とする設備のＩＤを入力する。設備リスト表示ボタン７０３押下により図示はしていないがデータベースに保存されている装置ＩＤのリストが表示されるので、リストから選択入力する。
【００４３】
学習期間入力ウィンドウ７０４には、学習データを抽出したい期間の開始日と終了日を入力する。センサ選択ウィンドウ７０５には、初回に使用するセンサを入力する。リスト表示ボタン７０６のクリックによりセンサリスト７０７が表示されるので、リストから選択入力する。リストから複数選択することも可能である。除外するセンサを指定するようにしてもよい。これは、ステップＳ３０３の初回の除外センサの指定のユーザによる指定に対応する。
【００４４】
異常測度算出パラメータ入力ウィンドウ７０８には、異常測度算出において使用するパラメータを入力する。図は手法として局所部分空間を採用した場合の例であり、近傍ベクトル数と正則化パラメータを入力する。正則化パラメータは、（２）式において相関行列Cの逆行列が求められないことを防ぐため、対角成分に加算する小さい数である。
【００４５】
しきい値設定パラメータ入力ウィンドウ７０９には、しきい値設定処理において使用するパラメータを入力する。図は、累積ヒストグラムに適用する比率の例である。ここには０以上１以下の実数を入力する。１の場合、ステップＳ３０８において異常測度最大値をしきい値とする。１未満の場合、変形例として説明したように、除外候補区間を除く学習期間の全特徴ベクトルの異常測度を昇順にソートし、ここで指定した比率に達する値をしきい値とする。
【００４６】
センサ自動除外パラメータ入力ウィンドウ７１０には、ステップＳ３０４の繰り返し回数ＮとステップＳ３０９における残差累積算出の範囲を入力する。残差累積算出の範囲はラジオボタンにより一つを選択入力可能とする。レシピ名入力ウィンドウ７１１には、入力された情報に対応付けるユニークな名前（レシピ名）を入力する。
【００４７】
以上の情報を入力したらテスト期間入力ウィンドウ７１２にテスト対象期間を入力する。ここは空欄にしてもよい。その場合は学習のみ行う。処理番号選択ウィンドウ７１３には、１から繰り返し回数までの数値を選択入力する。以上の情報を入力後、テストボタン７１４の押下により、レシピのテストを行う。
【００４８】
この操作により、繰り返し毎の処理番号が採番される。装置ＩＤ情報、学習期間、特徴ベクトル抽出に用いるパラメータ、異常測度算出に用いるパラメータをレシピ名およびこの処理番号と対応付けて保存しておく。まず、図３に示す処理フローに従って学習を実行する。次に、ステップＳ３０２の正準化においては、指定した学習期間の全センサ信号を用いて平均と標準偏差を求める。この平均と標準偏差の値は、センサ毎にレシピ名およびテスト番号に対応付けて保存しておく。ステップＳ３０４における区間の分割は例えば１日毎とし分割番号を日付に対応付けて保存しておく。ステップＳ３０５からＳ３１０までの処理は、Ｎ回繰り返される。ステップＳ３０３およびステップＳ３１０で指定された除外センサの番号をセンサ選択情報として処理番号と併せて保存しておく。また、ステップＳ３０６において抽出された学習期間の全特徴ベクトルデータ、ステップ３０７において算出された基準ベクトル、残差ベクトル、異常測度、およびステップＳ３０８で算出されたしきい値も処理番号と併せて保存しておく。さらに、図３には示されていないが、表示のため、異常測度としきい値を用いて全学習期間の異常判定を行い、結果を保存しておく。次に、テスト期間のセンサ信号１０２を用いて、学習時の処理番号に対応させて、図６に示す異常検知の処理を行い、特徴ベクトル、基準ベクトル、残差ベクトル、異常測度および判定結果を処理番号と併せて保存する。
【００４９】
レシピテスト終了後、テストの結果がユーザに示される。そのためのＧＵＩの例を図８Ａ、図８Ｂおよび図８Ｃに示す。ユーザが、各画面の上部に表示されたタブを選択することにより、結果表示画面（図面中、全体表示）８０１、結果拡大表示画面（図面中、拡大表示）８０２及びセンサ選択詳細表示画面８０３を切り換える。
【００５０】
図８Ａは、結果表示画面８０１である。結果表示画面８０１には、指定された期間の、異常測度、しきい値、および判定結果、並びにセンサ信号の時系列グラフを表示される。期間表示ウィンドウ８０４には、指定された学習期間およびテスト期間が表示される。処理番号表示ウィンドウ８０５には、表示中のデータの処理番号を表示する。最初は、処理番号選択ウィンドウ７１３で選択された処理番号が表示され、処理番号は、カーソルで切り換えられる。異常測度表示ウィンドウ８０６には、指定された学習期間、テスト期間、処理番号の異常測度、しきい値及び判定結果が表示される。また、学習に使用した区間に丸印が表示される。センサ信号表示ウィンドウ８０７には、指定された学習期間７０４およびテスト期間７１２の指定されたセンサの時系列グラフが表示される。センサの指定は、センサ名選択ウィンドウ８０８への、ユーザによる入力によって行う。ただし、ユーザが指定する前は、先頭のセンサが選択されている。センサステータス表示ウィンドウ８０９には、センサ選択情報が表示される。表示中の処理番号において異常測度算出に使用した場合は「使用」、それ以外は「除外１」「除外２」のように、「除外」に繰り返し処理の何回目で除外追加指定されたかを表す数字を付加して表示される。「除外１」はセンサ名選択ウィンドウ８０８で選択されていないセンサについて表示される。これは、１個のセンサについて表示される場合、複数個の場合、１個もない場合がある。また、処理番号１を表示しているときは、「除外２」「除外３」「除外４」に対応するセンサは「使用」と表示される。カーソル８１０は、拡大表示の時の起点を表し、ユーザのマウス操作により移動できる。表示日数指定ウィンドウ８１１には、この画面では使用しないが、結果拡大表示画面８０２での、拡大表示の起点から終点までの日数が表示される。この画面で入力することもできる。日付表示ウィンドウ８１２には、カーソル位置の日付が、表示される。終了ボタン８１３のユーザによる押下により、結果表示画面８０１、結果拡大表示画面８０２、およびセンサ選択詳細表示画面８０３のいずれもが消去され、テスト結果の表示が終了する。
【００５１】
図８Ｂは、結果拡大表示画面８０２である。結果拡大表示画面８０２には、結果表示画面８０１において、カーソル８１０で示された日付を起点として、指定された日数８１１の、異常測度、しきい値、判定結果、およびセンサ信号の時系列グラフを表示される。期期間表示ウィンドウ８０４には、結果表示画面８０１と同じ情報が表示される。異常測度表示ウィンドウ８０６およびセンサ信号表示ウィンドウ８０７には、結果表示画面８０１と同様の情報が、拡大表示される。センサ名選択ウィンドウ８０８へのユーザによる入力により、時系列グラフを表示するセンサ信号を切り換える。センサステータス表示ウィンドウ８０９には、結果表示画面８０１と同様にセンサ選択情報が表示される。表示日数指定ウィンドウ８１１で、拡大表示の起点から終点までの日数を指定する。日付表示ウィンドウ８１２には、拡大表示の起点の日付が表示されている。スクロールバー８１４の操作により、表示の起点を変更することも可能であり、この変更はカーソル８１０の位置と日付表示ウィンドウ８１２の表示に反映される。スクロールバー表示領域８１５の全体の長さは結果表示画面８０１に表示されている期間に相当する。また、スクロールバー８１５の長さは表示日数指定ウィンドウ８１１で指定された日数に相当し、スクロールバー８１４の左端部が拡大表示の起点に対応する。終了ボタン８１３のユーザによる押下により、テスト結果の表示が終了する。
【００５２】
図８Ｃは、センサ選択詳細表示画面８０３の例である。センサ選択詳細表示画面８０３には、しきい値およびセンサ選択情報が処理番号に対応させて表示される。期間表示ウィンドウ８０４には、指定された学習期間７０４およびテスト期間７１２が表示される。パラメータ表示ウィンドウ８１６には、センサ自動除外のためのパラメータとして、センサ自動除外パラメータ入力ウィンドウ７１０で選択された残差累積範囲が表示される。センサ選択情報表示ウィンドウ８１７は、処理番号欄８１８、しきい値欄８１９およびセンサ選択情報欄８２０を有する。処理番号欄８１８には処理番号が表示され、しきい値欄８１９には、算出されたしきい値が表示される。センサ選択情報欄８２０には、各処理番号について、除外されたセンサ番号の欄にバツ印（×）が表示される。センサリスト表示ウィンドウ８２１にはセンサ名の一覧が表示される。この番号欄はセンサ選択情報欄８２０のセンサ番号と対応している。処理番号選択ウィンドウ８２２には、結果表示画面８０１または結果拡大表示画面８０２において、処理番号表示ウィンドウ８０５で入力された処理番号が表示される。このウィンドウ８２２でも処理番号を切り換えることができ、切り換えの結果は、結果表示画面８０１または結果拡大表示画面８０２に反映される。ユーザは、終了ボタン８１３押下前に、学習結果として採用したい処理番号をいずれかの場面で選んでおくとよい。終了ボタン８１３のユーザによる押下により、テスト結果の表示が終了する。
【００５３】
図８Ａ〜Ｃに示すいずれかの画面で、終了ボタン８１３押下により異常検出結果およびセンサ選択結果のユーザによる確認が終了したら、図７に示すレシピ設定画面７０１の表示に戻る。処理番号選択ウィンドウ７１３には、処理番号選択ウィンドウ８２２で選択された番号が表示されている。表示ボタン７１５の押下により、ユーザは、一度確認したテストの結果を再度確認することもできる。この操作により、レシピ名に対応付けて保存された情報をロードし、結果表示画面８０１が表示される。タブの切り替えにより結果拡大表示画面８０２またはセンサ選択詳細表示画面８０３を表示させることもできる。確認が済んだら終了ボタン８１３押下により、レシピ設定画面７０１の表示に戻る。
【００５４】
登録ボタン７１６の押下により、上記レシピ名７１１と各処理番号に対応付けて保存されている情報と選択された処理番号８０５または８２２をレシピ名７１１と対応付けて登録し、終了する。キャンセルボタン７１７が押下された場合は、何も保存しないで終了する。
【００５５】
登録されたレシピは、活性か不活性かのラベルをつけて管理され、新しく観測されたデータに対しては、装置ＩＤが一致する活性なレシピの選択された処理番号の情報を用いて図７を用いて説明した特徴ベクトル抽出から異常検出までの処理を行い、結果をレシピ名と対応付けて保存しておく。または、処理番号を一つ選択するのではなく、活性か不活性かのラベルを各レシピの処理番号毎につけて管理してもよい。その場合は、新しく観測されたデータに対しては、装置ＩＤが一致する活性なレシピの活性な処理番号の情報を用いて図７を用いて説明した特徴ベクトル抽出から異常検出までの処理を行い、結果をレシピ名および処理番号と対応付けて保存しておく。
【００５６】
以上の異常検知処理の結果をユーザに示すためのＧＵＩの例を、図９に示す。図９は、表示対象を指定するＧＵＩの例である。ユーザは、表示対象指定画面９０１から表示対象の設備、レシピおよび期間を指定する。始めに、ユーザは装置ＩＤ選択ウィンドウ９０２により設備ＩＤを選択する。次に、ユーザはレシピ名選択ウィンドウ９０３により、設備ＩＤ９０２を対象としたレシピのリストから表示対象のレシピを選択する。データ記録期間表示部９０４には、入力されたレシピを用いて処理され、記録が残されている期間の開始日と終了日が表示される。結果表示期間指定ウィンドウ９０５には、ユーザが結果を表示したい期間の開始日と終了日を入力する。表示センサ指定ウィンドウ９０６には、ユーザが表示したいセンサの名を入力する。表示ボタン９０７のユーザによる押下により、図８Ａに示す結果表示画面８０１が表示される。終了ボタン８１３のユーザによる押下により、表示対象を指定する処理を終了する。
【００５７】
結果表示にかかわるＧＵＩの画面および操作は、図８Ａおよび図８Ｂに示すテスト結果表示にかかわるＧＵＩとほぼ同じであるため、異なる部分を説明する。結果表示画面８０１および結果拡大表示画面８０２における期間表示ウィンドウ８０４には、図１０に示すように結果表示期間指定ウィンドウ９０５で指定された表示期間が表示される。結果表示画面８０１において、異常測度表示ウィンドウ８０６には、指定された表示期間の異常測度としきい値と判定結果が表示される。センサ信号表示ウィンドウ８０７には、指定された期間の、表示センサ指定ウィンドウ９０６により指定されたセンサの出力値が表示される。表示対象センサは、センサ名選択ウィンドウ８０８への入力によって変更される。新しく観測されたデータの結果表示の時には、センサ選択表示画面８０３は表示されない。
【００５８】
上記実施例は、学習データ設定をオフライン、異常検知処理をリアルタイム、結果表示をオフラインでそれぞれ処理するものであるが、結果表示もリアルタイムに行うことが可能である。その場合、表示期間の長さ、表示対象とするレシピ、表示対象とする情報を予め定めておき、所定時間毎に最新の情報を表示するよう構成すればよい。
【００５９】
上記実施例によれば、学習期間の異常測度が大きくなる要因となるセンサを除外することによりしきい値を低下させることが可能であり、したがって、高感度すなわち早期の予兆検知を実現できる。
【実施例２】
【００６０】
本実施例では、オフラインで学習と異常検知を行うオフライン解析機能について説明する。学習と異常検知の処理をオフラインで実施するように構成するのに加え、評価期間から得られる情報を併せて使うことにより、他の基準で除外センサを指定することができる。
【００６１】
図１１は、本実施例の異常検知装置の一構成例である。異常検知装置は、設備１０１から出力されるセンサ信号１０２を蓄積するセンサ信号蓄積部１０３、センサ信号蓄積部１０３からセンサ信号１０２を入力するセンサ信号入力部１０４、指定されたセンサを除外するセンサ選択部１０５、選択されたセンサ信号１０２をもとに特徴ベクトルを抽出する特徴ベクトル抽出部１０６、予め指定された学習期間の特徴ベクトルを用いて各時刻の特徴ベクトル毎に残差ベクトルと異常測度を算出する異常測度算出部１０７、学習データの異常測度に基づいてしきい値を算出するしきい値算出部１０８、各特徴ベクトルの異常測度と算出されたしきい値との比較により異常を検出する異常検出部１０９、学習期間のセンサ信号の二次元の分布密度を算出する分布密度算出部１１０１、および、評価期間の各時刻について、センサ信号が正常分布から離れているか否かを表す指標である孤立度をセンサ毎に算出する孤立度算出部１１０２を備える。
【００６２】
異常検知装置は、蓄積されたデータから指定された学習期間のデータを用いて「学習」を行い、学習期間および別途指定された評価期間のデータを用いて「異常検知」を行う。「学習」と「異常検知」のフェーズに分かれておらず、評価期間のデータから得られる情報も利用してセンサ選択部１０５における除外センサ指定を行う点が、実施例１とは異なる。分布密度算出部１１０１および孤立度算出部１１０２は、除外センサ指定の基準となる指標を算出するための処理を実行する。
【００６３】
図１２は、異常検知装置のオフライン解析処理のフロー図である。センサ信号入力部１０４は、センサ信号蓄積部１０３から指定された学習期間および評価期間のセンサ信号１０２を入力し（Ｓ１１０１）、学習期間のデータに基づいてセンサ信号毎に正準化する（Ｓ１２０２）。分布密度算出部１１０１は、学習期間のセンサ信号の二次元の分布密度を算出する（Ｓ１２０３）。センサ選択部１０４は、除外するセンサ（除外センサ）を指定する（Ｓ１２０４）。異常検知装置は、ステップＳ１２０６からＳ１２１２までの処理を予め指定されたＮ回繰り返す（Ｓ１２０５）。
【００６４】
繰り返し処理の中では、センサ選択部１０４が、指定されたセンサを除外し（Ｓ１２０６）、特徴ベクトル抽出部１０５が、特徴ベクトルを抽出する（Ｓ１２０７）。異常測度算出部１０７は、抽出した特徴ベクトルの基準ベクトルおよび残差ベクトルおよび異常測度を算出する（Ｓ１２０８）。しきい値算出部１０８は、異常測度に基づいてしきい値を算出する（Ｓ１２０９）。異常検出部１０９は、各特徴ベクトルの異常測度をしきい値と比較して正常か異常かを判定する（Ｓ１２１０）。孤立度算出部１１０２は、センサ毎に孤立度を算出する（Ｓ１２１１）。一方、センサ選択部１０４は、各センサについて指定区間の残差累積を算出する（Ｓ１２１２）。センサ選択部１０４は、残差累積または孤立度に基づいて除外するセンサを追加指定する（Ｓ１２１３）。
【００６５】
以上説明した各ステップについて実施例１と異なる部分を詳細に説明する。ステップＳ１１０１とＳ１１０２はステップＳ３０１とＳ３０２、ステップＳ１２０４からＳ１２０９まではステップＳ３０３からＳ３０８まで、ステップＳ１２１０はステップＳ６１０と同様の処理であるので、他のステップについて説明する。
【００６６】
図１３は、分布密度算出部１０９による二次元の分布密度を算出する処理（ステップＳ１２０３）のフロー図である。
【００６７】
分布密度算出部１０９は、学習期間のセンサ信号を入力する（Ｓ１３０１）。各センサについて、ステップ１３０３からＳ１３０６の処理を実行する（Ｓ１３０２）。分布密度算出部１０９は、学習期間のデータ（センサ信号）の最大値（ＭＡＸ）と最小値（ＭＩＮ）を求める（Ｓ１３０３）。分布密度算出部１０９は、最小値から最大値を指定された数Ｎで分割する際の刻み幅Ｓを算出する（Ｓ１３０４）。Ｓ＝（ＭＡＸ−ＭＩＮ）／Ｎで計算できる。分布密度算出部１０９は、最小値と最大値から外側に範囲を広げて分布密度算出の処理範囲を算出する（Ｓ１３０５）。広げる範囲は、例えばＭＩＮをＭＩＮ−Ｓ×Ｍ、ＭＡＸをＭＡＸ＋Ｓ×Ｍに変更する。ここでＭは予め決められた１以上の整数とする。分布密度算出部１０９は、学習期間の全データについて、特徴値（Ｆ）からビン番号（ＢＮＯ）を次式で算出する（Ｓ１３０６）。
【００６８】
ＢＮＯ＝ＩＮＴ（（Ｆ−ＭＩＮ）／（ＭＡＸ−ＭＩＮ））
ただしＩＮＴ（Ｘ）はＸの整数部を表す。
【００６９】
分布密度算出部１０９は、センサ２個の総当りで、ステップＳ１３０７からＳ１３１０までの処理を実行する（Ｓ１３０７）。総当りには、２個のセンサが同じものである場合を含む。分布密度算出部１０９は、分布密度算出用の二次元配列を確保し、すべての要素に０をセットする（Ｓ１３０８）。配列のサイズはＮ＋２Ｍである。分布密度算出部１０９は、学習期間の全データについて、２個のセンサ値のビン番号に対応する配列の要素に１を加算する（Ｓ１３０９）。この処理により、センサ２個による二次元の頻度分布（ヒストグラム）が算出される。分布密度算出部１０９は、この頻度分布を画像に変換して保存する（Ｓ１３１０）。変換方法については後述する。図示はしていないが、分布密度算出部１０９は、二次元配列のサイズおよびステップＳ１３０３で算出した各センサ信号の最小値と最大値を記録しておく。
【００７０】
ステップＳ１３１０における、画像変換方法の例を説明する。分布密度算出部１０９は、配列要素の最大値、すなわち最大頻度を求める。画像サイズは、配列サイズと同じとし、各要素の値から対応する座標の画素値を、例えば２５５×配列の要素値／最大頻度とする。２５５は画素値を８ビットで表す場合の最大値であり、この値を用いれば、そのままビットマップ形式で保存できる。または、画素値を２５５×ＬＯＧ（配列の要素値＋１）／ＬＯＧ（最大頻度＋１）とする。ただしＬＯＧ（Ｘ）はＸの対数を表す。このような変換式を用いれば、最大頻度が大きい場合も非ゼロの頻度に非ゼロの画素値を対応させることが可能になる。
【００７１】
上記処理により得られた画像は、二次元の特徴空間上で密度が高いところが高い画素値で表されているため、分布密度画像と呼ぶこととする。図１４は、分布密度画像の例である。画素値の０を白、最大を黒、その間をグレーの濃淡で表したものである。ただし、画像の作り方は、上記方法に限定されない。例えば単純な頻度分布ではなく、１個のデータにガウス分布や他の重みつきフィルタを割り当て、それを重畳するようにしてもよい。または、上記方法で得られた画像に所定サイズの最大値フィルタをかけたり、平均フィルタ、その他の重みつきフィルタをかけたりしてもよい。また必ずしも画像形式で保存する必要はなく二次元配列をテキスト形式で保存してもよい。
【００７２】
ステップＳ１２１１では、上記処理で算出された分布密度画像を用いて、孤立度算出部１１０２が、センサ毎、時刻毎に孤立度を算出する。図１５は、孤立度算出部１１０２によるセンサ毎の、所定時間毎の孤立度を算出する処理（ステップＳ１２１１）のフロー図である。
【００７３】
孤立度算出部１１０２は、評価期間のセンサ信号１０２を入力し（Ｓ１５０１）、時刻毎に以下の処理を行う（Ｓ１５０２）。孤立度算出部１１０２は、ステップＳ１３０６と同様の方法で、各センサ値に対応するビン番号を算出する（Ｓ１５０３）。孤立度算出部１１０２は、各センサの孤立度を初期化、すなわち０を入力しておく（Ｓ１５０４）。以下の処理は、センサ２個の総当りの処理とする（Ｓ１５０５）。ただし、ステップＳ１２０６において除外されたセンサは、ここでも除外する。孤立度算出部１１０２は、処理中のセンサ２個に対応する分布密度画像を読み込み（Ｓ１５０６）、ステップＳ１５０３で算出したビン番号に対応する座標の画素値の読み、ゼロであれば処理中の２個のセンサの孤立度をそれぞれ１カウントアップする（Ｓ１５０７）。ただし、２個のセンサが同じセンサである場合はそのセンサに１だけカウントアップする。
【００７４】
以上の処理により、時刻毎、センサ毎に、最小０、最大がセンサ数となる孤立度が算出される。あるセンサ信号の値が学習データの存在する範囲から外れている場合は、そのセンサが関わる全ての分布密度画像で対応する画素値が０となるため、孤立度はセンサ数と等しくなる。そのとき、他のセンサは正常であっても孤立度は０にならないため、孤立度が０でないセンサが異常とはかぎらないが、孤立度が高いほど多数のセンサとの組合せで正常分布から離れているという意味であり、そのセンサが異常である可能性が高い。
【００７５】
ステップＳ１２１２では、センサ選択部１０４が、各センサの指定区間の残差または孤立度の累積を算出する。残差累積の算出には、ステップＳ３０９と同様、特徴ベクトルの抽出方法によって、残差ベクトルの各センサに対応する成分、その２乗またはそのウィンドウ幅分の加算により、センサ毎、時刻毎の残差を算出する。これを指定された区間に亘り、時刻方向に累積する。区間の指定は、前述の(a)学習期間、(b)学習期間中の異常測度最大区間のほか、(c)評価期間や(d)評価期間中の異常検出区間などである。孤立度累積の算出は、ステップＳ１２１１で算出したセンサ毎、時刻毎の孤立度を指定された区間に亘り、時刻方向に累積する。学習期間の孤立度は必ず０になるため、区間の指定は、(e)評価期間や(f)評価期間中の異常検出区間などである。したがって、累積の対象と指定期間の組み合わせで６種の累積値算出が可能である。これら全てを算出するようにしてもよいし、ステップＳ１２１３において利用するものについて算出してもよい。
【００７６】
ステップＳ１２１３では、センサ選択部１０４は、残差累積または孤立度累積に基づいて除外センサを追加指定する。除外の基準は予めユーザによって指定されたものとし、例えば以下のものから選択する。
（１）学習期間の残差累積最大
（２）学習期間中の異常測度最大区間の残差累積最大
（３）学習期間に対する評価期間の残差累積の比最大
（４）学習期間中の異常測度最大区間に対する評価期間の残差累積の比最大
（５）評価期間の残差累積最大
（６）評価期間の孤立度累積最大
（７）評価期間中の異常検出区間の残差累積最大
（８）評価期間中の異常検出区間の孤立度累積最大
上記基準はセンサ除外の目的に応じて選択する。（１）および（２）は、学習期間の異常測度が大きくなる要因となるまたはしきい値が高くなるセンサを除外することにより、しきい値を低下させる働きがある。（３）および（４）は、評価期間の異常測度も考慮することによって、ＳＮ比を向上させる働きがある。ここでＳとは異常状態の異常測度であり、Ｎとは正常状態の異常測度である。（５）から（８）は、顕著な異常に隠れた潜在的な異常を発見するため、顕著な異常に関わるセンサを除外する働きがある。これは保守や条件変更などにより状態が変化してしまったセンサの影響を取り除く場合にも有効である。
【００７７】
図１６Ａおよび図１６Ｂは、自動センサ除外の例である。いずれも一段目はセンサ自動除外前の異常検知結果、二段目は除外対象となったセンサ信号、三段目はセンサ自動除外前の異常検知結果を表す。横軸は時刻を表し、縦軸は異常測度またはセンサ信号値を表す。実線１６０１および実線１６０５は異常測度、破線１６０２および破線１６０６はしきい値、実線１６０７は異常検出結果を表す。実線１６０４は、センサ信号を表す。
【００７８】
図１６Ａは、上記（４）学習期間中の異常測度最大区間に対する評価期間の残差累積の比最大の基準により除外センサを指定した例である。センサを除外する前は、学習期間の一部に異常測度の高い時刻があるためしきい値が高く、評価期間で異常測度が上昇しているのにも関わらず異常検知がほとんどできていない。上記基準により図に示すセンサを自動的に除外することができ、しきい値が低下して多数の異常を検知できるようになった。
【００７９】
図１６Ｂは、上記（６）評価期間の孤立度累積最大の基準により除外センサを指定した例である。センサを除外する前は、異常測度がステップ状に上昇し、多数の異常を検地している。これは図に示すセンサ信号の変化によるものであるが、上記基準によりこのセンサを自動除外することにより、他の原因による異常がないかをチェックすることができる。図１６Ｂの三段目に示すように、顕著な異常に隠れた潜在的な異常を数件検出することができた。
【００８０】
以上の方法を実現する異常検知装置のＧＵＩの実施例を説明する。図１７は、オフライン異常診断処理のパラメータ設定のためのＧＵＩの例である。パラメータ設定画面１７０１では、対象装置、学習期間、初回使用センサ、異常測度算出パラメータ、しきい値設定パラメータ、センサ自動除外パラメータ、および評価期間を入力する。入力内容は実施例１とほぼ同じであるので、異なる部分を説明する。センサ自動除外パラメータ入力ウィンドウ１７１０には、ユーザが、ステップＳ１２０５の繰り返し回数ＮとステップＳ１２１３における除外センサ指定の基準を入力する。除外センサ指定の基準は、上記基準（１）から（８）のうち、ラジオボタンにより一つを選択入力可能とする。評価期間入力ウィンドウ１７１２には、ユーザが、評価期間を入力する。上記の所定の内容の入力後、実行ボタン１７１４の押下により、図１２に示すオフライン解析処理を実行する。
【００８１】
オフライン解析処理の実行終了後、結果がユーザに示される。そのためのＧＵＩは、図８Ａ、図８Ｂおよび図８Ｃとほぼ同様であるため、異なる部分を説明する。結果表示画面８０１、結果拡大表示画面８０２、およびセンサ選択詳細表示画面８０３の、期間表示ウィンドウ８０４には、指定された学習期間および評価期間が表示される。センサ選択詳細表示画面８０３のパラメータ表示ウィンドウ８１６には、センサ自動除外のためのパラメータが表示される。残差累積範囲のかわりに、センサ自動除外パラメータ入力ウィンドウ１７１０で選択されたセンサ除外基準が「基準  残差比；異常測度最大区間／評価期間」のように表示される。
【００８２】
図８Ａ〜Ｃに示すいずれかの画面で、終了ボタン８１３のユーザによる押下により画面表示が終了し、図１７に示すパラメータ設定画面１７０１の表示に戻る。表示ボタン１７１５の押下により、ユーザはレシピに対応付けられた処理結果を再度確認することもできる。登録ボタン１７１６の押下により、レシピ名と対応付けて学習結果を登録することもできる。図示はしていないが、登録済のレシピを呼び出して評価期間を指定し、異常検知を行うことも可能である。
【実施例３】
【００８３】
本実施例では、学習または異常検知を行って得られる情報を用いて除外センサを指定するのではなく、学習期間または評価期間も併せて事前に得られる情報を用いて除外センサを指定する異常検知装置について説明する。学習データ設定をオフライン、異常検知処理をオンラインの処理とすることも可能であるが、その場合は学習期間のデータを用いて除外センサの指定を行う。ここでは、両者ともオフライン処理とした場合を例として説明する。
【００８４】
図１８は、本実施例の異常検知装置のオフライン解析の処理のフロー図である。なお、異常検知装置の構成として、実施例２の構成（図１１）を用いて説明する。センサ信号入力部１０４は、センサ信号蓄積部１０３から、指定された学習期間および評価期間のセンサ信号１０２を入力し（Ｓ１８０１）、学習期間のデータに基づいてセンサ信号毎に正準化する（Ｓ１８０２）。一方、分布密度算出部１１０１は、指定された区間のセンサ信号の二次元の分布密度を算出する（Ｓ１８０３）。指定区間は、学習期間または評価期間も含めた全期間いずれかとする。センサ選択部１０４は、除外するセンサを指定する（Ｓ１８０４）。このステップＳ１８０４は、実施例１または実施例２と異なるので、後で詳細に説明する。センサ選択部１０４は、指定されたセンサを除外し（Ｓ１８０５）、特徴ベクトル抽出部１０５は、特徴ベクトルを抽出する（Ｓ１８０６）。異常測度算出部１０７は、抽出した全特徴ベクトルの基準ベクトル、残差ベクトルおよび異常測度を算出する（Ｓ１８０７）。しきい値算出部１０９は、異常測度に基づいてしきい値を算出する（Ｓ１８０８）。最後に、異常検出部１０９は、各特徴ベクトルの異常測度をしきい値と比較して、正常か異常かを判定する（Ｓ１８０９）。
【００８５】
センサ選択部１０４によるステップＳ１８０４の処理を詳細に説明する。ステップＳ１８０４では、ステップＳ１８０３においてセンサ２個の総当りで作成された分布密度画像を用いて、センサまたはセンサの組の特徴を抽出し、それに基づいて除外センサを指定する。
【００８６】
抽出する特徴の一つ目の例として離散性を説明する。離散性が高いとはセンサ信号がとびとびの値をとるという意味であり、もともとセンサが数個の値しかとれない場合と、センサ信号の変化が少なくてセンサの解像度に対して数目盛りの値しかとっていない場合がある。いずれの場合も、一目盛の差が過大に評価されて、誤報となったり、他のセンサの異常が検知されにくくなったりするため、除外することが望ましい。離散性をチェックするためには、同じセンサどうしの分布密度画像を利用する。以下の手順により、離散性が低い場合は0、その他の場合は離散値の個数をとなる離散性評価値を算出する。
（１）分布密度画像の、対角線上の０でない画素について画素数(Ｓ)、セグメント数(Ｎ)、範囲(Ｒ)を求める。
（２）Ｎ＝１かつＲ＝１ならば離散性評価値を１とする
（３）２Ｓ>ＲまたはＳ>２Ｎならば、連続値であると判断して０を離散性評価値とする。２Ｓ>Ｒは解像度の問題でとびとびである、Ｓ>２Ｎの場合はセグメントが長いと判断し、いずれも連続とみなしてよい。
（４）その他の場合Ｎを離散性評価値とする。
【００８７】
図１９は、離散性評価値の異なる分布密度画像の例である。分布密度画像の左上の数値が離散性評価値を表す。離散性評価値を用いて除外センサを指定する際には、予め０以上の整数の基準値Ｎｓｔを設定しておき、離散性評価値が０でなくかつＮｓｔ以下の場合はそのセンサを除外する。つまり、離散性がある基準より高いセンサを除外する。
【００８８】
抽出する特徴の二つ目の例として対角性を説明する。対角性が高いとは２個のセンサの二次元分布が対角線近くに集中しているという意味である。相関の高いセンサの一方を除くことにより、冗長さをなくして計算機負荷を軽減するという効果が得られる。センサｉとセンサｊの対角性評価値の算出は、以下の手順に従って行う。
（１）センサｉどうしの分布密度画像をＡとする。
（２）センサｉとセンサｊの分布密度画像をＢとする。
（３）ｓｕｍ(Ｂ−Ａ)とｓｕｍ(Ｂ)に０をセットし、以下をＴ回繰り返す。
（３−１）Ａが０かつＢが０でない画素数をｓｕｍ(Ｂ−Ａ)に加算する。
（３−２）Ｂが０でない画素数をｓｕｍ(Ｂ)に加算する。
（３−３）Ａに３×３の最大値フィルタをかけたものをＡとする。
（４）１−ｓｕｍ(Ｂ−Ａ)／ｓｕｍ(Ｂ) を対角性評価値とする。
（５）Ａを左右反転させて同様の計算を行い、大きい方の対角性評価値を採用する。
【００８９】
図２０に、対角性評価値の異なる分布密度画像の例である。図示していないが、同じセンサどうしの対角性評価値は１となる。分布密度画像の下の数値が対角性評価値を表す。対角性評価値を用いて除外センサを指定する際には、予め０から１の範囲の基準値Ｄｓｔを設定しておき、対角性評価値がＤｓｔ以上の場合は番号の大きい方のセンサを除外する。除外したセンサについては対角性評価値を算出した相手センサ番号を併せて記憶しておく。
【００９０】
以上説明した実施形態によれば、異常測度算出時に算出される学習期間の残差または指定された期間についてセンサ２個の総当りで算出される二次元分布密度に基づいて除外するセンサを指定するため、感度を阻害する要因となるセンサを除外して低い異常判定しきい値を設定することができ、高感度な異常検知を実現できる。
【００９１】
以上の手法を適用した異常検知装置により、ガスタービンや蒸気タービンなどの設備のみならず、水力発電所での水車、原子力発電所の原子炉、風力発電所の風車、航空機や重機のエンジン、鉄道車両や軌道、エスカレータ、エレベータ、工場の生産設備、そして機器・部品レベルでは、搭載電池の劣化・寿命など、または脳波や心電図など人を対象としたセンシングデータにおいて、対象の異常を早期に検出することが可能となる。
【符号の説明】
【００９２】
１０１・・・設備、１０２・・・センサ信号、１０３・・・センサ信号蓄積部、１０４・・・センサ信号入力部、１０５・・・センサ選択部、１０６・・・特徴ベクトル抽出部、１０７・・・異常測度算出部、１０８・・・しきい値算出部、１０９・・・異常検出部、７０１・・・レシピ設定画面、８０１・・・結果表示画面、８０２・・・結果拡大表示画面、８０３・・・センサ選択詳細表示画面、９０１・・・表示対象指定画面、１１０１・・・分布密度算出部、１１０２・・・孤立度算出部、１７０１・・・パラメータ設定画面。
【要約】
【課題】
感度を阻害するセンサを簡便な方法で除外する。
【解決手段】
異常検知装置は、センサ信号を入力し、除外するセンサ信号の指定に応じて、指定されたセンサ信号を除くセンサ信号から所定時間毎に特徴ベクトルを抽出し、指定された学習期間の特徴ベクトルを学習データとして所定時間毎の異常測度を算出し、学習期間の異常測度に基づいてしきい値を算出し、異常測度としきい値との比較結果に基づいて、所定時間毎のセンサ信号が異常か正常かを判定し、除外するセンサ信号は、（１）学習期間の異常測度を算出する過程で、所定時間毎に算出される残差、（２）指定された評価期間のセンサ信号の二次元の分布密度に基づいて算出される評価値、および（３）センサ毎に算出される、センサ信号が正常分布から離れているか否かを表す指標である孤立度のいずれか一つに基づいて指定される。
【選択図】図１【図１】
0005849167.tif 000004
【図２】
0005849167.tif 000005
【図３】
0005849167.tif 000006
【図４】
0005849167.tif 000007
【図５】
0005849167.tif 000008
【図６】
0005849167.tif 000009
【図７】
0005849167.tif 000010
【図８Ａ】
0005849167.tif 000011
【図８Ｂ】
0005849167.tif 000012
【図８Ｃ】
0005849167.tif 000013
【図９】
0005849167.tif 000014
【図１０】
0005849167.tif 000015
【図１１】
0005849167.tif 000016
【図１２】
0005849167.tif 000017
【図１３】
0005849167.tif 000018
【図１４】
0005849167.tif 000019
【図１５】
0005849167.tif 000020
【図１６Ａ】
0005849167.tif 000021
【図１６Ｂ】
0005849167.tif 000022
【図１７】
0005849167.tif 000023
【図１８】
0005849167.tif 000024
【図１９】
0005849167.tif 000025
【図２０】
0005849167.tif 000026