【実施例1】
【0015】
以下、図面を用いて本発明の内容を詳細に説明する。
図1に、本発明の設備状態監視方法を実現するシステムの一構成例を示す。本システムは、センサ信号解析部100と異常診断部120、入出力部130とを備えて構成されている。
【0016】
本システムのセンサ信号解析部100は、設備101から出力されるセンサ信号102とイベント信号103に基づき一定期間毎に運転パターンラベルを付与する運転パターンラベル付与部104と運転パターンラベルを付与されたセンサ信号102とイベント信号103を蓄積するデータベース105、センサ信号102とイベント信号103を受けて、運転パターンラベルに基づいて蓄積されたセンサ信号102とイベント信号103から学習データを選択する学習データ選択部106、選択した学習データを用いて正常モデルを作成する正常モデル作成部107、正常モデルとセンサ信号に基づき異常測度を算出する異常測度算出部108、算出された異常測度に基づき異常を検知する異常識別部109とを備えて構成される。
異常診断部120は、センサ信号102とイベント信号103及び異常識別部109からの出力を受けて、設備101の異常を診断する。
入出力部130は、運転パターンラベル付与部104、異常識別部109、異常診断部120などと接続して診断条件の入力や診断結果の出力を行う。
【0017】
状態監視の対象とする設備101は、ガスタービンや蒸気タービンなどの設備やプラントである。設備101は、その状態を表すセンサ信号102とイベント信号103を出力する。
【0018】
センサ信号102の例を
図2Aに示す。時刻と101に設けられた複数のセンサ値のデータからなり、一定間隔毎に取得される時系列信号である。センサの種類は、数百から数千と言った数になる場合もあり、例えば、シリンダ、オイル、冷却水などの温度、オイルや冷却水の圧力、軸の回転速度、室温、運転時間などである。出力や状態を表すのみならず、何かをある値に制御するための制御信号の場合もある。
【0019】
イベント信号103の例を
図2Bに示す。不定期に出力される設備の操作・故障・警告を表す信号であり、時刻と操作・故障・警告を表すユニークなコードとメッセージ文字列からなる。
【0020】
次に、センサ信号解析部の構成及び動作について、
図1から
図10を用いて説明する。まず、運転パターンラベル付与部104における処理の流れを
図3Aおよび
図3Bを用いて説明する。まず、イベント信号103を入力し(S301)、所定の文字列またはコードの検索により起動シーケンスと停止シーケンスの切り出しを行う(S302)。その結果をもとに、
図3Bに示すように、停止シーケンスの終了時刻から起動シーケンスの開始時刻までの「定常OFF」モード311、起動シーケンス中の「起動」モード312、起動シーケンスの終了時刻から停止シーケンスの開始時刻までの「定常ON」モード313、停止シーケンス中の「停止」モード314の4つの稼動状態に分割する(S303)。以下の説明ではこの分割をモード分割と呼び、稼動状態の種類をモードと呼ぶこととする。
【0021】
シーケンス切り出しのためには、予めシーケンスの開始イベントおよび終了イベントを指定しておき、イベント信号103の先頭から最後まで以下の要領でスキャンしながら切り出していく。
(1)シーケンスの途中でない場合は、開始イベントを探索する。見つかったらシーケンスの開始とする。
(2)シーケンスの途中の場合は、終了イベントを探索する。見つかったらシーケンスの終了とする。
ここで終了イベントとは、指定の終了イベントのほか、故障、警告、指定の開始イベントとする。指定の終了イベント以外で終了した場合は、異常終了として記録しておく。
【0022】
次に、予め定めた期間毎、例えば1日毎に状態遷移数をカウントする(S304)。状態遷移とは定常ONと定常OFFの間の遷移のことを意味する。つまり起動シーケンスと停止シーケンスの回数を数えればよい。次に、予め定めた期間の初めの状態がONかOFFのどちらであるかをチェックしその時点までのその状態の継続時間を算出する(S305)。その時点より以前で一番近い起動シーケンスまたは停止シーケンスを探し、それが起動シーケンスであれば状態はON、停止シーケンスであれば状態はOFFである。継続時間はそのシーケンス終了からの時間を計算すればよい。次に算出した状態遷移回数と予め定めた期間の初めの状態とその継続時間をもとに運転パターンラベルを付与する(S306)。
【0023】
運転パターンラベルの付与方法について
図4Aおよび
図4Bを用いて説明する。
図4Aは設備のON/OFFの情報と1つのセンサ信号を時系列グラフとして表した図である。ONかOFFかによってセンサ値が変化することはもちろんのこと、状態の継続時間、状態遷移のパターンによってもセンサ値が大きく変化することが分かる。運転パターンラベル付与の目的は、設備状態が類似するものを学習データとして選択することであるため、例えば、
図4Aに示した実線、点線、破線、一点鎖線で囲んだデータにそれぞれ同じラベルを付与する。そのために、S304、S305で算出した状態遷移回数と予め定めた期間の初めの状態とその継続時間を利用する。
図4Bに、それらの情報と運転パターンラベルの関係の例を示す。状態遷移回数は0回から1,2,…と増えるに従い異なるラベルが付与されるようにする。ただし、ラベルの種類を有限個にするため、所定の回数以上は同じものとして扱う。この例では5回以上をひとつにまとめている。また、継続時間は連続データであるため、適当な区切りを設けて分類し、それぞれが異なるラベルが付与されるようにする。さらに、初めの状態がONかOFFかによって異なるラベルが付与されるようにする。状態遷移の回数および初めの状態の継続時間の対応する欄を見、初めの状態がONならば左の番号(
図4Bの例では、1〜36)のラベル、OFFならば右の番号(
図4Bの例では、37〜72)のラベルを付与する。
なお、横軸、縦軸の分け方はより細かくしても粗くしてもよいし、全ての情報を用いなくてもよい。また、さらに他の情報を加えて分類に用いてもよい。また、全ての欄に異なるラベルを割り当てなくてもよい。また、この例では初めの状態がONかOFFかの2種類であるが、OFFの中でも完全停止とアイドリングの状態を区別したり、ONの中でも異なる運転モードを区別したりすることも考えられる。設備の状態が類似するか否かに関連のある情報を用いることが重要であり、ここであげた項目に限定するものではない。例えば保守作業の有無や警告の有無をラベルに反映することが考えられる。
【0024】
また、本実施例では、イベント信号を用いてモード分割する例を示したが、センサ信号に設備のON/OFFあるいはその他の運転状態を表す信号が含まれる場合も考えられる。その場合は、その信号を用いて状態遷移回数と予め定めた期間の初めの状態とその継続時間あるいは設備の状態が類似するか否かに関連のある他の情報を算出してもよい。
【0025】
運転パターンラベルを付与されたセンサ信号102とイベント信号103はデータベース105に蓄積される。データベース105における、データの管理方法の例を
図5Aないし
図5Dを用いて説明する。
図5Aは、運転パターンラベルの管理データの例である。この例では、前述の予め定めた期間を1日の0時から24時までとしており、日付、サイト(設置場所を表すコード)、号機(同じ場所にある複数の設備を区別するID)毎に1個のデータを持つ。このデータは日付501、サイト502、号機503の他に運転パターンラベル504、センサ信号データおよびイベント信号データへのキーコード505と運転パターンラベルを付与するために用いた初期状態506、初期状態の継続時間507、状態遷移回数508と警告の有無情報509からなる。506から508の項目は、運転パターンラベルの付与方法に応じて変化する。また、システムに接続された設備が1台の場合はサイト502および号機503の項目は不要である。
【0026】
図5Bは、センサ信号データである。設備101からの出力102と同様の情報を持つが、
図5Aに示す管理データのセンサ信号データおよびイベント信号データへのキーコード505に紐付けられたキーコード511が付加されている。キーコードが決まれば日付も一意に決まるため、日付の情報は含まなくてもよい。時刻情報512は、イベント信号との対応付けのため必要である。ただし、一定間隔データであることが保証されている場合は、時刻情報の替わりに取得順の通し番号を用いてもよい。
図5Cは、イベント信号データである。設備101からの出力103と同様のコード523とメッセージ524と、管理データのキーコード505に紐付けられたキーコード521と時刻情報522からなる。キーコードが決まれば日付も一意に決まるため、日付の情報は含まなくてもよい。
【0027】
なお、運転パターンラベル管理の期間は0時を開始とするとは限らず、任意の時刻で区切ってよい。また、期間の長さを1日とするとも限らない。ラベル付与が煩雑になるのを防ぐため、主要な繰り返しの周期にそろえるとよい。例えばガスエンジンによる発電設備などは、設備が設置された施設の操業周期に合わせて運転されるため1日とするのが適切であるが、12時間毎、8時間毎とすることも考えられる。周期を短くすることにより、状態数は少なくなって同じ状態のデータを集めやすくなると思われる。ただし、学習するセンサデータ数を一定の量に保とうとすると、学習するセンサデータを選択する際に探索する管理データ数および集めるべき管理データ数が増えるため、短くしすぎてもいけない。逆に周期を長くすることも可能であるが、状態数が増加し同じ状態のデータを集めるのが困難になる可能性がある点に留意する必要がある。
【0028】
さらに、運転パターンラベル管理の期間を定時刻のみではなく、状態遷移のタイミングでも区切ることも考えられる。その場合の運転パターンラベル管理データの例を
図5Dに示す。このデータは、日付531、サイト532、号機533、運転パターンラベル534、センサ信号データおよびイベント信号データへのキーコード535と警告の有無情報539を
図5Aに示す例と同様に含む。状態遷移があるときに新しくデータを作成するため、ラベル付与に用いるデータとして、その管理期間の前の状態536、その状態の継続時間537、その管理期間の状態538の情報を持つ。前の状態の継続時間のクラス数を上記と同じ6とすると、前の状態と今の状態のクラス数はそれぞれ2なのでラベル数は24と少ない数で管理することが可能となる。ただし、各管理データに紐付けられるセンサ信号データの数がそれぞれ異なるため、学習データ選択の際に、管理データの個数ではなく、センサ信号の数が所定数になるようにするべきであり、そのための処理が煩雑になるというデメリットがある。
【0029】
運転パターンラベルを付与する期間の長さおよびラベル付与のルールを決めるためのGUIの例を、
図6Aから
図6Dに示す。GUIは、入出力部130の表示画面131に表示される。はじめに、図示はしないが、ラベル付与のルールを決めるために参考にするセンサ信号とイベント信号を選んでロードしておく。次に、
図6Aに示す入力画面を用いて、ラベル付与に使用する情報の分類方法を決定する。
図6Aは、運転パターンラベル付与に使用する情報を選択するための入力画面の例である。運転パターンラベル付与参照情報入力ウィンドウ601には、周期情報入力ウィンドウ602、周期単位入力ウィンドウ603、参照情報選択ウィンドウ604A〜604C、クラス数入力ウィンドウ607A〜607Cなどが含まれている。周期情報入力ウィンドウ602には、運転パターンラベルを付与する期間を数値入力する。また、周期単位入力ウィンドウ603には、期間の単位を時間、日、週から選択入力する。参照情報選択ウィンドウ604A〜604Cには、ラベル付与のために使用する情報を入力する。
使用可能な情報は予め決まっているものとし、リスト表示ボタン605A〜605Cのクリックにより参照可能情報リスト606が表示されるので、リストから選択入力する。クラス数入力ウィンドウ607A〜607Cには、参照した情報をもとに異なるラベルを付与すべきクラス数を入力する。参照可能情報には、連続データと名義データの2種類があり、名義データの場合は、名義数がクラス数としてクラス数入力ウィンドウ607A〜607Cに入力され、ユーザ入力を受け付けないようにする。また詳細ボタン608A〜608Cは不活性にする。
連続データの場合は、クラス数入力ウィンドウ607A〜607Cにクラス数を数値入力する。2以上の整数値であり、上限は特に決まりはないが、例えば10、100など適当な数値に定めておく。連続データの場合は、詳細ボタン608A〜608Cの何れかの押下により、
図6Bに示す運転パターンラベル付与参照情報詳細入力ウィンドウ611が表示され、クラスの境界を定義するための詳細情報を入力する。追加ボタン609は、参照する情報を4以上にするためのボタンであり、追加ボタン609の押下により情報4、情報5、・・・に対応する参照情報選択ウィンドウ604、リスト表示ボタン605、クラス数入力ウィンドウ607、詳細ボタン608が順次表示される。詳細情報も含めて入力が終了したら、ラベル定義ボタン610を押下する。この操作により、
図6Cに示すラベル確認画面が表示される。
【0030】
図6Bは、押下された詳細ボタン608A〜608Cの何れかに対応する参照情報のクラス境界入力画面の例である。連続データを対象とするため、クラス境界の値を入力する形とする。運転パターンラベル付与参照情報詳細入力ウィンドウ611には、参照情報表示ウィンドウ612、数値範囲表示ウィンドウ613、クラス境界値入力ウィンドウ614A〜614Eが含まれる。参照情報表示ウィンドウ612には、押下された詳細ボタン608A〜608Cの何れかに対応する参照情報の名前が表示される。図には、運転パターンラベル付与参照情報入力ウィンドウ601において、詳細ボタン608Bが押下された場合の例を示している。数値範囲表示ウィンドウ613には、予めロードしておいたイベント信号103について、入力された周期の条件のもとで算出された、運転パターンラベル付与参照情報の値の範囲を表示する。
クラス境界値入力ウィンドウ614A〜614Eは、クラス数入力ウィンドウ607A〜607Cで入力された数値より1個少ない数だけ表示される。クラス数6個の場合、x未満ならばクラスNである(Nは1から5)という状態を決定する条件のxを数値入力する。図の例は1未満ならばクラス1、すなわち状態遷移回数が0回の場合はクラス1である。また1以上2未満ならばクラス2、すなわち状態遷移回数が1回の場合はクラス2である。以下同様にクラス5までが定義され、クラス6の条件はその他すなわち状態遷移回数5回以上の場合である。入力終了後、終了ボタン615の押下により、運転パターンラベル付与参照情報入力ウィンドウ601に戻る。
【0031】
図6Cは、
図6Aの入力結果に従って定義されたラベルの確認画面の例である。運転パターンラベル確認ウィンドウ621は、ラベル表示ウィンドウ622A、622Bとクラス境界条件表示ウィンドウ626を備えている。ラベル表示ウィンドウ622A、622Bは2次元のマトリクスであり、条件623A、623Bのときに、横軸項目624A、624B、縦軸項目625A、625Bに示した情報のクラスに対応するラベル番号を表示したものである。横軸項目624A、624Bと縦軸項目625A、625Bには、参照情報のうちクラス数の多いものから2個を選択して設定するとウィンドウ622の数を最小にできる。条件623A、623Bには残りの参照情報のクラスの組合せを別々に全て記述する。表示されるラベルは、各情報のクラスの組合せをもとに以下に示す方法で自動的に決められる。情報1のクラスC1、情報2のクラスC2、情報3のクラスC3を(C1,C2,C3)と表記すると、(1,1,1)から開始して(1,1,2)、(1,1,3)、・・・(1,1,6)、(1,2,1)、・・・(2,6,6)までの全ての組合せに1から始まる通し番号をラベルとして付与する。この場合、情報1のクラス数が2、情報2のクラス数が6、情報3のクラス数が6なのでラベル総数は72となる。情報4を参照する場合は(C1,C2,C3,C4)の全ての組合せを順に数え上げて通し番号をつける。さらに他の情報を参照する場合も同様である。クラス境界条件表示ウィンドウ626には参照情報の項目名とそれに対応するクラスを定義する条件が表示される。
図6Aに示す運転パターンラベル付与参照情報入力ウィンドウ601で設定された参照情報に対し、参照情報が名義データの場合はそれぞれの名義を個別にクラスに割り当てて表示し、参照情報が連続データの場合は、
図6Bに示す運転パターンラベル付与参照情報詳細入力ウィンドウ611で入力されたクラス境界条件をそのまま表示する。グラフ表示ボタン627押下により、
図6Dに示すグラフ表示ウィンドウ631が表示される。登録ボタン628押下によりラベル付与条件を確定し、登録する。戻るボタン629押下により、
図6Aに示す運転パターンラベル付与参照情報入力ウィンドウ601に戻る。
【0032】
図6Dは、入力された条件に基づき付与されたラベルをセンサデータと関連付けて確認するためのグラフ表示画面の例である。グラフ表示ウィンドウ631は、ラベル付与参照情報表示ウィンドウ632、ON/OFF情報表示ウィンドウ633、センサ信号表示ウィンドウ634を含む。グラフ表示に先立ち、予めロードされたセンサ信号とイベント信号を用い、
図3Aに示す処理フローにより、運転パターンラベルを付与する。ラベル付与参照情報表示ウィンドウ632には、ラベルを付与するために参照された情報すなわち初期状態、状態遷移回数、初期状態継続時間のクラス番号が折れ線グラフで表示され、重ねてラベル番号が表示される。ON/OFF情報表示ウィンドウ633には、モード分割(S303)によって得られるON/OFFの情報が時系列グラフとして表示される。センサ信号表示ウィンドウ634には、センサ選択ウィンドウ637により選択されたセンサ信号が時系列グラフとして表示される。スクロールバー635の移動によりウィンドウに表示されるデータの期間が変更される。期間表示ウィンドウ636には、表示中のデータの期間が表示される。逆にユーザによる入力に従って、スクロールバー635が移動し、ウィンドウ631,632,633の表示が変更される。戻るボタン638の押下により、グラフ表示ウィンドウ631を消去し、
図6Cに示す運転パターンラベル確認ウィンドウ621に戻る。
【0033】
以上説明したGUIにより、ラベル付与の条件を簡便に入力することが可能である。決定した条件を用いて付与したラベルとセンサデータを対応付けて観察することが可能であるため、同一ラベルが付与された期間の設備の状態が互いに類似しているか否かを確認でき、これによりラベル付与条件の妥当性を確認することが可能である。
【0034】
次に、学習データ選択部106における処理の流れを、
図7を用いて説明する。まず、運転パターンラベル付与部104にセンサ信号102とイベント信号103とを入力し(S701)、予め定められた期間毎に、運転パターンラベル付与部104で運転パターンラベルを付与する(S702)。次に、学習データ選択部106において、以下のような手順で学習データ選択処理を行う。先ず、付与されたラベルと同一のラベルを探索対象とし(S703)、データベース105から、同一サイト同一号機の運転パターンラベル管理データをロードする(S704)。次に、探索対象ラベルを探索し(S705)、探索結果を記録する(S706)。ただし、警告有りのデータは探索の対象としない。また、ファイルまたはユーザインターフェースにより除外日を指定しておき、これも探索の対象からはずすことが可能なようにしておくとよい。更に、探索されたデータ数が予め定めた数に達しているかどうか確認し(S707)、達していなければ探索対象ラベルを設定し(S708)、ステップS705に戻る。
各運転パターンラベルについて、類似した設備状態が含まれることが期待される他のラベルを優先順位つきで予め定めておき、ステップS708においては、その優先順位に従って探索対象ラベルを決める。学習データが所定数に達するまでこれを繰り返し、探索された運転パターンラベル管理データに記載されたキーコードに紐付けられるセンサ信号データとイベント信号データを時系列順にロードする(S709)。ただし、最後の探索で所定数を超えた分については、最後の探索対象ラベルの中で、新しいものから順に選択して合計が所定数になるようにする。
【0035】
以上の処理により、蓄積した全てのデータの中から入力データに類似した学習データを選択することができる。その結果、高精度に異常識別が可能となり、学習データ不足に起因する誤報を低減することができる。このとき、学習データ数を所定の数に制限するため、計算時間が増えることがない。
【0036】
次に、正常モデル作成部107における処理の流れを、
図8を用いて説明する。はじめに、学習データ選択部106において選択されたセンサ信号データとイベント信号データを学習データとして入力する(S801)。次に、特徴抽出を行って特徴ベクトルを作成し(S802)、センサ信号データとイベント信号データのキーコードに従って別々のグループに分割し(S803)、そのうち1グループを除いたデータを用いて学習を行い、正常モデルを作成する(S804)。作成された正常モデルを用い、ステップS804で除かれた1グループのデータを入力して異常測度を算出する(S805)。すべてのグループのデータについて異常測度の算出が終了したかをチェックし(S806)、終了していなければまだ異常測度を算出していないグループについて(S807)、正常モデル作成(S804)と異常測度算出(S805)のステップを繰り返す。すべてのグループのデータについて異常測度の算出が終了したら(S806)、算出された異常測度に基づいて異常を識別するしきい値を設定する(S808)。最後に、すべての学習データを用いて正常モデルを作成する(S809)。
【0037】
次に、各ステップについて詳細に説明する。
【0038】
先ず、ステップS801において、センサ信号を入力し、次に、ステップS802において特徴抽出を行い、特徴ベクトルを得る。特徴抽出としては、センサ信号をそのまま用いることが考えられるが、ある時刻に対して±1,±2,…のウィンドウを設け,ウィンドウ幅(3,5,…)×センサ数の特徴ベクトルにより、データの時間変化を表す特徴を抽出することもできる。また、離散ウェーブレット変換(DWT: Discrete Wavelet Transform)を施して、周波数成分に分解してもよい。なお、各特徴は平均と標準偏差を用いて、平均を0、分散を1となるように変換する正準化を行うとよい。評価時に同じ変換ができるよう、各特徴の平均と標準偏差を記憶しておく。あるいは、最大値と最小値または予め設定した上限値と下限値を用いて正規化を行ってもよい。これらの処理は、単位およびスケールの異なるセンサ信号を同時に扱うためのものである。このとき、最低限の処理として、分散が非常に小さいセンサ信号および単調増加するセンサ信号を除く必要がある。
また、相関解析による無効信号を削除することも考えられる。これは、多次元時系列信号に対して相関解析を行い、相関値が1に近い複数の信号があるなど、極めて類似性が高い場合に、これらは冗長だとして、この複数の信号から重複する信号を削除し、重複しないものを残す方法である。このほか、ユーザが指定するようにしてもよい。さらに、ステップS802において、主成分分析、独立成分分析、非負行列因子分解、潜在構造射影、正準相関分析など様々な特徴変換手法により、次元削減を行ってもよい。
【0039】
次に、ステップS803において学習データをグループに分割し、ステップS804において正常モデル作成を行い、ステップS805において異常測度算出部108で異常測度の算出を行う。
【0040】
正常モデル作成手法としては、投影距離法(PDM: Projection Distance Method)や局所部分空間法(LSC: Local Sub-space Classifier)が考えられる。投影距離法は、学習データに対し独自の原点をもつ部分空間すなわちアフィン部分空間(分散最大の空間)を作成する方法である。クラスタ毎に、
図9に示すようにアフィン部分空間を作成する。
図9では、3次元の特徴空間において、1次元のアフィン部分空間を作成する例を示しているが、特徴空間の次元はもっと大きくてもよく、アフィン部分空間の次元も特徴空間の次元より小さくかつ学習データ数より小さければ何次元でもかまわない。アフィン部分空間の算出方法について説明する。まず、学習データの平均μと共分散行列Σ を求め、次にΣの固有値問題を解いて値の大きい方から予め指定したr個の固有値に対応する固有ベクトルを並べた行列Uをアフィン部分空間の正規直交基底とする。この正常モデルに基づいて算出する異常測度は、各クラスタのアフィン部分空間への投影距離のdの最小値と定義する。ここで、クラスタとは、例えば
図3Bに示すようにモードに分割された各区間のデータを集めたものとする。あるいは、k平均法に代表される教師なしクラスタリング手法を利用してもよい。
【0041】
一方、局所部分空間法は、評価データqのk-近傍データを用いてk−1次元のアフィン部分空間を作成する方法である。
図10にk=3の場合の例を示す。
図10に示すように、異常測度は図に示す投影距離で表されるため、評価データqに最も近いアフィン部分空間上の点bを求めればよい。評価データqとそのk-近傍データxi( i = 1,…,k )からbを算出するには、qをk個並べた行列Qとxiを並べた行列Xから
【0042】
【数1】
【0043】
により相関行列Cを求め、
【0044】
【数2】
【0045】
によりbを計算する。
【0046】
この方法は、評価データを入力しないとアフィン部分空間を作成できないため、ステップS804およびステップS809においては、k-近傍データを効率的に探すためのkd木をモード別に構築しておく。kd木とは、k次元のユークリッド空間にある点を分類する空間分割データ構造である。座標軸の1つに垂直な平面だけを使って分割を行い、各葉ノードには1つの点が格納されるよう構成する。ステップS805では、評価データと同じモードに属するkd木を利用して評価データのk-近傍データを求め、それらから前述の点bを求め、評価データと点bの距離を算出して異常測度とする。
【0047】
このほか、マハラノビスタグチ法、回帰分析法、最近傍法、類似度ベースモデル、1ク
ラスSVMなど様々な方法を用いて正常モデルの作成が可能である。
【0048】
次に、ステップS808において、異常測度をもとにしきい値を設定する。具体的には、S805において算出した学習データに対応する異常測度を昇順にソートし、予め指定した比率に到達する値をしきい値とする。すなわち、データ数をN個、指定した比率をpとするとNp番目に小さい値をしきい値とする。学習部は正常データから構成されると考えればpを1.0に設定すべきであり、この場合は異常測度の最大値をしきい値とする。このとき、全ての学習データに対する異常測度のを用いずに、異常識別の対象とする入力データに付与された運転パターンラベルと同じラベルを付与された学習データに対する異常測度のデータのみを用いるとなおよい。また、モード別にデータを分けて同様の処理によりしきい値設定を行うとよい。モード分割処理は正常モデル作成部107で前述の方法で行ってもよいし、運転パターンラベル付与部104で得られる結果をもとに、
図5Bに示すセンサ信号データにモードを付加して保存しておいてもよい。
【0049】
正常モデル作成部107で正常モデル作成後、異常測度算出部108において、入力センサ信号102に基づき異常測度を算出する。ステップS802と同様の方法で特徴ベクトルを抽出したあと、ステップS809で作成された正常モデルに基づき、ステップS805と同様の方法で異常測度を算出する。次に、異常識別部109において、異常測度算出部108で算出された異常測度をステップS808で設定されたしきい値と比較し、しきい値以上の値の場合は異常として検知する。
【0050】
上記に説明した方法により、一定期間毎にデータに運転パターンラベルを付与しておき、異常検知時には同じラベルあるいは状態の近いラベルの期間のデータを所定数集めて学習データとするため、計算負荷を増やさずに高精度な正常モデルを作成することができ、正常を異常と判定する誤報を低減できる。
次に、異常診断部120においては、設備101からのセンサ信号102とイベント信号103とを入力すると共に、運転パターンラベルを付与されたセンサ信号102とイベント信号103とをセンサ信号解析部100で解析した結果として異常識別部109から出力される信号を受けて、異常識別部109において異常と判定された事象から異常の原因事象を推定し、この原因事象によってもたらされる結果事象を異常診断部120の表示画面(図示せず)上に表示する。この結果事象が複数あるときには、発生確率の高い順に並べて画面上に表示する。運転パターンラベルを付与されたセンサ信号102とイベント信号103とを処理することによりセンサ信号解析部100では比較的早い処理が実現でき、異常診断部120での診断処理は基本的にリアルタイム処理で行うことができる。
【実施例2】
【0051】
実施例1においては、設備の状態は、ON/OFFの切り換えパターンすなわち運転パターンに応じて変化するという仮定のもと、運転パターンラベルに基づいて学習データを選択する方法について説明してきた。しかし、同じ運転パターンラベルであっても保守作業の前後などには状態が大きく変化する場合があり、上記説明した方法では、適切な学習データを選択することができない可能性がある。
【0052】
このような場合に対応するための機能を追加した第二の実施例について
図11を用いて説明する。
図11は、本発明の設備状態監視方法を実現する第二の実施例のシステム構成を表す図である。本システムは、センサ信号解析部1100と異常診断部1120、入出力部1130とを備えて構成されている。
本システムのセンサ信号解析部1100は、設備101から出力されるセンサ信号102とイベント信号103に基づき一定期間毎に運転パターンラベルを付与する運転パターンラベル付与部104と、運転パターンラベル付与部104でラベルが付与されたセンサ信号102とイベント信号103とからマクロ特徴を算出するマクロ特徴算出部1101、運転パターンラベルを付与されたセンサ信号102とイベント信号103を蓄積するデータベース1105、運転パターンラベルに基づいて蓄積されたセンサ信号102とイベント信号103から学習データを選択する学習データ選択部1106、選択した学習データを用いて正常モデルを作成する正常モデル作成部1107、正常モデルとセンサ信号に基づき異常測度を算出する異常測度算出部1108、算出された異常測度に基づき異常を検知する異常識別部1109とを備えて構成される。
異常診断部1120は、センサ信号102とイベント信号103及び異常識別部1109からの出力を受けて、設備101の異常を診断する。
入出力部1130は、運転パターンラベル付与部104、異常識別部1109、異常診断部1120などと接続して診断条件の入力や診断結果の出力を行う。入出力部1130は表示画面1131を備えている。
図1に示した第一の実施例の構成との違いは、センサ信号102のマクロな変動を表す特徴を算出するマクロ特徴算出部1101を追加した点である。運転パターンラベル付与部104において、予め定めた期間毎、例えば1日毎に運転パターンラベルを付与した後、マクロ特徴算出部1101において、同じ期間毎にセンサ信号を切り出して、特徴量を算出する。特徴量としては、期間全体に亘る平均、分散、最大値、最小値、期間中の定常ONの時刻の平均、分散、期間中の定常OFFの時刻の平均、分散などが考えられる。
図12に、その管理データの一例を示す。この管理データは、
図5Aに示す運転パターンラベル管理データ1201〜1209(それぞれ
図5Aの501〜509に対応)に、上記した特徴量、即ち、期間全体に亘る平均、分散、最大値、最小値:1210、期間中の定常ONの時刻の平均、分散:1211、期間中の定常OFFの時刻の平均、分散:1212の項目を付加したものである。但し付加するのは必ずしもこれら3つの項目全てではなくても良く、何れか一つ又は二つの組合せであってもよい。
【0053】
次に、学習データ選択部106における、学習データ選択処理方法を説明する。基本的には第一の実施例と同様の方法で学習データを選択するが、保守作業などの状態が大きく変化する可能性がある場合には、運転パターンラベルに加え、マクロ特徴も用いて学習データを選択する。
具体的には、
図13のフロー図に示すように、まず、運転パターンラベル付与部104にセンサ信号102とイベント信号103とを運転パターンラベル付与部104に入力し(S1301)、予め定められた期間毎に運転パターンラベルを付与し、マクロ特徴算出部1101でマクロ特徴を算出して運転パターンラベルに対応付けて保存する(S1302)。次に、学習データ選択部1106において、以下のような手順で学習データ選択処理を行う。先ず、実施例1の場合と同様に、
図6A乃至
図6Dで説明した画面上で運転パターンラベルを探索対象として設定し(S1303)、データベース1105から、同一サイト同一号機の運転パターンラベル管理データをロードする(S1304)。次に、保存された運転パターンラベル管理データから、評価対象の期間に付与された運転パターンラベルと同一の運転パターンラベルかつマクロ特徴が類似しているデータを探索し(S1305)、探索結果を記録する(S1306)。マクロ特徴が類似しているか否かは予め設定したしきい値に基づいて判断するものとする。ただし、警告有りのデータは探索の対象としない。また、ファイルまたはユーザインターフェースにより除外日を指定しておき、これも探索の対象からはずすことが可能なようにしておくとよい。更に、探索されたデータ数が予め定めた数に達しているかどうか確認し(S1307)、探索されたデータ数が予め定めた数に達していなければ、予め設定された優先順位に従って探索対象ラベルを変更して新たな対象ラベルを設定し(S1308)、S1305に戻って、そのラベルかつマクロ特徴が類似しているデータを探索する。学習データが所定数に達するまでこれを繰り返し、探索された運転パターンラベル管理データに記載されたキーコードに紐付けられるセンサ信号データとイベント信号データを時系列順にロードする(S1309)。最後の探索で所定数を超えた分については、最後の探索対象ラベルの中で、特徴が類似したものから順に選択して合計が所定数になるようにする。
【0054】
マクロ特徴を用いるかどうかの処理の切り換え方法については、何通りかの方法が考えられる。第一の方法は、切り換えを行わず、常にマクロ特徴を用いて学習パターンを選択することである。この方法は、判定条件が不要のため簡便に実現可能である。
【0055】
第二の方法は、イベント信号に基づき保守作業の有無を判定し、保守作業があったならばマクロ特徴を用いて学習パターンを選択する方法である。イベント信号に保守作業の開始、終了を表す信号が含まれているならば、この方法を採用するとよい。保守作業がない場合はデータの新しい方から探索していけばよいため、所定数に達した時点で探索を打ち切ることが可能である。メインの運転パターンがあって、同じラベルが大量にある場合には、第一の方法と比較して探索の効率が良くなることが期待される。
【0056】
第三の方法は、マクロ特徴の推移を調べて保守作業の有無を判定し、保守作業があったならばマクロ特徴を用いて学習パターンを選択する方法である。例えば評価対象期間の前の数周期について各特徴の平均μと標準偏差σを算出し、評価期間の特徴値がμ±nσの範囲を超える特徴が一つでもあれば、保守作業など大きな状態変化があったものと判断する。ここで、調べる周期数とnはパラメータである。あるいは、評価対象期間の前の数周期について1つ前の周期との特徴空間上での距離を算出し、評価対象期間の1つ前の周期との特徴空間上での距離がそれらの最大値より大きい場合、保守作業など大きな状態変化があったものと判断する。そのほか、評価対象期間の前の数周期についてマクロ特徴空間の重心と共分散を算出し、マハラノビス距離で判断してもよく、評価対象期間の前の数周期分を正事例の学習データとして既存の1クラス識別手法を利用してもよい。
【0057】
以上の処理により、保守作業など設備の大きな状態があった場合にも、設備状態が近い学習データを選択することが可能となり、精度の高い正常モデルを作成することが可能となり、その結果学習データ不足に起因する誤報を低減することができるようになる。
【0058】
ただし、上記方法では、運転パターンラベルが同じまたは状態が近いラベルかつセンサ信号から抽出したマクロ特徴が類似したデータ数が所定数に満たない場合が生じることが想定される。この場合に対応するため、マクロ特徴が類似したデータ数が少ない場合には、保守作業によって変化したと考えられるセンサを除外して、学習データ選択以降の処理を実行する。保守作業によって変化したか否かは、前述のように各特徴の平均μと標準偏差σを算出し評価期間の特徴値がμ±nσの範囲を超えるか否かによって判断する。あるいは、各特徴の一つ前の周期との差を算出し、評価期間の特徴の一つ前の周期との差がそれまでの最大となるか否かで判断する。