(57)【要約】【課題】  プラントなどの設備における異常検知においては、正常な入力と出力のデータから回帰モデルを作成し、観測データと回帰モデルに基づいて予測を行い、予測誤差に基づいて異常かどうかを判別するが、回帰モデルの精度向上のためには、多くの学習データを必要とし、計算時間が大きくなってしまう。【解決手段】  蓄積された学習データから観測データに近い所定数のデータを用いて回帰モデルを作成し、回帰モデルに基づいて観測データの異常度を算出し、しきい値と比較することにより異常かどうかを判別し、異常と判定されなかったデータについて、最近傍の学習データとの類似度を算出し、類似度が高ければ学習データを入れ替え、低ければ学習データに追加する。【選択図】図１
2013025367.tif 000002
【特許請求の範囲】
【請求項１】
設備に装着されたセンサから出力されるセンサ信号に基づいて前記設備の状態を監視する方法であって、前記センサ信号から回帰モデルの入力となる入力ベクトルと回帰モデルの出力となる出力ベクトルとを抽出し、該抽出した入力ベクトルと出力ベクトルの中から正常なものを選んで学習データとして蓄積し、前記蓄積された学習データの中から、前記センサ信号から抽出した前記入力ベクトルと前記出力ベクトルからなる観測データのうちの前記入力ベクトルに近い所定数の学習データを選定し、該選定された学習データに基づき前記回帰モデルを作成し、前記観測データの入力ベクトルと出力ベクトルと前記回帰モデルに基づき前記観測データの異常度を算出し、該算出した異常度に基づき前記設備状態が異常か正常かを識別する異常識別をし、前記設備状態の異常識別の結果および前記観測データの入力ベクトルと該入力ベクトルに最近傍の学習データとの類似度に基づいて前記学習データを更新することを特徴とする設備状態監視方法。
【請求項２】
設備または装置に装着された複数のセンサから出力される多次元時系列信号をもとに学習データを作成して蓄積する工程と、
前記設備または装置に装着された複数のセンサから新たに出力された前記多次元時系列信号の異常識別を行う工程とを含む設備の状態を監視する方法であって、
前記学習データを作成して蓄積する工程において、
前記多次元時系列信号から入力ベクトルと出力ベクトルを抽出し、
該抽出した前記入力ベクトルと前記出力ベクトルのうち正常なものを学習データとして蓄積し、
前記新たに出力された多次元時系列信号の異常識別を行う工程は、
前記新たに出力された多次元時系列信号から入力ベクトルと出力ベクトルを観測データとして抽出し、
前記蓄積した学習データの中から前記抽出した観測データの入力ベクトルに近い学習データを所定数選定し、
該選定された所定数の学習データを用いて回帰モデルを作成し、
前記観測データの入力ベクトルと前記回帰モデルに基づいて出力ベクトルまたはその確率分布を予測し、
前記予測された出力ベクトルまたはその確率分布をもとに前記観測データの異常度を算出し、
該算出した異常度に基づき前記観測データを異常識別し、
該異常識別の結果および前記観測データの入力ベクトルと学習データとの類似度に基づいて前記学習データを更新する
ことを特徴とする設備状態監視方法。
【請求項３】
前記回帰モデルの作成において、ガウシアンプロセスを利用することを特徴とする請求項１又は２に記載の設備状態監視方法。
【請求項４】
前記入力ベクトルは、前記多次元時系列信号のうち一つの信号から予め決められた間隔で予め決められた個数のデータを抽出したものであり、前記出力ベクトルは前記入力ベクトルとして抽出したデータの最後の時刻のデータとしたものであることを特徴とする請求項２の設備状態監視方法。
【請求項５】
前記入力ベクトルは、前記多次元時系列信号のうち一つの信号から予め決められた間隔で予め決められた個数のデータを抽出したものであり、前記出力ベクトルは前記入力ベクトルとして抽出したデータの次の時刻のデータとしたものであることを特徴とする請求項２の設備状態監視方法。
【請求項６】
前記入力ベクトルは、前記多次元時系列信号のうち指定された複数の信号から予め決められた間隔で予め決められた個数のデータを抽出したものであり、前記出力ベクトルは前記入力ベクトルとして抽出したデータの最後の時刻のデータとしたものであることを特徴とする請求項２の設備状態監視方法。
【請求項７】
前記入力ベクトルは、前記多次元時系列信号のうち指定された複数の信号から予め決められた間隔で予め決められた個数のデータを抽出したものであり、前記出力ベクトルは前記入力ベクトルとして抽出したデータの次の時刻のデータとしたものであることを特徴とする請求項２の設備状態監視方法。
【請求項８】
前記学習データを更新する工程において、前記異常識別で正常と判定された観測データを新たに学習データとして蓄積し、前記観測データの入力ベクトルと類似度が最大となる学習データの類似度が所定のしきい値を超えた場合に前記類似度が最大となる学習データを削除することを特徴とする請求項２の設備状態監視方法。
【請求項９】
前記異常識別の結果と前記学習データ更新の結果を表示する工程をさらに備えることを特徴とする、請求項１又は２に記載の設備状態監視方法。
【請求項１０】
設備に装着されたセンサから出力されるセンサ信号に基づいて前記設備の状態を監視する装置であって、前記センサ信号から回帰モデルの入力となる入力ベクトルと回帰モデルの出力となる出力ベクトルとを抽出する入力出力ベクトル抽出手段と、該抽出した入力ベクトルと出力ベクトルの中から正常なものを選んで学習データとして蓄積するデータ蓄積手段と、該データ蓄積手段に蓄積された学習データの中から、前記入力出力ベクトル抽出手段で前記センサ信号から抽出した前記入力ベクトルと前記出力ベクトルからなる観測データのうちの前記入力ベクトルに近い所定数の学習データを選定して該選定した学習データに基づき前記回帰モデルを作成する回帰モデル作成手段と、前記観測データの入力ベクトルと出力ベクトルと前記回帰モデルに基づき前記観測データの異常度を算出する異常度算出手段と、該異常度算出手段で算出した異常度に基づき前記設備状態が異常か正常かを識別する異常識別手段と、該異常識別手段で識別した前記設備状態の異常識別の結果および前記観測データの入力ベクトルと該入力ベクトルに最近傍の学習データとの類似度に基づいて前記学習データを更新する学習データ更新手段とを備えたことを特徴とする設備状態監視装置。
【請求項１１】
設備または装置に装着された複数のセンサから出力される多次元時系列信号をもとに学習データを作成して蓄積する学習データ作成・蓄積部と、
前記設備または装置に装着された複数のセンサから新たに出力された前記多次元時系列信号の異常識別を行う異常識別部とを備えた設備の状態を監視する装置であって、
前記学習データ作成・蓄積部は、
前記多次元時系列信号から入力ベクトルと出力ベクトルを抽出する入力・出力ベクトル抽出手段と、
該入力・出力ベクトル抽出手段で抽出した前記入力ベクトルと前記出力ベクトルのうち正常なものを学習データとして蓄積する学習データ蓄積手段とを備え、
前記異常識別部は、
前記新たに出力された多次元時系列信号から入力ベクトルと出力ベクトルを観測データとして抽出する観測データ抽出手段と、
前記学習データ蓄積手段に蓄積した学習データの中から前記観測データ抽出手段で抽出した観測データの入力ベクトルに近い学習データを所定数選定する学習データ選択手段と、
該学習データ選択手段で選定された所定数の学習データを用いて回帰モデルを作成する回帰モデル作成手段と、
前記観測データ抽出手段で抽出した観測データの入力ベクトルと前記回帰モデル作成手段で作成した回帰モデルに基づいて出力ベクトルまたはその確率分布を予測して該予測された出力ベクトルまたはその確率分布をもとに前記観測データの異常度を算出する異常度算出手段と、
該異常度算出手段で算出した異常度に基づき前記観測データを異常識別する異常識別手段と、
該異常識別手段で異常識別した結果および前記観測データ抽出手段で抽出した観測データの入力ベクトルと学習データ特性部に蓄積した学習データとの類似度に基づいて前記学習データを更新する学習データ更新手段と
を備えたことを特徴とする設備状態監視装置。
【請求項１２】
前記回帰モデル作成手段は、ガウシアンプロセスを利用して前記回帰モデルを作成することを特徴とする請求項１０又は１１に記載の設備状態監視装置。
【請求項１３】
前記学習データ更新手段は、前記異常識別手段で正常と判定された観測データを新たに学習データとして蓄積し、前記観測データの入力ベクトルと類似度が最大となる学習データの類似度が所定のしきい値を超えた場合に前記類似度が最大となる学習データを削除することを特徴とする請求項１１に記載の設備状態監視装置。
【請求項１４】
前記異常識別手段で識別した結果と前記学習データ更新手段で更新した前記学習データを出力する出力手段を更に備えることを特徴とする請求項１０又は１１に記載の設備状態監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントや設備などの出力する多次元時系列データをもとに異常を早期に検知する状態監視方法およびその装置に関する。
【背景技術】
【０００２】
電力会社では、ガスタービンの廃熱などを利用して地域暖房用温水を供給したり、工場向けに高圧蒸気や低圧蒸気を供給したりしている。石油化学会社では、ガスタービンなどを電源設備として運転している。このようにガスタービンなどを用いた各種プラントや設備において、設備の不具合あるいはその兆候を検知する予防保全は、社会へのダメージを最小限に抑えるためにも極めて重要である。
【０００３】
ガスタービンや蒸気タービンのみならず、水力発電所での水車、原子力発電所の原子炉、風力発電所の風車、航空機や重機のエンジン、鉄道車両や軌道、エスカレータ、エレベータ、機器・部品レベルでも、搭載電池の劣化・寿命など、上記のような予防保全を必要とする設備は枚挙に暇がない。
【０００４】
このため、対象設備やプラントに複数のセンサを取り付け、センサ毎の監視基準に従って正常か異常かを判断することが行われている。米国特許第６,９５２,６６２号明細書（特許文献１）や米国特許第６,９７５,９６２号明細書（特許文献２）には、おもにエンジンを対象とした異常検知方法が開示されている。これは、過去のデータ例えば時系列センサ信号をデータベースとしてもっておき、観測データと過去の学習データとの類似度を独自の方法で計算し、類似度の高いデータの線形結合により推定値を算出して、推定値と観測データのはずれ度合いを出力するものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第６,９５２,６６２号明細書
【特許文献２】米国特許第６,９７５,９６２号明細書
【非特許文献】
【０００６】
【非特許文献１】Stephan W. Wegerich；Nonparametric modeling of vibration signal features for equipment health monitoring、Aerospace Conference, 2003. Proceedings. 2003 IEEE，Volume 7, Issue, 2003 Page(s):3113 - 3121
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１や特許文献２に記載の方法によれば、学習データとして正常時のデータを与えることにより、学習にない観測データが観察されると、これらを異常として検出することができる。しかし、その異常検知性能は学習データの質に大きく左右される。すなわち、学習データにない観測データは正常であっても異常と判断され、一方、学習データに誤って異常が混入されていると異常であっても正常と判断される可能性が生じる。そのため、学習データは正常な状態のみを正確にかつ網羅的に収集しなければ、異常検知の信頼性が著しく低下してしまうが、多様な正常状態を有する設備に対してこのような学習データ収集を行うことは非常に負荷が高く、これを人手で行うことは実質不可能である場合が多い。さらに、質の良い学習データを収集可能であっても、計算負荷の高い方法であるため、実現可能な計算時間で処理するのに許容されるデータ量が小さく、その結果網羅性が確保できなくなる場合が多い。また、正常か異常かの判定は、ある時刻のセンサ値に基づいて行われており、時系列変化は考慮されていない。
【０００８】
そこで、本発明の目的は、上記課題を解決し、計算負荷を低く抑えたまま異常を高感度に検知することが可能な異常検知方法を備えた設備状態監視方法およびシステムを提供することにある。また、ある時刻のセンサ値のみではなく、ある時刻から別の時刻までのセンサ値の変化が正常なのか異常なのかを判定可能な設備状態監視方法およびシステムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明では、設備に装着されたセンサから出力されるセンサ信号に基づいて前記設備の状態を監視する方法において、センサ信号から回帰モデルの入力となる入力ベクトルと回帰モデルの出力となる出力ベクトルとを抽出し、この抽出した入力ベクトルと出力ベクトルの中から正常なものを選んで学習データとして蓄積し、蓄積された学習データの中から、センサ信号から抽出した入力ベクトルと出力ベクトルからなる観測データのうちの入力ベクトルに近い所定数の学習データを選定し、この選定された学習データに基づき回帰モデルを作成し、観測データの入力ベクトルと出力ベクトルと回帰モデルに基づき観測データの異常度を算出し、この算出した異常度に基づき設備状態が異常か正常かを識別する異常識別をし、設備状態の異常識別の結果および観測データの入力ベクトルとこの入力ベクトルに最近傍の学習データとの類似度に基づいて学習データを更新するようにした。
【００１０】
また、上記目的を達成するために、本発明では、設備または装置に装着された複数のセンサから出力される多次元時系列信号をもとに学習データを作成して蓄積する工程と、設備または装置に装着された複数のセンサから新たに出力された前記多次元時系列信号の異常識別を行う工程とを含む設備の状態を監視する方法において、学習データを作成して蓄積する工程では、多次元時系列信号から入力ベクトルと出力ベクトルを抽出し、この抽出した入力ベクトルと出力ベクトルのうち正常なものを学習データとして蓄積し、新たに出力された多次元時系列信号の異常識別を行う工程は、新たに出力された多次元時系列信号から入力ベクトルと出力ベクトルを観測データとして抽出し、蓄積した学習データの中から抽出した観測データの入力ベクトルに近い学習データを所定数選定し、この選定された所定数の学習データを用いて回帰モデルを作成し、観測データの入力ベクトルと前記回帰モデルに基づいて出力ベクトルまたはその確率分布を予測し、予測された出力ベクトルまたはその確率分布をもとに観測データの異常度を算出し、この算出した異常度に基づき観測データを異常識別し、この異常識別の結果および観測データの入力ベクトルと学習データとの類似度に基づいて学習データを更新するようにした。
【００１１】
更に、上記目的を達成するために、本発明では、設備に装着されたセンサから出力されるセンサ信号に基づいて前記設備の状態を監視する装置において、センサ信号から回帰モデルの入力となる入力ベクトルと回帰モデルの出力となる出力ベクトルとを抽出する入力出力ベクトル抽出手段と、この抽出した入力ベクトルと出力ベクトルの中から正常なものを選んで学習データとして蓄積するデータ蓄積手段と、このデータ蓄積手段に蓄積された学習データの中から、入力出力ベクトル抽出手段でセンサ信号から抽出した入力ベクトルと出力ベクトルからなる観測データのうちの入力ベクトルに近い所定数の学習データを選定してこの選定した学習データに基づき回帰モデルを作成する回帰モデル作成手段と、観測データの入力ベクトルと出力ベクトルと回帰モデルに基づき観測データの異常度を算出する異常度算出手段と、この異常度算出手段で算出した異常度に基づき設備状態が異常か正常かを識別する異常識別手段と、この異常識別手段で識別した設備状態の異常識別の結果および観測データの入力ベクトルとこの入力ベクトルに最近傍の学習データとの類似度に基づいて学習データを更新する学習データ更新手段とを備えて構成した。
【００１２】
更にまた、上記目的を達成するために、本発明では、設備または装置に装着された複数のセンサから出力される多次元時系列信号をもとに学習データを作成して蓄積する学習データ作成・蓄積部と、設備または装置に装着された複数のセンサから新たに出力された多次元時系列信号の異常識別を行う異常識別部とを備えた設備の状態を監視する装置において、学習データ作成・蓄積部は、多次元時系列信号から入力ベクトルと出力ベクトルを抽出する入力・出力ベクトル抽出手段と、この入力・出力ベクトル抽出手段で抽出した入力ベクトルと出力ベクトルのうち正常なものを学習データとして蓄積する学習データ蓄積手段とを備え、異常識別部は、新たに出力された多次元時系列信号から入力ベクトルと出力ベクトルを観測データとして抽出する観測データ抽出手段と、学習データ蓄積手段に蓄積した学習データの中から観測データ抽出手段で抽出した観測データの入力ベクトルに近い学習データを所定数選定する学習データ選択手段と、この学習データ選択手段で選定された所定数の学習データを用いて回帰モデルを作成する回帰モデル作成手段と、観測データ抽出手段で抽出した観測データの入力ベクトルと回帰モデル作成手段で作成した回帰モデルに基づいて出力ベクトルまたはその確率分布を予測してこの予測された出力ベクトルまたはその確率分布をもとに観測データの異常度を算出する異常度算出手段と、この異常度算出手段で算出した異常度に基づき観測データを異常識別する異常識別手段と、この異常識別手段で異常識別した結果および観測データ抽出手段で抽出した観測データの入力ベクトルと学習データ特性部に蓄積した学習データとの類似度に基づいて学習データを更新する学習データ更新手段とを備えて構成した。
【発明の効果】
【００１３】
本発明によれば、所定数の学習データを用いて回帰モデルを作成するため、計算時間を削減することが可能である。その際観測データに近いものを選択することにより高精度なモデルが得られるため、正常と異常の誤判定を低減できる。
【００１４】
さらに本発明によれば、異常と判定されなかったデータについて、最近傍の学習データとの類似度を算出し、類似度が高ければ学習データを入れ替え、低ければ学習データに追加するため、正常状態の変化に対応可能である。学習データの蓄積数が大幅に増加することはないため、メモリ容量および計算時間も低く抑制可能である。
【００１５】
以上により、ガスタービンや蒸気タービンなどの設備のみならず、水力発電所での水車、原子力発電所の原子炉、風力発電所の風車、航空機や重機のエンジン、鉄道車両や軌道、エスカレータ、エレベータ、そして機器・部品レベルでは、搭載電池の劣化・寿命など、種々の設備・部品において高感度かつ高速な異常検知が可能なシステムが実現できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の設備状態監視システムの概略の構成を示すブロック図である。
【図２】センサ信号の例を示す信号リストの表である。
【図３】入力・出力ベクトル抽出の処理の流れを示すフロー図である。
【図４Ａ】入力ベクトルと出力ベクトルの関係の１例を表すグラフである。
【図４Ｂ】入力ベクトルと出力ベクトルの関係の別の１例を表すグラフである。
【図５】イベント信号の例を示す信号リストの表である。
【図６】新たに観測されたセンサ信号の異常識別の流れを示すフロー図である。
【図７】学習データ更新の処理の流れを示すフロー図である。
【図８】レシピ設定のためのＧＵＩの１例を表す表示画面の正面図である。
【図９】結果表示対象指定のためのＧＵＩの１例を表す表示画面の正面図である。
【図１０Ａ】結果表示画面の１例を表す表示画面の正面図である。
【図１０Ｂ】結果拡大表示画面の１例を表す表示画面の正面図である。
【発明を実施するための形態】
【００１７】
以下、図面を用いて本発明の内容を詳細に説明する。
【実施例１】
【００１８】
図1に、本発明の設備状態監視方法を実現するシステムの一構成例を示す。  
本システムは、設備１０１から出力されるセンサ信号１０２に基づき回帰モデルの入力ベクトルと出力ベクトルを抽出する入力・出力ベクトル抽出部１０３と正常な入力ベクトルと出力ベクトルを蓄積するデータベース１０４、センサ信号１０２から抽出される入力ベクトルとの類似度に基づいて蓄積されたデータから学習データを選択する学習データ選択部１０５、選択した学習データを用いて回帰モデルを作成する回帰モデル作成部１０６、回帰モデルとセンサ信号１０２から抽出される入力ベクトルと出力ベクトルに基づき異常度を算出する異常度算出部１０７、算出された異常度に基づき異常を検知する異常識別部１０８、識別結果および入力ベクトルと最近傍の学習データとの類似度に基づいて学習データを更新する学習データ更新部１０９、監視の結果を表示すると共に条件を入力するＧＵＩを備えた入出力部１１０及び監視の結果を記憶する記憶部１１１とを備えて構成される。
【００１９】
状態監視の対象とする設備１０１は、ガスタービンや蒸気タービンなどの設備やプラントである。設備１０１は、その状態を表すセンサ信号１０２を出力する。
【００２０】
センサ信号１０２をリスト化して表形式に表した例を図２に示す。センサ信号１０２は一定間隔毎に取得される多次元時系列信号であり、それをリスト化した表は、図２に示すように、日時の欄２０１と設備１０１に設けられた複数のセンサ値のデータの欄２０２からなる。センサの種類は、数百から数千といった数になる場合もあり、例えば、シリンダ、オイル、冷却水などの温度、オイルや冷却水の圧力、軸の回転速度、室温、運転時間などである。出力や状態を表すのみならず、何かをある値に制御するための制御信号の場合もある。
【００２１】
図１の入力・出力ベクトル抽出部１０３における処理の流れを、図３を用いて説明する。まず、センサ信号１０２を入力し（Ｓ３０１）、使用するセンサを選択し（Ｓ３０２）、センサ毎に正規化する（Ｓ３０３）。正規化とはデータの平均が０、標準偏差が１となるように変換することであり、具体的には元のデータから平均を引いて標準偏差で割ることにより計算される。平均および標準偏差は、センサ毎に長期間のデータを用いて予め計算し、記憶しておく。
【００２２】
次に、最初の時刻を設定し（Ｓ３０４）、そこからその時刻の入力ベクトルを抽出する（Ｓ３０５）。具体的には、指定時刻から一定間隔毎に所定数ピックアップして並べる。使用するセンサ数が複数の場合は、それをセンサ数分続けて並べる。
【００２３】
次に対応する出力ベクトルを抽出する。具体的には、入力ベクトル抽出において最後に抽出した時刻のデータをセンサ数分並べる（Ｓ３０６）。使用するセンサが１個の場合はスカラーになるが、ここではベクトルの特殊ケースとして扱い、これ以降もベクトルと呼ぶ。あるいは、入力ベクトル抽出において最後に抽出した時刻の次の時刻のデータをセンサ数分並べてもよい。次の時刻において（Ｓ３０７）ステップＳ３０５とＳ３０６を繰り返し、入力した全てのセンサ信号について処理が終わったら終了する（Ｓ３０８）
ここで、入力ベクトルと出力ベクトルの関係を図４Ａおよび図４Ｂを用いて説明する。図４Ａおよび図４Ｂにおいて、横軸は時間、縦軸は正規化されたセンサ値を表す。丸印は各時刻で取得された時系列データ４０１を表す。図４Ａは、指定時刻Ａから連続する３個のデータ４０２Ａ１，４０２Ａ２，４０２Ａ３を入力データ４０２Ａとし、その最後の時刻のデータ４０２Ａ３を出力データ４０３とする例である。
【００２４】
図４Ｂは、指定時刻Ｂから連続する３個のデータ４０２Ｂ１，４０２Ｂ２，４０２Ｂ３を入力データ４０２Ｂとし、その最後の時刻データ４０２Ｂ３の次のデータを出力データ４０３とする例である。通常の予測では未来を予測する必要があるため、図４Ｂに示す例が適切であるが、図４Ａ又は図４Ｂのように定常的な変化が多くてまれに大きく変化する場合は、大きく変化するデータを予測できない。そのため、図４Ａに示すように、予測すべきデータを入力ベクトルに含めることにより、大きな変化を予測することが可能となる。
【００２５】
これは厳密にいうと予測ではないが、異常検知を行うためには、必ずしも予測の必要はない。予測したいデータが入力に含まれているので、常に最後のデータを選択すれば完全に予測できると思われがちだが、学習データの入力ベクトルをもとに回帰モデルを作成しているためそのようなことは起きず、予測性能の高い回帰モデルを作成することが可能になる。
【００２６】
なお、図４Ａ又は図４Ｂに示した例では、１次元のセンサデータを用いているが、多次元のセンサデータを用いてもよい。また入力データの数は２以上であれば何個でもよく、１個おき、２個おきのように連続していなくても構わない。さらに、データ抽出時刻の関係が固定でありさえすれば、どのような抽出を行ってもよい。また、センサ値をそのまま用いるのではなく、主成分分析や独立成分分析を施してデータ変換を行い、成分毎に同様の方法で入力ベクトルおよび出力ベクトルを抽出してもよい。また、入力ベクトルをセンサ値の時間変化の情報を持つように定めたが、ある時刻の一部のセンサ値あるいは正規化されたセンサ値を並べて入力ベクトルとし、同時刻の別のセンサ値あるいは正規化されたセンサ値を並べて出力ベクトルとしてもよい。
【００２７】
抽出された入力ベクトルと出力ベクトルのうち正常なデータがデータベース１０４に学習データとして蓄積される。学習データは一定の連続した期間、例えば１ヶ月分を蓄積することとする。正常かどうかは、例えば図５に示す、イベント信号を用いて１日毎に判断するものとする。
【００２８】
図５に示した表は、不定期に出力される設備の操作・故障・警告を表す信号を一覧表形式に示したものであり、イベント信号が発生した日時５０１の欄と操作・故障・警告を表すユニークなコード５０２の欄とメッセージ文字列５０３の欄からなる。この場合、故障や警告が発生した日を異常とするほか、特定のイベントが含まれる、あるいは発生状況が予め決められたある条件を満たす日を異常として、学習データとしない。学習データとしない日を予め指定しておいてもよい。
【００２９】
次に、新たに観測されたセンサ信号の異常識別の処理の流れを、図６を用いて説明する。  
初めに、観測されたセンサ信号１０２を入力・出力ベクトル抽出部１０３に入力し（Ｓ６０１）、入力・出力ベクトル抽出部１０３において、前述した図３で説明した方法で入力ベクトルと出力ベクトルを抽出する（Ｓ６０２）。使用するセンサ、正規化に用いる平均と分散、入力ベクトルと出力ベクトルの要素間の関係は、蓄積された学習データと同様にする。この入力ベクトルと出力ベクトルを学習データと区別するために観測データと呼ぶこととする。
【００３０】
次に、学習データ選択部１０５にデータベース１０４から学習データを読み込む。次に、学習データ選択部１０５において、読込んだ学習データの中から観測データに類似した学習データを選択する（Ｓ６０４）。具体的には、観測データの入力ベクトルと全ての学習データの入力ベクトルの間の距離を計算し、距離が近いものから所定数を選択する。
【００３１】
次に、回帰モデル作成部１０６において、学習データ選択部１０５で選択した学習データを用いて、ガウシアンプロセスにより回帰モデルを作成する（Ｓ６０５）。この作成した回帰モデルに基づき、異常度算出部１０７において、観測データの入力ベクトルから予測される出力ベクトルの確率分布を算出し（Ｓ６０６）、観測データの出力ベクトルおよび予測される出力ベクトルの平均と分散から異常度を算出する（Ｓ６０７）。
【００３２】
最後に、異常識別部１０８において、異常度算出部１０７で算出した異常度と予め決められたしきい値を比較してしきい値を超えた場合は異常、しきい値以下の場合は正常と判定する（Ｓ６０８）。観測データの出力値、予測値の平均、誤差、異常度および異常識別結果は、図示はしていないが、時刻情報とともに記録しておく。また、異常識別部において判定した結果は、入出力部１１０のＧＵＩ画面上に表示される。
【００３３】
次に、回帰モデル作成部１０６において実行するガウシアンプロセスについて、詳細に説明する。以下の説明では出力はベクトルではなくスカラーとしている。ガウシアンプロセスは次式のように入力を非線形高次元写像により高次元化した場合の線形予測計算法であると見なすことが出来る。  
【００３４】
【数１】
2013025367.tif 000003
【００３５】
xは入力ベクトルであり、非線形写像φ（ｘ）によって高次元化されている。wは重みベクトルであり、φ（ｘ）との線形結合にガウシアン分布に従うノイズεを加えて、出力yを計算するというものである。
【００３６】
ガウシアンプロセスでは、入力ベクトルxと出力yの学習データがN個与えられているとき、観測データの入力ベクトルxnewに対する出力は、確定的な値ではなく確率分布として与えられる。この分布は次に示す平均μと分散σ２を持つガウス分布に従う。  
【００３７】
【数２】
2013025367.tif 000004
【００３８】
【数３】
2013025367.tif 000005
【００３９】
ここで、βはノイズの変動幅を表すハイパーパラメータ、yは出力yの学習データN個を並べたベクトルである。k及びKはそれぞれ次式で表される。
【００４０】
【数４】
2013025367.tif 000006
【００４１】
【数５】
2013025367.tif 000007
【００４２】
すなわち、kは学習データの入力ベクトルと観測データの入力データを引数に持つカーネル関数を要素に持つベクトルであり、Kは学習データ同士のカーネル関数を要素に持つグラム行列である。
【００４３】
カーネル関数は、入力ベクトルを非線形写像φ（ｘ）によって高次元化したベクトルの間の内積を求めるものであり、データ間の類似度とみなすことができる。以下にカーネル関数の例を示す。
【００４４】
【数６】
2013025367.tif 000008
【００４５】
【数７】
2013025367.tif 000009
【００４６】
（数６）はＲＢＦカーネルでありガウシアンプロセスでよく使用される。σｈは分散パラメータである
異常度は（数２）および（数３）で求めた平均μと分散σ２を用いて、|y-μ|/σで算出する。出力がベクトルの場合は、平均μを要素毎に求め、異常度としては和または２乗和を求めればよい。
【００４７】
回帰モデルとしてガウシアンプロセスを用いることにより、観測データと類似していない学習データの寄与は非常に小さくなるため、そのようなデータは最初から計算に含めなくても問題がない。そのため、観測データに類似した学習データを用いる限り、回帰モデルに使用する学習データ数が少なくても精度に影響はない。以上より、高速かつ高精度な異常識別が実現可能となる。
【００４８】
しかしながら、回帰モデルとして必ずしもガウシアンプロセスを用いる必要はなく、例えば線形回帰を用いることができる。その場合でも、観測データに類似した学習データを用いることにより線形近似誤差を小さくすることができる。ガウシアンプロセスより精度は低下するが高速になると思われる。線形回帰の場合、観測データの入力ベクトルxnewに対する出力は、確率分布ではなく一つの予測値が算出されるので、予測誤差を異常度とする。
【００４９】
新たに観測されたセンサ信号が正常と判別された場合、学習データ更新部１０９において、学習データの更新を行う。学習データ更新の処理の流れを、図７を用いて説明する。
【００５０】
初めに学習データ選択部１０５においてデータベース１０４から学習データを入力し（Ｓ７０１）、次に入力・出力ベクトル部１０３から観測データを入力する（Ｓ７０２）。次に、回帰モデル作成部１０６において、学習データ選択部１０５で選択した学習データと観測データの類似度を算出する（Ｓ７０３）。回帰モデルを作成するのにガウシアンプロセスを利用した場合は、（数４）に示すkとしてすでに算出されている。回帰モデルとして異なる方式を使用した場合は、ここで（数４）および(数６)または(数７)に従って算出する。
【００５１】
次に、異常度算出部１０７において最も類似した学習データを探索する（Ｓ７０４）。つまり，kの要素の最大値を探す。この値がしきい値以上の場合（Ｓ７０５）、学習データ更新部１０９において対応する学習データをデータベース１０４から削除する（Ｓ７０６）。最後に、Ｓ７０２で入力した観測データを学習データとしてデータベース１０４に追加する（Ｓ７０７）。ステップＳ７０７により、学習データは新しい正常状態に応じて常に更新される。したがって、データベース１０４には、新しい正常状態に対応する学習データが蓄積されるため、高感度な異常検知が実現できる。
【００５２】
また、観測データに類似した学習データが既にある場合はステップＳ７０６により元の学習データを削除するので、蓄積されるデータ数は増加しない。これにより、学習データの蓄積数が大幅に増加することはなく、メモリ容量や計算時間を抑制できる。学習データを追加したのか入れ替えたのかを表す学習データ更新情報は、異常識別結果などと一緒に記憶部１１１に記録しておく。
【００５３】
蓄積する学習データおよび処理パラメータ設定のためのＧＵＩの例を、図８に示す。以下の説明ではこの設定のことを単にレシピ設定と呼ぶことにする。レシピ設定画面８０１では、使用センサ、学習期間、入力・出力ベクトル抽出方法を入力する。センサ選択ウィンドウ８０２Ａ〜８０２Ｃには、使用するセンサを入力する。リスト表示ボタン８０３Ａ〜８０３Ｃのクリックによりセンサリスト８０４が表示されるので、リストから選択入力する。使用するセンサを４以上にしたい場合は、追加ボタン８０５押下により、センサ４、センサ５、・・・に対応するセンサ選択ウィンドウ８０２およびリスト表示ボタン８０３が順次表示されるので、それを用いて入力を行う。
【００５４】
学習期間入力ウィンドウ８０６には、学習データを抽出したい期間の開始日と終了日を入力する。入力ベクトル抽出パラメータウィンドウ８０７には、入力ベクトルとして抽出する個数と抽出時のステップを入力する。図に示すのは連続する３個を抽出する場合の例である。１個おき、２個おき、…としたい場合はステップを２、３、…と入力する。
【００５５】
出力ベクトル抽出パラメータウィンドウ８０８では、図４Ａに示すように入力ベクトルの最後の要素を設定するのか、図４Ｂに示すように入力ベクトルで抽出したデータの次のデータを設定するのかを、ラジオボタンで選択する。処理パラメータ入力ウィンドウ８０９には、図６のステップＳ６０８で使用する異常識別しきい値と図７のＳ７０５で使用する学習更新しきい値を入力する。レシピ名入力ウィンドウ８１０には、入力された情報に対応付けるユニークな名前を入力する。
【００５６】
全ての情報を入力したら登録ボタン８１１を押下する。この操作により、指定した期間のセンサ信号１０２から入力・出力ベクトル抽出部１０３で入力ベクトルと出力ベクトルが抽出され、入力情報などとともにレシピ名に対応付けて保存される。具体的には、指定した期間のセンサ信号１０２をロードし、図３に示すフローに従って入力・出力ベクトル抽出部１０３で入力ベクトルと出力ベクトルを抽出し、学習データとしてデータベース１０４に保存する。
【００５７】
図３で説明したステップＳ３０３の正規化においては、指定期間の全データを用いて平均と標準偏差を求める。この平均と標準偏差の値もセンサ毎にレシピ名に対応付けてデータベース１０４に保存しておく。その他、使用センサ情報、学習期間、入力・出力ベクトル抽出時に使用する情報、異常識別しきい値および学習識別しきい値をレシピ名と対応付けてデータベース１０４に保存する。キャンセルボタン８１２が押下された場合は、何も保存しないで終了する。登録されたレシピは、活性か不活性かのラベルをつけて管理され、新しく観測されたデータに対しては、活性なレシピの情報を用いて別々に異常識別処理および学習データ更新処理を行い、結果をレシピ名と対応付けて保存しておく。
【００５８】
以上識別処理部１０８で実行された異常識別処理および学習データ更新部１０９で実行された学習データ更新処理の結果をユーザに示すためのＧＵＩの例を、図９および図１０Ａおよび図１０Ｂに示す。
【００５９】
図９は、表示対象を指定するＧＵＩの例である。表示対象指定画面９０１から表示対象期間と対象センサを指定する。初めに、レシピ名選択ウィンドウ９０２により、レシピを選択する。データ記録期間表示部９０３には、入力されたレシピを用いて処理され、記録が残されている期間の開始日と終了日が表示される。結果表示期間指定ウィンドウ９０４には、結果を表示したい期間の開始日と終了日を入力する。センサ選択ウィンドウ９０５への入力によりセンサを指定して、表示ボタン９０６押下により図１０Ａ又はＢに示す結果表示画面１００１または１００２を表示する。終了ボタン９０７押下により終了する。
【００６０】
図１０Ａ及びＢは、結果表示にかかわるＧＵＩの例である。結果表示画面１００１、結果拡大表示画面１００２を各画面の上部に表示されたタブを選択することにより切り替えられる。図１０Ａには、結果表示画面１００１を示す。結果表示画面１００１には、異常度表示ウィンドウ１００３、判定結果表示ウィンドウ１００４、センサ信号表示ウィンドウ１００５が含まれる。異常度表示ウィンドウ１００３には、指定された期間の異常度および予測誤差が表示される。判定結果表示ウィンドウ１００４には、指定された期間の異常識別結果と学習データ更新情報が表示される。異常識別結果は正常の場合０異常の場合１となる２値データである。
【００６１】
学習データ更新情報は、学習データを追加するとき１、入れ替えるとき０となる２値データである。センサ信号表示ウィンドウ１００５には、指定された期間の指定されたセンサの出力値と回帰モデルに基づく予測値（確率分布の平均）が表示される。表示対象の期間は、期間表示ウィンドウ１００６に表示される。カーソル１００７は、拡大表示の時の起点を表し、マウス操作により移動できる。カーソル位置の日付が、日付表示ウィンドウ１００８に表示される。終了ボタン１００９押下により結果表示画面１００１、結果拡大表示画面１００２とも消去し終了する。  
図１０Ｂには、結果拡大表示画面１００２を示す。結果拡大表示画面１００２には、異常度表示ウィンドウ１００３、判定結果表示ウィンドウ１００４、センサ信号表示ウィンドウ１００５が含まれる。各ウィンドウには、結果表示画面１００１において、カーソル１００７で示された時刻を起点として、結果表示画面１００１と同種の情報の拡大表示を行う。
【００６２】
日付表示ウィンドウ１００８には、拡大表示の起点の日付が表示されている。拡大表示期間指定ウィンドウ１０１０で、拡大表示の起点から終点までの期間を日単位で指定する。スクロールバー１０１１で表示の起点を変更することも可能であり、この変更はカーソル１００７の位置と日付表示ウィンドウ１００８の表示に反映される。スクロールバー表示領域１０１２の全体の長さは結果表示画面１００１に表示されている全期間に相当する。また、スクロールバー１０１１の長さは拡大表示期間指定ウィンドウ１０１０で指定された期間に相当し、スクロールバー１０１１の左端部が拡大表示の起点に対応する。終了ボタン１００９押下により終了する。
【００６３】
以上の実施例では、複数のレシピは独立に処理され、それぞれの結果を出力していたが、それらを統合して判定するルールを予め設定しておき、総合的な識別結果を出力するようにしてもよい。
【００６４】
また、上記実施例は学習データ設定をオフライン、異常識別処理をリアルタイム、結果表示をオフラインでそれぞれ処理するものであるが、結果表示もリアルタイムに行うことが可能である。その場合、表示期間の長さ、表示対象とするレシピ、表示対象とする情報を予め定めておき、一定時間毎に最新の情報を表示するよう構成すればよい。表示対象として指定可能な情報は、結果表示画面１００１および結果拡大表示画面１００２の異常度表示ウィンドウ１００３、判定結果表示ウィンドウ１００４、センサ信号表示ウィンドウ１００５に表示可能なものとする。
【００６５】
また、上記実施例は、１台の設備について異常検知を行う構成としているが、複数の設備のセンサ信号を通信手段を用いて１箇所に集めたものに対して異常検知を行う構成とすることも可能である。その場合、レシピ設定時には装置ＩＤ情報も指定する。結果表示においても、装置ＩＤを指定し、指定されたＩＤに関わるレシピから表示対象レシピを選択する。
【００６６】
さらに、任意の期間を設定し、レシピを選択して、オフラインで異常識別処理を行う機能を付加したものも本発明の範囲に含まれる。その場合、データベース１０４のデータを書き換えぬよう、学習データを別の場所にコピーして処理を行うとよい。
【符号の説明】
【００６７】
１０１・・・設備    １０２・・・センサ信号    １０３・・・入力・出力ベクトル抽出部  １０４・・・データベース    １０５・・・学習データ選択部    １０６・・・回帰モデル作成部    １０７・・・異常度算出部    １０８・・・異常識別部    １０９・・・学習データ更新部    ４０１・・・時系列データ    ４０２・・・入力データ    ４０３・・・出力データ    ８０１・・・レシピ設定画面  ８  ０２Ａ〜８０２Ｃ・・・センサ選択ウィンドウ    ８０３Ａ〜８０３Ｃ・・・リスト表示ボタン    ８０４・・・センサリスト  ８０５・・・追加ボタン    ８０６・・・学習期間入力ウィンドウ    ８０７・・・入力ベクトル抽出パラメータウィンドウ    ８０８・・・出力ベクトル抽出パラメータウィンドウ    ８０９・・・処理パラメータ入力ウィンドウ    ８１０・・・レシピ名入力ウィンドウ    ８１１・・・登録ボタン    ８１２・・・キャンセルボタン    ９０１・・・表示対象指定画面    ９０２・・・レシピ名選択ウィンドウ    ９０３・・・データ記録期間表示部    ９０４・・・結果表示期間指定ウィンドウ    ９０５・・・センサ選択ウィンドウ    ９０６・・・表示ボタン    ９０７・・・終了ボタン    １００１・・・結果表示画面    １００２・・・結果拡大表示画面    １００３・・・異常度表示ウィンドウ    １００４・・・判定結果表示ウィンドウ    １００５・・・センサ信号表示ウィンドウ    １００６・・・期間表示ウィンドウ    １００７・・・カーソル    １００８・・・日付表示ウィンドウ    １００９・・・終了ボタン    １０１０・・・拡大表示期間指定ウィンドウ    １０１１・・・スクロールバー    １０１２・・・スクロールバー表示領域。
【図１】
2013025367.tif 000010
【図２】
2013025367.tif 000011
【図３】
2013025367.tif 000012
【図４Ａ】
2013025367.tif 000013
【図４Ｂ】
2013025367.tif 000014
【図５】
2013025367.tif 000015
【図６】
2013025367.tif 000016
【図７】
2013025367.tif 000017
【図８】
2013025367.tif 000018
【図９】
2013025367.tif 000019
【図１０Ａ】
2013025367.tif 000020
【図１０Ｂ】
2013025367.tif 000021