(57)【要約】      （修正有）【課題】多次元時系列センサ信号を用いて異常検知を行う場合に、学習データへの異常データの混入を防止して異常検知感度の低下を防ぐ。【解決手段】指定された学習期間のデータを複数区間に分け、各区間についてその区間および除外候補区間を含まない学習期間のデータを用いて正常モデルを作成するステップと、正常モデルからの距離に基づいて異常測度を算出するステップと、除外候補区間を除く異常測度最大値を含む区間を除外候補区間とするステップとを複数回逐次的に繰り返し、各回で得られる結果に基づいて学習除外区間と異常判定しきい値を決定し、新しく取得されたデータまたは指定された評価期間のデータについて、学習除外区間を除く学習期間のデータを学習データとして正常モデルを作成し、正常モデルからの距離に基づいて各時刻のデータの異常測度を算出し、異常測度を異常判定しきい値と比較することにより各時刻のデータが異常か正常かを判定する。【選択図】図３
2015114967.tif 000002
【特許請求の範囲】
【請求項１】
設備または装置が稼働中に前記設備または装置に装着されたセンサから出力される多次元時系列センサ信号を用いて前記設備または装置の異常を検知する方法であって、
前記多次元時系列センサ信号のうち予め指定された期間のセンサ信号を用いて正常モデルを作成して異常判定しきい値を算出する工程と、
前記多次元時系列センサ信号から特徴ベクトルを観察ベクトルとして抽出する工程と、
該抽出した観察ベクトルと前記作成した正常モデルとを用いて該観察ベクトルの異常測度を算出する工程と、
該算出した観測ベクトルの異常測度と前記異常判定しきい値とを比較して前記設備または装置の異常を検知する工程と
を含み、前記正常モデルを、前記多次元時系列センサ信号の前記予め指定された区間のセンサ信号のうち一部の区間の信号を除外した前記多次元時系列センサ信号を用いて作成することを特徴とする異常検知方法。
【請求項２】
請求項１記載の異常検知方法であって、前記多次元時系列センサ信号の前記予め指定された区間のセンサ信号から除外する信号の前記一部の区間を、前記多次元時系列センサ信号のうち前記予め指定された区間のセンサ信号から特徴ベクトルを抽出し、該抽出した特徴ベクトルの異常測度を算出し、該算出した異常測度の情報を用いて前記指定された区間のセンサ信号の中から前記除外する一部の区間を決定することを特徴とする異常検知方法。
【請求項３】
請求項２記載の異常検知方法であって、前記抽出した特徴ベクトルの異常測度を算出することを、前記予め指定された区間のセンサ信号のうち前記特徴ベクトルを抽出した注目ベクトルに対応する区間のセンサ信号を除いた残りのセンサ信号から特徴ベクトルを求め、該残りのセンサ信号から求めた特徴ベクトルを用いて正常モデルを作成し、該作成した正常モデルと前記注目ベクトルとの距離に基づいて前記異常測度を算出して行うことを特徴とする異常検知方法。
【請求項４】
設備または装置が稼働中に前記設備または装置に装着されたセンサから出力される多次元時系列センサ信号を用いて前記設備または装置の異常を検知する方法であって、
該設備または装置の異常を検知する方法は学習する工程と異常を検知する工程とを含み、
前記学習する工程において、
前記多次元時系列センサ信号のうち予め指定された期間のセンサ信号から一部の期間のセンサ信号を除外して学習データを作成し、
該作成した学習データから異常判定しきい値を算出し、
前記異常を検知する工程において、
前記学習データを用いて正常モデルを作成し、
前記多次元時系列センサ信号から特徴ベクトルを観測ベクトルとして抽出し、
該抽出した観測ベクトルと前記作成した正常モデルとを用いて前記観測ベクトルの異常測度を算出し、
該算出した観測ベクトルの異常測度と前記異常判定しきい値とを比較して前記設備または装置の異常を検知する
ことを特徴とする異常検知方法。
【請求項５】
請求項４記載の異常検知方法であって、前記学習する工程において、前記学習データを作成することを、前記多次元時系列センサ信号のうち予め指定された期間のセンサ信号から特徴ベクトルを抽出し、該抽出した特徴ベクトルの異常測度を算出し、該算出した異常測度の情報を用いて前記指定された期間のセンサ信号の中から除外する期間を決定し、
該決定した除外する期間を除いた前記センサ信号の特徴ベクトルを用いて学習データを作成することを特徴とする異常検知方法。
【請求項６】
請求項５記載の異常検知方法であって、前記学習する工程において、前記抽出した特徴ベクトルの異常測度を算出することを、前記予め指定された区間のセンサ信号のうち前記特徴ベクトルを抽出した注目ベクトルに対応する区間のセンサ信号を除いた残りのセンサ信号から特徴ベクトルを求め、該残りのセンサ信号から求めた特徴ベクトルを用いて正常モデルを作成し、該作成した正常モデルと前記注目ベクトルとの距離に基づいて前記異常測度を算出して行うことを特徴とする異常検知方法。
【請求項７】
設備または装置が稼働中に前記設備または装置に装着されたセンサから出力される多次元時系列センサ信号を用いて前記設備または装置の異常を検知する装置であって、
前記多次元時系列センサ信号のうち予め指定された期間のセンサ信号を用いて正常モデルを作成して異常判定しきい値を算出する演算部と、
前記多次元時系列センサ信号から特徴ベクトルを観察ベクトルとして抽出する観察ベクトル抽出部と、
該観察ベクトル抽出部で抽出した観察ベクトルと前記演算部で作成した正常モデルとを用いて該観察ベクトルの異常測度を算出する異常測度算出部と、
該異常測度算出部で算出した観測ベクトルの異常測度と前記演算部で算出した異常判定しきい値とを比較して前記設備または装置の異常を検知する異常検知部と
を備え、前記演算部は、前記正常モデルを、前記多次元時系列センサ信号の前記予め指定された区間のセンサ信号のうち一部の区間の信号を除外した前記多次元時系列センサ信号を用いて作成する
ことを特徴とする異常検知装置。
【請求項８】
請求項７記載の異常検知装置であって、前記演算部は、前記多次元時系列センサ信号の前記予め指定された区間のセンサ信号から除外する信号の前記一部の区間を、前記多次元時系列センサ信号のうち前記予め指定された区間のセンサ信号から特徴ベクトルを抽出し、該抽出した特徴ベクトルの異常測度を前記異常測度算出部で算出した異常測度の情報を用いて前記指定された区間のセンサ信号の中から前記除外する一部の区間を決定することを特徴とする異常検知装置。
【請求項９】
請求項８記載の異常検知装置であって、前記異常測度算出部で前記抽出した特徴ベクトルの異常測度を算出することを、前記予め指定された区間のセンサ信号のうち前記特徴ベクトルを抽出した注目ベクトルに対応する区間のセンサ信号を除いた残りのセンサ信号から特徴ベクトルを求め、該残りのセンサ信号から求めた特徴ベクトルを用いて正常モデルを作成し、該作成した正常モデルと前記注目ベクトルとの距離に基づいて前記異常測度を算出して行うことを特徴とする異常検知装置。
【請求項１０】
設備または装置が稼働中に前記設備または装置に装着されたセンサから出力される多次元時系列センサ信号を用いて前記設備または装置の異常を検知する装置であって、
前記多次元時系列センサ信号を蓄積するセンサ信号蓄積部と、
前記多次元時系列センサ信号をもとに特徴ベクトルを抽出する特徴ベクトル抽出部と、
該特徴ベクトル抽出部で抽出された予め指定された学習期間の特徴ベクトルから学習除外区間の特徴ベクトルを除外して学習データを作成するする学習データ作成部と、
該学習データ作成部で作成された学習データを用いて各時刻の特徴ベクトルに対応する正常モデルを作成する正常モデル作成部と、
前記特徴ベクトル抽出部で抽出された各時刻の特徴ベクトルと前記正常モデル作成部で作成された正常モデルとを用いて異常測度を算出する異常測度算出部と、
前記学習データ作成部で作成された学習データと前記正常モデル作成部で作成された正常モデルとを用いて前記異常測度算出部で算出された異常測度に基づいて前記学習データから除外する区間を設定する除外区間設定部と、
前記学習データ作成部で作成された学習データについて前記異常測度算出部で算出した異常測度に基づいてしきい値を算出するしきい値算出部と、
前記異常測度算出部で算出された前記各特徴ベクトルの異常測度と前記しきい値算出部で算出されたしきい値とを比較することにより前記設備または装置の異常を検知する異常検知部と
を備えたことを特徴とする異常検知装置。
【請求項１１】
請求項１０記載の異常検知装置であって、前記学習データ作成部において、前記学習データを作成することを、前記多次元時系列センサ信号のうち予め指定された期間のセンサ信号から特徴ベクトルを抽出し、該抽出した特徴ベクトルの異常測度を算出し、該算出した異常測度の情報を用いて前記指定された期間のセンサ信号の中から除外する期間を決定し、
該決定した除外する期間を除いた前記センサ信号の特徴ベクトルを用いて学習データを作成することを特徴とする異常検知装置。
【請求項１２】
請求項１１記載の異常検知装置であって、前記学習データ作成部において、前記抽出した特徴ベクトルの異常測度を算出することを、前記予め指定された区間のセンサ信号のうち前記特徴ベクトルを抽出した注目ベクトルに対応する区間のセンサ信号を除いた残りのセンサ信号から特徴ベクトルを求め、該残りのセンサ信号から求めた特徴ベクトルを用いて正常モデルを作成し、該作成した正常モデルと前記注目ベクトルとの距離に基づいて前記異常測度を算出して行うことを特徴とする異常検知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントや設備などの出力する多次元時系列データをもとに異常を早期に検知する異常検知方法およびその装置に関する。
【背景技術】
【０００２】
電力会社では、ガスタービンの廃熱などを利用して地域暖房用温水を供給したり、工場向けに高圧蒸気や低圧蒸気を供給したりしている。石油化学会社では、ガスタービンなどを電源設備として運転している。このようにガスタービンなどを用いた各種プラントや設備において、設備の不具合あるいはその兆候を検知する異常検知は、社会へのダメージを最小限に抑えるためにも極めて重要である。
【０００３】
ガスタービンや蒸気タービンのみならず、水力発電所での水車、原子力発電所の原子炉、風力発電所の風車、航空機や重機のエンジン、鉄道車両や軌道、エスカレータ、エレベータ、ＭＲＩ，Ｘ線ＣＴなどの医用診断装置、機器・部品レベルでも、搭載電池の劣化・寿命など、上記のような予防保全を必要とする設備は枚挙に暇がない。
【０００４】
このため、対象設備やプラントに複数のセンサを取り付け、センサ毎の監視基準に従って正常か異常かを判断することが行われている。特開２０１１―７０６３５号公報（特許文献１）には、過去の正常データから作成されたモデルとの比較によって算出される異常測度に基づいて異常の有無を検知する異常検知方法において、正常モデルを局所部分空間法によって作成することが開示されている。正常モデルに基づく異常検知では、感度が学習データの質に影響されるため、網羅的かつ正確に正常データを収集する必要がある。網羅性については学習期間を長くすることで対応可能である。正確性については、異常が混入していると、適正なしきい値を設定できずに感度が低下するため、学習データから自動的に異常データを除外する必要がある。
【０００５】
このようなニーズに対応するため、特開２０１１―７０６３５号公報（特許文献１）には、特徴毎、周期毎の平均と分散に基づいて、他から外れる周期の学習データを除外する方法、特徴毎の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から  
【００３１】
【数１】
2015114967.tif 000003
により相関行列Cを求め、
【００３２】
【数２】
2015114967.tif 000004
によりbを計算する。ｂは、xiの重み付けを表す係数ベクトルである。
【００３３】
異常測度ｄはｑとＸｂの間の距離であるから次式で表される。
【００３４】
【数３】
2015114967.tif 000005
【００３５】
なお、図２ではｋ＝３の場合を説明したが、特徴ベクトルの次元数より十分小さければいくつでもよい。ｋ＝１の場合は、最近傍法と等価の処理になる。
【００３６】
投影距離法は、選択された特徴ベクトルに対し独自の原点をもつ部分空間すなわちアフィン部分空間（分散最大の空間）を作成する方法である。なんらかの方法で注目ベクトルに対応する複数の特徴ベクトルを選択し、以下の方法でアフィン部分空間を算出する。まず、選択された特徴ベクトルの平均μと共分散行列Σを求め、次にΣの固有値問題を解いて値の大きい方から予め指定したr個の固有値に対応する固有ベクトルを並べた行列Ｕをアフィン部分空間の正規直交基底とする。ｒは特徴ベクトルの次元より小さくかつ選択データ数より小さい数とする。あるいはｒを固定した数とせず、固有値の大きい方から累積した寄与率が予め指定した割合を超えたときの値としてもよい。異常測度は、注目ベクトルのアフィン部分空間への投影距離とする。ここで、複数の特徴ベクトルの選択方法としては、予め指定した数十から数百の数の特徴ベクトルを注目ベクトルから近い順に選択する方法が考えられる。また、学習対象の特徴ベクトルを予めクラスタリングしておき、注目ベクトルに最も近いクラスタに含まれる特徴ベクトルを選択するようにしてもよい。  
この他、注目ベクトルqのk−近傍ベクトルの平均ベクトルまでの距離を異常測度とする局所平均距離法や、ガウシアンプロセスなどを用いてもよい。
【００３７】
ステップＳ３０８では、しきい値算出部１０９において異常測度最大値をしきい値として設定することを説明したが、それ以外のしきい値算出方法の変形例を説明する。異常測度最大値以外のしきい値としては、除外候補区間を除く学習期間の全特徴ベクトルの異常測度を昇順にソートし、予め指定した１に近い比率に到達する値をしきい値とする方法が有る。あるいはこの値にオフセットを加える、定数倍するなどの処理によりしきい値を算出することも可能である。この場合、異常測度最大値を第一のしきい値、上記手順で算出されたしきい値を第二のしきい値とし、ステップＳ３０７における比較で用いるのは第一のしきい値とし、ステップＳ３０８では、第一のしきい値と第二のしきい値の両方を更新し、処理終了後（Ｓ３１３）、第二のしきい値を異常判定しきい値として記録する。
【００３８】
上記に示したように、異常測度最大の区間を学習から除外することを逐次的に行い、予め定めたパラメータに従って学習除外区間の決定と繰り返しの停止を行うことにより、適切な除外区間を見つけ、適切なしきい値を設定して高感度な異常検知を実現可能とする。逐次的に行うのは、学習データが変化すると各特徴ベクトルの異常測度が変化するためである。
【００３９】
ステップＳ３０７における下がり幅は、除外した区間の妥当性を評価する目安である。下がり幅が大きいときには除外した区間のデータが他の区間の学習データから離れており、学習にもあまり使われていないことを示している。すなわち異常である可能性が高いため除外すべきである。小さい場合は、除外することによるしきい値の低下が小さいということであり、メリットがなく異常かどうかの判断が難しいため除外しなくてもよい。負の場合は、除外することによりしきい値が上昇するということであり、除外した区間のデータが他の区間のデータの学習に使用されていたことを示している。本来は除外すべきではないが、類似する異常が２つの区間で発生していた場合、一方を除外するともう一方の異常測度が上昇することが起こるため、保留という考えを導入した。最大保留回数Ｍの設定により、このような対になる異常区間をＭ組までまとめて除外することが可能となる。
【００４０】
図３に示すフローでは、除外候補区間を一つずつ追加していたが、複数追加するようにしてもよい。その場合、ステップＳ３０６において、区間別に異常測度最大値を算出する。さらに、ステップＳ３１１において、区間別の異常測度最大値が（しきい値−Δ）より大きい全ての区間を除外候補区間とする。
【００４１】
学習時の処理の流れの、図３で説明した処理フローとは別の実施例を図６を用いて説明する。始めに、特徴ベクトル抽出部１０４において、センサ信号蓄積部１０３から学習期間として指定された期間のセンサ信号１０２を入力し（Ｓ６０１）、センサ信号毎に正準化した後（Ｓ６０２）、特徴ベクトルの抽出を行い（Ｓ６０３）、特徴ベクトルを複数区間、例えば１日につき一つの区間に分ける（Ｓ６０４）。ここまでの処理は、図３に示したステップＳ３０１〜Ｓ３０４までと同じである。
【００４２】
次に、除外区間を決めるためのパラメータを入力する（Ｓ６０５）。入力するパラメータは、最大繰り返し回数Ｎと除外ペナルティ係数ｐである。予め、パラメータファイルまたはＧＵＩにより設定しておく。次に、学習期間のベクトルの異常測度算出を実行する（Ｓ６０６）。初回は、除外候補区間は無い。除外区間設定部１０８において、除外候補区間を除く異常測度最大値の区間を除外候補区間に追加する（Ｓ６０７）。次に、繰り返し回数をチェックし（Ｓ６０８）、繰り返し回数がＮ回目の場合（Ｓ６０８でＹＥＳの場合）、（異常測度最大値＋繰り返し回数＊ｐ）が最小となるときの異常測度最大値をしきい値とし、そのときの除外候補区間を学習除外期間とし（Ｓ６０９）、処理を終了する。学習除外区間としきい値を学習結果として記録しておく。ステップＳ６０８において繰り返し回数がＮ回未満であった場合（Ｓ６０８でＮＯの場合）、ステップＳ６０６に戻る。
【００４３】
上記に示したように、異常測度最大の区間を学習から除外することを予め決められた回数だけ逐次的に行い、各回の結果に基づいて予め決められたパラメータに従って学習除外区間としきい値を決定することにより、適切な除外区間を見つけ、適切なしきい値を設定して高感度な異常検知を実現可能とする。除外ペナルティ係数ｐには、図３に示す処理フローにおける有効下がり幅Ｍと類似した作用がある。ｐを０とすると、しきい値が最も低くなるように学習除外区間が決定される。ｐを０より大きくすると、異常かどうか判断の微妙な区間の除外を抑制する。
【００４４】
異常検知時の処理の流れを図７を用いて説明する。異常検知時はセンサ信号蓄積部１０３に蓄積されたデータのうち指定された期間のデータあるいは新たに観測されたデータの異常測度を算出し、正常か異常かの判定を行う。  
図７は、特徴ベクトル抽出部１０４、学習データ選別部１０５、正常モデル作成部１０６、異常測度算出部１０７、異常検出部１１０における異常検知時の処理の流れを説明する図である。始めに、学習データ選別部１０５において、学習除外区間を除く学習期間の特徴ベクトルを学習対象の特徴ベクトルとする（Ｓ７０１）。これらの特徴ベクトルを単に学習データと呼ぶこととする。次に、特徴ベクトル抽出部１０４において、センサ信号蓄積部１０３または設備１０１からセンサ信号１０２を入力し（Ｓ７０２）、センサ信号毎に正準化した後（Ｓ７０３）、特徴ベクトルの抽出を行う（Ｓ７０４）。
【００４５】
センサ信号の正準化には、図３のステップＳ３０２に示す処理において、学習データの正準化に用いたものと同じパラメータを用いる。特徴ベクトルの抽出は、ステップＳ３０３の処理と同じ方法で行う。したがって、ステップＳ３０３において特徴選択を実行した場合は同じ特徴を選択する。ここで抽出された特徴ベクトルを、学習データと区別するために観測ベクトルと呼ぶこととする。
【００４６】
次に、正常モデル作成部１０６において、学習データを用いて正常モデルを作成し（Ｓ７０５）、異常測度算出部１０７において、正常モデルと観測ベクトルの距離に基づいて異常測度を算出する（Ｓ７０６）。正常モデル作成の方法は学習時と同じ方法とする。異常検出部１１０において、学習時に算出したしきい値と異常測度を比較して、異常測度がしきい値より大きければ異常、そうでなければ正常と判定する（Ｓ７０７）。次に、未処理の観測データがないかをチェックし（Ｓ７０８）未処理の観測データがない場合には（Ｓ７０８でＹＥＳの場合）、処理を終了する。一方、未処理の観測データが残っている場合には（Ｓ７０８でＮＯの場合）、ステップＳ７０２からＳ７０７までの処理を対象データがある限り、繰り返す。
【００４７】
以上の方法を実現する異常検知システム１００の入出力部１３０の表示部１３１に表示するＧＵＩの実施例を説明する。  
学習期間および処理パラメータ設定のためのＧＵＩの例を、図８に示す。以下の説明ではこの設定のことを単にレシピ設定と呼ぶことにする。また、過去のセンサ信号１０２は設備ＩＤおよび時刻と対応付けられてデータベースに保存されているものとする。表示部１３１に表示されるレシピ設定画面８０１では、対象装置、学習期間、使用センサ、基準算出パラメータ、しきい値設定パラメータを入力する。
【００４８】
設備ＩＤ入力ウィンドウ８０２には、対象とする設備のＩＤを入力する。設備リスト表示ボタン８０３押下により図示はしていないがデータベースに保存されているデータの装置ＩＤのリストが表示されるので、リストから選択入力する。学習期間入力ウィンドウ８０４には、学習データを抽出したい期間の開始日と終了日を入力する。センサ選択ウィンドウ８０５には、使用するセンサを入力する。
【００４９】
リスト表示ボタン８０６のクリックによりセンサリスト８０７が表示されるので、カーソル８２０をリスト上の所望のセンサに上に移動させてクリックすることにより選択入力する。リストから複数選択することも可能である。正常モデルパラメータ入力ウィンドウ８０８には、正常モデル作成において使用するパラメータを入力する。
【００５０】
図は正常モデルとして局所部分空間を採用した場合の例であり、モデル作成に使う近傍ベクトル数と正則化パラメータを入力する。正則化パラメータは、数２において相関行列Cの逆行列が求められないことを防ぐため、対角成分に加算する小さい数である。しきい値設定パラメータ入力ウィンドウ８０９には、しきい値設定処理において使用するパラメータを入力する。図は、累積ヒストグラムに適用する比率の例である。ここには０以上１以下の実数を入力する。１の場合、ステップＳ３０８において異常測度最大値をしきい値とする。１未満の場合、変形例として説明したように、除外候補区間を除く学習期間の全特徴ベクトルの異常測度を昇順にソートし、ここで指定した比率に達する値を第二のしきい値とし、繰り返し終了後に第二のしきい値を異常判定しきい値とする。
【００５１】
レシピ名入力ウィンドウ８１１には、入力された情報に対応付けるユニークな名前を入力する。全ての情報を入力したらテスト期間入力ウィンドウ１３１１にテスト対象期間を入力する。ここは空欄にしてもよい。その場合は学習のみ行う。以上の情報を入力後、テストボタン８１３の押下により、レシピのテストを行う。  
この操作により、同じレシピ名で実行したテストの通し番号が採番される。装置ＩＤ情報、使用センサ情報、学習期間、特徴ベクトル抽出に用いるパラメータ、正常モデルパラメータをレシピ名およびこのテスト番号と対応付けて保存しておく。
【００５２】
次に、図３に示した処理フローに従って学習を実行する。ステップＳ３０２の正準化においては、指定した学習期間の全センサ信号を用いて平均と標準偏差を求める。この平均と標準偏差の値は、センサ毎にレシピ名およびテスト番号に対応付けて保存しておく。ステップＳ３０４における区間の分割は例えば１日毎とし分割番号を日付に対応付けて保存しておく。
【００５３】
ステップＳ３０６からＳ３１１までの処理は、ステップＳ３１２において終了条件を満たすまで繰り返される。繰り返しの際には、１から始まる処理番号を順に振っておく。ステップＳ３０６における除外候補区間の番号、算出された全学習期間の異常測度および異常測度最大値、ステップＳ３０８において決定した、あるいは前回から継承されたしきい値と学習除外区間、その時点での保留回数を処理番号と併せて保存しておく。また、図３には示されていないが、表示のため、ステップＳ３０６において算出された異常測度最大値をしきい値として全学習期間の異常判定を行い、結果を保存しておく。また、繰り返し終了時のしきい値と学習除外区間が決定された処理番号も保存しておく。
【００５４】
次に、テスト期間のセンサ信号１０２を用いて、学習時の処理番号に対応させて、図７に示す異常検知の処理を行い、異常測度と判定結果を処理番号と併せて保存する。各回のステップＳ７０１における学習除外区間は、学習時の対応する処理番号のステップＳ３０６において使用された除外候補区間とする。各回のステップＳ７０７におけるしきい値は、学習時の対応する処理番号のステップＳ３０６において算出された異常測度最大値とする。
【００５５】
レシピテスト終了後、テストの結果がユーザに示される。そのためのＧＵＩの例を図９Ａおよび図９Ｂおよび図９Ｃに示す。各画面の上部に表示されたタブを選択することにより、結果表示画面９０１と結果拡大表示画面９０２と学習データ選別詳細表示画面９０３を切り換えることができる。
【００５６】
図９Ａには、表示部１３１に表示される結果表示画面９０１を示す。結果表示画面９０１には、指定された全期間の異常測度、しきい値、判定結果とセンサ信号の時系列グラフなどの全体を表示する。期間表示ウィンドウ９０４には、指定された学習期間およびテスト期間が表示される。処理番号表示ウィンドウ９０５には、表示中のデータの処理番号を表示する。最初は、繰り返し終了時のしきい値と学習除外区間が決定された処理番号が表示されるものとする。異常測度表示ウィンドウ９０６には、指定された学習期間およびテスト期間および処理番号の異常測度としきい値と判定結果が表示される。また、学習に使用した区間に丸印が表示される。センサ信号表示ウィンドウ９０７には、指定された期間の指定されたセンサの出力値が表示される。センサの指定は、センサ名選択ウィンドウ９０８への入力によって行う。ただし、ユーザが指定する前は、先頭のセンサが選択されている。カーソル９０９は、拡大表示の時の起点を表し、マウス操作により移動できる。表示日数指定ウィンドウ９１０には、この画面では使用しないが、結果拡大表示画面９０２での、拡大表示の起点から終点までの日数が表示される。この画面で入力することもできる。日付表示ウィンドウ９１１には、カーソル位置の日付が、表示される。終了ボタン９１２押下により結果表示画面９０１、結果拡大表示画面９０２、学習データ選別詳細表示画面９０３とも消去し終了する。
【００５７】
図９Ｂには、結果拡大表示画面９０２を示す。結果拡大表示画面９０２には、結果表示画面９０１において、カーソル９０９で示された日付を起点として、指定された日数の異常測度、しきい値、判定結果とセンサ信号の拡大した時系列グラフを表示する。期間表示ウィンドウ９０４には、結果表示画面９０１と同じ情報が表示される。異常測度表示ウィンドウ９０６およびセンサ信号表示ウィンドウ９０７には、結果表示画面９０１と同様の情報が、拡大表示される。表示日数指定ウィンドウ９１０で、拡大表示の起点から終点までの日数を指定する。日付表示ウィンドウ９１１には、拡大表示の起点の日付が表示されている。スクロールバー９１３で表示の起点を変更することも可能であり、この変更はカーソル９０９の位置と日付表示ウィンドウ９１１の表示に反映される。スクロールバー表示領域９１４の全体の長さは結果表示画面９０１に表示されている全期間に相当する。また、スクロールバー９１４の長さは表示日数指定ウィンドウ９１０で指定された日数に相当し、スクロールバー９１３の左端部が拡大表示の起点に対応する。終了ボタン９１２押下により終了する。
【００５８】
図９Ｃには、表示部１３１に表示される学習データ選別詳細表示画面９０３の例を示す。学習データ選別詳細表示画面９０３には、しきい値、学習除外区間、区間毎の異常検知結果を処理番号別に表示する。期間表示ウィンドウ９０４には、指定された学習期間およびテスト期間が表示される。パラメータ表示ウィンドウ９１５には、学習データ選別のためのパラメータが表示される。
【００５９】
学習データ選別詳細表示ウィンドウ９１６は、処理番号欄９１７、しきい値欄９１８、更新チェック欄９１９、区間表示欄９２０、学習区間チェック欄９２１、異常検知区間チェック欄９２２からなる。処理番号欄９１７には処理番号、しきい値欄９１８には、異常測度最大値が表示される。更新チェック欄９１９には、各処理番号に対し、図３のステップＳ３０８の処理を行った場合に丸印を表示する。そのうち、繰り返しの中で最後になる場合は二重丸を表示する。区間表示欄９２０には区間を表す情報を表示する。この例では月と日である。区間の分け方に合わせて時間を表示してもよいし、単純に区間番号を表示してもよい。学習区間チェック欄９２１には、対応する区間が対応する処理番号において、学習期間の除外候補区間の場合はバツ印、その他の場合は丸印、テスト期間の場合はハイフンを表示する。異常検知区間チェック欄９２２には、対応する区間が対応する処理番号において、一度でも異常検知された場合は丸印を表示する。一度も検知されない場合は空欄とする。
【００６０】
最終結果表示ウィンドウ９２３には、繰り返し処理終了後に確定したしきい値と学習除外区間と確定したときの処理番号、すなわち更新チェック欄９１９に二重丸が表示された処理番号を表示する。ここに表示されるのは学習結果であるが、異なる処理番号の結果を学習結果として保存したい場合、処理番号入力ウィンドウ９２４に番号を入力し、処理番号変更ボタン９２５を押下することにより、最終結果表示ウィンドウ９２３に表示される内容が入力された処理番号に対応する情報に書き換えられる。また、入力された処理番号が学習結果として保存される。終了ボタン９１２押下により終了する。
【００６１】
図９Ａ〜Ｃに示すいずれかの画面で、終了ボタン９１２押下により異常検出結果および学習データ選別結果の確認が終了したら、図８に示すレシピ設定画面８０１の表示に戻る。テスト番号表示ウィンドウ８１４には、上記のテストで採番された番号が表示されている。確認した内容に問題があれば、学習期間や選択センサ、パラメータなどを変更し、テストボタン８１３の押下により、再度テストを行う。あるいは、一度行ったテストの結果を再度確認することもできる。テスト番号表示ウィンドウ８１４からテスト番号を選択入力し、表示ボタン８１５を押下する。この操作により、レシピ名とテスト番号に対応付けて保存された情報をロードし結果表示画面９０１を表示する。タブの切り替えにより結果拡大表示画面９０２または学習データ選別詳細表示画面９０３を表示させることもできる。確認が済んだら終了ボタン９１２押下により、レシピ設定画面８０１の表示に戻る。
【００６２】
レシピ設定画面８０１上においてカーソル８２０を登録ボタン８１６の上に移動させて登録ボタン８１６を押下げる（クリックする）ことにより、上記レシピ名とテスト番号表示ウィンドウ８１４に表示中のテスト番号に対応付けて保存されている情報をレシピ名と対応付けて登録し、終了する。キャンセルボタン８１７が押下された場合は、何も保存しないで終了する。
【００６３】
また、テスト結果一覧ボタン８１８が押下された場合は、図１０に示す、テスト結果一覧表示画面１００１を表示する。テスト結果リスト１００２には、全てのテストの学習期間、テスト期間、選択センサ番号、正常モデル作成パラメータ、しきい値設定パラメータ学習データ選別パラメータなどのレシピ情報と、しきい値、学習除外区間、異常区間数などの学習・テスト結果情報を表示する。リストの左端に選択チェックボタンがあり、いずれか一つのみ選択することができる。詳細表示ボタン１００３押下により、レシピ名とテスト番号に対応付けて保存された情報をロードし、結果表示画面９０１を表示する。タブの切り替えにより結果拡大表示画面９０２または異常検知結果表示画面９０３を表示させることもできる。
【００６４】
確認が済んだら終了ボタン９１２の押下により、テスト結果一覧表示画面１００１の表示に戻る。登録ボタン１００４の押下により、選択中のテスト番号に対応付けて保存されている情報をレシピ名と対応付けて登録し、テスト結果一覧表示画面１００１の表示およびレシピ設定画面８０１の表示を終了する。戻るボタン１００５が押下された場合は、レシピの登録は行わずにレシピ設定画面８０１の表示に戻る。
【００６５】
登録されたレシピは、活性か不活性かのラベルをつけて管理され、新しく観測されたデータに対しては、装置ＩＤが一致する活性なレシピの情報を用いて図７を用いて説明した特徴ベクトル抽出から異常検出までの処理を行い、結果をレシピ名と対応付けて保存しておく。
【００６６】
以上の異常検知処理の結果を表示画面１３１上に表示するＧＵＩの例を、図１１に示す。図１１は、表示対象を指定するＧＵＩの例である。表示対象指定画面１１０１から表示対象の設備、レシピおよび期間を指定する。始めに、装置ＩＤ選択ウィンドウ１１０２により装置ＩＤを選択する。次に、レシピ名選択ウィンドウ１１０３により、装置ＩＤを対象としたレシピのリストから表示対象のレシピを選択する。データ記録期間表示部１１０４には、入力されたレシピを用いて処理され、記録が残されている期間の開始日と終了日が表示される。結果表示期間指定ウィンドウ１１０５には、結果を表示したい期間の開始日と終了日を入力する。表示センサ指定ウィンドウ１１０６には、表示したいセンサの名を入力する。表示ボタン１１０７押下により図９Ａに示す結果表示画面９０１を表示する。終了ボタン９１２押下により終了する。
【００６７】
結果表示にかかわるＧＵＩの画面および操作は、図９Ａおよび図９Ｂに示すテスト結果表示にかかわるＧＵＩとほぼ同じであるため、異なる部分のみ説明する。結果表示画面９０１、結果拡大表示画面９０２における期間表示ウィンドウ９０４には、図１２に示すように結果表示期間指定ウィンドウ１１０５で指定された表示期間１２０１が表示される。結果表示画面９０１において、異常測度表示ウィンドウ９０６には、指定された表示期間の異常測度としきい値と判定結果が表示される。また、学習に使用した区間に丸印９０６１が表示される。センサ信号表示ウィンドウ９０７には、指定された期間の、表示センサ指定ウィンドウ１１０６により指定されたセンサの出力値が表示される。表示対象センサは、センサ名選択ウィンドウ９０８への入力によって変更することも可能である。新しく観測されたデータの結果表示の時には、学習データ選別詳細表示画面９０３は表示されない。
【００６８】
以上に説明したようなＧＵＩ上で、センサ信号、抽出した特徴、異常測度、しきい値を視覚的に確認しながら除外区間を設定して異常を検出するための正常モデルを設定することができるので、異常データを含まないデータを用いてよりよい正常モデルを作成することが可能になった。
【００６９】
上記実施例は学習データ設定をオフライン、異常検知処理をリアルタイム、結果表示をオフラインでそれぞれ処理するものであるが、結果表示もリアルタイムに行うことが可能である。その場合、表示期間の長さ、表示対象とするレシピ、表示対象とする情報を予め定めておき、一定時間毎に最新の情報を表示するよう構成すればよい。  
逆に、任意の期間を設定し、レシピを選択して、オフラインで異常検知処理を行う機能を付加したものも本発明の範囲に含まれる。
【実施例２】
【００７０】
本異常検知システム１００は、センサ信号解析部１２０と、入出力部１３０とを備えている。  
実施例１においては、設備から出力されるセンサ信号に基づき異常検知する方法の実施例を説明したが、別の実施例として、さらに、設備から出力されるイベント信号も利用して異常検知する方法を説明する。図１３Ａに、本実施例における異常検知方法を実現する異常検知システム１３００の構成を示す。異常検知システム１３００は、センサ信号解析部１３２０と、入出力部１３３０とを備えている。本実施例における異常検知システム１３００は、図１に示した実施例１における異常検知システム１００のセンサ信号解析部１２０の構成に、モード分割部１３０２を加えたものとなっている。図１で説明した構成と同じ番号を付した部分は、実施例１で説明したのと同じ機構を備えているので、説明を省略する。
【００７１】
モード分割部１３０２は、設備１０１からイベント信号１３０１を入力し、これに基づき設備１０１の稼動状態を表すモードに分割する。モード分割の結果は、除外区間設定部１０８およびしきい値算出部１０９に入力され、図３で説明した処理フローと同じ処理が実施され、モード別にしきい値が設定される。除外区間の設定には、予め指定した１つのモードのみに着目しステップＳ３０６からＳ３１１までの処理を実施する。ただし、異常測度最大値は毎回モード別に記録しておく。また、異常検出部１１０におけるステップＳ７０７の異常判定を、対応するモードのしきい値を用いて行う。
【００７２】
あるいは、除外区間もモード別に設定することが考えられる。その場合は、全てのモードについて、１つずつ、着目したモードのみの異常測度に基づいて学習除外区間を決定する。このように決められた除外区間の対応するモードの部分を学習データから除外する。
【００７３】
次に、全てのモードについて、１つずつ、着目したモードのみの異常測度に基づいて学習除外区間を決定する処理のフローを、図１３Ｂを用いて説明する。  
始めに、特徴ベクトル抽出部１０４において、センサ信号蓄積部１０３から学習期間として指定された期間のセンサ信号１０２を入力し（Ｓ１３４１）、センサ信号毎に正準化した後（Ｓ１３４２）、特徴ベクトルの抽出を行い（Ｓ１３４３）、特徴ベクトルを複数区間、例えば１日につき一つの区間に分ける（Ｓ１３４４）。次に、除外区間設定部１０８で除外区間を決めるためのパラメータを入力する（Ｓ１３４５）。パラメータは、最大繰り返し回数Ｎ、最大保留回数Ｍ、有効下がり幅Δである。予め、パラメータファイルまたはＧＵＩにより設定しておく。
【００７４】
一方、設備１０１から出力されたイベント信号１３０１をモード分割部１３０２に入力し（Ｓ１３６１）、不定期に出力される設備の操作開始・操作停止・故障・警告を表す信号であるイベント信号を図１４Ａに示す様な所定の文字列またはコードで表示したデータの中から検索して起動シーケンスと停止シーケンスの切り出しを行う（Ｓ１４０２）。その結果をもとに、停止シーケンスの終了時刻から、図１４Ｂに示すような、起動シーケンスの開始時刻までの「定常OFF」モード１４１１、起動シーケンス中の「起動」モード１４１２、起動シーケンスの終了時刻から停止シーケンスの開始時刻までの「定常ON」モード１４１３、停止シーケンス中の「停止」モード１４１４の４つの稼動状態に分割する（Ｓ１３６３）。
【００７５】
次に、Ｓ１３４４で複数区間に分けた特徴ベクトルのうち、Ｓ１３６３で分割したモードのｎ番目のモードに対応する特徴ベクトルを抽出し（Ｓ１３６４）、異常測度算出部１０７でｎ番目のモードに対応する特徴ベクトルの異常測度算出し、除外区間設定部１０８で設定した除外候補区間を除く異常測度最大値を算出する（Ｓ１３４６）。初回は、除外候補区間はなしである。初回の場合、または、（前回までに設定されたしきい値−異常測度最大値）で算出される下がり幅がパラメータΔより大きい場合は（Ｓ１３４７）、しきい値算出部１０９において、異常測度最大値をしきい値とし、除外区間設定部１０８において、除外候補区間を学習除外区間にとする（Ｓ１３４８）。
【００７６】
ステップＳ１３４７でＮＯの場合（２回目以降、または、下がり幅がパラメータΔ以下の場合）は、しきい値はそれまでの値を継承する。また、学習除外区間もそのままとする。そして、下がり幅をチェックし（Ｓ１３４９）、下がり幅が負、すなわち増加する場合（Ｓ１３４９でＹＥＳの場合）、保留回数をカウントアップする（Ｓ１３５０）。保留回数の初期値は図示していないがもちろん０である。一方、下がり幅が正又はゼロ、すなわち減少または変化しない場合（Ｓ１３４９でＮＯの場合）、保留回数はそのままとする。
【００７７】
ステップＳ１３４８またはＳ１３４９またはＳ１３５０の処理の後、除外区間設定部１０８において、異常測度最大値の区間を除外候補区間に追加する（Ｓ１３５１）。繰り返し回数及び保留回数をチェックし（Ｓ１３５２）、繰り返し回数がＮ回目または保留回数がパラメータＭより大きい場合（Ｓ１３５２でＹＥＳの場合）、Ｓ１３６３で分割した全てのモードについて処理を行ったかをチェックし（Ｓ１３６５）、ＹＥＳの場合は処理を終了し、終了時の学習除外区間としきい値を学習結果として記録しておく。ここで繰り返し回数とはステップＳ１３４６を実行した回数のことであり、保留回数とはステップＳ１３５０でカウントされる数のことである。
【００７８】
ステップＳ１３５２においてＮＯの場合（繰り返し回数がＮ回目より少なく、かつ、保留回数がパラメータＭ以下の場合、ステップＳ１３４６に戻る。  
また、ステップＳ１３６５においてＮＯの場合（全てのモードについて除外区間の設定が完了していない場合）には、ｎを１繰り上げて（Ｓ１３６６）、新たなモードのセンサ信号に対してＳ１３６４からＳ１３５１までの処理を実行する。
【００７９】
実施例１で説明した処理と異なる部分であるイベント信号に基づくモード分割方法の実施例を図１４Ａ及びＢを用いて説明する。イベント信号の例を図１４Ａに示す。不定期に出力される設備の操作・故障・警告を表す信号であり、時刻と操作・故障・警告を表す文字列またはコードからなる。図１４Ｂには、停止シーケンスの終了時刻から起動シーケンスの開始時刻までの「定常OFF」モード１４１１、起動シーケンス中の「起動」モード１４１２、起動シーケンスの終了時刻から停止シーケンスの開始時刻までの「定常ON」モード１４１３、停止シーケンス中の「停止」モード１４１４の４つの稼動状態に分割した例を示す。
【００８０】
シーケンス切り出しのためには、予めシーケンスの開始イベントおよび終了イベントを指定しておき、イベント信号の先頭から最後まで以下の要領でスキャンしながら切り出していく。
(1)シーケンスの途中でない場合は、開始イベントを探索する。見つかったらシーケンスの開始とする。
(2)シーケンスの途中の場合は、終了イベントを探索する。見つかったらシーケンスの終了とする。ここで終了イベントとは、指定の終了イベントのほか、故障、警告、指定の開始イベントとする。
【００８１】
以上のように、イベント信号を利用することにより、多様な稼動状態を正確に分けることができ、モード別にしきい値を設定することにより、「起動」モード１４１２および「停止」モード１４１４の過渡期において学習データ不足により感度を落とす必要がある場合でも、「定常OFF」モード１４１１および「定常ON」モード１４１３では高感度な異常検知が可能になる。
【実施例３】
【００８２】
実施例１および２では、異常測度算出結果に基づいて学習除外区間を決定していたが、本実施例では、ユーザが指定した区間やユーザが指定した条件を満たす区間を学習除外区間として初期設定する。実施例１において図３を用いて説明した学習時のステップＳ３０５あるいは図６のステップＳ６０５の前に、学習除外区間を設定するステップを挿入する。
【００８３】
ユーザによる区間指定の方法は、専用のＧＵＩを用いても良いし、ファイル入力でもよい。例えば１行に１個年月日を表す「20090726」のような数値を書いておく。これは２００９年７月２６日のことである。もちろん区間番号で指定するようにしてもよい。
【００８４】
ユーザによる条件指定の方法の例を以下に示す。  
第一の例は、イベント信号を利用した学習除外区間設定処理である。基本的には、イベント信号に基づき異常状態を含む区間かどうかを判断する。異常状態と判断する条件は例えば以下のとおりである。(1)故障あるいは警告のイベントが発生、(2)異常な起動シーケンスを含む、(3)起動シーケンスの回数が所定範囲外、(4)終了シーケンスからの経過時間が所定範囲外である起動シーケンスを含む、(5)頻度の低いイベントが発生などである。(1)(3)(5)の条件指定は、イベント番号と許容回数によって行える。(1)の場合は故障・警告に対応するイベントを指定し、(5)の場合は、予めイベントの頻度を調べておき、頻度の低いイベントを指定する。１回以上指定イベントが含まれる区間は異常であるとする。(3)の場合は、起動シーケンスの開始イベントを指定し、１区間で許容される回数を指定する。(2)の条件指定は、３つのイベント番号の指定によって行う。起動シーケンスの開始イベント、起動シーケンスの終了イベントと異常終了イベントの組合せである。異常終了イベントには、起動開始イベントと停止開始イベントがある。起動シーケンスの開始イベント、起動シーケンスの終了イベントの間に異常終了イベントがある場合は、異常終了イベントを含む区間を異常とする。(4)の条件指定は２つのイベント番号指定とイベント間の時間間隔の許容範囲によって行う。停止シーケンスの開始イベントと起動シーケンスの開始イベントを指定し、それらのイベント間の時間間隔が許容範囲外であれば、起動シーケンスの開始イベントが含まれる区間を異常とする。
【００８５】
第二の例は、センサ信号を利用した学習除外区間設定処理である。予め指定したセンサ信号に対する条件を満たす時間を含む区間を除外区間とする。図１５は、条件を記述したファイルの例である。条件の記述はセンサ名１５０１、符号１５０２、しきい値１５０３からなる。符号は「＝」、「＜」、「＜＝」、「＞＝」「＞」、「＜＞」からなる。それぞれ等しい、未満、以下、以上、より大きい、異なる、を意味する。図の例では、「Ｓｅｎｓｏｒ．Ａ」が−１００未満または「Ｓｅｎｓｏｒ．Ｄ」が５００以上の場合に異常状態であると判断し、異常状態を含む区間を除外する。
【符号の説明】
【００８６】
１００…異常検知システム    １０１…設備    １０２…センサ信号    １０３…センサ信号蓄積部    １０４…特徴ベクトル抽出部    １０５…学習データ選別部    １０６…正常モデル作成部    １０７…異常測度算出部    １０８…除外区間設定部    １０９…しきい値算出部    １１０…異常検出部    １２０…センサ信号解析部１２０    １３０…入出力部１３０。
【図１】
2015114967.tif 000006
【図２】
2015114967.tif 000007
【図３】
2015114967.tif 000008
【図４】
2015114967.tif 000009
【図５】
2015114967.tif 000010
【図６】
2015114967.tif 000011
【図７】
2015114967.tif 000012
【図８】
2015114967.tif 000013
【図９Ａ】
2015114967.tif 000014
【図９Ｂ】
2015114967.tif 000015
【図９Ｃ】
2015114967.tif 000016
【図１０】
2015114967.tif 000017
【図１１】
2015114967.tif 000018
【図１２】
2015114967.tif 000019
【図１３Ａ】
2015114967.tif 000020
【図１３Ｂ】
2015114967.tif 000021
【図１４Ａ】
2015114967.tif 000022
【図１４Ｂ】
2015114967.tif 000023
【図１５】
2015114967.tif 000024