(57)【要約】      （修正有）【課題】プラント管理者又は運転員へ、異常時にどのようなアクションを起こせば良いかの判断の指針を与えることを可能とする。【解決手段】プロセス監視診断装置は、分類部３１と、識別部及び異常検出用データ定義部を有するモデル構築部３２と、抽出部及び異常レベル判定部を有する監視診断部３３とを具備する。分類部は、プロセスデータ又は時系列データを属性情報に基づいてクラス分けする。識別部は、クラス分けされた時系列データから日常パターンデータと非日常パターンデータとを作成する。異常検出用データ定義部は、非日常パターンデータに基づき、異常診断モデルを作成する。抽出部は、クラス分けされたプロセスデータの日常パターンデータに対する乖離度を抽出する。異常レベル判定部は、乖離度を異常診断モデルに適用し、異常検出用データとしきい値とを算出し、異常検出用データがしきい値を超えるか否かに基づいて異常レベルを判定する。【選択図】図１
2014096050.tif 000002
【特許請求の範囲】
【請求項１】
対象プロセスに設置されるセンサにより計測されるプロセスデータを取得するプロセス監視診断装置において、
分類部と、識別部及び異常検出用データ定義部を有するモデル構築部と、抽出部及び異常レベル判定部を有する監視診断部とを具備し、
前記分類部は、前記対象プロセスが置かれている環境に応じて分類される属性情報を保持し、前記プロセスデータと、予め設定される複数の期間の過去のプロセスデータからなる複数の時系列データとを前記属性情報に基づいてクラス分けし、
前記識別部は、複数のクラスにクラス分けされた前記時系列データのそれぞれの代表値をロバストに推定することで、前記クラス毎の日常パターンデータを作成し、前記クラス毎の日常パターンデータに基づいて非日常パターンデータを作成し、
前記異常検出用データ定義部は、前記複数の非日常パターンデータそれぞれに基づいて、異常検出用データを算出する第１の定義式と、前記異常検出用データのしきい値を算出する第２の定義式とを作成し、
前記抽出部は、前記クラス分けされたプロセスデータの前記複数の日常パターンデータに対する乖離度を抽出し、
前記異常レベル判定部は、前記複数の乖離度それぞれを前記第１の定義式に適用することで前記クラス毎に異常検出用データを算出し、前記複数の乖離度それぞれを前記第２の定義式に適用することで前記クラス毎にしきい値を算出し、前記クラス毎に前記異常検出用データが前記しきい値を超えるか否かを判断することで異常レベルを判定するプロセス監視診断装置。
【請求項２】
前記モデル構築部は、
前記複数の非日常パターンデータそれぞれに基づき、前記異常検出用データについてのプロセス変数毎の寄与量を算出する第３の定義式を作成する寄与量定義部をさらに有し、
前記監視診断部は、
前記クラス分けされたプロセスデータと最も高い適合性の日常パターンデータに対する前記クラス分けされたプロセスデータの乖離度を、前記クラス分けされたプロセスデータと最も高い適合性の非日常パターンデータについて作成された前記第３の定義式に適用することで、前記プロセス変数毎の寄与量を算出する要因分離部をさらに有する請求項１記載のプロセス監視診断装置。
【請求項３】
前記監視診断部は、寄与量しきい値を超える寄与量のプロセス変数が１個である場合、センサに異常が生じたと推定し、前記寄与量しきい値を超える寄与量のプロセス変数が２個以上である場合、前記対象プロセスに異常が生じたと推定する異常識別部をさらに有する請求項２記載のプロセス監視診断装置。
【請求項４】
前記識別部は、前記日常パターンデータを、暦に係る複数種類の定義で作成し、前記定義毎の日常パターンデータに基づく非日常パターンデータを作成し、
前記異常検出用データ定義部は、前記クラス毎及び前記定義毎に作成された非日常パターンデータ毎に前記第１及び第２の定義式を作成し、
前記抽出部は、前記乖離度を、前記クラス毎及び前記定義毎に作成された日常パターンデータ毎に抽出し、
前記異常レベル判定部は、前記定義が同一、かつ、前記クラスが異なる複数の乖離度それぞれから算出される異常検出用データとしきい値とを比較し、比較結果に基づいて異常レベルを判定する請求項１乃至３のいずれかに記載のプロセス監視診断装置。
【請求項５】
前記異常識別部は、寄与量しきい値を超える寄与量のプロセス変数が１個である場合、前記異常を生じたセンサによる計測値の代わりに、前記異常を生じたセンサが正常時に計測したデータに基づく値を、前記抽出部へ供給する請求項３記載のプロセス監視診断装置。
【請求項６】
前記異常レベル判定部において、プロセスデータに異常が発生していないと判定されると、前記異常の発生していないプロセスデータを正常データとして登録する正常データ登録部をさらに具備し、
前記異常検出用データ定義部は、前記正常データを用いて前記第１及び第２の定義式を更新する請求項１記載のプロセス監視診断装置。
【請求項７】
前記異常レベル判定部において、プロセスデータに異常が発生していないと判定されると、前記異常の発生していないプロセスデータを正常データとして登録する正常データ登録部をさらに具備し、
前記異常検出用データ定義部は、前記正常データを用いて前記第１及び第２の定義式を更新し、
前記寄与量定義部は、前記正常データを用いて前記第３の定義式を更新する請求項２乃至５のいずれかに記載のプロセス監視診断装置。
【請求項８】
前記識別部は、前記クラス分けされた時系列データに前記正常データを組み込み、前記正常データを組み込んだ時系列データの代表値をロバストに推定することで、前記日常パターンデータを更新する請求項６又は７に記載のプロセス監視診断装置。
【請求項９】
前記分類部、前記モデル構築部及び前記監視診断部はクラウドサーバ上に実現される請求項１乃至８のいずれかに記載のプロセス監視診断装置。
【請求項１０】
対象プロセスに設置されるセンサにより計測されるプロセスデータを取得するプロセス監視診断装置において、
分類部と、識別部、異常検出用データ定義部及び寄与量定義部を有するモデル構築部と、抽出部及び要因分離部を有する監視診断部とを具備し、
前記分類部は、前記対象プロセスが置かれている環境に応じて分類される属性情報を保持し、前記プロセスデータと、予め設定される期間の過去のプロセスデータからなる時系列データとを前記属性情報に基づいてクラス分けし、
前記識別部は、前記クラス分けされた時系列データの代表値をロバストに推定することで日常パターンデータを作成し、前記日常パターンデータに基づいて非日常パターンデータを作成し、
前記異常検出用データ定義部は、前記非日常パターンデータに基づき、異常検出用データを算出する第１の定義式を作成し、
前記寄与量定義部は、前記非日常パターンデータに基づき、前記異常検出用データについてのプロセス変数毎の寄与量を算出する第２の定義式を作成し、
前記抽出部は、前記クラス分けされたプロセスデータの前記日常パターンデータに対する乖離度を抽出し、
前記要因分離部は、前記乖離度を前記第１及び第２の定義式に適用することで、前記プロセス変数毎の寄与量を算出するプロセス監視診断装置。
【請求項１１】
前記監視診断部は、寄与量しきい値を超える寄与量のプロセス変数が１個である場合、センサに異常が生じたと推定し、前記寄与量しきい値を超える寄与量のプロセス変数が２個以上である場合、前記対象プロセスに異常が生じたと推定する異常識別部をさらに有する請求項１０記載のプロセス監視診断装置。
【請求項１２】
前記異常識別部は、寄与量しきい値を超える寄与量のプロセス変数が１個である場合、前記異常を生じたセンサによる計測値の代わりに、前記異常を生じたセンサが正常時に計測したデータに基づく値を、前記抽出部へ供給する請求項１１記載のプロセス監視診断装置。
【請求項１３】
前記分類部、前記モデル構築部及び前記監視診断部はクラウドサーバ上に実現される請求項１０乃至１２のいずれかに記載のプロセス監視診断装置。
【請求項１４】
対象プロセスに設置されるセンサにより計測されるプロセスデータを取得するプロセス監視診断装置で用いられるプロセス監視診断プログラムにおいて、
前記プロセスデータと、予め設定される複数の期間の過去のプロセスデータからなる複数の時系列データとを、前記対象プロセスが置かれている環境に応じて分類される属性情報に基づいてクラス分けする分類処理と、
複数のクラスにクラス分けされた前記時系列データのそれぞれの代表値をロバストに推定することで、前記クラス毎の日常パターンデータを作成し、前記クラス毎の日常パターンデータに基づいて非日常パターンデータを作成する識別処理と、
前記複数の非日常パターンデータそれぞれに基づき、異常検出用データを算出する第１の定義式と、前記異常検出用データのしきい値を算出する第２の定義式とを作成する定義処理と、
前記クラス分けされたプロセスデータの前記複数の日常パターンデータに対する乖離度を抽出する抽出処理と、
前記複数の乖離度それぞれを前記第１の定義式に適用することで前記クラス毎に異常検出用データを算出し、前記複数の乖離度それぞれを前記第２の定義式に適用することで前記クラス毎にしきい値を算出し、前記クラス毎に前記異常検出用データが前記しきい値を超えるか否かを判断することで異常レベルを判定する判定処理と
を前記プロセス監視診断装置のコンピュータに実施させるプロセス監視診断プログラム。
【請求項１５】
対象プロセスに設置されるセンサにより計測されるプロセスデータを取得するプロセス監視診断装置で用いられるプロセス監視診断プログラムにおいて、
前記プロセスデータと、予め設定される期間の過去のプロセスデータからなる時系列データとを、前記対象プロセスが置かれている環境に応じて分類される属性情報に基づいてクラス分けする分類処理と、
前記クラス分けされた時系列データの代表値をロバストに推定することで日常パターンデータを作成し、前記日常パターンデータに基づいて非日常パターンデータを作成する識別処理と、
前記非日常パターンデータに基づき、異常検出用データを算出する第１の定義式を作成する第１の定義処理と、
前記非日常パターンデータに基づき、前記異常検出用データについてのプロセス変数毎の寄与量を算出する第２の定義式を作成する第２の定義部と、
前記クラス分けされたプロセスデータの前記日常パターンデータに対する乖離度を抽出する抽出処理と、
前記乖離度を前記第１及び第２の定義式に適用することで、前記プロセス変数毎の寄与量を算出する要因分離処理と
を前記プロセス監視診断装置のコンピュータに実施させるプロセス監視診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、下水処理プロセス、排水処理プロセス、汚泥消化プロセス、浄水プロセス、給配水プロセス、化学プロセス、及び鉄鋼プロセス等のプロセス系で発生する異常を診断するプロセス監視診断装置と、このプロセス監視診断装置で用いられるプロセス監視診断プログラムとに関する。
【背景技術】
【０００２】
下水処理プロセス、汚泥消化プロセス、浄水プロセス、及び給配水プロセス等の水処理／水運用プロセス、石油化学プロセス、鉄鋼プロセス、及び半導体製造プロセス等のプロセス系のプラントでは、複数のプロセス状態を測定する複数のオンラインセンサが設置されている。プロセス監視装置（SCADA: Supervisory Control And Data Acquisition）は、通常、プロセス系に設置されたセンサ群の計測により得られる、例えば、流量、温度、水質及び／又は操作量等のプロセスデータを、例えば、トレンドグラフ等の時系列データへ変換する。プラント管理者（マネージャー）及び／又は運転員（オペレータ）は、時系列データを監視することで、プロセスの状態を把握し、プロセスの運転変更や制御を行う。
【０００３】
各々のプロセスデータの時系列データには、通常、管理限界等と呼ばれる上下限値が設定されている。プロセス監視装置は、時系列データの値がこの管理限界を超えた場合、アラームを発報する。プラント管理者及び／又は運転員は、このアラームに基づいてプラント運用の確認・見直しを行う。この様なアラーム発報に基づく運転管理はプラント運用の基本である。
【０００４】
さらに一歩進んだプラントの運転管理では、単純なプロセス非定常時の対応だけでなく、プロセスの所定目標性能を達成した上で省エネルギー・省コストに繋がる運用が求められる。ここで所定目標とは、例えば下水処理プロセスであれば、放流水質規制の遵守等に対応する。また、浄水処理プロセスであれば、浄水中の残留塩素濃度が所定上限以下であること、及び／又はクリプトスポリジウムに代表される病原性微生物が存在しないこと等が所定目標に対応する。また、化学プロセス及び鉄鋼プロセスであれば、製品（石油精製品及び鉄鋼）の品質（例えば純度及び強度等）を所定の範囲に維持することが所定目標に対応する。プラントの運転管理を、プロセスの所定目標性能を達成した上で省エネルギー・省コストに繋がるように運用しようとする際、所定目標の未達状態に陥らないように目標性能に関するプロセスの状態を監視し、所定目標の達成を阻害する様な状態変化及び／又は異常状態を素早く検知し、事前に対策をとることが重要なポイントとなる。さらに、目標性能及び省エネ・省コストに関するプロセス状態を常に良好な状態に保ち、良好な状態から逸脱しそうなプロセス状態変化を素早く検知することも重要なポイントとなる。
【０００５】
ところで、プロセスの状態変化及び異常を診断する方法として、石油化学プロセス及び鉄鋼プラントの分野で利用されてきた「多変量統計解析手法」を用いた多変量統計的プロセス監視（ＭＳＰＣ：Multi-Variate Statistical Process Control）と呼ばれる方法が知られている。ＭＳＰＣの中で最も良く利用される手法として、主成分分析（ＰＣＡ：Principal Component Analysis）と潜在変数射影法／部分最小二乗法（ＰＬＳ：Projection to Latent Structure/Partial Least Square）が知られている。
【０００６】
ＭＳＰＣでは、ＰＣＡ及び／又はＰＬＳ等の多変量解析を用いて、主に、プラントの異常兆候を検出する第１の目的と、異常要因となるプロセス変数を推定する第２の目的とを達成させるようにしている。第１の目的に対しては、複数のプロセス変数の相関情報を利用することで、一つの変数では検出できない軽微な異常の兆候を検出するようにしている。第２の目的に対しては、複数のプロセス変数から合成した異常検出用データ（例えば、Ｑ統計量及びＨｔｅｌｌｉｎｇのＴ２統計量）で異常を検出した後に、この異常検出用データに対する各プロセスデータの寄与度を表す寄与量というものを利用することで、異常要因の候補となるプロセス変数を推定するようにしている。このように、ＭＳＰＣを用いると、従来の個別のプロセス変数に対する単純な管理限界による監視（生産ライン等の監視では、ＭＳＰＣと対比してＳＰＣ：Statistical Process Controlと呼ばれることもある）と比較して、よりプラント管理者及び／又は運転員にとって有用なアドバンストな監視・診断を行うことができる。
【０００７】
以上のように、ＭＳＰＣを用いると、プラントの異常兆候の検出する第１の目的と、異常要因となるプロセス変数を推定する第２の目的とを達成することができるが、ＭＳＰＣをＳＣＡＤＡの中に組み込んでプラント監視システムとして実現する場合、第１及び第２の目的を達成する際に得られる情報だけではユーザであるプラント管理者及び／又は運転員にとって十分な情報提供にならないという現場の声を聞くことが多い。その理由は、プラント管理者及び／又は運転員は、最終的に異常時にどのようなアクションを起こせば良いかという判断をしたいが、異常兆候の検出及びその要因推定だけでは、異常時に即座にアクションを起こすことは難しいためである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平８−２４１１２１号公報
【特許文献２】特開２００４−３０３００７号公報
【特許文献３】特開２００７−６５８８３号公報
【非特許文献】
【０００９】
【非特許文献１】http://tech.chase-dream.com/spc.html
【非特許文献２】C. Rosen, “Monitoring Wastewater Treatment Systems”, Lic. Thesis, Dept. of Industrial Electrical Engineering and Automation, Lund University, Lund, Sweden, 1998.
【非特許文献３】Mia Hubert, Peter J. Rousseeuw, Karlien V, “ROBPCA: a New Approach to Robust Principal Component Analysis (2005)”, Technometrics.
【非特許文献４】C Croux, A Ruiz-Gazen, “High breakdown estimators for principal components: the projection-pursuit approach revisited”, Journal of Multivariate Analysis.
【非特許文献５】K.-R. Muller, S. Mika, G. Ratsch, K. Tsuda, and B. Scholkopf, “An introduction to kernel-based learning algorithms”, IEEE Trans. Pattern Anal. Machine Intell., 12(2):181-201, March, 2001.
【非特許文献６】B. Scholkopf, A.J. Smola, and K.-R. Muller, “Nonlinear component analysis as a kernel eigenvalue problem”, Neural Computation, 10(5):1299-1319, 1998.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
以上のように、ＭＳＰＣを組み込んだ従来の装置では、プラントの異常兆候の検出及びその要因推定は可能であるが、これらの情報のみでは、プラント管理者及び／又は運転員が異常時にどのようなアクションを起こせば良いか判断するのが困難であった。
【００１１】
そこで、目的は、プラント管理者及び／又は運転員へ、異常時にどのようなアクションを起こせば良いかの判断の指針を与えることが可能なプロセス監視診断装置と、この装置で用いられるプロセス監視診断プログラムとを提供することにある。
【課題を解決するための手段】
【００１２】
実施形態によれば、対象プロセスに設置されるセンサにより計測されるプロセスデータを取得するプロセス監視診断装置は、分類部と、識別部及び異常検出用データ定義部を有するモデル構築部と、抽出部及び異常レベル判定部を有する監視診断部とを具備する。前記分類部は、前記対象プロセスが置かれている環境に応じて分類される属性情報を保持し、前記プロセスデータと、予め設定される複数の期間の過去のプロセスデータからなる複数の時系列データとを前記属性情報に基づいてクラス分けする。前記識別部は、複数のクラスにクラス分けされた前記時系列データのそれぞれの代表値をロバストに推定することで、前記クラス毎の日常パターンデータを作成し、前記クラス毎の日常パターンデータに基づいて非日常パターンデータを作成する。前記異常検出用データ定義部は、前記複数の非日常パターンデータそれぞれに基づいて、異常検出用データを算出する第１の定義式と、前記異常検出用データのしきい値を算出する第２の定義式とを作成する。前記抽出部は、前記クラス分けされたプロセスデータの前記複数の日常パターンデータに対する乖離度を抽出する。前記異常レベル判定部は、前記複数の乖離度それぞれを前記第１の定義式に適用することで前記クラス毎に異常検出用データを算出し、前記複数の乖離度それぞれを前記第２の定義式に適用することで前記クラス毎にしきい値を算出し、前記クラス毎に前記異常検出用データが前記しきい値を超えるか否かを判断することで異常レベルを判定する。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係るプロセス監視診断装置が備えられる監視システムの機能構成を示す図である。
【図２】図１に示す分類部による分類後の時系列データを示す図である。
【図３】図１に示す監視診断部がプロセスデータの異常レベルを判定する際のフローチャートを示す図である。
【図４】図１に示す異常レベル判定部による異常レベルの判定結果を示す図である。
【図５】図１に示す要因分離部により算出される寄与量に基づいて作成される寄与量プロットを示す図である。
【図６】図１に示す要因分離部により算出される寄与量に基づいて作成される寄与量プロットを示す図である。
【図７】第２の実施形態に係るプロセス監視診断装置の機能構成を示すブロック図である。
【図８】図７に示す正常データ登録部に登録される行列を示す図である。
【発明を実施するための形態】
【００１４】
以下、実施の形態について、図面を参照して説明する。
【００１５】
（第１の実施形態）  
図１は、第１の実施形態に係るプロセス監視診断装置３０が備えられる監視システムの機能構成の例を示す構成図である。図１に示す監視システムは、実施イメージをより明確にするため、窒素及びリン除去を目的とした下水高度処理プロセスを監視対象としている。しかしながら、監視システムの監視対象は、下水処理プロセスに限定される訳ではない。
【００１６】
図１に示す監視システムは、下水高度処理プロセス１０、データ収集・保存部２０、プロセス監視診断装置３０及びユーザインタフェース４０を具備する。
【００１７】
下水高度処理プロセス１０は、最初沈澱池１０１、嫌気槽１０２、無酸素槽１０３、好気槽１０４及び最終沈澱池１０５を備える。
【００１８】
また、下水高度処理プロセス１０は、引抜ポンプ１１１１、ブロワ１１２１、循環ポンプ１１３１、返送汚泥ポンプ１１４１及び引抜ポンプ１１５１をアクチュエータとして備える。引抜ポンプ１１１１は、最初沈澱池１０１の余剰汚泥を引き抜く。ブロワ１１２１は、好気槽１０４に酸素を供給する。循環ポンプ１１３１は、好気槽１０４から出力される水を無酸素槽１０３へ循環させる。返送汚泥ポンプ１１４１は、最終沈殿池１０５の余剰汚泥を嫌気槽１０２へ返送する。引抜ポンプ１１５１は、最終沈澱池１０５の余剰汚泥を引き抜く。各種アクチュエータ１１１１〜１１５１は、所定の周期で動作する。
【００１９】
また、アクチュエータ１１１１〜１１５１は各々操作量センサを備える。すなわち、引抜ポンプ１１１１は引抜流量センサ１１１２を備え、ブロワ１１２１は供給空気流量センサ１１２２を備え、循環ポンプ１１３１は循環流量センサ１１３２を備え、返送汚泥ポンプ１１４１は返送流量センサ１１４２を備え、引抜ポンプ１１５１は引抜流量センサ１１５２を備える。
【００２０】
引抜流量センサ１１１２は、引抜ポンプ１１１１により引き抜かれた汚泥の流量を計測する。供給空気流量センサ１１２２は、ブロワ１１２１により供給される酸素の流量を計測する。循環流量センサ１１３２は、循環ポンプ１１３１により循環される水の流量を計測する。返送流量センサ１１４２は、返送汚泥ポンプにより返送される汚泥の流量を計測する。引抜流量センサ１１５２は、引抜ポンプ１１５１により引き抜かれる汚泥の流量を計測する。各種操作量センサ１１１２〜１１５２は所定の周期でプロセスデータを計測する。
【００２１】
また、下水高度処理プロセス１０は、雨量センサ１２１と、流入下水量を計測する下水流入量センサ１２２と、流入下水に含まれる全窒素量を計測する流入ＴＮセンサ１２３と、流入下水に含まれる全リン量を計測する流入ＴＰセンサ１２４と、流入下水に含まれる有機物量を計測する流入ＵＶセンサ１２５１又は流入ＣＯＤセンサ１２５２と、嫌気槽１０２のＯＲＰを計測する嫌気槽ＯＲＰセンサ１２６と、嫌気槽１０２のｐＨを計測する嫌気槽ｐＨセンサ１２７と、無酸素槽１０３のＯＲＰを計測する無酸素槽ＯＲＰセンサ１２８と、無酸素槽１０３のｐＨを計測する無酸素槽ｐＨセンサ１２９と、好気槽１０４のリン酸濃度を計測するリン酸センサ１２１０と、好気槽１０４の溶存酸素濃度を計測するＤＯセンサ１２１１と、好気槽１０４のアンモニア濃度を計測するアンモニアセンサ１２１２と、嫌気槽１０２、無酸素槽１０３及び好気槽１０４の少なくとも１ヶ所の槽で活性汚泥量を計測するＭＬＳＳセンサ１２１３と、嫌気槽１０２、無酸素槽１０３及び好気槽１０４の少なくとも１ヶ所の槽で水温を計測する水温センサ１２１４と、最終沈澱池１０５から引き抜かれる汚泥量の固形物濃度を計測する余剰汚泥ＳＳセンサ１２１５と、最終沈殿池１０５から放流される放流水のＳＳ濃度を計測する放流ＳＳセンサ１２１６と、最終沈殿池１０５の汚泥界面レベルを計測する汚泥界面センサ１２１７と、放流下水量を計測する下水放流量センサ１２１８と、放流下水に含まれる全窒素量を計測する放流ＴＮセンサ１２１９と、放流下水に含まれる全リン量を計測する放流ＴＰセンサ１２２０と、放流下水に含まれる有機物量を計測する放流ＵＶセンサ１２２１１又は放流ＣＯＤセンサ１２２１２とをプロセスセンサとして備える。各種プロセスセンサ１２１〜１２２１２は所定の周期でプロセスデータを計測する。なお、図１では、流入ＵＶセンサ１２５１及び流入ＣＯＤセンサ１２５２のうち、流入ＵＶセンサ１２５１が設置され、放流ＵＶセンサ１２２１１及び放流ＣＯＤセンサ１２２１２のうち、放流ＵＶセンサ１２２１１が設置される場合を示している。
【００２２】
データ収集・保存部２０は、各種操作量センサ１１１２〜１１５２から所定の周期で得られるプロセスデータと、各種プロセスセンサ１２１〜１２２１２から所定の周期で得られるプロセスデータとを収集する。データ収集・保存部２０は、収集したプロセスデータをプロセス監視診断装置３０へ出力する。また、データ収集・保存部２０は、収集したプロセスデータを、予め設定されるフォーマットに従って時系列データに変換して保存する。データ収集・保存部２０は、保存した時系列データをプロセス監視診断装置３０からの要請に応じ、プロセス監視診断装置３０へ出力する。
【００２３】
プロセス監視診断装置３０は、例えば、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）等のＣＰＵが処理を実行するためのプログラムやデータの格納領域等とを含む。プロセス監視診断装置３０は、ＣＰＵにプログラムを実行させることで、分類部３１、モデル構築部３２及び監視診断部３３の機能を実現する。
【００２４】
分類部３１は、属性供給部３１１及び属性判断部３１２を備える。
【００２５】
属性供給部３１１は、プロセスデータが収集される月情報、季節（春（３月〜５月）、夏（６月〜８月）、秋（９月〜１１月）、冬（１２月〜２月））情報、天候情報、気温又は水温情報、運転モード情報等の属性情報を保持する。
【００２６】
属性判断部３１２は、データ収集・保存部２０に対して、予め設定した期間の過去の時系列データを要求する。属性判断部３１２は、属性供給部３１１に保持される属性情報を用い、データ収集・保存部２０から供給される時系列データを分類する。属性情報は、プロセスが置かれている外的な条件に応じて容易に分類される属性についての情報であり、属性には、例えば、月、季節、天気、気温、水温、及び運転モード等がある。例えば、属性判断部３１２は、時系列データを、属性情報に基づき、月毎のデータ、四季毎のデータ、晴れ、曇り、雨又は雪等の天候毎のデータ、気温又は水温等を複数のレベルに分割した気温又は水温毎のデータ、及び運転モードの違い等の運転毎のデータ等に分類する。属性判断部３１２は、各クラスに分類した時系列データをモデル構築部３２へ出力する。
【００２７】
また、属性判断部３１２は、監視診断部３３で現在時刻（オンライン）のプロセスデータの診断をする際には、属性供給部３１１に保持される属性情報を用い、データ収集・保存部２０で収集されるオンラインのプロセスデータを上記と同様に分類する。属性判断部３１２は、各クラスに分類したプロセスデータを監視診断部３３へ出力する。
【００２８】
モデル構築部３２は、識別部３２１、異常検出用データ定義部３２２及び寄与量定義部３２３を備える。モデル構築部３２は、識別部３２１により、複数の日常パターンデータと、これらの日常パターンデータのそれぞれに基づいて非日常パターンデータを作成する。また、モデル構築部３２は、異常検出用データ定義部３２２により、異常が発生しているか否かの指標となる異常検出用データ等を非日常パターンデータに基づいて定義する。また、モデル構築部３２は、寄与量定義部３２３により、操作量センサ及びプロセスセンサを表すプロセス変数が、発生する異常に対してどれだけ寄与するかを示す寄与量を定義する。
【００２９】
識別部３２１は、分類部３１で各クラスに分類された時系列データに基づいて、日常パターンデータ及び当該日常パターンデータに基づいた非日常パターンデータを作成する。日常パターンデータは、例えば、時系列データにおける同一時刻、すなわち日単位の日常パターンデータ、及び／又は、時系列データにおける同一曜日かつ同一時刻、すなわち曜日単位の日常パターンデータ等、傾向を確認したい対象に応じて暦に係る定義に応じて複数作成される。
【００３０】
例えば、日単位の日常パターンデータを作成する場合、識別部３２１は、天候情報及び曜日情報等に基づいてプロセス挙動が特異的になる場合の情報を予め除去した上で、受け取った時系列データの同一時刻における計測値に基づき、各時刻においてロバストに推定された代表値を算出する。ここで、ロバストに推定された代表値は、同一時刻における計測値の平均値、トリム平均値、メジアン、モード値等である。時系列データに異常値が含まれている可能性がある場合には、平均値を代表値とするのではなく、メジアン等、異常値に対して感度の低い値を代表値とする。また、曜日単位の日常パターンデータを作成する場合、識別部３２１は、時系列データにおける同一時刻かつ同一曜日の計測値に対して上記と同様の処理を行う。識別部３２１は、代表値を算出して日常パターンデータを作成する処理を継続的に行うようにしても構わない。
【００３１】
なお、代表値をロバストに推定する方法はその他にもいくつも知られている。例えばＨＬ（Hodges-Lehmann）推定、ＭＣＤ（Minimum Covariance Determinant）、ブーストラップ法又はサブサンプリング法等の方法を用いると、もっと複雑に異常データが混入している場合でも典型的な代表値を推定することができる。
【００３２】
識別部３２１は、時系列データのうち、日常パターンデータを作成する際に用いられた計測値が、作成した日常パターンデータにおける値に対してどのくらい乖離しているかを算出し、算出結果を非日常パターンデータとする。
【００３３】
識別部３２１は、定義する日常パターンデータの数をｍ個とし、分類部３１により分類されたクラスの数をｌ個とした場合、上記の処理により、ｍ×ｌ個の日常パターンデータとｍ×ｌ個の非日常パターンデータとを作成する。
【００３４】
なお、時系列データに基づく日常パターンデータ及び非日常パターンデータの作成は、例えば、ローパスフィルタ又は離散ウェーブレット変換等のディジタルフィルタを用いて実施することも可能である。しかしながら、異常データの混入を想定すると、ロバスト統計で知られている各種の手法を用いてロバストに代表値を推定する方が、信頼性の高い日常パターンの作成が可能になる。
【００３５】
異常検出用データ定義部３２２は、識別部３２１で作成された非日常パターンデータを受け取る。このとき、非日常パターンデータは、分類部３１で分類されたｌ個のクラスと、日常パターンデータの定義数ｍ個に対応してｌ×ｍ個のデータセットとして提供される。
【００３６】
なお、以下の説明では、非日常パターンデータのデータセットに含まれる、予め設定した期間の過去の時系列データについての乖離値を＜Ｘｋ＞，ｋ＝１，２，…，ｌ×ｍと記載することにする。＜Ｘｋ＞は、行方向に操作量センサ及びプロセスセンサにより計測されるプロセスデータの非日常データに対する乖離値を示し、列方向に時系列を示す行列である。すなわち、＜Ｘｋ＞は、第ｒ行、第ｓ列の要素＜Ｘｋ＞（ｒ，ｓ）に、時刻ｓにおける第ｒ番目のセンサ計測値から算出された非日常データに対する乖離値が格納されている行列である。操作量センサ及びプロセスセンサの数をｎとし、時系列のデータ数をＱとすると、＜Ｘｋ＞は、Ｑ×ｎのデータを含む。なお、以下では、＜Ｘｋ＞，ｋ＝１，２，…，ｌ×ｍの異常検出用データを定義する必要があるが、入力される非日常パターンデータが異なるクラスから供給される点に相違があるだけであり、異常検出用データの定義方法は一つであるので、混同の恐れが無い限り単に＜Ｘ＞と記載し、添え字のｋを省略する。
【００３７】
異常検出用データ定義部３２２は、＜Ｘ＞に対して多変量解析又は機械学習等の様々な方法を適用することで、異常検出用データを生成する。＜Ｘ＞に適用する方法は、プロセス診断技術として良く使われている方法であり、ＭＳＰＣ（多変量統計的プロセス管理）と呼ばれる。ＭＳＰＣでは、通常主成分分析（ＰＣＡ）又は潜在変数射影法（ＰＬＳ）を利用してＱ統計量及びＨｏｔｅｌｌｉｎｇのＴ２統計量と呼ばれる異常検出用データを生成する。
【００３８】
以下では、ＰＣＡを用いて異常検出用データを生成する場合の具体的な計算式を記載する。ＰＣＡを用いると、＜Ｘ＞は以下の様に分解される。なお、（１）式では、＜Ｘ＞を、太文字のＸで記載する。
【数１】
2014096050.tif 000003
【００３９】
ここで、＜Ｔａ＞（（１）式においては、太文字のＴａ）∈Ｒｑ×ｎは、ｑ個のサンプルと、ｎ個の主成分数とからなるスコア行列と呼ばれる行列である。＜Ｐａ＞（（１）式においては、太文字のＰａ）∈Ｒｎ×ｎは、ｎ個の構成変数と、ｎ個の主成分との関係を示すローディング行列と呼ばれる行列である。＜Ｔ＞（（１）式においては、太文字のＴ）∈Ｒｑ×ｐは、ｐ＜＜ｎ個の主成分で打ち切った＜Ｔａ＞の部分行列であり、通常はスコア行列と呼ばれる。同様に、＜Ｐ＞（（１）式においては、太文字のＰ）∈Ｒｎ×ｐは、ｎ個の変量に対してｐ＜＜ｎ個で打ち切った主成分との関係を表す＜Ｐa＞の部分行列であり、通常はローディング行列と呼ばれる。また、＜Ｅ＞（（１）式においては、太文字のＥ）∈Ｒｑ×ｎは、ｑ個のサンプルとｎ個の変量からなる誤差行列であり、ｐ＜＜ｎで主成分を打ち切った場合の誤差を表す。
【００４０】
以下では、＜Ｔａ＞と＜Ｔ＞、＜Ｐａ＞と＜Ｐ＞を明確に区別し、＜Ｔａ＞及び＜Ｐａ＞をそれぞれスコア行列及びローディング行列と称し、＜Ｔ＞及び＜Ｐ＞をそれぞれ主要スコア行列及び主要ローディング行列と称する。
【００４１】
これらを用いて異常検出用データとして以下のＱ統計量とＴ２統計量とを定義する。
【数２】
2014096050.tif 000004
【００４２】
【数３】
2014096050.tif 000005
【００４３】
ここで、＜Λ＞（（３）式においては、太文字のΛ）は主成分の分散を対角要素として持つ行列であり、分散を正規化していることを意味する。また、＜Ｉ＞（（２）式においては、太文字のＩ）は適当なサイズの単位行列である。また、ｘ（ｔ）は、行列＜Ｘ＞のｔ番目の要素である。なお、監視診断部３３による異常監視・診断の際には、このｘ（ｔ）に、オンラインで計測されるプロセスデータの日常パターンデータに対する乖離値が代入されて計算される。
【００４４】
異常検出用データ定義部３２２は、（２）、（３）式で定義したＱ統計量及びＴ２統計量に対して異常と正常とを識別する判断基準としてのしきい値を設定する。このしきい値の設定値は状態変化及び／又は異常兆候の検出に大きく関わるため、その設定方法は重要であるが、本実施形態のアイデアとは関係しないため、典型的な設定方法のみを記載しておく。
【００４５】
もし、予め設定した期間の過去の時系列データに対して何ら事前情報が無い場合には、デフォルトの設定法として、Ｑ統計量に関する統計的信頼限界値と、ＨｏｔｅｌｌｉｎｇのＴ２統計量に関する統計的信頼限界値とを用いることができる（非特許文献２参照）。Ｑ統計量に関する統計的信頼限界値と、ＨｏｔｅｌｌｉｎｇのＴ２統計量に関する統計的信頼限界値とは、以下の様に書くことができる。
【数４】
2014096050.tif 000006
【００４６】
ここで、ｐはモデルの中に残された変数の数である。ｃａは、信頼区間の限界が１−ａである場合の標準正規分布の標準偏差のずれ（例：ａ＝０．０１の場合、ｃａ＝２．５３であり、ａ＝０．０５の場合、ｃａ＝１．９６）である。また、λｉは、＜Λ＞の対角要素である（つまり、Θｉは、誤差項に含まれる各成分のｉ乗和である。）。
【数５】
2014096050.tif 000007
【００４７】
ここで、ｐはモデルの中に残された変数の数であり、ｑは全変数の数である。Ｆ（ｐ，ｑ−ｐ，ａ）は、自由度が（ｐ，ｑ−ｐ）であり、信頼限界をａとした場合のＦ分布である。なお、ａ＝０．０１又は０．０５とすることが多い。
【００４８】
異常検出用データ定義部３２２は、（１）〜（５）式をｌ×ｍ個の非日常パターンデータ毎に定義しておく。
【００４９】
なお、データの中にアウトライア等が多量に含まれることが想定される場合には、異常検出用データ定義部３２２は、例えば、非特許文献３及び非特許文献４等のアウトライアに対するロバスト性を考慮した様々なロバストＰＣＡアルゴリズムを用いてもよい。あるいは、これを拡張してロバストＰＬＳとして用いても良い。
【００５０】
さらに、データ間に強い非線形の相関が想定される様な場合には、異常検出用データ定義部３２２は、例えば、非特許文献５及び非特許文献６等に記載されているカーネルＰＣＡ等の非線形性を考慮したＰＣＡを用いてもよい。あるいは、これを拡張してカーネルＰＬＳとして用いても良い。
【００５１】
さらに、非線形性とアウトライアとの問題が両方存在している場合には、異常検出用データ定義部３２２は、ロバストＰＣＡとカーネルＰＣＡとを組み合わせた方法を用いることも可能である。
【００５２】
また、ＭＳＰＣと類似の技術として、品質工学の分野で用いられるタグチ法等、マハラノビス距離を用いて異常検出用データを生成しても良い。
【００５３】
寄与量定義部３２３は、（２）式及び（３）式で定義された異常検出用データに対する、操作量センサ及びプロセスセンサを表すプロセス変数の寄与量の定義式を設定する。寄与量の定義方法も複数あるが、例えば、以下の様に定義することができる。
【数６】
2014096050.tif 000008
【００５４】
【数７】
2014096050.tif 000009
【００５５】
ここで、ｎはｎ番目のプロセス変数であることを意味し、ｔはある時刻を表す変数である。（６）式及び（７）式に示す定義式は、ｌ×ｍ個の非日常パターンデータ毎に定義される。（６）式及び（７）式を用いることで、寄与量定義部３２３は、プロセス変数各々が異常検出用データの値に対してどの程度寄与しているかを計算することが可能な定義式を、監視診断部３３へ提供することができる。
【００５６】
なお、寄与量定義部３２３は、監視診断部３３で供給されるプロセスデータに基づいて算出される異常検出用データが入力されると、どのプロセス変数が異常の要因となる可能性が高いかを順位付けして出力できるような仕組みを有していれば、どのような仕組みであっても構わない。
【００５７】
以上のように、モデル構築部３２は、月又は季節等のクラス、及び日常パターンデータを作成する際の定義それぞれについて、（１）〜（７）式を定義することで、オンラインのプロセスデータの日常パターンデータからの乖離度を評価するための複数の異常診断モデルを構築する。
【００５８】
監視診断部３３は、抽出部３３１、異常レベル判定部３３２、要因分離部３３３及び異常識別部３３４を備える。監視診断部３３は、抽出部３３１により、オンラインのプロセスデータにおける非日常データパターンデータを抽出する。また、監視診断部３３は、異常レベル判定部３３２により、抽出した非日常データパターンに基づいて算出する異常検出用データを用い、発生した異常の異常レベルを判定する。また、監視診断部３３は、要因分離部３３３により、発生した異常に対する各プロセス変数の寄与量を算出する。また、監視診断部３３は、異常識別部３３４により、算出した寄与量に基づき、発生した異常が作量センサ及びプロセスセンサの異常によるものか、又は、プロセスの異常によるものなのかを識別する。
【００５９】
抽出部３３１は、分類部３１で各クラスに分類されたオンラインのプロセスデータを受け取る。抽出部３３１は、受け取ったプロセスデータのクラスに係る日常パターンデータをモデル構築部３２に対して要求する。抽出部３３１は、要求に応じて識別部３２１から提供される日常パターンデータと、分類部３１から供給されるプロセスデータとの差分を取ることで、プロセスデータにおける非日常パターンデータを抽出する。
【００６０】
異常レベル判定部３３２は、抽出部３３１で抽出された非日常パターンデータを、異常検出用データ定義部３２２で定義されたｌ×ｍ個の（２）式及び（３）式に代入し、Ｑ統計量及びＴ２統計量を算出する。
【００６１】
異常レベル判定部３３２は、複数の異常診断モデルについて算出されたＱ統計量及びＴ２統計量が、それぞれの異常診断モデルにおいて（４）式及び（５）式に基づいて算出されるしきい値を超えるか否かを判断する。複数の異常診断モデルは、オンラインのプロセスデータの異常レベルを評価するのに適した異常診断モデルであり、予め設定される。これらの異常診断モデルは、例えば、同一種類のクラスのうち、隣接するクラスに属し、同一の定義の日常パターンデータに基づいて作成される。なお、オンラインのプロセスデータが取得される状況は、複数の異常診断モデルのうちいずれかの異常診断モデルと同一のクラスに属するものとする。
【００６２】
異常レベル判定部３３２は、Ｑ統計量及びＴ２統計量としきい値との比較結果に基づき、オンラインのプロセスデータで異常が発生したか否かを示す異常レベルを決定する。例えば、異常レベル判定部３３２は、プロセスデータと最も適合性の高い異常診断モデルについて算出したＱ統計量及びＴ２統計量が、この異常診断モデルについて算出されるしきい値を超えるか否かをまず判断する。異常診断モデル間の適合度は予め定義されており、最も適合性の高い異常診断モデルとは、例えば、プロセスデータと同一クラスに属する異常診断モデルをいう。Ｑ統計量及びＴ２統計量がしきい値未満となる場合、異常レベル判定部３３２は、プロセスデータが正常であり、異常レベルは０％であると判定する。なお、ここでは異常レベルの値をパーセントで評価したが、パーセントでの評価に限定される訳ではない。
【００６３】
Ｑ統計量及びＴ２統計量がしきい値を超える場合、異常レベル判定部３３２は、プロセスデータが異常であると判断し、Ｖ％をプロセスデータに対して設定する。なお、Ｖ％は、異常レベルを評価可能な任意の数値である。次に、異常レベル判定部３３２は、プロセスデータと次に適合性が高い異常診断モデルについて算出されるＱ統計量及びＴ２統計量が、この異常診断モデルについて算出されるしきい値を超えるか否かを判断する。次に適合性が高い異常診断モデルとは、例えば、プロセスデータが属するクラスと隣接するクラスの異常診断モデルをいう。Ｑ統計量及びＴ２統計量がしきい値未満となる場合、異常レベル判定部３３２は、設定されているＶ％を異常レベルと判定する。Ｑ統計量及びＴ２統計量がしきい値を超える場合、異常レベル判定部３３２は、プロセスデータが異常であると判断し、設定されているＶ％を増加させＶ’％とする。
【００６４】
異常レベル判定部３３２は、Ｑ統計量及びＴ２統計量がしきい値を超える場合、Ｑ統計量及びＴ２統計量がしきい値未満となるまで、異常診断モデルを切り替えて、Ｑ統計量及びＴ２統計量としきい値との比較を繰り返す。また、異常レベル判定部３３２は、Ｑ統計量及びＴ２統計量としきい値との比較を、予め設定された複数の異常診断モデルすべてについて実施しても、Ｑ統計量及びＴ２統計量がしきい値を超える場合、プロセスデータは１００％異常であると判定する。
【００６５】
要因分離部３３３は、異常レベル判定部３３２で判定された異常レベルが０%でない場合、すなわち、プロセスデータが異常である場合、異常レベル判定部３３２で算出したＱ統計量及びＴ２統計量に対する寄与量を、（６）式及び（７）式を用いて算出する。このとき、要因分離部３３３は、オンラインのプロセスデータと最も適合性の高い異常診断モデルについての定義式を用いる。要因分離部３３３は、算出した寄与量に基づいて寄与量プロットを作成し、作成した寄与量プロットをユーザインタフェース４０に表示する。これにより、ユーザインタフェース４０のユーザは、異常が発生した要因となるプロセス変数を推定することが可能となる。
【００６６】
異常識別部３３４は、要因分離部３３３で異常の要因と推定したプロセス変数に基づき、異常の種類が操作量センサ及びプロセスセンサの異常によるものか、又は、プロセスの異常によるものなのかを識別する。異常識別部３３４は、識別結果をユーザインタフェース４０へ表示する。
【００６７】
例えば、寄与量プロットにおいて、ある一つのプロセス変数のデータだけが突出した異常値を示している場合、センサの異常である可能性が高い。特に、複数のプロセス計測情報に相関がある環境において、一つのプロセス変数のデータが検出した異常値を示している場合には、センサ異常である可能性が極めて高い。そこで、異常識別部３３４は、ある一つのプロセス変数のデータだけが突出した異常値を示している場合には、センサ異常であると推定する。
【００６８】
逆に、複数のプロセス変数の寄与量が異常値を示している場合には、プロセスの異常である可能性が高い。そこで、異常識別部３３４は、複数のプロセス変数の寄与量が異常値を示している場合には、プロセス異常であると推定する。ただし、プロセス異常の状態であってもあるセンサが故障している状態がある。このような場合であっても、故障しているプロセス変数の寄与量が相対的に極端な異常値を示している場合が多いため、センサ異常とプロセス異常を識別することは可能である場合が多い。
【００６９】
このような識別を定量的に行う方法としては、以下の様な方法が考えられる。
【００７０】
各プロセス変数の寄与量からなるデータを一つのデータセットとみなし、このデータに対する異常診断を行う。寄与量プロットで異常要因を推定する際は、既に異常が検出されているため、この中に何らかの異常データが混入していることは前提としなければならない。寄与量データセットに対して、通常の平均又は分散（標準偏差）で異常を計算することができないため、平均及び分散に替わるロバストな推定法を利用する。例えば、平均の代わりに、メジアン及び刈り込み平均を用いることができる。また、標準偏差の代わりに、メジアン絶対偏差（ＭＡＤ）及び刈り込みを行った標準偏差を利用することができる。メジアンとメジアン絶対偏差を用いた場合、あるプロセス変数の寄与量Ｘを用いて
Ｋ＝（Ｘ−メジアン）／メジアン絶対偏差
を計算し、このＫの値に例えば５〜１０程度のしきい値Ｋｍａｘを設定する。Ｋの値がこのＫｍａｘを超えるプロセス変数が１個だけ抽出される場合、センサ異常であると判断し、１個も抽出されないか、又は、複数個抽出される場合にはプロセス異常であると判断する。
【００７１】
また、その他の方法として、次の様な方法を採用しても良い。寄与量と統計量の間には、各プロセス変数の寄与量の総和が統計量に一致するという性質を持つ。すなわち、（６）式を各プロセス変数について総和をとると（２）式となり、又は、（７）式を各プロセス変数について総和をとると（３）式となる。）。この性質を利用して、異常が検出された時刻における統計量（（２）式又は（３）式）に対する、最大の異常要因候補の寄与量の割合が、所定の閾値を超えた場合にセンサ異常と判断する方法を採用することができる。例えば、閾値として０．７５（７５％）を設定し、異常検出時ｔの最大異常要因候補の寄与量（（６）式又は（７）式）÷異常検出時ｔの統計量（（２）式又は（３）式）の値が閾値０．７５を超えた場合、異常識別部３３４は、センサ異常と判断する。
【００７２】
プロセス変数の中に同一種類のセンサの計測情報が複数含まれている場合には、この識別の精度をさらに向上させることができる。例えば、それぞれ異なる原理のＤＯセンサ１２１１が複数設置されている場合には、若干場所が異なるが流れる方向の異なる位置で複数のＤＯセンサ１２１１が設置されている場合等が想定される。ここで、あるＤＯセンサの計測値のみの寄与量が著しく高く、それ以外のＤＯセンサの寄与量が高くない場合、寄与量の高いＤＯセンサが故障していることが強く疑われる。このような場合には、センサ異常であることが判断できる。
【００７３】
また、一度センサ異常が判断されると、異常と判断されたセンサはメンテナンスされて正常に戻るまでは、常に異常を検出し続ける。そのため、監視システムは、センサが正常に戻った後に異常診断を継続することが困難になる。これに対応するため、異常識別部３３４は、異常が判断されたセンサにより計測されるプロセスデータに対して、このセンサの修復完了を通知するまで、識別部３２１で定義した日常パターンデータにおける対象センサの対象時刻のデータを入力する。又は、異常識別部３３４は、直近の過去の同一時刻同一曜日のデータを数サンプル探索し、取得したサンプルのメジアン等を、異常が判断されたセンサにより計測されるプロセスデータに対して入力する。これにより、異常識別部３３４は、センサ故障が診断された後も異常診断を継続することが可能になる。また、異常識別部３３４は、複数のセンサが故障した場合にも同時刻に故障しない限りは、センサ故障とプロセス異常を識別することが可能になる。
【００７４】
次に、以上のように構成されたプロセス監視診断装置３０の動作を具体的に説明する。
【００７５】
まず、モデル構築部３２が異常診断モデルを構築する場合を説明する。以下の説明では、分類部３１における属性判断部３１２が、データ収集・保存部２０から供給される時系列データを６月のデータとして分類する場合を例に説明する。図２は、６月のデータが分類された時系列データの例を示す図である。図２によれば、分類後の時系列データは、1時間単位のデータが複数の日時に亘って含まれる。例えば、時刻０：００のデータは、Ｘ０＝[５  ４  ６  ６  ３  ５  １１１  ７]というデータセットから構成される。
【００７６】
識別部３２１は、図２に示す時系列データに基づいて日単位の日常パターンデータを作成する。例えば、時刻０：００の代表値を算出する場合、Ｘ０＝[５  ４  ６  ６  ３  ５  １１１  ７]から、時刻０：００における代表値はおおよそ５，６付近の値になっていると予測される。代表値を計算する最も単純な方法である平均をＸ０に対してとると、Ｘ０の平均値は１８．３７５となる。この値は、予測した代表値とは大きく異なる。これは、８番目のデータが異常値であると考えられるためである。そこで、このような単純な平均化操作ではなく、メジアンを計算すると５．５となり、予測した代表値に近付く。また、例えば、Ｘ０のモード値を計算すると６となり、この値も予測した代表値に近付く。また、トリム平均（刈り込み平均）で最大値と最小値を落として平均をとると５．５となり、この値も予測した代表値に近付く。識別部３２１は、各時刻において上記のように代表値を計算することで、６月の日常パターンデータを作成する。
【００７７】
識別部３２１は、日常パターンデータを作成する際に用いられた計測値が、作成した日常パターンデータからどれくらい乖離しているかを算出することで、非日常パターンデータを作成する。例えば、日常パターンデータにおける代表値をメジアンで計算した場合、Ｘ０＝[５  ４  ６  ６  ３  ５  １１１  ７]における１番目のデータの日常パターンデータからの乖離は５−５．５＝−０．５であり、７番目のデータの日常パターンデータからの乖離は１１１−５．５＝１０５．５である。
【００７８】
異常検出用データ定義部３２２は、識別部３２１で作成した非日常パターンデータを参照し、（２）式に示すＱ統計量の定義式と、（３）式に示すＴ２統計量の定義式とを作成する。また、異常検出用データ定義部３２２は、（４）式に基づいてＱ統計量に関する統計的信頼限界値を算出し、（５）式に基づいてＴ２統計量に関する統計的信頼限界値を算出する。
【００７９】
寄与量定義部３２３は、（２）式及び（３）式で定義されたＱ統計量及びＴ２統計量に対する、操作量センサ及びプロセスセンサにより計測されるプロセス変数の寄与量の定義式を（６）式及び（７）式に示すように設定する。
【００８０】
以上では、モデル構築部３２が６月の日常パターンデータに基づき、６月の異常診断モデルを構築する場合を説明したが、モデル構築部３２は、オンラインのプロセスデータの異常レベルを評価するため、１月から１２月の月毎の異常診断モデルを構築する場合を想定する。すなわち、モデル構築部３２は、１月から１２月の月毎の日常パターンデータを作成し、これらの日常パターンデータに基づいた（２）〜（５）式の定義式を作成する。
【００８１】
続いて、監視診断部３３がオンラインのプロセスデータを診断する場合を説明する。図３は、監視診断部３３がプロセスデータの異常レベルを判定する際のフローチャートを示す図である。なお、以下の説明では、データ収集・保存部２０から供給されるプロセスデータが６月ｘｘ日の時刻０：００に収集されたものであり、属性判断部３１２により、６月に分類される場合を例に説明する。
【００８２】
抽出部３３１は、分類部３１で分類されたプロセスデータが、識別部３２１で作成された６月の日常パターンデータからどれくらい乖離しているかを算出することで、非日常パターンデータを作成する（ステップＳ３１）。例えば、収集したプロセスデータの値が８であり、識別部３２１がメジアンを用いて日常パターンデータを作成した場合、非日常パターンデータの値は８−５．５＝２．５と計算される。
【００８３】
異常レベル判定部３３２は、ステップＳ３１で作成された非日常パターンデータを、６月の異常診断モデルについて定義される（２）式及び（３）式に代入し、Ｑ統計量及びＴ２統計量を算出する。異常レベル判定部３３２は、ステップＳ３１で作成された非日常パターンデータを、６月の異常診断モデルについて定義される（４）式及び（５）式に代入し、Ｑ統計量のしきい値及びＴ２統計量のしきい値を算出する（ステップＳ３２）。異常レベル判定部３３２は、ステップＳ３２で算出したＱ統計量及びＴ２統計量と、ステップＳ３２で算出したＱ統計量のしきい値及びＴ２統計量のしきい値とを比較し（ステップＳ３３）、Ｑ統計量及びＴ２統計量がしきい値未満となるか否かを判断する（ステップＳ３４）。Ｑ統計量及びＴ２統計量がしきい値未満である場合（ステップＳ３４のＹｅｓ）、異常レベル判定部３３２は、異常レベルが０％、つまりプロセスデータは正常であると判定し（ステップＳ３５）、処理を終了する。
【００８４】
Ｑ統計量及びＴ２統計量がしきい値を超える場合（ステップＳ３４のＮｏ）、異常レベル判定部３３２は、比較対象としている異常診断モデルが、予め設定した複数の異常診断モデルのうち最後の異常診断モデルであるか否かを判断する（ステップＳ３６）。なお、プロセスデータの属するクラスが６月であるため、ここでの最後の異常診断モデルは１２月の異常診断モデルとなる。ステップＳ３４において比較対象となった異常診断モデルは、６月の異常診断モデルであるため（ステップＳ３６のＮｏ）、異常レベル判定部３３２は、異常レベルを暫定的に１０％とする（ステップＳ３７）。
【００８５】
続いて、監視診断部３３は、６月の異常診断モデルとクラスが隣接する５月の異常診断モデルと、７月の異常診断モデルとに基づいてプロセスデータの診断をする。すなわち、抽出部３３１は、比較対象となる異常診断モデルを６月から、５月及び７月にインクリメントする（ステップＳ３８）。抽出部３３１は、分類部３１で分類されたプロセスデータが、識別部３２１で作成された５月及び７月の日常パターンデータからどれくらい乖離しているかを算出することで、５月及び７月の非日常パターンデータを作成する（ステップＳ３９）。
【００８６】
異常レベル判定部３３２は、ステップＳ３９で作成された５月及び７月の非日常パターンデータを、５月及び７月の異常診断モデルについて定義される（２）式及び（３）式へそれぞれ代入し、５月及び７月のＱ統計量及びＴ２統計量を算出する（ステップＳ３１０）。異常レベル判定部３３２は、ステップＳ３１０で算出したＱ統計量及びＴ２統計量と、５月及び７月の異常診断モデルにおいて異常検出用データ定義部３２２で算出されたしきい値とを比較し（ステップＳ３１１）、処理をステップＳ３４へ移行する。５月又は７月の異常診断モデルについてのＱ統計量及びＴ２統計量がしきい値未満である場合（ステップＳ３４のＹｅｓ）、異常レベル判定部３３２は、プロセスデータが５月又は７月の異常診断モデルに適合したと判断し、異常レベルを暫定的に設定されている１０％であると判定し（ステップＳ３５）、処理を終了する。５月及び７月の異常診断モデル両方についてのＱ統計量及びＴ２統計量がしきい値を超える場合（ステップＳ３４のＮｏ）、異常レベル判定部３３２は、比較対象としている異常診断モデルが、１２月の異常診断モデルであるか否かを判断する（ステップＳ３６）。ステップＳ３４において比較対象となった異常診断モデルは、５月及び７月の異常診断モデルであるため（ステップＳ３６のＮｏ）、異常レベル判定部３３２は、異常レベルを暫定的に３０％とする（ステップＳ３７）。
【００８７】
続いて、監視診断部３３は、５月の異常診断モデルとクラスが隣接する４月の異常診断モデルと、７月の異常診断モデルとクラスが隣接する８月の異常診断モデルとに基づいてプロセスデータの診断をする。監視診断部３３は、ステップＳ３８〜ステップＳ３９を実施し、ステップＳ３４において、４月又は８月の異常診断モデルについてのＱ統計量及びＴ２統計量がしきい値未満である場合（ステップＳ３４のＹｅｓ）、異常レベル判定部３３２は、プロセスデータが４月又は８月の異常診断モデルに適合したと判断し、異常レベルを暫定的に設定されている３０％であると判定し（ステップＳ３５）、処理を終了する。４月及び８月の異常診断モデル両方についてのＱ統計量及びＴ２統計量がしきい値を超える場合（ステップＳ３４のＮｏ）、異常レベル判定部３３２は、比較対象としている異常診断モデルが、１２月の異常診断モデルであるか否かを判断する（ステップＳ３６）。ステップＳ３４において比較対象となった異常診断モデルは、４月及び８月の異常診断モデルであるため（ステップＳ３６のＮｏ）、異常レベル判定部３３２は、異常レベルを暫定的に５０％とする（ステップＳ３７）。
【００８８】
異常レベル判定部３３２は、ステップＳ３４〜ステップＳ３１１の処理を繰り返す。ステップＳ３４において１２月の異常診断モデルについてのＱ統計量及びＴ２統計量がしきい値を超える場合（ステップＳ３４のＮｏ、及び、ステップＳ３６のＹｅｓ）、異常レベル判定部３３２は、異常レベルを１００％に設定し（ステップＳ３１２）、処理をステップＳ３５へ移行する。
【００８９】
図４は、異常レベル判定部３３２による異常レベルの判定結果を示す図である。図４の横軸は、診断対象となるプロセスデータのクラスを意味する。本説明では、６月ｘｘ日の時刻０：００に収集されたプロセスデータを診断対象としているため、図４中の斜線で示した列のデータに着目する。図４の縦軸は、各月の異常診断モデルを意味する。各表に記載されている数値は、縦軸で示すモデルに適合しなかった場合の異常レベルを示す。判定結果は、ユーザインタフェース４０へ出力される。
【００９０】
なお、図３及び図４では、プロセスデータが１月〜１２月の全ての異常診断モデルに適合しなかった場合、監視診断部３３は、プロセスデータの異常レベルを１００％と判定する場合を例に示したが、いくつかの異常診断モデルに適合しなければ異常レベルを１００％とする様に設定することももちろん可能である。
【００９１】
続いて、監視診断部３３が異常の種類がセンサ異常によるものか、又は、プロセス異常によるものかを識別する場合を説明する。
【００９２】
要因分離部３３３は、６月ｘｘ日の時刻０：００に収集されたプロセスデータが供給された場合、６月の異常診断モデルに対する寄与量を（６）式及び（７）式を用いて算出する。図５及び図６は、要因分離部３３３により算出される寄与量に基づいて作成される寄与量プロットである。図５及び図６の横軸はＭＳＰCに入力するプロセス変数であり、縦軸はＱ統計量又はＴ２統計量に対する寄与量である。
【００９３】
異常識別部３３４は、図５に示すように、ある一つのプロセス変数の寄与量だけがしきい値Ｋｍａｘを超える場合、センサ異常であると推定する。また、異常識別部３３４は、図６に示すように、複数のプロセス変数の寄与量がしきい値Ｋｍａｘを超える場合、プロセス異常であると推定する。
【００９４】
以上のように、本実施形態に係る識別部３２１は、過去の時系列データからロバストに推定される代表値を用いて複数種類の日常パターンデータを作成する。識別部３２１は、作成した複数種類の日常パターンデータに基づいて複数種類の非日常パターンデータを作成する。異常検出用データ定義部３２２は、作成した複数種類の非日常パターンデータに基づいて複数の異常診断モデルを作成する。抽出部３３１は、分類部３１から供給されるプロセスデータの、日常パターンデータに対する乖離度を算出することで診断用の非日常パターンデータを作成する。異常レベル判定部３３２は、診断用の非日常パターンデータを、モデル構築部３２で構築された複数の異常診断モデルに適用することで異常検出用データを作成する。異常レベル判定部３３２は、作成した異常検出用データが異常値を示すか否かを複数の異常診断モデル毎に判断することで、プロセスデータの異常レベルを決定するようにしている。これにより、プロセス監視診断装置３０は、単に異常か正常かの２値的な判断だけでなく、異常の程度を提供することが可能となる。従来のＭＳＰＣによる監視システムでは、異常兆候の検出と要因変数の分離だけしか行えないのに対し、本実施形態に係るプロセス監視診断装置３０によれば、ほとんどエンジニアリングを発生させることなく、プラントの異常状態の詳細レベルの情報を機械的に提供することが可能となる。
【００９５】
また、本実施形態に係る識別部３２１は、受け取った時系列データの同一時刻における計測値に基づき、各時刻において、トリム平均値、メジアン、モード値等を用いてロバストに代表値を算出する。そして、識別部３２１は、代表値を利用して日常パターンデータを作成すると共に、作成した日常パターンデータに基づいて非日常パターンデータを作成するようにしている。このように、識別部３２１は、時系列データに対して比較的簡単な統計処理を施すことにより、自動的に日常パターンと非日常パターンとを識別することが可能となる。このため、監視システムのユーザは、異常診断において、日常パターンデータからの逸脱による異常値であるか、突発的な異常値であるかの識別を容易にすることが可能となる。
【００９６】
また、本実施形態に係る識別部３２１は、代表値を算出して日常パターンデータを作成する処理を継続的に行うことで、日常パターンデータの緩やかな変化を自動的に学習することが可能となる。これにより、プロセス監視診断装置のメンテナンスを容易にすることが可能となる。
【００９７】
また、本実施形態に係る識別部３２１は、代表値計算において、トリム平均、メジアン、又はさらに高度なロバスト統計の各手法ＨＬ推定、ＭＣＤ、ブーストラップ法又はサブサンプリング法等を利用することにより、異常値が多量に含まれている場合でもロバストに日常パターンを合成することが可能になる。
【００９８】
また、本実施形態に係る寄与量定義部３２３は、複数の異常診断モデルに含まれる複数のプロセス変数毎の異常に対する寄与量を定義する。要因分離部３３３は、診断用の非日常パターンデータを寄与量の定義式へ入力することで、複数のプロセス変数毎の異常に対する寄与量を算出するようにしている。これにより、プロセス監視診断装置３０は、異常が発生した要因を推定するための情報を提供することが可能となる。
【００９９】
また、本実施形態に係る異常識別部３３４は、要因分離部３３３で算出された寄与量のうち、しきい値を超える寄与量が複数ある場合、プロセス異常であると推定し、しきい値を超える寄与量が１つである場合、センサ異常であると推定するようにしている。これにより、プロセス監視診断装置３０は、異常の要因がプロセス異常であるか、センサ異常であるかを推定するための情報を提供することが可能となる。特に、プラントで同一種類のセンサが設置されている冗長系の場合には、センサ異常とプロセス異常とをさらに正確に識別することが可能となる。このため、異常識別部３３４は、センサ故障とプロセス異常とを明確に識別することが可能となり、センサ故障の場合には、センサのメンテナンス及び／又はセンサの取り換え等の対応を促し、プロセス異常の場合には、プロセスの異常状態に迅速に対応することが可能になる。
【０１００】
したがって、本実施形態に係るプロセス監視診断装置３０によれば、プラント管理者及び／又は運転員へ、異常時にどのようなアクションを起こせば良いかの判断の指針を与えることができる。これにより、監視システムのユーザは、異常時のアクションをとりやすくなる。
【０１０１】
なお、本実施形態に係る異常診断の一連の動作は、監視システムにおけるプロセス監視診断装置３０の中で実現することを想定しているが、これに限定される訳ではない。例えば、プロセス監視診断装置３０の機能、すなわち、分類部３１、モデル構築部３２及び監視診断部３３の機能をクラウドサーバ上に実現し、異常レベル判定、異常要因推定、及び、センサ・プロセス異常識別の情報を遠隔で必要なユーザへ提供するようにしても構わない。
【０１０２】
例えば、監視診断部３３は、プラントで計測している操作量センサ１１１２〜１１５２と、プロセスセンサ１２１〜１２２１２とを供給するセンサメーカのオフィス、又は、センサメーカのメンテナンス要員の携帯端末へ、異常レベル判定、異常要因推定、及び、センサ・プロセス異常識別の情報を提供する。そして、センサメーカが、異常レベル判定、異常要因推定、及び、センサ・プロセス異常識別の情報に基づき、センサのメンテナンスの要否を判断することにより、メンテナンス効率の向上を図ることが可能となる。
【０１０３】
また、クラウドサーバ上に実現される監視診断部３３が、異常レベル判定、異常要因推定、及び、センサ・プロセス異常識別の情報を、遠隔にいるプラントオペレータの携帯端末へ送信するようにすれば、センサ故障ではないプロセスでの何らかの異常が認められた場合、プラントオペレータは、異常に対して早急に対処することが可能になる。このように、クラウド等の形態を利用することにより、複数のユーザへ遠隔で情報を提供することが可能となる。
【０１０４】
（第２の実施形態）  
図７は、第２の実施形態に係るプロセス監視診断装置５０の機能構成の例を示すブロック図である。図７に示すプロセス監視診断装置５０は、分類部３１、異常監視診断部３３、モデル構築部５１及び正常データ登録部５２を具備する。なお、図７において図１と共通する部分には同じ符号を付している。
【０１０５】
正常データ登録部５２は、分類部３１で各クラスに分類された時系列データを受け取る。正常データ登録部５２は、受け取った時系列データを登録し、モデル構築部５１からの要求に従い、登録している時系列データをモデル構築部５１へ出力する。
【０１０６】
また、正常データ登録部５２は、異常レベル判定部３３２による判定結果において、異常レベルが０％と判定された場合、つまり、診断対象であるデータセットが正常であると判定された場合、そのデータセットの中には異常なデータが含まれていないと考えられるため、そのデータセットを登録する。
【０１０７】
正常なデータの登録方法としては、任意の方法を用いて良い。例えば、正常データ登録部５２は、行方向にプロセス変数を有し、列方向に時間（診断周期）を有する行列（表）を準備する。そして、診断対象のデータセットが正常と判断された場合、正常データ登録部５２は、データセットを準備した行列へ書き込む。また、異常レベルが０％でないと判断された場合、正常データ登録部５２は、データセットではなく、例えば、−９９９９９を行列へ書きこむ。図８に、正常データ登録部５２に記録される行列の例を示す。−９９９９９以外のデータは、登録済みの正常データである。そして、登録された正常データは、予め指定した所定の周期で、○月○日に起動する等の予め設定した条件のトリガが与えられた場合に、又は、ユーザがコールした場合に、モデル構築部５１へ出力される。
【０１０８】
モデル構築部５１は、識別部５１１、異常検出用データ定義部５１２及び寄与量定義部５１３を備える。
【０１０９】
識別部５１１は、正常データ登録部５２から正常データを読み込み、異常検出用データを定義する行列＜Ｘ＞に読み込んだ正常データを追加する。または、識別部５１１は、行列＜Ｘ＞の中の古い時刻の情報を廃棄し、その代わりに正常データを取り込む。
【０１１０】
異常検出用データ定義部５１２は、行列＜Ｘ＞を用いて（１）式〜（５）式を更新し、異常検出用データを再定義する。
【０１１１】
寄与量定義部５１３は、行列＜Ｘ＞を用いて（６）式〜（７）式を更新し、寄与量を再定義する。
【０１１２】
なお、識別部５１１は、必要に応じて正常データを用いて、日常パターンデータを更新しても良い。ただし、パターン識別装置は、もともと過去の時系列データの中からロバスト推定の各種手法を用いてパターンを生成しているので、この正常データを使わずに、所定の周期で更新し続けていても良い。
【０１１３】
以上のように、第２の実施形態に係る正常データ登録部５２は、異常レベル判定部３３２でプロセスデータが正常であると判定された場合、正常なデータを登録する。そして、モデル構築部５１は、登録されたデータにより、異常診断モデルを更新するようにしている。これにより、プロセス監視診断装置５０は、異常診断の結果から正常データのみを抽出しながら異常診断モデルを自動更新することが可能となる。
【０１１４】
異常診断モデルの更新は適応型ＭＳＰＣ等、既に知られている方法もあるが、適応型ＭＳＰＣでは、所定の周期で異常診断モデルを自動的に更新していき、データの正常・異常の判断を行っていない。そのため、異常データが含まれる場合、異常診断モデルが異常データに適応することになり、診断精度が劣化してしまう場合がある。第２の実施形態に係るプロセス監視診断装置５０では、初期の異常診断モデルで正常と判断されたデータのみを抽出して、異常診断モデルを更新していくため、異常診断の性能を自動的に向上させながら、緩やかに変化するプラントの特性に適合していくことが可能になる。そのため、診断システムの実現においてボトルネックとなる異常診断モデルのメンテナンスが不要になる。
【０１１５】
なお、本実施形態に係る異常診断の一連の動作は、監視システムにおけるプロセス監視診断装置５０の中で実現することを想定しているが、これに限定される訳ではない。例えば、プロセス監視診断装置５０の機能、すなわち、分類部３１、モデル構築部５１、監視診断部３３及び正常データ登録部５２の機能をクラウドサーバ上に実現し、異常レベル判定、異常要因推定、及び、センサ・プロセス異常識別の情報を遠隔で必要なユーザへ提供するようにしても構わない。
【０１１６】
また、プロセス監視診断装置３０，５０で実行されるプログラムであるプロセス監視診断プログラムは、コンピュータにより読み取り可能な記録媒体に記録されるようにしても構わない。
【０１１７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１１８】
１０…下水高度処理プロセス、１０１…最初沈殿池、１０２…嫌気槽、１０３…無酸素槽、１０４…好気槽、１０５…最終沈殿池、１１１１…引抜ポンプ、１１１２…引抜流量センサ、１１２１…ブロワ、１１２２…供給空気流量センサ、１１３１…循環ポンプ、１１３２…循環流量センサ、１１４１…返送汚泥ポンプ、１１４２…返送流量センサ、１１５１…引抜ポンプ、１１５２…引抜流量センサ、１２１…雨量センサ、１２２…下水流入量センサ、１２３…流入ＴＮセンサ、１２４…流入ＴＰセンサ、１２５１…流入ＵＶセンサ、１２５２…流入ＣＯＤセンサ、１２６…嫌気槽ＯＲＰセンサ、１２７…嫌気槽ｐＨセンサ、１２８…無酸素槽ＯＲＰセンサ、１２９…無酸素槽ｐＨセンサ、１２１０…リン酸センサ、１２１１…ＤＯセンサ、１２１２…アンモニアセンサ、１２１３…ＭＬＳＳセンサ、１２１４…水温センサ、１２１５…余剰汚泥ＳＳセンサ、１２１６…放流ＳＳセンサ、１２１７…汚泥界面センサ、１２１８…下水放流量センサ、１２１９…放流ＴＮセンサ、１２２０…放流ＴＰセンサ、１２２１１…放流ＵＶセンサ、１２２１２…放流ＣＯＤセンサ、２０…データ収集・保存部、３０，５０…プロセス監視診断装置、３１…分類部、３１１…属性供給部、３１２…属性判断部、３２，５１…モデル構築部、３２１，５１１…識別部、３２２，５１２…異常検出用データ定義部、３２３，５１３…寄与量定義部、３３…監視診断部、３３１…抽出部、３３２…異常レベル判定部、３３３…要因分離部、３３４…異常識別部、４０…ユーザインタフェース、５２…正常データ登録部
【図１】
2014096050.tif 000010
【図２】
2014096050.tif 000011
【図３】
2014096050.tif 000012
【図４】
2014096050.tif 000013
【図５】
2014096050.tif 000014
【図６】
2014096050.tif 000015
【図７】
2014096050.tif 000016
【図８】
2014096050.tif 000017