(57)【要約】【課題】複数の時系列センサ信号に基づく異常検知において、イベント信号や設備に関する知識がない場合でも、稼動状態に応じたしきい値を設定して異常検知する異常検知装置を提供すること。【解決手段】異常検知装置１００は、複数のセンサから入力する時系列のセンサ信号から時刻毎に特徴ベクトルを抽出する特徴ベクトル抽出部１０５と、指定された学習期間の特徴ベクトルを学習データとして各時刻の異常測度を算出する異常測度算出部１０６と、センサ信号に基づき各センサの状態を分離する状態分離部１０７と、学習期間の異常測度に基づいて、各センサの状態に応じたしきい値を算出するしきい値算出部１０８と、異常測度を各センサの状態に応じたしきい値と比較することにより、各時刻のセンサ信号の異常を判定する異常検出部１０９と、を備える【選択図】図１Ａ
2018160121.tif 000002
【特許請求の範囲】
【請求項１】
設備の異常を検知する異常検知装置において、
前記設備に装着された複数のセンサから出力される複数の時系列のセンサ信号を入力するセンサ信号入力部と、
前記センサ信号から時刻毎に特徴ベクトルを抽出する特徴ベクトル抽出部と、
指定された学習期間の前記特徴ベクトルを学習データとして各時刻の異常測度を算出する異常測度算出部と、
前記センサ信号に基づき各センサの状態を分離する状態分離部と、
前記学習期間の前記異常測度に基づいて、前記各センサの状態に応じたしきい値を算出するしきい値算出部と、
前記異常測度を前記各センサの状態に応じたしきい値と比較することにより、各時刻のセンサ信号が正常か異常かを判定する異常検出部と、
を備えることを特徴とする異常検知装置。
【請求項２】
請求項１に記載の異常検知装置であって、
前記しきい値算出部にて算出したしきい値は、前記各センサの状態に対応させてリストに記述されており、
前記異常検出部は、前記リストに記述されたしきい値の小さい順に、前記各センサの状態が前記リストに記述された状態に該当するかどうかを確認し、該当するとき、前記異常測度を前記リストに記述されたしきい値と比較することを特徴とする異常検知装置。
【請求項３】
請求項１に記載の異常検知装置であって、
前記しきい値算出部は前記しきい値として、前記各センサが正常な期間の各センサ信号値から得られる前記異常測度に基づいて算出することを特徴とする異常検知装置。
【請求項４】
請求項３に記載の異常検知装置であって、
前記しきい値として、前記各センサの正常なセンサ信号値が異常と判定されないように、正常な期間に得られる前記異常測度の最大値を採用することを特徴とする異常検知装置。
【請求項５】
請求項１に記載の異常検知装置であって、
前記状態分離部は、前記学習期間の各センサの信号値を基準値以上と基準値未満の２つのクラスに分けたときに、クラス間分散のクラス内分散に対する比が最大となるような基準値を求め、該基準値を用いて、前記各センサの状態を基準値以上と基準値未満の２つの状態に分離することを特徴とする異常検知装置。
【請求項６】
請求項１に記載の異常検知装置であって、
ユーザからの異常検知の条件を入力するとともに異常検知の結果を表示するユーザインタフェースを備え、
前記ユーザインタフェースには、指定された期間における前記異常測度、前記しきい値、及び正常か異常かの判定結果を表示することを特徴とする異常検知装置。
【請求項７】
請求項１乃至６のいずれか１項に記載の異常検知装置にて異常を検知する対象となる構成物であって、
前記構成物における物理特性の異なる複数の物理情報を検出する複数のセンサを備え、
前記センサは前記異常検知装置に対し、所定時間毎に検出した前記物理情報を出力することを特徴とする構成物。
【請求項８】
設備の異常を検知する異常検知方法において、
前記設備に装着された複数のセンサから出力される複数の時系列のセンサ信号を入力するステップと、
前記センサ信号から時刻毎に特徴ベクトルを抽出するステップと、
指定された学習期間の前記特徴ベクトルを学習データとして各時刻の異常測度を算出するステップと、
予め、前記センサ信号に基づいて各センサの状態を分離し、前記各センサの状態に応じたしきい値を算出するステップと、
前記異常測度を前記各センサの状態に応じたしきい値と比較することにより、各時刻のセンサ信号が正常か異常かを判定するステップと、
を備えることを特徴とする異常検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントや設備などが出力する複数の時系列センサ信号をもとに異常を早期に検知する異常検知装置に関する。
【背景技術】
【０００２】
電力会社では、ガスタービンの廃熱などを利用して地域暖房用温水を供給したり、工場向けに高圧蒸気や低圧蒸気を供給したりしている。石油化学会社では、ガスタービンなどを電源設備として運転している。このようにガスタービンなどを用いた各種プラントや設備において、設備の不具合またはその兆候を検知する異常検知は、社会へのダメージを最小限に抑えるためにも極めて重要である。
【０００３】
ガスタービンや蒸気タービンのみならず、水力発電所での水車、原子力発電所の原子炉、風力発電所の風車、航空機や重機のエンジン、鉄道車両や軌道、エスカレータ、エレベータ、機器・部品レベルでも、搭載電池の劣化・寿命など、上記のような予防保全を必要とする設備は枚挙に暇がない。
【０００４】
このため、対象設備やプラントでは様々な物理情報を取得する複数のセンサを取り付け、センサ毎の監視基準に従って、対象設備やプラントが正常か異常かを判定される。特許文献１には、過去の正常データの学習に基づいて算出される異常測度をしきい値と比較することによって異常の有無を検知する異常検知方法が開示されている。さらに、異常予兆検知の感度向上すなわち異常予兆の早期発見を目的として、イベント信号に基づいて稼動状態に応じたモード分割を行い、モード毎に異なるしきい値を設定する方法が開示されている。ここに異常測度とは、複数のセンサによる測定値を１つのベクトル値として表現し、正常状態のベクトル値からの偏移量のことである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−５９９１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の稼動状態に応じたモード毎に異なるしきい値を設定する方法は、安定かつデータ数の多い定常状態では低いしきい値、ばらつきが大きくデータ数の少ない定常状態間の遷移状態では高いしきい値を設定することができるため、正常なデータを異常と判定する誤報を抑制しつつ、高感度に異常検知することが可能である。しかし、設備の制御情報を含むイベント信号を入力し、設備固有のルールに基づいてモード分割を行う必要があり、イベント信号及び設備に関する知識がないと実施できない。
【０００７】
本発明の目的は、上記課題を解決するため、複数の時系列センサ信号に基づく異常検知において、イベント信号や設備に関する知識がない場合でも、稼動状態に応じたしきい値を設定して異常検知する異常検知装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の異常検知装置は、設備に装着された複数のセンサから出力される複数の時系列のセンサ信号を入力するセンサ信号入力部と、センサ信号から時刻毎に特徴ベクトルを抽出する特徴ベクトル抽出部と、指定された学習期間の特徴ベクトルを学習データとして各時刻の異常測度を算出する異常測度算出部と、センサ信号に基づき各センサの状態を分離する状態分離部と、学習期間の異常測度に基づいて、各センサの状態に応じたしきい値を算出するしきい値算出部と、異常測度を各センサの状態に応じたしきい値と比較することにより、各時刻のセンサ信号が正常か異常かを判定する異常検出部と、を備える構成とする。
【発明の効果】
【０００９】
本発明によれば、イベント信号や設備に関する知識がない場合であっても、センサ信号のみを用いて稼動状態を定義し、状態に応じたしきい値で異常検知することができるため、誤報を抑制しながら、高感度に異常を検知できる。
【図面の簡単な説明】
【００１０】
【図１Ａ】本発明に係る異常検知装置の一構成例を示す図である。
【図１Ｂ】複数のセンサ信号をリスト化して表形式に表した例を示す図である。
【図２】異常検知装置の行う全体の処理フローを示す図である。
【図３】学習時の異常測度算出処理のフローを示す図である。
【図４】局所部分空間法による異常測度算出処理を説明する図である。
【図５】各センサについて状態別しきい値算出法を説明する図である。
【図６】学習時の状態別しきい値算出処理のフローを示す図である。
【図７】ソートされた状態別しきい値のリストの例を示す図である。
【図８】異常検知処理のフローを示す図である。
【図９Ａ】学習期間及び処理パラメータ設定のためのＧＵＩの例を示す図である。
【図９Ｂ】表示対象を指定するためのＧＵＩの例を示す図である。
【図１０Ａ】結果表示画面（全体表示）の例を示す図である。
【図１０Ｂ】結果表示画面（拡大表示）の例を示す図である。
【発明を実施するための形態】
【００１１】
図１Ａは、本発明に係る異常検知装置の一構成例を示す図である。異常検知装置１００は、検知対象である設備１０１に装着されたセンサから出力されるセンサ信号１０２を、所定時間ごとに（周期的に）取得する。取得したセンサ信号１０２は、一旦センサ信号蓄積部１０３にて蓄積された後、あるいは直接にセンサ信号入力部１０４に入力され、特徴ベクトル抽出部１０５及び状態分離部１０７へ送られる。特徴ベクトル抽出部１０５は、センサ信号１０２をもとに特徴ベクトルを抽出し異常測度算出部１０６へ送る。異常測度算出部１０６は、予め指定された学習期間の特徴ベクトルを用いて所定時間毎（以下、各時刻と表現する場合もある）の特徴ベクトル毎に異常測度を算出する。
【００１２】
状態分離部１０７は、入力されたセンサ信号１０２をもとに、各センサの状態を分離する。しきい値算出部１０８は、異常測度算出部１０６による学習データの異常測度に基づいて、状態分離部１０７で分けられた状態に応じたしきい値を算出する。異常検出部１０９は、異常測度算出部１０６から送られる各特徴ベクトルの異常測度と、しきい値算出部１０８で算出した状態に応じたしきい値とを比較することで、設備１０１の異常を検出する。異常検出部１０９は検知結果１１０を出力する。
【００１３】
ここで以下で用いる用語の簡単な説明を行う。特徴ベクトルとは、複数のセンサによる測定値を１つのベクトル値として表現したものである。センサの状態とは、センサの信号レベルが別途定めた基準値以上か基準値未満かで分離したものである。また異常測度とは、注目する特徴ベクトルの、指定された期間の特徴ベクトルからの偏移量のことである。
【００１４】
異常検知の対象とする設備１０１は、例えばガスタービンや蒸気タービンなどの設備やプラントである。設備１０１は、その状態を表すセンサ信号１０２を出力する。センサ信号１０２はセンサ信号蓄積部１０３に蓄積される。
【００１５】
図１Ｂは、複数のセンサ信号１０２をリスト化して表形式に表した例である。センサ信号１０２は、物理特性の異なる複数の物理情報が所定間隔毎に取得される多次元時系列信号である。図１Ｂに示す表の構成は、日時１２１の情報と、複数のセンサのセンサ値１２２を対応させて示している。センサは、数百から数千といった数になる場合もあり、それらの種類によって、例えば、シリンダ、オイル、冷却水などの温度、オイルや冷却水の圧力、軸の回転速度、室温、運転時間などをセンサ値として出力する。センサ値は、設備やプラントなどの出力や状態を表すのみならず、何かの状態をある値（たとえば目標値）に制御するための制御信号の場合もある。
【００１６】
異常検知装置１００の動作には、センサ信号蓄積部１０３に蓄積されたデータを用いて学習データの生成、保存を行う「学習」処理と、入力信号に基づき異常を検知する「異常検知」処理の二つのフェーズがある。基本的に前者はオフラインの処理、後者はオンラインの処理である。ただし、後者をオフラインの処理とすることも可能である。以下の説明では、それらを「学習時」、「異常検知時」という言葉で区別する。
【００１７】
図２は、異常検知装置１００の行う全体の処理フローを示す図である。ここでは処理の概要を記載している。（ａ）は学習時の異常測度算出処理で、学習期間のセンサ信号を入力し（Ｓ２０１）、特徴ベクトルの抽出（Ｓ２０２）と異常測度の算出（Ｓ２０３）を行う。（ｂ）は学習時の状態別しきい値算出処理で、学習期間のセンサ信号を入力し（Ｓ２１１）、状態分離用の基準値の算出（Ｓ２１２）と、基準値を用いて各センサの状態別しきい値の算出（Ｓ２１３）を行う。しきい値の算出（Ｓ２１３）では、Ｓ２０３で求めた異常測度の値を利用する。（ｃ）は異常検知時の異常判定処理で、検知対象のセンサ信号を入力し（Ｓ２２１）、特徴ベクトルの抽出（Ｓ２２２）と異常測度の算出（Ｓ２２３）を行う。そして、算出した異常測度を、Ｓ２１３で求めた状態別しきい値と比較し（Ｓ２２４）、設備の正常／異常を判定する（Ｓ２２５）。
以下、（ａ）（ｂ）（ｃ）の順に説明するが、それぞれの詳細なフローは、図３、図６、図８にて説明する。
【００１８】
図３は、学習時の異常測度算出処理のフローを示す図である。最初に、センサ信号入力部１０４において、センサ信号蓄積部１０３に蓄積されたセンサ値のうち指定された期間（学習期間）のセンサ信号を入力する（Ｓ３０１）。学習期間として、設備が正常な状態であった期間を指定するものとする。次に、特徴ベクトル抽出部１０５において、入力されたセンサ信号を正準化する（Ｓ３０２）。センサ信号の正準化は、単位及びスケールの異なる複数のセンサ信号を同様に扱うために行う。具体的には、各センサ信号の、学習期間の平均と標準偏差を用いて、平均が０、分散が１となるように各センサ信号を変換する。異常検知時に同じ変換ができるように、各センサ信号の平均と標準偏差を記憶しておく。または、各センサ信号の、学習期間の最大値と最小値を用いて、最大が１、最小が０となるように各センサ信号を変換する。または、最大値と最小値の代わりに予め設定した上限値と下限値を用いてもよい。この場合は、異常検知時に同様の変換ができるように、各センサ信号の最大値と最小値または上限値と下限値を記憶しておく。
【００１９】
次に、特徴ベクトル抽出部１０５において、各時刻の特徴ベクトルを抽出する（Ｓ３０３）。特徴ベクトルは、センサ信号を正準化したものをそのまま要素として並べたものである。あるいは、ある時刻に対して±1,±2,…のウィンドウを設け、ウィンドウ幅（3,5,…）×センサ数の特徴ベクトルとすることで、センサ信号の時間変化を表す特徴を抽出することもできる。また、離散ウェーブレット変換(DWT: Discrete Wavelet Transform)を施して、周波数成分に分解してもよい。
【００２０】
次に、異常測度算出部１０６において、学習期間の異常測度を算出する。まず学習期間を複数の区間に分け（Ｓ３０４）、抽出した全特徴ベクトルについて、以下の処理を繰り返す（Ｓ３０５）。複数区間に対応して順次選んだ特徴ベクトルである注目ベクトルと、注目ベクトルと同じ区間を除く学習期間のデータを学習データとする（Ｓ３０６）。注目ベクトルと学習データを用いて異常測度を算出する（Ｓ３０７）。ステップＳ３０４における区間の分割は例えば１日毎とする。あるいは、化学プラントのようなバッチ処理の場合はバッチ毎、加工装置の場合は加工対象個体毎、ＭＲＩのような医療装置の場合は検査対象者毎としてもよい。
【００２１】
ステップＳ３０７の異常測度算出処理には、局所部分空間法(LSC: Local Sub-space Classifier)や投影距離法(PDM: Projection Distance Method)を用いることができる。
【００２２】
図４は、局所部分空間法による異常測度算出処理を説明する図である。局所部分空間法は、注目ベクトルｑに対するｋ個の近傍ベクトルを選択し、選択したｋ個の近傍ベクトルが張るｋ−１次元のアフィン部分空間へ注目ベクトルｑを投影したときの投影距離を測る方法である。図４では、ｋ＝３個の近傍ベクトルｘ１〜ｘ３でアフィン部分空間を形成した場合である。そして、注目ベクトルｑに最も近いアフィン部分空間上の点Ｘｂが投影点（基準ベクトル）となり、注目ベクトルｑから基準ベクトルＸｂまでの距離が異常測度である。
【００２３】
具体的な算出法を説明する。評価データｑとそのｋ個の近傍ベクトルｘｉ（ｉ＝１，…，ｋ）から、ｑをｋ個並べた行列Ｑとｘｉを並べた行列Ｘを作成し、（１）式から両者の相関行列Ｃを求める。次に、（２）式から近傍ベクトルｘｉの重み付けを表す係数ベクトルｂを計算する。異常測度ｄは、ベクトルｑ−Ｘｂのノルムまたはその２乗により算出される。
【００２４】
【数１】
2018160121.tif 000003
【００２５】
【数２】
2018160121.tif 000004
【００２６】
なお、図４ではｋ＝３の場合を説明したが、特徴ベクトルの次元数より十分小さければいくつでもよい。ｋ＝１の場合は、最近傍法と等価の処理になる。
【００２７】
投影距離法は、選択された特徴ベクトルに対し独自の原点をもつ部分空間すなわちアフィン部分空間（分散最大の空間）を作成する方法である。何らかの方法で注目ベクトルに対応する複数の特徴ベクトルを選択し、以下の方法でアフィン部分空間を算出する。
【００２８】
まず、選択された特徴ベクトルの平均μと共分散行列Σを求め、次にΣの固有値問題を解いて、値の大きい方から予め指定したｒ個の固有値に対応する固有ベクトルを並べた行列Ｕをアフィン部分空間の正規直交基底とする。ｒは特徴ベクトルの次元より小さくかつ選択データ数より小さい数とする。またはｒを固定した数とせず、固有値の大きい方から累積した寄与率が予め指定した割合を超えたときの値としてもよい。注目ベクトルから最も近いアフィン部分空間上の点が基準ベクトルとなる。また、注目ベクトルから基準ベクトルを引いたものが残差ベクトルとなり、残差ベクトルのノルムまたはノルムの２乗が異常測度となる。
【００２９】
ここで、複数の特徴ベクトルの選択方法としては、予め指定した数十から数百の数の特徴ベクトルを注目ベクトルから近い順に選択する方法がある。また、学習対象の特徴ベクトルを予めクラスタリングしておき、注目ベクトルに最も近いクラスタに含まれる特徴ベクトルを選択するようにしてもよい。また、注目ベクトルｑのｋ−近傍ベクトルの平均ベクトルまでの距離を異常測度とする局所平均距離法や、ガウシアンプロセスなどを用いてもよい。
【００３０】
次に、状態分離部１０７としきい値算出部１０８による状態別しきい値算出処理について説明する。このしきい値は、異常検出部１０９に入力する異常測度と比較され、設備の正常／異常を判定するために用いられるものであるが、センサの状態に応じて異なるしきい値を用いることに特徴がある。
【００３１】
図５は、各センサについて状態別しきい値算出法を説明する図である。（ａ）は、状態分離方法を、（ｂ）はしきい値算出法を示す。
【００３２】
（ａ）には、センサＡ、Ｂ、Ｃで異なる物理特性の情報を取得し、それらの信号の時系列データを示す。横軸は時刻、実線５０１ａ〜５０１ｃ、はセンサ信号Ａ〜Ｃの波形、破線５０２ａ〜５０２ｃは、それぞれのセンサの状態を分離する基準値を表す。これにより各センサの状態を、基準値以上と基準値未満の２つの状態に分ける。以下、基準値以上の状態を「ハイレベル」、基準値未満の状態を「ローレベル」と呼ぶことにする。信号波形の上部に示したバー５０３ａ〜５０３ｃは各センサの状態を表しており、黒はハイレベル、白はローレベルの状態であることを示す。
【００３３】
しきい値算出部１０８は、センサ毎にそれぞれの状態（ハイレベル／ローレベル）に応じたしきい値を決める。具体的には、それぞれの状態において正常な学習データを異常と判定しないしきい値を算出する。言い換えれば、しきい値として、それぞれの状態において正常な学習データから得られる異常測度の最大値を採用する。
【００３４】
（ｂ）によりしきい値算出を具体的に説明する。実線５０４は正常な学習データから得られた異常測度の値を表す。例えばセンサＡでは、状態がハイレベル（バー５０３ａの色が黒）のときのしきい値は、異常測度の最大値であるポイント５０５ｃの値、ローレベル（バーの色が白）のときのしきい値は、異常測度の最大値であるポイント５０５ｄの値を採用する。同様にセンサＢのしきい値（ハイレベル／ローレベル）はそれぞれポイント５０５ｂ、５０５ｃの値、センサＣのしきい値（ハイレベル／ローレベル）はそれぞれポイント５０５ｃ、５０５ａの値となる。このように、センサ毎、またその状態毎にしきい値が異なる。
【００３５】
異常検知時には、検知対象の異常測度を、各センサの状態に応じたしきい値と比較して正常か異常かの判定を行う訳であるが、しきい値の全てと比較する必要はなく、複数のしきい値の中の最小値とのみ比較すればよい。これは、しきい値の中の最小値と比較することで全てのセンサが正常状態であることが保証されるからである。
【００３６】
図５の例では、例えば各センサの状態が、バーの色が「黒白白」の組合せであれば、センサＡの状態からはポイント５０５ｃの値、センサＢの状態からはポイント５０５ｃの値、センサＣの状態からはポイント５０５ａの値が参照されるので、その中の最小値であるポイント５０５ａの値をしきい値（代表しきい値と呼ぶ）として採用する。そして、異常測度をこの代表しきい値と比較して異常判定を行えばよい。当然ながら代表しきい値は、各センサの状態（バーの色の組合せ）によって変化する。この例では、各時刻の代表しきい値を求めると、点線５０６で示すように変化する。
【００３７】
ここで、センサ毎に状態に応じたしきい値を決めるのではなく、各センサの状態の組合せに対して直接しきい値（代表しきい値）を決めることも考えられる。具体的には、バー５０３ａ〜５０３ｃの色の組合せが「黒白白」の場合、「黒黒白」の場合、「黒白黒」の場合というように、考えられる全ての組合せについてそれぞれのしきい値を設定することである。この方法では、センサ数がＮのとき２のＮ乗通りに対してしきい値を設定する必要がある。センサ数Ｎが小さい場合には問題ないが、センサ数Ｎが数百から数千にもなるとしきい値の数は膨大になり、実用的でない。
【００３８】
これに対し本実施例では、上記したように、センサ毎にそれぞれの状態に応じたしきい値を決めるので、２×Ｎ個のしきい値を決めればよい。よって、センサ数Ｎが増大しても対応が容易である。その代わり、各時刻のしきい値の最小値（代表しきい値）がどれであるかが分からないため、後述するように、しきい値の小さい順に比較判定するようにしている。
【００３９】
状態別しきい値は、同じ状態の学習データでの異常測度最大値をしきい値とするため、バーの色の全ての組合せについてそれぞれ代表しきい値を設定するとしても、センサ毎の状態に応じたしきい値の最小値を超えることはない。従って、全てのセンサが正常状態であることを判定できることになり、上記のしきい値設定方法には妥当性がある。
【００４０】
図６は、学習時の状態別しきい値算出処理のフローを示す図である。最初に、センサ信号入力部１０４において、センサ信号蓄積部１０３に蓄積されたセンサ値のうち指定された期間（学習期間）のセンサ信号を入力する（Ｓ６０１）。実際にはステップＳ３０１で入力された信号を用いる。次に、各センサについて以下の処理を繰り返す（Ｓ６０２）。
【００４１】
まず、状態分離部１０７において、各センサの状態を分離する基準値を算出する（Ｓ６０３）。例えば、各センサ信号のデータに判別分析法を適用し、基準値以上と基準値未満の２つのクラスに分けたときに、クラス間分散のクラス内分散に対する比が最大となるような基準値を求める。簡便法として、データをソートし５０％となる値を基準値としてもよい。
【００４２】
次に、センサ信号値が基準値以上（ハイレベル）の場合の異常測度最大値を算出して、この状態に対応するしきい値とする（Ｓ６０４）。同様に、センサ信号値が基準値未満（ローレベル）の場合の異常測度最大値を算出して、この状態に対応するしきい値とする（Ｓ６０５）。
【００４３】
全センサについて上記の処理が終了すると、各センサの状態と対応するしきい値からなるリストがセンサ数×２だけできている。これを、異常測度最大値すなわちしきい値が小さい順にソートする（Ｓ６０６）。リストの後ろの方ではあるところでしきい値が最大になるので、「その他」としてまとめ、以降の状態の記述は省略する（Ｓ６０７）。
【００４４】
図７は、ソートされた状態別しきい値のリストの例である。このリストは、センサ番号７０１、符号７０２、状態分離用基準値７０３、異常判定しきい値７０４、センサ名７０５で構成される。なお、センサ名７０５は、ユーザが確認しやすいように付加した情報であり、必須ではない。符号７０２は、“１”が基準値以上（ハイレベル）の状態、“−１”が基準値未満（ローレベル）の状態を意味する。例えば、１行目の記述は、９番のセンサ“Generator Current Avg”の信号値が基準値“23.75”以上の場合、異常判定しきい値“5.303209”を用いて正常か異常かを判定することを意味する。前述の通り、異常判定しきい値７０４は小さい順に上から表示されている。センサ番号７０１の下端“−１”は「その他」を意味しており、ここに記述されていない全ての状態をまとめて記述している。「その他」における異常判定しきい値７０４は最大となっている。
【００４５】
図３及び図６の学習処理においては、図示していないデータベースに学習結果を保存しておく。学習結果には、少なくとも特徴ベクトル抽出のためのパラメータ、異常測度算出のためのパラメータ、センサ正準化のためのパラメータ、抽出した全特徴ベクトルデータ、及び図７に示す状態別の異常判定しきい値リストが含まれる。特徴ベクトル抽出のためのパラメータ及び異常測度算出のためのパラメータは、学習時に指定されたものと共通である。センサ正準化のためのパラメータは、センサ信号入力部１０４がステップＳ３０２の処理で算出した各センサ信号の平均、標準偏差、最大値、最小値などである。
【００４６】
図８は、異常検出部１０９による異常検知処理のフローを示す図である。異常検知時は、センサ信号蓄積部１０３に蓄積されたデータのうち指定された期間のデータ、または新たに観測されたデータについて、特徴ベクトルの抽出（特徴ベクトル抽出部１０５）、異常測度の算出（異常測度算出部１０６）を行い、これをしきい値（しきい値算出部１０８）と比較して、異常検出部１０９にて正常か異常かの判定を行う。
【００４７】
異常検出部１０９は、データベースから学習時に保存した学習結果を読み出す（Ｓ８０１）。その際、学習時の異常測度やしきい値に基づいて、ユーザが適切な処理番号を選択し、処理番号に対応付けられた学習結果を用いる。センサ信号入力部１０４は、センサ信号蓄積部１０３または設備１０１からセンサ信号１０２を入力し（Ｓ８０２）、センサ信号毎に正準化する（Ｓ８０３）。このとき、ステップＳ３０２の正準化の処理に用いたパラメータを用いる。次に、特徴ベクトル抽出部１０５は、選択したセンサ信号から、ステップＳ３０３の処理と同じ方法で特徴ベクトルの抽出を行う（Ｓ８０４）。次に、全特徴ベクトルについてステップＳ８０６からＳ８１０までの処理（ループ１）を行う（Ｓ８０５）。
【００４８】
異常測度算出部１０７は、注目ベクトルと学習データを用いて、異常測度を算出する（Ｓ８０６）。この処理は、図３のステップＳ３０７と同じ方法で行うが、学習データを全て用いることとする。次に、図７に示す状態別しきい値リストを上から順に参照して、ステップＳ８０８からＳ８１０までの処理（ループ２）を行う（Ｓ８０７）。
【００４９】
状態分離部１０７は、同時刻のセンサ信号の状態がリストに記述された状態に該当するかどうかをチェックし（Ｓ８０８）、該当しないならば次のリストの処理に移る。該当するならば、異常検出部１０９は、リストに記述されたしきい値とステップＳ８０６で算出された異常測度とを比較する。異常測度がしきい値以下であれば「正常」と判定し、異常測度がしきい値より大きければ「異常」と判定する（Ｓ８０９）。以上で注目する特徴ベクトルに対する判定処理を終了し、しきい値リストの処理のループ２を抜ける（Ｓ８１０）。その後、次の特徴ベクトルについてループ１の処理を行う。
【００５０】
リストはしきい値が小さい順にチェックされるよう作成してあるため、各センサの状態に応じたしきい値の最小値を用いて異常判定する処理を最も短いステップで実行することが可能である。言い換えれば、異常と判定される可能性の高い順に判定処理を行うために早い段階で異常を検知することができる。また、リストの最後は「その他」であるため、リストの途中の判定が「正常」であったとしても、どのデータも必ずステップＳ８０９を通り異常判定される。
【００５１】
以上の動作を実現するための異常検知装置１００のユーザインタフェース（GUI: Graphical User Interface）の例を説明する。
図９Ａは、学習期間及び処理パラメータ設定のためのＧＵＩの例である。以下の説明ではこの設定のことを、単に「レシピ設定」と呼ぶことにする。また、過去のセンサ信号１０２は、設備ＩＤ及び時刻と対応付けられてデータベースに保存されているものとする。
【００５２】
レシピ設定画面９０１では、対象設備、学習期間、使用センサ、異常測度算出パラメータを入力する。設備ＩＤ入力ウィンドウ９０２には、対象とする設備のＩＤを入力する。設備リスト表示ボタン９０３押下により、図示しないデータベースに保存されている装置ＩＤのリストが表示されるので、リストから選択入力する。
【００５３】
学習期間入力ウィンドウ９０４には、学習データを抽出したい期間の開始日と終了日を入力する。センサ選択ウィンドウ９０５には、使用するセンサを入力する。リスト表示ボタン９０６のクリックによりセンサリスト９０７が表示されるので、リストから選択入力する。リストから複数選択することも可能である。除外するセンサを指定するようにしてもよい。センサ信号入力時は、ここで選択されたセンサの情報のみが入力される。
【００５４】
異常測度算出パラメータ入力ウィンドウ９０８には、異常測度算出において使用するパラメータを入力する。図は手法として局所部分空間を採用した場合の例であり、近傍ベクトル数と正則化パラメータを入力する。正則化パラメータは、（２）式において相関行列Ｃの逆行列が求められないことを防ぐため、対角成分に加算する小さい数である。
【００５５】
以上の情報を入力したら、テスト期間入力ウィンドウ９０９にテスト対象期間を入力する。ここは空欄にしてもよい。その場合は学習のみ行う。テストボタン９１０の押下により、レシピのテスト（異常検知処理）を行う。
【００５６】
まず、図３の処理フロー、続いて図６の処理フローに従って学習を実行する。さらに、図８の処理フローに従って全学習期間の異常判定を行い、表示のため、判定結果を保存しておく。その際、ステップＳ８０６で算出した異常測度を用い、ステップＳ８０７〜Ｓ８１０の処理により、正常か異常かの判定を行う。次に、異常検知処理の結果をユーザに示すためのＧＵＩの例を示す。
【００５７】
図９Ｂは、表示対象を指定するためのＧＵＩの例である。ユーザは、表示対象指定画面９２１から表示対象の設備、レシピ及び期間を指定する。始めに、ユーザは装置ＩＤ選択ウィンドウ９２２により設備ＩＤを選択する。次に、ユーザはレシピ名選択ウィンドウ９２３により、設備ＩＤ９２２を対象としたレシピのリストから表示対象のレシピを選択する。データ記録期間表示部９２４には、入力されたレシピを用いて処理され、記録が残されている期間の開始日と終了日が表示される。結果表示期間指定ウィンドウ９２５には、ユーザが結果を表示したい期間の開始日と終了日を入力する。表示センサ指定ウィンドウ９２６には、ユーザが表示したいセンサ名を入力する。表示ボタン９２７をユーザが押下すると、異常検知処理の結果が表示される。終了ボタン９２８をユーザが押下すると、表示対象を指定する処理を終了する。
【００５８】
図１０Ａ及び図１０Ｂは、テストの結果を表示するＧＵＩの例である。ユーザが、各画面の上部に表示されたタブを選択することにより、結果表示画面（全体表示）１００１、結果表示画面（拡大表示）１００２、及び状態別しきい値表示画面１００３が切り換わる。
【００５９】
図１０Ａは、結果表示画面（全体表示）１００１の例である。結果表示画面１００１には、指定された期間の、異常測度、しきい値、及び判定結果、並びにセンサ信号の時系列グラフが表示される。期間表示ウィンドウ１００４には、指定された学習期間及びテスト期間が表示される。
【００６０】
異常測度表示ウィンドウ１００５には、指定された学習期間・テスト期間での異常測度１００５ａ、しきい値１００５ｂ（点線）、及び判定結果１００５ｃが表示される。また、学習に使用した区間に丸印１００５ｄが表示される。
【００６１】
センサ信号表示ウィンドウ１００６には、指定された学習期間・テスト期間での指定されたセンサについて、時系列センサ信号１００６ａと状態分離用基準値１００６ｂ（破線）が表示される。
【００６２】
センサ名選択ウィンドウ１００７では、ユーザの入力によってセンサを指定する。ただし、ユーザが指定する前は、先頭のセンサが選択されている。カーソル１００８は、拡大表示の時の起点を表し、ユーザのマウス操作により移動できる。表示日数指定ウィンドウ１００９には、結果表示画面（拡大表示）１００２での拡大表示の起点から終点までの日数が表示され、この画面で入力することもできる。日付表示ウィンドウ１０１０には、カーソル位置の日付が表示される。終了ボタン１０１１は、ユーザの押下により、結果表示画面（全体表示）１００１、結果表示画面（拡大表示）１００２、及び状態別しきい値表示画面１００３のいずれもが消去され、テスト結果の表示が終了する。
【００６３】
図１０Ｂは、結果表示画面（拡大表示）１００２の例である。結果表示画面（拡大表示）１００２には、結果表示画面（全体表示）１００１において、カーソル１００８で示された日付を起点とし、指定された日数１００９の期間内の、異常測度、しきい値、判定結果、及びセンサ信号の時系列グラフが表示される。すなわち、異常測度表示ウィンドウ１００５及びセンサ信号表示ウィンドウ１００６には、結果表示画面（全体表示）１００１と同様の情報が、拡大して表示される。
【００６４】
なお、結果表示画面（拡大表示）１００２では、スクロールバー１０１２とスクロールバー表示領域１０１３を追加表示している。スクロールバー１０１２の長さは表示日数指定ウィンドウ１００９で指定された日数に、スクロールバー１０１２の左端部が拡大表示の起点に対応する。ユーザはスクロールバー１０１２を操作することで、表示の起点を変更することも可能であり、この変更はカーソル１００８の位置と日付表示ウィンドウ１０１０の表示に反映される。スクロールバー表示領域１０１３の全体の長さは結果表示画面（全体表示）１００１に表示されている期間に相当する。
【００６５】
状態別しきい値表示画面１００３を選択した場合は、ここでは図示しないが、図７に示すしきい値リストと終了ボタン１０１１を表示する。
【００６６】
図１０Ａ、図１０Ｂに示すいずれかの画面で、終了ボタン１０１１押下により異常検出結果及び状態別しきい値のユーザによる確認が終了したら、図９Ａに示すレシピ設定画面９０１の表示に戻る。表示ボタン９１２の押下により、ユーザは、一度確認したテストの結果を再度確認することもできる。この操作により、結果表示画面（全体表示）１００１が表示される。タブの切り替えにより結果表示画面（拡大表示）１００２または状態別しきい値表示画面１００３を表示させることもできる。確認が済んだら終了ボタン１０１１押下により、レシピ設定画面９０１の表示に戻る。
【００６７】
図９Ａにおいて、レシピ名入力ウィンドウ９１１にレシピ名を入力し、登録ボタン９１３を押下することにより、設備ＩＤ及びレシピ名と対応付けて学習結果を保存し、終了する。キャンセルボタン９１４が押下された場合は、何も保存しないで終了する。保存される内容は、レシピ設定画面９０１で設定された異常測度算出パラメータ及びセンサ選択情報、ステップＳ３０２の正準化で使用するパラメータ、ステップＳ３０６において抽出された学習期間の全特徴ベクトルデータ、図７に示す状態別しきい値リストである。
【００６８】
登録されたレシピは、活性か不活性かのラベルをつけて管理される。新しく観測されたデータに対しては、装置ＩＤが一致する活性なレシピの情報を用いて、図８に示す処理を行い、結果をレシピ名と対応付けて保存しておく。
【００６９】
上記実施例は、学習データ設定をオフライン、異常検知処理をリアルタイム、結果表示をオフラインでそれぞれ処理するものであるが、結果表示もリアルタイムに行うことが可能である。その場合、表示期間の長さ、表示対象とするレシピ、表示対象とする情報を予め定めておき、所定時間毎に最新の情報を表示するよう構成すればよい。
【００７０】
上記実施例によれば、信号値に基づいて状態を定義し、状態別に異常判定の基準を定めるため、設備に関する知識がなくても状態別のしきい値を設定することが可能であり、高感度すなわち早期の予兆検知を実現できる。また、状態の定義及びしきい値設定をセンサ毎に行ってリストを作成しておき、異常検知されやすい順にリストに記述された状態に該当するかどうかの確認を行うことにより、少ないステップで異常判定を実行することが可能となる。
【００７１】
以上の手法を適用した異常検知装置により、ガスタービンや蒸気タービンなどの設備のみならず、水力発電所での水車、原子力発電所の原子炉、風力発電所の風車、航空機や重機のエンジン、鉄道車両や軌道、エスカレータ、エレベータ、工場の生産設備、そして機器・部品レベルでは、搭載電池などを対象としたセンシングデータにおいて、対象の異常を早期に検出することが可能となる。
【符号の説明】
【００７２】
１００：異常検知装置、１０１：設備、１０２：センサ信号、１０３：センサ信号蓄積部、１０４：センサ信号入力部、１０５：特徴ベクトル抽出部、１０６：異常測度算出部、１０７：状態分離部、１０８：しきい値算出部、１０９：異常検出部、９０１：レシピ設定画面、１００１：結果表示画面（全体表示）、１００２：結果表示画面（拡大表示）。
【図１Ａ】
2018160121.tif 000005
【図１Ｂ】
2018160121.tif 000006
【図２】
2018160121.tif 000007
【図３】
2018160121.tif 000008
【図４】
2018160121.tif 000009
【図５】
2018160121.tif 000010
【図６】
2018160121.tif 000011
【図７】
2018160121.tif 000012
【図８】
2018160121.tif 000013
【図９Ａ】
2018160121.tif 000014
【図９Ｂ】
2018160121.tif 000015
【図１０Ａ】
2018160121.tif 000016
【図１０Ｂ】
2018160121.tif 000017