(57)【要約】【課題】プラントなどの異常予兆検知方法では関連するセンサ情報を取得していない場合は異常検知できず、また、人為的な操作がなされたときにはセンサ出力が変化して異常検知される可能性があるが、センサ信号のみからこのような異常と検知すべき実際の異常との区別をつけるのは困難である。【解決手段】センサ情報を取得できないユニットの状態に基づく信号や人の操作に基づく信号が含まれるイベント信号を利用し、設備から出力されるイベント信号からイベント列を切出し、クラスタリングにより分類し、イベント列と所定期間以内に発生したアラームの頻度マトリクスを作成しておき、これに基づきイベント列に対して発生確率の高いアラームの予報を出力する。【選択図】図１
2011081697.tif 000002
【特許請求の範囲】
【請求項１】
設備または装置の出力する時系列のセンサ信号およびイベント信号に基づいて異常を検知する設備状態監視方法であって、
前記イベント信号を元にイベント列を切出し、
前記イベント列間の類似度に基づき前記イベント列を分類し、
前記イベント列の分類結果を利用して異常を検知することを特徴とする設備状態監視方法。
【請求項２】
設備または装置の出力する時系列のイベント信号に基づいて異常を検知する設備状態監視方法であって、
前記イベント信号を元にイベント列を切出し、
前記イベント列間の類似度に基づき前記イベント列を分類し、
前記イベント信号を元にアラームを抽出し、
前記分類されたイベント列のグループと前記アラームを関連付けて頻度マトリクスを算出し、
評価時に観測される前記イベント列を前記学習済みのイベント列との類似度に基づいて分類し、
前記頻度マトリクスに基づいて、前記分類されたイベント列のグループと関連の強いアラームの発生を予測することを特徴とする設備状態監視方法。
【請求項３】
請求項２記載の設備状態監視方法であって、さらに
監視対象とする設備または装置の出力するセンサ信号に基づき特徴ベクトルを抽出し、
学習時には、前記特徴ベクトルに基づき正常モデルを作成し、
異常検知時には、前記正常モデルと前記特徴ベクトルの比較により異常測度を算出し、
前記異常測度と予め設定されたしきい値の比較により異常識別を行うことを特徴とする設備状態監視方法。
【請求項４】
請求項２記載の設備状態監視方法であって、さらに
前記イベント信号に基づき稼動状態別のモード分割を行い、
監視対象とする設備または装置の出力するセンサ信号に基づき特徴ベクトルを抽出し、
学習時には、前記特徴ベクトルに基づき前記モード毎に正常モデルを作成し、
異常検知時には、前記正常モデルと前記特徴ベクトルの比較により異常測度を算出し、
前記異常測度と予め設定されたしきい値の比較により異常識別を行うことを特徴とする設備状態監視方法。
【請求項５】
前記モード分割の方法は、イベント信号を入力し、複数のシーケンスの開始および終了イベントを予め指定しておき、前記開始および終了イベントを順次探索しながらシーケンス中あるいはシーケンスとシーケンスの間の期間を切り出すことを特徴とする請求項４記載の設備状態監視方法。
【請求項６】
前記頻度マトリクスの作成方法は、前記アラームに「発生なし」を加えて結果事象とし、前記イベント列のグループを原因事象とし、マトリクスの全ての要素を０にしておき、前記イベント列について、予め指定された時間が経過するまでの間に発生したアラームを調べ、発生したアラームがある場合は、前記イベント列が属するグループと前記発生したアラームのクロスする要素をカウントアップし、発生したアラームがない場合は、前記イベント列が属するグループと「発生なし」のクロスする要素をカウントアップすることを特徴とする請求項２記載の設備状態監視方法。
【請求項７】
前記頻度マトリクスの作成方法において、前記予め指定された時間として複数の時間を指定しておき、それぞれの時間に対応して前記頻度マトリクスを個別に作成することを特徴とする請求項６記載の設備状態監視方法。
【請求項８】
前記複数の時間に対応する頻度マトリクスを用いてアラーム発生時刻の推定を行うことを特徴とする請求項７記載の設備状態監視方法。
【請求項９】
設備または装置の出力する時系列のセンサ信号およびイベント信号に基づいて異常を検知する設備状態監視方法であって、
前記イベント信号に基づき稼動状態別のモード分割を行い、
前記センサ信号に基づき特徴ベクトルを抽出し、
前記特徴ベクトルに基づき前記モード毎に第一の正常モデルを作成し、
前記第一の正常モデルと前記特徴ベクトルの比較により第一の異常測度を算出し、
前記イベント信号を元にイベント列を切出し、
前記イベント列間の類似度に基づき前記イベント列を分類し、
前記分類されたイベント列の発生の有無と前記第一の異常測度との相関に基づいて異常測度が有意に高いイベント列を抽出し、
前記特徴ベクトルから前記異常測度が有意に高いイベント列が発生した所定の期間のデータを除いて学習データを作成し、
前記学習データを用いて前記モード毎に第二の正常モデルを作成し、
前記第二の正常モデルと前記特徴ベクトルの比較により第二の異常測度を算出し、
前記第二の異常測度と予め設定されたしきい値の比較により異常識別を行うことを特徴とする設備状態監視方法。
【請求項１０】
請求項９記載の設備状態監視方法であって、さらに
前記異常測度が有意に高いイベント列に対して例外とするか否かを設定しておき、
前記例外と設定されたイベント列が発生した所定の期間の前記異常識別による異常判定を取り消すことを特徴とする設備状態監視方法。
【請求項１１】
時系列のセンサ信号およびイベント信号を出力する監視対象である設備と、
前記イベント信号に基づき稼動状態別のモード分割を行うモード分割部と、
前記センサ信号に基づき特徴ベクトルを抽出し、正常モデルを作成する正常モデル作成部と、
前記正常モデルと前記特徴ベクトルの比較により異常測度を算出する異常測度算出部と、
前記異常測度とあらかじめ設定されたしきい値との比較により異常を識別する異常識別部と、
イベント信号からイベント列を切出し類似度に基づきイベント列を分類するイベント列分類部と、
前記分類されたイベント列のグループと前記イベント信号から抽出されるアラームを関連付けて頻度マトリクスを算出する因果関係抽出部と、
観測される前記イベント列を前記学習済みのイベント列との類似度に基づいて分類し、
前記頻度マトリクスに基づいて、観測されたイベント列と関連の強いアラームの発生を予測する異常予測部とからなることを特徴とする設備状態監視システム。
【請求項１２】
時系列のセンサ信号およびイベント信号を出力する監視対象である設備と、
前記イベント信号に基づき稼動状態別のモード分割を行うモード分割部と、
前記センサ信号に基づき特徴ベクトルを抽出し、正常モデルを作成する正常モデル作成部と、
前記正常モデルと前記特徴ベクトルの比較により異常測度を算出する異常測度算出部と、
前記異常測度とあらかじめ設定されたしきい値との比較により異常を識別する異常識別部と、
イベント信号からイベント列を切出し類似度に基づきイベント列を分類するイベント列分類部と、
前記分類されたイベント列の発生の有無と前記異常測度との相関を算出し、異常測度が有意に高いイベント列を抽出する相関算出部と、
前記異常測度が有意に高いイベント列について、異常識別の例外とするか否かを設定する異常識別例外設定部とからなることを特徴とする設備状態監視システム。
【請求項１３】
設備または装置の出力する時系列のイベント信号を入力するステップと、
前記イベント信号を元にイベント列を切出すステップと、
前記イベント列間の類似度に基づき前記イベント列を分類するステップと、
前記分類されたイベント列のグループと前記イベント信号から抽出されるアラームを関連付けて頻度マトリクスを算出するステップとをコンピュータに実行させることを特徴とする設備状態解析プログラム。
【請求項１４】
設備または装置の出力する時系列のセンサ信号およびイベント信号を入力するステップと、
前記イベント信号に基づき稼動状態別のモード分割を行うステップと、
前記センサ信号に基づき特徴ベクトルを抽出するステップと、
前記特徴ベクトルに基づき前記モード毎に第一の正常モデルを作成するステップと、
前記第一の正常モデルと前記特徴ベクトルの比較により異常測度を算出するステップと、
前記イベント信号を元にイベント列を切出すステップと、
前記イベント列間の類似度に基づき前記イベント列を分類するステップと、
前記分類されたイベント列のグループの発生と前記異常測度の相関を算出するステップと、
前記相関をもとに異常測度が有意に高いイベント列のグループを抽出するステップと、
前記特徴ベクトルから前記異常測度が有意に高いイベント列が発生した所定の期間のデータを除いて学習データを作成するステップ、
前記学習データを用いて前記モード毎に第二の正常モデルを作成するステップとをコンピュータに実行させることを特徴とする設備状態解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントや設備などが定期的に出力する多次元時系列データと間歇的に出力するイベントデータをもとに異常を早期に検知する設備状態監視方法、監視システム及び監視プログラムに関する。
【背景技術】
【０００２】
電力会社では、ガスタービンの廃熱などを利用して地域暖房用温水を供給したり、工場向けに高圧蒸気や低圧蒸気を供給したりしている。石油化学会社では、ガスタービンなどを電源設備として運転している。このようにガスタービンなどを用いた各種プラントや設備において、設備の不具合あるいはその兆候を検知する予防保全は、社会へのダメージを最小限に抑えるためにも極めて重要である。
【０００３】
ガスタービンや蒸気タービンのみならず、水力発電所での水車、原子力発電所の原子炉、風力発電所の風車、航空機や重機のエンジン、鉄道車両や軌道、エスカレータ、エレベータ、機器・部品レベルでも、搭載電池の劣化・寿命など、上記のような予防保全を必要とする設備は枚挙に暇がない。
【０００４】
このため、特許文献１，２には、おもにエンジンを対象とした異常検知方法が開示されている。これは、過去のデータ例えば時系列センサ信号をデータベースとしてもっておき、観測データと過去の学習データとの類似度を独自の方法で計算し、類似度の高いデータの線形結合により推定値を算出して、推定値と観測データのはずれ度合いを出力するものである。
【０００５】
また、特許文献３には、プロセス異常事象と機器損傷事象との間での因果関係を記憶しておくプラント保安管理システムが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第６，９５２，６６２号明細書
【特許文献２】米国特許第６，９７５，９６２号明細書
【特許文献３】特開２００９−２０７８７号公報
【非特許文献】
【０００７】
【非特許文献１】Stephan W. Wegerich；Nonparametric modelingof vibration signal features for equipment health monitoring、Aerospace Conference, 2003. Proceedings. 2003 IEEE，Volume 7, Issue, 2003 Page(s):3113 - 3121
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１，２に記載の方法および他の多くの異常検知方法では、時系列センサ情報を用いて異常を検知しているため、関連するセンサ情報を取得していない場合は異常検知できない。これは、設備に組み込まれたユニットが正常または異常という状態のみを出力している場合に起こりうる。また、人為的な操作がなされたときにはセンサ出力が変化して異常検知される可能性があるが、センサ信号のみからこのような異常と検知すべき実際の異常との区別をつけるのは困難である。
【０００９】
また、特許文献３記載の方法では、特定箇所の温度・圧力・電力の異常を表すプロセス異常事象と特定箇所の故障を表す機器損傷事象の因果関係を記憶しているものの、細分化された単発の異常をプロセス異常事象と定義しているため、プロセス異常事象と機器損傷事象が１対１で対応しているのでない限り、意味のある因果関係を抽出するのは困難である。また、人為的な操作を表す事象は定義されていないため、上記と同様の問題がある。
【００１０】
そこで、本発明の目的は、上記課題を解決し、一部のユニットのセンサ情報を取得できない場合でも異常予兆を検知することが可能な設備状態監視方法およびシステムを提供することにある。また、人為的な操作に起因するセンサ出力の異常を検知しないように調整可能な設備状態監視方法およびシステムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明は、設備あるいは製造装置，計測装置の出力する時系列のセンサ信号およびイベント信号に基づく設備状態監視において、センサ情報を取得できないユニットの状態に基づく信号や人の操作に基づく信号が含まれるイベント信号を利用する。すなわち、設備から出力されるイベント信号をもとにイベント列を切出し、類似度に基づくクラスタリングによりイベント列を分類し、イベント列と所定時間経過までに発生した故障イベントの頻度マトリクスを作成しておく。評価時には観測されたイベント列と類似するイベント列を検索し、頻度マトリクスに基づき所定時間内に発生する確率の高い故障イベントがあればその故障の予報を発報する。
【００１２】
あるいは、設備あるいは製造装置、計測装置の出力する時系列のセンサ信号およびイベント信号に基づく設備状態監視において、多次元のセンサ信号に基づき正常モデルを作成し、正常モデルとセンサ信号の比較に基づき異常測度を算出し、異常識別する一方、設備から出力されるイベント信号をもとにイベント列を切出し、類似度に基づくクラスタリングによりイベント列を分類し、一定期間毎の異常測度の平均とイベント列の有無の相関を求め、異常測度が有意に高いイベント列を含む期間のセンサ信号データを正常モデル作成に使用しないように定める。
【００１３】
また、異常測度が有意に高いイベント列について人為的な操作を表すものかどうかを指定しておき、観測されたイベント列が人為的な操作を表すイベント列と類似している場合は異常測度が高くても異常と判定しないようにする。
【発明の効果】
【００１４】
本発明によれば、設備状態監視において、イベント列と故障の関連性を頻度マトリクスによって求めておくことにより、センサ情報を取得できないユニットの故障であってもイベント列の検索による異常予測が可能になる。個々のイベントではなくイベント列として捉えることにより発生した事象の意味の理解が容易になり、さらにイベント列そのままではなくイベント列を分類して頻度マトリクスの行数を少なくすることにより統計的に有意な情報を増やすことができる。
【００１５】
また、イベント列とセンサ信号に由来する異常測度の相関を求めておき、異常測度の高いイベント列を含む期間のデータを正常モデル作成に使用しないことにより、人為的な操作がなされたなどの理由でセンサ信号が変化した場合のデータを除くことができ、精度の高い正常モデル作成が可能となる。また、人為的な操作を表すイベント列を指定しておくことにより、人為的な操作に起因するセンサ出力の異常を検知しないようにすることが可能となる。
【００１６】
以上のようにイベント列を利用することにより、センサ信号の解析のみでは得られない効果を得られ、ガスタービンや蒸気タービンなどの設備のみならず、水力発電所での水車、原子力発電所の原子炉、風力発電所の風車、航空機や重機のエンジン、鉄道車両や軌道、エスカレータ、エレベータ、そして機器・部品レベルでは、搭載電池の劣化・寿命など、種々の設備・部品において異常および異常予兆の高精度な検知を可能とする。
【図面の簡単な説明】
【００１７】
【図１】図１は本発明の設備状態監視システムの一構成例である。
【図２】図２はイベント信号の例である。
【図３】図３はセンサ信号の例である。
【図４】図４は正常モデル作成処理フローの例である。
【図５】図５は投影距離法を説明する図である。
【図６】図６は局所部分空間法を説明する図である。
【図７】図７はイベント列とアラームの因果関係を学習するための処理フローである。
【図８】図８はイベント列とアラームの頻度マトリクスを説明する図である。
【図９】図９はイベント信号を利用して異常予測を行うための処理フローである。
【図１０】図１０はアラーム発生予測結果表示画面の例である。
【図１１】図１１は本発明の設備状態監視システムの別の構成例である。
【図１２】図１２はイベント列と異常測度の相関を学習するための処理フローである。
【図１３】図１３はイベント信号を利用して異常識別の例外を判定するための処理フローである。
【発明を実施するための形態】
【００１８】
以下、図面を用いて本発明の内容を詳細に説明する。
図１に、本発明の設備状態監視方法を実現するシステムの一構成例を示す。本システムの動作には、異常予兆検知や診断に用いるモデルを予め作成しておく「学習」とモデルと入力信号に基づき実際に異常予兆検知や診断を行う「評価」の二つのフェーズがある。基本的に前者はオフラインの処理、後者はオンラインの処理である。以下の説明では、それらを学習時、評価時という言葉で区別する。
【００１９】
状態監視の対象とする設備１０１は、ガスタービンや蒸気タービンなどの設備やプラントである。設備１０１は、その状態を表すセンサ信号１０２とイベント信号１０３を出力する。モード分割部１０４は、イベント信号１０３を入力として、稼動状態の変化に応じて時間を分割する。以下の説明ではこの分割をモード分割と呼び、稼動状態の種類をモードと呼ぶ。学習時、正常モデル作成部１０５は、センサ信号１０２から特徴ベクトルを生成し、なんらかの方法で選択した学習データを用いてモード毎に学習を行い、正常モデルを作成する。
【００２０】
評価時、異常測度算出部１０６は、正常モデルと評価対象の特徴ベクトルとの比較に基づいて、異常測度を算出し、異常識別部１０７は、異常測度を予め設定されたしきい値と比較することにより異常判定を行う。
【００２１】
学習時、イベント列分類部１０８は、イベント信号１０３を入力としてイベント列を切出し、類似度に基づくクラスタリングによりイベント列を分類し、因果関係抽出部１０９は、イベント列とアラームの因果関係を学習する。評価時、イベント列分類部１０８は、イベント信号１０３を入力としてイベント列を切出し、異常予測部１１０は、学習済みのイベント列から観測されたイベント列と類似するものを検索し、学習済みの因果関係をもとに関連の強いアラームの発生を予測する。
【００２２】
次に、図１に示す各部の動作について詳細に説明する。最初に、モード分割部１０４における、モード分割方法を説明する。図２にイベント信号の例を示す。イベント信号は、不定期に出力される設備の操作・故障・警告を表す信号であり、時刻と操作・故障・警告を表す文字列からなる。これを入力し、所定のイベントの検索により起動シーケンスと停止シーケンスの切り出しを行う。具体的には、予めシーケンスの開始イベントおよび終了イベントを指定しておき、イベント情報の先頭から最後まで以下の要領でスキャンしながら切り出していく。
【００２３】
（１）シーケンスの途中でない場合は、開始イベントを探索する。見つかったらシーケンスの開始とする。
（２）シーケンスの途中の場合は、終了イベントを探索する。見つかったらシーケンスの終了とする。また、故障・警告、指定の開始イベントを探索し、見つかったらシーケンスの異常終了とする。
【００２４】
シーケンス切出しの結果をもとに、停止シーケンスの終了時刻から起動シーケンスの開始時刻までの「定常OFF」モード、起動シーケンス中の「起動」モード、起動シーケンスの終了時刻から停止シーケンスの開始時刻までの「定常ON」モード、停止シーケンス中の「停止」モードの４種のモードを順次切出すことにより期間を分割する。以下、このように分割されたシーケンス中およびシーケンス中でない期間を「クラスタ」と呼ぶこととする。
【００２５】
このように、イベント情報を利用して、多様な稼動状態を正確に分けることにより、個々のモード別にみると単純な状態になるため、後に続く正常状態のモデル作成を精度良く行うことが可能となる。
【００２６】
次に、正常モデル作成部１０５における学習時のデータ処理方法、および異常測度算出部１０６における異常測度算出方法について図３ないし図６を用いて説明する。
【００２７】
センサ信号１０２の例を図３に示す。複数の時系列信号であり、ここでは、系列１，２，３、４という４種類の信号を表している。実際には、４種類に限るものではなく、数百から数千と言った数になる場合もある。各信号は、設備１０１に設けられた複数のセンサからの出力に相当し、例えば、シリンダ、オイル、冷却水などの温度、オイルや冷却水の圧力、軸の回転速度、室温、運転時間などが、一定間隔で観測されるものである。出力や状態を表すのみならず、何かをある値に制御するための制御信号の場合もある。本発明ではこれらのデータを、多次元時系列信号として扱う。
【００２８】
図４に、正常モデル作成部１０５における正常モデル作成処理フローを示す。ステップＳ４０１において、センサ信号１０２を入力し、ステップＳ４０２において、特徴選択、特徴抽出、特徴変換を行い、特徴ベクトルを得る。図示はしていないが、センサ信号１０２は予め蓄積されており、指定された期間の信号を入力とする。また、モード分割のため、イベント信号１０３も同期間蓄積されているものとする。
【００２９】
特徴選択は、最低限の処理として、分散が非常に小さいセンサ信号および単調増加するセンサ信号を除く必要がある。また、相関解析による無効信号を削除することも考えられる。これは、多次元時系列信号に対して相関解析を行い、相関値が１に近い複数の信号があるなど、極めて類似性が高い場合に、これらは冗長だとして、この複数の信号から重複する信号を削除し、重複しないものを残す方法である。このほか、ユーザが指定するようにしてもよい。評価時に同じセンサ信号を使用できるよう、選択したセンサを記憶しておく。
【００３０】
特徴抽出としては、センサ信号をそのまま用いることが考えられるが、ある時刻に対して±1,±2,…のウィンドウを設け，ウィンドウ幅（3,5,…）×センサ数の特徴ベクトルにより、データの時間変化を表す特徴を抽出することもできる。また、離散ウェーブレット変換(DWT: Discrete Wavelet Transform)を施して、周波数成分に分解してもよい。
【００３１】
なお、各特徴は平均と標準偏差を用いて、平均を０、分散を１となるように変換する正準化を行うとよい。評価時に同じ変換ができるよう、各特徴の平均と標準偏差を記憶しておく。あるいは、最大値と最小値または予め設定した上限値と下限値を用いて正規化を行ってもよい。これらの処理は、単位およびスケールの異なるセンサ信号を同時に扱うためのものである。
【００３２】
特徴変換には、主成分分析(PCA:  Principal  Component  Analysis)、独立成分分析(ICA:  Independent  Component  Analysis)、非負行列因子分解(NMF:  Non-negative  Matrix  Factorization)、潜在構造射影(PLS:  Projection  to  Latent  Structure)、正準相関分析(CCA:  Canonical  Correlation  Analysis)など様々な手法があるが、何を用いてもよく、組み合わせて用いても、変換をしなくてもよい。
【００３３】
主成分分析、独立成分分析、非負行列因子分解は、目的変数設定が不要のため利用しやすい。評価時に正常モデル作成時と同じ変換がなされるよう、変換行列など、変換に必要なパラメータを記憶しておく。
【００３４】
特徴変換後に、ステップＳ４０３において学習データの選択を行う。まず、取得した多次元時系列信号が、欠損している場合があるため、そのようなデータは削除する。例えば、大部分のセンサ信号が同時に０を出力した場合、対応する時刻の全信号データを削除する。次に、正常ではない信号データを除去する。
【００３５】
具体的には、イベント信号１０３から警告または故障の発生した時刻を調べ、その時刻を含むクラスタ（前述のモード分割において順次切り出した期間）の全信号データを除去する。次にステップＳ４０４において、モード別にデータを分類しておき、ステップＳ４０５において各モードについて正常モデルを作成する。
【００３６】
正常モデル作成手法としては、投影距離法(PDM:  Projection  Distance  Method)や局所部分空間法(LSC:  Local  Sub-space  Classifier)が考えられる。投影距離法は、学習データに対し独自の原点をもつ部分空間すなわちアフィン部分空間（分散最大の空間）を作成する方法である。クラスタ毎に、図５に示すようにアフィン部分空間を作成する。
【００３７】
図では、３次元の特徴空間において、１次元のアフィン部分空間を作成する例を示しているが、特徴空間の次元はもっと大きくてもよく、アフィン部分空間の次元も特徴空間の次元より小さくかつ学習データ数より小さければ何次元でもかまわない。
【００３８】
アフィン部分空間の算出方法について説明する。まず、学習データの平均μと共分散行列Σを求め、次にΣの固有値問題を解いて値の大きい方から予め指定したr個の固有値に対応する固有ベクトルを並べた行列Ｕをアフィン部分空間の正規直交基底とする。
【００３９】
異常測度算出部１０７において算出する異常測度は、センサ信号１０２から特徴抽出部１０５を経て得られた評価データと同じモードに属する各クラスタのアフィン部分空間への投影距離のdの最小値と定義する。ここで、クラスタ毎にアフィン部分空間を作成するかわりに、同じモードのクラスタを全て集めてアフィン部分空間を作成してもよい。この方法によれば、投影距離を計算する回数を少なくすることができ、高速に異常測度を算出することができる。なお、異常測度算出は、基本的にリアルタイムの処理とする。
【００４０】
一方、局所部分空間法は、評価データqのk-近傍データを用いてｋ−１次元のアフィン部分空間を作成する方法である。図６にｋ＝３の場合の例を示す。図６に示すように、異常測度は図に示す投影距離で表されるため、評価データqに最も近いアフィン部分空間上の点bを求めればよい。
【００４１】
この方法は、評価データを入力しないとアフィン部分空間を作成できないため、正常モデル作成部１０５においては、図７に示すモード別データ分類までを行い、さらにk-近傍データを効率的に探すためのｋｄ木をモード別に構築する。ｋｄ木とは、k次元のユークリッド空間にある点を分類する空間分割データ構造である。座標軸の1つに垂直な平面だけを使って分割を行い、各葉ノードには1つの点が格納されるよう構成する。異常測度算出部１０６では、評価データと同じモードに属するｋｄ木を利用して評価データのk-近傍データを求め、それらから前述の点ｂを求め、評価データと点ｂの距離を算出して異常測度とする。
【００４２】
このほか、マハラノビスタグチ法、回帰分析法、最近傍法、類似度ベースモデル、１クラスＳＶＭなど様々な方法を用いて正常モデルの作成が可能である。
【００４３】
次に、イベント列分類部１０８、因果関係抽出部１０９、異常予測部１１０におけるイベント信号を利用した異常予測について、図７ないし図１０を用いて説明する。イベント信号１０３は、前述の通り不定期に出力される設備の操作・故障・警告を表す信号であり、時刻と操作・故障・警告を表す文字列からなる。
【００４４】
図７は、イベント列とアラームの因果関係を学習するための処理フローである。イベント列分類部１０８において、ステップＳ７０１において、イベント信号１０３を入力し、ステップＳ７０２において、時刻の間隔がしきい値以上となったとき切り離す処理を行い、イベント列を作成していく。次にステップＳ７０３において、ユニークなイベント列をすべてリストアップし、ステップＳ７０４において、イベント列間の類似度を調べる。類似度は例えば、各イベント列の長さをＬ１、Ｌ２、一方をもう一方に変化させるために必要なイベントの削除、追加の数をＣとすると
（Ｌ１＋Ｌ２−Ｃ）／（Ｌ１＋Ｌ２）・・・数１
で表される。例えば一方のイベント列をａａｂｃ、もう一方をａｂｂとすると、Ｌ１＝４、Ｌ２＝３、Ｃ＝３（前者からａとｃを削除してｂを追加すると後者になる）となるため類似度は４／７＝０．５７１となる。
【００４５】
次に、ステップＳ７０５において、イベント列間の類似度に基づいてクラスタリング、つまり類似したイベント列同士のグループ化を行う。ステップＳ７０６において、グループ毎にユニークなコードを付加し、グループの代表イベント列を決める。代表イベント列は例えばグループ内のイベント列との類似度の最小値が最も高いイベント列を選ぶ。あるいは、お互いに類似度の低い複数のイベント列を選ぶ。次に、ステップＳ７０７において、因果関係抽出部１０９において、イベント列とアラームの頻度マトリクスを作成する。
【００４６】
図８に頻度マトリクスの例を示す。イベント信号１０３からアラームを抜き出して結果事象リストを作成し、結果事象リストに「発生なし」を加える。一方、グループ化されたイベント列を原因事象とする。横軸を結果事象、縦軸を原因事象とする頻度マトリクスを作成する。はじめにマトリクスの全ての要素を０にリセットしておく。
【００４７】
各イベント列について、予め指定された時間が経過するまでの間に発生したアラームを調べる。イベント列が属するグループのコードと発生したアラームのクロスする要素をカウントアップする。アラームが１件も発生していない場合は「発生なし」の要素をカウントアップする。また、各グループに属するイベント列の頻度も調べておく。ここで、イベント列からアラームまでの経過時間を複数種類指定し、別々のマトリクスを作成しておくと、予兆が早く現れたり直前に現れたりする性質に応じて因果関係を抽出することができ、アラーム発生までの時間を大雑把に予測することが可能となる。
【００４８】
図９は、作成した頻度マトリクスを用いて異常予測を行うための処理フローである。この処理は基本的にリアルタイム処理である。最初に、学習時と同様、イベント列分類部１０８において、ステップＳ９０１において、イベント信号１０３を入力し、ステップＳ９０２において、時刻の間隔がしきい値以上となったとき切り離す処理を行い、イベント列を作成していく。次に、ステップＳ９０３において、各グループの代表イベント列との類似度を算出し、ステップＳ９０４において、最も類似度の高いグループのコードを付加する。
【００４９】
次に、異常予測部１１０において、ステップＳ９０５において、付加されたコードに対応する頻度マトリクスの行を調べ、関連の強いアラームすなわち指定したイベント列グループのコードに対して発生確率の高いアラームがあるか否かを調べ、あればそのアラームの発生を予測する。発生確率は、着目している行の各アラームの頻度をグループに属するイベント列の頻度で割ることにより算出する。
【００５０】
図１０は、アラーム発生予測結果を提示する画面の例である。入力イベント列表示ウィンドウ１００１には、アラームの発生を予測したときの入力イベント列を表示する。類似イベント列表示ウィンドウ１００２には、入力イベント列と最も類似度の高い、学習済みのイベント列グループの代表イベント列を表示する。
【００５１】
類似度表示ウィンドウ１００３には、入力イベント列と類似イベント列の類似度を表示する。類似イベント発生頻度ウィンドウ１００４には、表示されている類似イベント列のグループに所属する、学習時のイベント列の数を表示する。アラーム発生予測表示ウィンドウ１００５には、頻度マトリクスの類似イベント列の行から算出されるアラームの発生確率のグラフを表示する。縦軸は発生確率、横軸はアラームの種類を表す。全アラームではなく上位のアラームと「発生なし」の確率のみ表示する。図の例では上位３個のアラームの発生確率を示している。
【００５２】
発生時刻表示ウィンドウ１００６には、発生時刻を〜以内という表現で表示する。〜には、頻度マトリクス算出時に指定された経過時間を入れる。このような表示をすることにより、ユーザはアラーム発生予測の根拠として発生イベント列と過去の事例を併せて確認することができる。類似度、類似イベント発生頻度、アラーム発生確率の情報は、予測の結果がどのくらい信頼できるのかを判断する目安とすることができる。
【００５３】
経過時間別にマトリクスを作成した場合は、同じアラームについて経過時間別に発生確率を調べることにより、アラーム発生時刻の予測を行う。例えばｔ１、ｔ２、ｔ３（ｔ１＜ｔ２＜ｔ３）の３種類の経過時間に対してマトリクスを作成した場合、あるアラームについてｔ１、ｔ２、ｔ３とも発生確率が高い場合は、アラーム発生時刻はイベント列観測からｔ１時間以内であると予測する。ｔ１では発生確率が低く、ｔ２では高い場合は、アラーム発生時刻はイベント列観測からｔ１時間からｔ２時間の間であると予測する。あるいは、それぞれの経過時間毎の発生確率を提示してもよい。
【００５４】
以上の処理により、センサ信号を取得できないユニットの故障であっても、イベント列の検索による異常予測が可能になる。個々のイベントではなくイベント列として捉えることにより発生した事象の意味の理解が容易になり、さらにイベント列そのままではなくイベント列を分類して頻度マトリクスの行数を少なくすることにより統計的に有意な情報を増やすことができる。
【００５５】
イベント列分類部１０８におけるイベント分類方法の別の実施例について説明する。本実施例では、クラスタリングによるイベント列分類の前に、モード分割部１０４におけるシーケンス切出しの結果を利用して、起動シーケンスと停止シーケンスには予めユニークなイベント列コードを付けておく。イベント列コードは正常終了したシーケンスと異常終了したシーケンスについて異なるものを定義するとよい。
【００５６】
さらに異常終了したシーケンスについて、故障イベントで終了したもの、警告イベントで終了したもの、シーケンス開始イベントで終了したものを区別して定義してもよい。さらに、シーケンス中の特定のイベントの回数に基づいてイベント列を分類してもよい。あるいは、特定のイベント間の時間間隔に基づいて分類してもよい。
【００５７】
また、起動、停止以外の定型のシーケンスがある場合、そのシーケンスの開始イベントおよび終了イベントを指定しておき、起動・停止シーケンスと同時に切出し、異なるイベント列コードを付加しておくとよい。さらに切出したシーケンスを起動・停止シーケンスと同様の方法で分類し、それぞれ異なるコードを付加してもよい。
【００５８】
このように特定のシーケンスについてコードを付加した後、対応するイベント列を除去し、クラスタリングによってイベント分類を行う。以降の処理は前述の方法と同様である。このような処理により、イベントに関する知識を反映させることができ、より有用なイベント列の分類が可能になると思われる。
【００５９】
以上の構成により、多次元の時系列センサ信号に基づき正常モデルを作成し、正常モデルとセンサ信号の比較に基づき異常測度を算出し、異常識別する一方、イベント信号を分類することによりセンサ信号を取得できないユニットについても異常予測が可能な設備状態監視システムを実現できる。
【００６０】
本発明の設備状態監視方法の別の実施例を、図１１ないし図１３を用いて説明する。図１１は、本実施例を実現する設備状態監視システムの構成を表す図である。状態監視の対象とする設備１０１は、その状態を表すセンサ信号１０２とイベント信号１０３を出力する。モード分割部１０４は、イベント信号１０３を入力として、稼動状態の変化に応じて時間を分割する。
【００６１】
学習時、正常モデル作成部１０５は、センサ信号１０２から特徴ベクトルを生成し、なんらかの方法で選択した学習データを用いてモード毎に学習を行い、正常モデルを作成する。異常測度算出部１０６は、正常モデルと評価対象の特徴ベクトルとの比較に基づいて、異常測度を算出する。ここで、k-fold cross validationなどの交差検証の手法を適用し、学習データと異常測度算出対象とするデータが同じものにならないようにする。イベント列分類部１０８は、イベント信号１０３を入力としてイベント列を切出し、分類する。相関算出部１１１は、一定期間の異常測度の平均と特定のイベント列発生の有無の相関を算出する。異常識別例外設定部１１２では、異常測度が有意に高いイベント列について、異常識別の例外とするか否かを設定する。正常モデル作成部１０５において、学習データから異常測度が有意に高いイベント列を含む期間のデータを除いた上で、再度正常モデルを作成する。
【００６２】
評価時、異常測度算出部１０６は、正常モデルと評価対象の特徴ベクトルとの比較に基づいて、異常測度を算出する。異常識別部１０７は、異常測度を予め設定されたしきい値と比較し、異常識別の例外か否かを判断することにより異常を検知する。
【００６３】
図１２は、イベント列分類部１０８、相関算出部１１１、異常識別例外設定部１１２における、学習時の処理フローを示す。イベント列分類部１０８において、ステップＳ１２０１において、イベント信号１０３を入力し、ステップＳ１２０２において、時刻の間隔がしきい値以上となったとき切り離す処理を行い、イベント列を作成していく。
【００６４】
次に、ステップＳ１２０３において、ユニークなイベント列をすべてリストアップし、ステップＳ１２０４において、イベント列間の類似度を調べる。ステップＳ１２０５において、イベント列間の類似度に基づいてクラスタリングを行い、ステップＳ１２０６において、グループ毎にユニークなコードを付加し、グループの代表イベント列を決める。次に、相関算出部１１１において、ステップＳ１２０７において、一定期間の異常測度の平均と特定のイベント列発生の有無の相関を算出する。
【００６５】
具体的には一定期間たとえば1日毎に、あるイベントが発生しているか否かを調べ、イベントが発生している期間およびイベントが発生していない期間の平均と分散をそれぞれ算出し、ステップＳ１２０８において、分散分析により有意差があるかどうかを判定する。あるいは、一定期間毎に異常測度の平均を算出し、あるイベントが発生している期間および発生していない期間についてその値のヒストグラムを別々に算出し、ヒストグラムの重なりの大きさに基づいて有意差があるかどうかを判定する。
【００６６】
ここまでの処理により、異常測度が有意に高いイベント列の情報が得られる。この情報はセンサデータに基づく正常モデル作成時に、学習データ選択に利用することにより、精度の高いモデル作成が可能となる。次に、異常識別例外設定部１１２において、ステップＳ１２０９において、異常識別の例外とするか否かの設定を行う。
【００６７】
このため、全ての異常測度が有意に高いイベント列グループについて、ＧＵＩに代表イベント列を表示し、異常識別の例外とするか否かをユーザに選択させる。例えば、保守作業などの人為的な操作を表すイベント列は例外として設定するとよい。以上により、保守作業などの異常検知を行うべきでない期間の情報が得られる。
【００６８】
図１３は、イベント列分類部１０８、相関算出部１１１、異常識別例外設定部１１２における、評価時の処理フローを示す。最初に、学習時と同様、イベント列分類部１０８において、ステップＳ１３０１において、イベント信号１０３を入力し、ステップＳ１３０２において、時刻の間隔がしきい値以上となったとき切り離す処理を行い、イベント列を作成していく。次に、ステップＳ１３０３において、各グループの代表イベント列との類似度を算出し、ステップＳ１３０４において、最も類似度の高いグループのコードを付加する。最後に、ステップＳ１３０５において、異常識別の例外とするか否かを学習時の設定に従って判定する。
【００６９】
この情報は、異常識別部１０７におけるセンサデータに基づく異常識別の際に利用する。具体的には異常識別の例外と判定された時刻には、算出した異常測度が予め設定したしきい値を超えた場合でも異常と判定しない。この処理により、人為的な操作に起因するセンサ出力の異常を検知しないようにすることが可能となる。
【００７０】
なお、図１０には、図１の因果関係抽出部１０９および異常予測部１１０がない構成を示したが、これらの手段および処理フローを併せ持つ構成とするものも本発明の範囲に含まれる。
【符号の説明】
【００７１】
１０１  設備
１０２  センサ信号
１０３  イベント信号
１０４  モード分割部
１０５  正常モデル作成部
１０６  異常測度算出部
１０７  異常識別部
１０８  イベント列分類部
１０９  因果関係抽出部
１１０  異常予測部
１１１  相関算出部
１１２  異常識別例外設定部
１００１  入力イベント列表示ウィンドウ
１００２  類似イベント列表示ウィンドウ
１００３  類似度表示ウィンドウ
１００４  類似イベント発生頻度ウィンドウ
１００５  アラーム発生予測表示ウィンドウ
１００６  発生時刻表示ウィンドウ
【図１】
2011081697.tif 000003
【図２】
2011081697.tif 000004
【図３】
2011081697.tif 000005
【図４】
2011081697.tif 000006
【図５】
2011081697.tif 000007
【図６】
2011081697.tif 000008
【図７】
2011081697.tif 000009
【図８】
2011081697.tif 000010
【図９】
2011081697.tif 000011
【図１０】
2011081697.tif 000012
【図１１】
2011081697.tif 000013
【図１２】
2011081697.tif 000014
【図１３】
2011081697.tif 000015