特許第6606003号(P6606003)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

特許6606003プロセス診断装置、プロセス診断方法及びコンピュータプログラム
<>
  • 特許6606003-プロセス診断装置、プロセス診断方法及びコンピュータプログラム 図000031
  • 特許6606003-プロセス診断装置、プロセス診断方法及びコンピュータプログラム 図000032
  • 特許6606003-プロセス診断装置、プロセス診断方法及びコンピュータプログラム 図000033
  • 特許6606003-プロセス診断装置、プロセス診断方法及びコンピュータプログラム 図000034
  • 特許6606003-プロセス診断装置、プロセス診断方法及びコンピュータプログラム 図000035
  • 特許6606003-プロセス診断装置、プロセス診断方法及びコンピュータプログラム 図000036
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6606003
(24)【登録日】2019年10月25日
(45)【発行日】2019年11月13日
(54)【発明の名称】プロセス診断装置、プロセス診断方法及びコンピュータプログラム
(51)【国際特許分類】
   G05B 23/02 20060101AFI20191031BHJP
【FI】
   G05B23/02 302Z
【請求項の数】9
【全頁数】27
(21)【出願番号】特願2016-73740(P2016-73740)
(22)【出願日】2016年3月31日
(65)【公開番号】特開2017-187820(P2017-187820A)
(43)【公開日】2017年10月12日
【審査請求日】2018年3月14日
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】特許業務法人 志賀国際特許事務所
(72)【発明者】
【氏名】山中 理
(72)【発明者】
【氏名】難波 諒
(72)【発明者】
【氏名】平岡 由紀夫
【審査官】 大古 健一
(56)【参考文献】
【文献】 特開2013−61695(JP,A)
【文献】 特開2015−162140(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/00 − 23/02
(57)【特許請求の範囲】
【請求項1】
診断対象のプロセスの状態を示す種々の時系列データの多変量解析によって構築される異常診断モデルに基づいて、前記プロセスの異常を所定の診断周期で検出するプロセス診断装置であって、
前記時系列データに基づいて前記異常診断モデルを所定の構築周期で構築する異常診断モデル構築部と、
前記プロセスの異常検出に用いられている異常診断モデルであるアクティブモデルと、前記異常診断モデル構築部によって前記アクティブモデルが構築された後に構築された異常診断モデルである適用前モデルとの乖離度を前記構築周期より短い更新周期で算出し、算出された前記乖離度に基づいて前記アクティブモデルの更新要否を判定する更新判定部と、
前記更新判定部の判定結果に応じて、前記適用前モデルで前記アクティブモデルを更新するモデル更新部と、
を備えるプロセス診断装置。
【請求項2】
前記更新判定部は、前記アクティブモデルと、最新の適用前モデルである最新モデルとの乖離度に基づいて前記アクティブモデルの更新要否を判定する、
請求項1に記載のプロセス診断装置。
【請求項3】
前記更新判定部は、前記適用前モデルと前記最新モデルとの乖離度に応じて前記適用前モデルの更新要否を判定するとともに、前記適用前モデルと前記アクティブモデルとの乖離度に基づいて前記アクティブモデルの更新要否を判定し、
前記モデル更新部は、前記更新判定部の判定結果に応じて、前記適用前モデルを前記最新モデルで更新し、前記アクティブモデルを前記適用前モデルで更新する、
請求項2に記載のプロセス診断装置。
【請求項4】
前記異常診断モデルは、所定期間の時系列データの位置母数を含み、
前記構築周期ごとに更新される最新モデルの位置母数と、前記構築周期より短い周期ごとに取得される時系列データの位置母数との乖離度に基づいて、前記プロセスの運用変更等による前記時系列データの急激な変化を検出する運用変更監視部をさらに備える、
請求項1から3のいずれか一項に記載のプロセス診断装置。
【請求項5】
前記運用変更監視部は、前記急激な変化が検出された場合、前記時系列データの位置母数で前記アクティブモデル又は前記適用前モデルの位置母数を更新する、
請求項4に記載のプロセス診断装置。
【請求項6】
前記異常診断モデルは、所定期間の時系列データに基づくQ統計量及びT2統計量を含み、
前記アクティブモデルの更新の前後における前記Q統計量及び前記T2統計量の位置母数の乖離度に基づいて、前記アクティブモデルの妥当性を判定する妥当性判定部をさらに備える、
請求項1から5のいずれか一項に記載のプロセス診断装置。
【請求項7】
前記モデル更新部は、前記妥当性判定部の判定結果に応じて、現在のアクティブモデル及び現在の適用前モデルを、更新前のアクティブモデルである前回モデルで更新する、
請求項6に記載のプロセス診断装置。
【請求項8】
診断対象のプロセスの状態を示す種々の時系列データの多変量解析によって構築される異常診断モデルに基づいて、前記プロセスの異常を所定の診断周期で検出するプロセス診断装置が行うプロセス診断方法であって、
前記時系列データに基づいて前記異常診断モデルを所定の構築周期で構築するモデル構築ステップと、
前記プロセスの異常検出に用いられている異常診断モデルであるアクティブモデルと、前記モデル構築ステップにおいて前記アクティブモデルが構築された後に構築された異常診断モデルである適用前モデルとの乖離度を前記構築周期より短い更新周期で算出し、算出された前記乖離度に基づいて前記アクティブモデルの更新要否を判定する更新判定ステップと、
前記更新判定ステップにおける判定結果に応じて、前記適用前モデルで前記アクティブモデルを更新するモデル更新ステップと、
を有するプロセス診断方法。
【請求項9】
診断対象のプロセスの状態を示す種々の時系列データの多変量解析によって構築される異常診断モデルに基づいて、前記プロセスの異常を所定の診断周期で検出するプロセス診断装置として機能するコンピュータに対して、
前記時系列データに基づいて前記異常診断モデルを所定の構築周期で構築するモデル構築ステップと、
前記プロセスの異常検出に用いられている異常診断モデルであるアクティブモデルと、前記モデル構築ステップにおいて前記アクティブモデルが構築された後に構築された異常診断モデルである適用前モデルとの乖離度を前記構築周期より短い更新周期で算出し、算出された前記乖離度に基づいて前記アクティブモデルの更新要否を判定する更新判定ステップと、
前記更新判定ステップにおける判定結果に応じて、前記適用前モデルで前記アクティブモデルを更新するモデル更新ステップと、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、プロセス診断装置、プロセス診断方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
下水処理プロセス、汚泥消化プロセス、浄水プロセス及び給配水プロセスなどの水処理又は水運用プロセスや、石油化学プロセス、鉄鋼プロセス、あるいは半導体製造プロセスといったプロセス系のプラントでは、複数の観点でプロセスの状態を監視するために種々のセンサが設置されている。プロセス監視装置(SCADA:Supervisory Control And Data Acquisition)は、プロセス系に設置されたセンサ群により取得される計測データ(例えば、流量、温度、水質、操作量などを示すデータであり、以下、「プロセスデータ」という。)を時系列に取得する。プラント管理者やオペレータは、この時系列のプロセスデータを監視することによってプロセスの状態を把握し、プロセスの運転変更や制御を行っている。時系列に取得された各々のプロセスデータには、通常、管理限界と呼ばれる上下限値が設定されており、この管理限界を超えた場合にアラームが発報される。このアラームに基づいてプラント管理者やオペレータはプラント状態を確認するとともに、プラント運用の見直しを行う。この様なアラームの発報に基づく運転管理はプラント運用の基本である。
【0003】
さらに一歩進んだプラントの運転管理では、プラントの所定の性能指標に関する異常兆候を迅速にとらえて早めの対策をとることにより、生産性の向上やリスクの回避を行うことが求められる。ここでいう所定の性能指標とは、例えば、下水処理プロセスにおける放流水質、浄水プロセスにおける配水の水質、石油化学プラントや鉄鋼プラントにおける品質性能(例えば、歩留り)などである。プラント運用では、この性能指標を所望の目標値に保ち、目標値から乖離することがないようにプロセスを制御することが求められる。そのため、プラントの性能指標に関するプロセスの状態を監視し、目標とする性能指標の実現を阻害する様な状態変化や異常を素早く検知し、検知された状態変化や異常に対して迅速な対策をとることが運転管理上の重要なポイントとなる。加えて、目標とする性能指標の実現を制約とした上で省エネや省コストにつながる運用を行うためには、目標性能や省エネ、省コストに関するプロセス状態を常に良好な状態に保ち、良好な状態から逸脱しそうなプロセス状態の変化を素早く検知することも求められる。
【0004】
このようなプロセス状態の変化や異常を診断する方法として、主に石油化学プロセスや鉄鋼プラントの分野で利用されてきた多変量統計解析手法に基づくMSPC(Multi-Variate Statistical Process Control:多変量統計的プロセス管理)と呼ばれる方法が知られている。MSPCの中で最も良く利用される手法として、PCA(Principal Component Analysis:主成分分析)や潜在変数射影法、PLS(Projection to Latent Structure/Partial Least Square:部分最小二乗法)などが知られている。MSPCの主な目的は、PCAやPLSなどの多変量解析手法を用いて、プラントの異常兆候の検出(Fault Detection)と、異常の要因となっているプロセスデータの種別(以下、「プロセス変数」という。)の推定(Fault Isolation)と、を行うことである。異常兆候の検出については、複数のプロセス変数の相関情報を利用することにより、一つのプロセス変数では検出できない軽微な異常の兆候を検出することが可能になる。また、異常要因の推定については、異常検出用データに対する各プロセス変数の寄与度に基づいて推定することが可能である。異常検出用データは、異常の検出に用いられるデータであり、複数のプロセス変数に基づいて取得される。例えば異常検出用データにはQ統計量やHotellingのT統計量などが用いられる。このようなMSPCを用いた監視手法では、従来の個々のプロセス変数の管理限界に基づく単純な監視手法(例えば、生産ライン等の監視手法はMSPCに対比してSPC(Statistical Process Control)と呼ばれる場合がある)と比較して、プラント管理者やオペレータにとってより有用な監視や診断を行うことができる。
【0005】
しかしながら、MSPCを用いたプロセスの診断には、まず、PCAやPLS等の統計手法を用いて異常検出用データ(例えば、Q統計量やT統計量など)を計算するための数式モデル(以下、「異常診断モデル」という。)を通常運用時のプロセスデータに基づいて構築する必要がある。この異常診断モデルは、取得されたプロセスデータを異常と判定するための基準を規定するものである。そのため、異常診断モデルは、プロセスが正常な状態で運用されている状況下(通常運用時)で取得されるプロセスデータを用いて構築されるのが一般的である。しかしながら、プラント運用においては、監視対象のプロセスデータの中にアウトライアと呼ばれる異常データが数多く含まれている場合も多い。そのため、異常診断モデルの構築においては、アウトライアを除去する前処理や、ロバスト統計を用いた、アウトライアの影響を受けにくい異常診断モデルを構築する手法を用いる必要がある。
【0006】
しかしながら、実際のプラント運用では、アウトライアの影響が除去又は低減された異常診断モデルを構築することができたとしても、プラントの通常運用自体を一意的に定義することが難しい場合が多い。それは、実際のプラント運用では、プラントの運用が変更されることは珍しくなく、また、プラントの状態が季節によって変化する場合があるためである。そのため、実際のプラント運用では、どのような運転状態が通常運用であるかを一意的に定義することが本質的に困難な場合が多い。このような場合、適切なタイミングで異常診断モデルが更新されないと、運用変更や季節に応じて変化したプラント状態を適切に診断できなくなる可能性がある。具体的には、異常診断モデルが実際のプラント状態に適さなくなってくると、Q統計量やT統計量が常に異常値を示す様になり、適切な異常診断を継続することができなくなる可能性がある。
【0007】
このような問題を解決する方法として、逐次的又は適応的に異常診断モデルを更新する方法や、JIT(Just in Time)モデリングと呼ばれる方法が研究されている。JITモデリングは、直近のプロセスデータから適切なデータだけを抽出して異常診断モデルを構築する局所的な方法である。逐次的な手法や局所的な手法が有効であるケースも多いが、過度にこのような手法に依存すると、本来異常として検出すべきプロセス状態を正常として誤検出してしまう可能性がある。例えば、センサのドリフトや、プラントの異常状態への緩やかな移行などを適切に検出できなくなる可能性がある。これは、異常検出用データが局所的なプロセスデータに基づいて生成されるためであり、換言すれば、プラントの通常状態が局所的なプロセスデータに基づいて常に更新され続けることに起因する。つまり、プラントの異常状態は、通常状態に対して相対的に定義されるべきものであり、基準となる通常状態を常に更新し続けることは、異常状態の適切な検出を阻害する可能性がある。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2004−303007号公報
【特許文献2】特開平08−241121号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明が解決しようとする課題は、異常診断モデルをより適切なタイミングで更新することができるプロセス診断装置、プロセス診断方法及びコンピュータプログラムを提供することである。
【課題を解決するための手段】
【0010】
実施形態のプロセス診断装置は、診断対象のプロセスの状態を示す種々の時系列データの多変量解析によって構築される異常診断モデルに基づいて、前記プロセスの異常を所定の診断周期で検出するプロセス診断装置である。プロセス診断装置は、異常診断モデル構築部と、更新判定部と、モデル更新部と、を持つ。異常診断モデル構築部は、前記時系列データに基づいて前記異常診断モデルを所定の構築周期で構築する。更新判定部は、前記プロセスの異常検出に用いられている異常診断モデルであるアクティブモデルと、前記異常診断モデル構築部によって前記アクティブモデルが構築された後に構築された異常診断モデルである適用前モデルとの乖離度を前記構築周期より短い更新周期で算出し、算出された前記乖離度に基づいて前記アクティブモデルの更新要否を判定する。モデル更新部は、前記更新判定部の判定結果に応じて、前記適用前モデルで前記アクティブモデルを更新する。
【図面の簡単な説明】
【0011】
図1】第1の実施形態のプロセス診断装置2の構成の概略を示す図。
図2】第1の実施形態のプロセス診断装置2の機能構成の詳細を示すブロック図。
図3】第2の実施形態のプロセス診断装置2aの機能構成の詳細を示すブロック図。
図4】第3の実施形態のプロセス診断装置2bの機能構成の詳細を示すブロック図。
図5】運用変更によるプロセスデータの変化の具体例を示す図。
図6】第4の実施形態のプロセス診断装置2cの機能構成の詳細を示すブロック図。
【発明を実施するための形態】
【0012】
以下、実施形態のプロセス診断装置、プロセス診断方法及びコンピュータプログラムを、図面を参照して説明する。
【0013】
(第1の実施形態)
図1は、第1の実施形態のプロセス診断装置2の構成の概略を示す図である。図1は、プロセス診断装置2の診断対象が下水高度処理プロセス1である具体例を示している。下水高度処理プロセス1は、下水から窒素及びリンを除去することを目的としたプロセスである。下水高度処理プロセス1は、最初沈澱池101、嫌気槽102、無酸素槽103、好気槽104及び最終沈澱池105を有する。処理対象の下水(以下、「被処理水」という。)は、最初沈澱池101、嫌気槽102、無酸素槽103、好気槽104、最終沈澱池105の順に送水され処理される。
【0014】
最初沈澱池101は、下水高度処理プロセス1に送られてくる被処理水の貯水池である。最初沈澱池101では、沈殿により比重の重い固形物が被処理水から分離される。嫌気槽102は、有機物を分解する微生物を被処理水に投入するとともに、微生物の脱リンを行うための水槽である。嫌気槽102において、被処理水は空気が供給されない状態で攪拌される。これにより、微生物に体内のリンを吐き出させる。一般にこの処理をリン吐出という。嫌気槽でのリン吐出と、後述する好気槽でのリンの吸収とにより微生物の体内にリンを蓄積させ、リンを蓄積した微生物を含む汚泥の分離によりリンを除去する一連の課程を脱リンという。無酸素槽103は、被処理水から窒素を除去するための水槽である。具体的には、無酸素槽103では、後段の好気槽104から戻された被処理水が嫌気槽102から送られてきた被処理水に混ぜられ、空気を供給されない状態で攪拌される。無酸素槽103では、微生物の働きにより被処理水中の硝酸が窒素に分解され、大気に放出される。一般にこの処理を脱窒という。
【0015】
好気槽104は、被処理水中の有機物の分解と、リンの除去及びアンモニアの硝化とを行うための水槽である。具体的には、被処理水に空気を供給して微生物を活性化させ、微生物に有機物を分解させるとともに、微生物に被処理水中のリンを吸収させる。脱リン状態の微生物は活性化されることにより脱リンで吐き出した以上のリンを吸収するため、被処理水中のリンが除去される。また、好気槽104では、被処理水に空気が供給されることによりアンモニアが硝酸に分解される。一般にこの処理を硝化という。
【0016】
最終沈殿池105は、リンの除去及びアンモニアの硝化が行われた被処理水の貯水池である。最終沈澱池105では沈殿によって被処理水に残存する固形物が分離され、上澄みの清澄水が処理済みの水として放流される。
【0017】
最初沈澱池余剰汚泥引き抜きポンプ111は、最初沈澱池101から沈殿した汚泥を引き抜いて除去するポンプである。最初沈澱池余剰汚泥引き抜きポンプ111は、引き抜いた汚泥の流量を計測する流量センサを有する。
【0018】
ブロワ112は、好気槽104に酸素を供給する送風機である。ブロワ112は、供給した空気の流量を計測する流量センサを有する。
【0019】
循環ポンプ113は、被処理水を好気槽104から無酸素槽103に返送するポンプである。循環ポンプ113は、返送した被処理水の流量を計測する流量センサを有する。
【0020】
返送汚泥ポンプ114は、最終沈澱池105から沈殿した汚泥の一部を引き抜いて嫌気槽102に返送するポンプである。返送汚泥ポンプ114は、返送した汚泥の流量を計測する流量センサを有する。
【0021】
最終沈澱池余剰汚泥引き抜きポンプ115は、最終沈澱池105から沈殿した汚泥を引き抜いて除去するポンプである。最終沈澱池余剰汚泥引き抜きポンプ115は、引き抜いた汚泥の流量を計測する流量センサを有する。
【0022】
雨量センサ121は、下水高度処理プロセス1に流入する付近の雨量を計測するセンサである。下水流入量センサ122は、下水高度処理プロセス1に流入する下水(以下、「流入下水」という。)の流量を計測するセンサである。流入TNセンサ123は、流入下水に含まれる全窒素量(TN)を計測するセンサである。流入TPセンサ124は、流入下水に含まれる全リン量(TP)を計測するセンサである。流入有機物センサ125は、流入下水に含まれる有機物量を計測するUV(吸光度)センサ又はCOD(化学的酸素要求量)センサである。
【0023】
ORPセンサ126は、嫌気槽102のORP(酸化−還元電位)を計測するセンサである。嫌気槽pHセンサ127は、嫌気槽102のpHを計測するセンサである。無酸素槽ORPセンサ128は、無酸素槽103のORPを計測するセンサである。無酸素槽pHセンサ129は、無酸素槽103のpHを計測するセンサである。リン酸センサ130は、好気槽104のリン酸濃度を計測するセンサである。DOセンサ131は、好気槽104の溶存酸素濃度(DO)を計測するセンサである。アンモニアセンサ132は、好気槽104のアンモニア濃度を計測するセンサである。MLSSセンサ133は、嫌気槽102、無酸素槽103又は好気槽104の少なくとも一箇所で活性汚泥濃度(MLSS)を計測するセンサである。
【0024】
水温センサ134は、無酸素槽103又は好気槽104の少なくとも一箇所で水温を計測するセンサである。余剰汚泥SSセンサ135は、最終沈澱池105から引き抜かれる汚泥の固形物(SS)濃度を計測するセンサである。放流SSセンサ136は、最終沈殿池105から放流される水のSS濃度を計測するセンサである。汚泥界面センサ137は、最終沈殿池105の汚泥界面レベルを計測するセンサである。下水放流量センサ138は、放流水の流量を計測するセンサである。放流TNセンサ139は、放流水に含まれる全窒素量を計測するセンサである。放流TPセンサ140は、放流水に含まれる全リン量を計測するセンサである。放流有機物センサ141は、放流水に含まれる有機物量を計測するUVセンサ又はCODセンサである。
【0025】
なお、上記の最初沈澱池余剰汚泥引き抜きポンプ111、ブロワ112、循環ポンプ113、返送汚泥ポンプ114及び最終沈澱池余剰汚泥引き抜きポンプ115のそれぞれは所定周期の制御で動作する。また、最初沈澱池余剰汚泥引き抜きポンプ111、ブロワ112、循環ポンプ113、返送汚泥ポンプ114及び最終沈澱池余剰汚泥引き抜きポンプ115のそれぞれが有する流量センサを含む上記の各センサは、所定周期でセンシング対象を計測する。以下、最初沈澱池余剰汚泥引き抜きポンプ111、ブロワ112、循環ポンプ113、返送汚泥ポンプ114及び最終沈澱池余剰汚泥引き抜きポンプ115のそれぞれが有する流量センサを総称して操作量センサと称し、その他のセンサを総称してプロセスセンサと称する。各操作量センサ及び各プロセスセンサは、所定周期のセンシングによって得られた計測データをプロセスデータとしてプロセス診断装置2に送信する。
【0026】
プロセス診断装置2は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、診断装置プログラムを実行する。プロセス診断装置2は、診断装置プログラムの実行によってデータ収集部201、収集データ保存部202、データ抽出部203、異常診断モデル構築部204、最新モデルバッファ部205、診断モデル保存部206、アクティブモデルバッファ部207、異常診断部208、診断結果保存部209、異常診断モデル更新部210及び診断結果提供部211を備える装置として機能する。なお、プロセス診断装置2の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。診断装置プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。診断装置プログラムは、電気通信回線を介して送信されてもよい。
【0027】
データ収集部201は、各操作量センサ及び各プロセスセンサからプロセスデータを取得する。データ収集部201は、取得されたプロセスデータを収集データ保存部202に保存する。
収集データ保存部202は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。収集データ保存部202は、データ収集部201によって収集されたプロセスデータを記憶する。
【0028】
データ抽出部203は、収集データ保存部202に保存されたプロセスデータから、異常診断に必要なデータ(以下、「診断用データ」という。)と、異常診断モデルの構築に必要なデータ(以下、「構築用データ」という。)と、を抽出する。具体的には、診断用データは過去の所定期間ごとに抽出されるプロセスデータであり、構築用データは過去の所定期間のプロセスデータがよりリアルタイムに近い周期で抽出されるプロセスデータである。データ抽出部203は、抽出した構築用データを異常診断モデル構築部204に出力し、抽出した診断用データを異常診断部208に出力する。
【0029】
異常診断モデル構築部204は、データ抽出部203から出力された構築用データに基づいて異常診断モデルを構築する。異常診断モデル構築部204は、構築した異常診断モデルを最新モデルバッファ部205に出力する。
【0030】
最新モデルバッファ部205は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を備え、異常診断モデル構築部204によって構築された最新の異常診断モデル(以下、「最新モデル」という。)を記憶するとともに、診断モデル保存部206に保存する。最新モデルバッファ部205は、自身が記憶する最新モデルを異常診断モデル更新部210に出力する。
【0031】
診断モデル保存部206は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。診断モデル保存部206は、最新モデルバッファ部205から出力された最新モデルを記憶する。診断モデル保存部206は、所定期間ごとの構築用データに基づいて構築された最新モデルを時系列に蓄積していく。
【0032】
アクティブモデルバッファ部207は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を備え、現在の異常診断に用いられている異常診断モデル(以下、「アクティブモデル」という。)を記憶するとともに、自身が記憶するアクティブモデルを異常診断部208及び異常診断モデル更新部210に出力する。なお、アクティブモデルの初期値には、自装置の動作開始後に最初に構築された異常診断モデルが設定されてもよいし、自装置においてアクティブモデルの初期値として予め登録された異常診断モデルが設定されてもよい。
【0033】
異常診断部208は、データ抽出部203によって抽出されたリアルタイムの診断用データと、アクティブモデルバッファ部207から出力されたアクティブモデルとに基づいて、所定の監視周期で診断対象のプロセス状態を診断する。異常診断部208は、プロセス状態の診断結果を診断結果保存部209に保存する。
【0034】
診断結果保存部209は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。診断結果保存部209は、異常診断部208の診断結果を記憶する。診断結果保存部209は、リアルタイムの診断用データに基づく診断結果を時系列に蓄積していく。
【0035】
異常診断モデル更新部210は、最新モデルバッファ部205から出力された最新モデルと、アクティブモデルバッファ部207から出力されたアクティブモデルとに基づいて、アクティブモデルを更新すべきか否かを判定する。異常診断モデル更新部210は、アクティブモデルを更新すべきと判定した場合、アクティブモデルを最新モデルで更新する。
【0036】
診断結果提供部211は、診断結果保存部209に蓄積された診断結果をユーザ(プラント管理者やオペレータ)に提供する。プロセス診断装置2がCRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示部を有する場合、診断結果提供部211は表示部に診断結果を表示させてもよい。また、プロセス診断装置2がユーザ端末との通信が可能な通信部を備える場合、診断結果提供部211は通信部を介して診断結果をユーザ端末に送信してもよい。この場合、診断結果提供部211は、所定のタイミングで診断結果を送信してもよいし、ユーザ端末からの要求に応じて診断結果を送信してもよい。
【0037】
図2は、第1の実施形態のプロセス診断装置2の機能構成の詳細を示すブロック図である。異常診断モデル構築部204は、正規化部221と、モデル構築部222とを備える。正規化部221は、データ抽出部203によって抽出された所定期間のごとの構築用データを、各プロセス変数ごと位置母数(平均やメジアンなど)及び尺度母数(標準偏差やMAD(Median Absolute Deviation)など)に基づいて正規化する。
【0038】
モデル構築部222は、多変量統計的プロセス管理(MSPC)手法により、各プロセス変数ごとに正規化された構築用データに基づいて異常診断モデルを構築する。具体的には、異常診断モデルは、構築用データについてローディング行列やスコア行列などを求める数式の集合として構築される。
【0039】
また、異常診断モデル更新部210は、更新判定部231と、モデル更新部232とを備える。更新判定部231は、最新モデルとアクティブモデルとに基づいてアクティブモデルを更新すべきか否かを判定する。モデル更新部232は、更新判定部231がアクティブモデルを更新すべきと判定した場合に、アクティブモデルを最新モデルで更新する。
【0040】
具体的には、更新判定部231は、アクティブモデルを更新すべきか否かを4つの判定部(第1判定部241、第2判定部242、第3判定部243及び第4判定部244)を備える。更新判定部231が備える4つの判定部は、いずれも異常診断モデルに関する所定の指標値に基づいて算出される最新モデルとアクティブモデルとの乖離度に基づいてアクティブモデルの更新要否を判定する。
【0041】
第1判定部241は、各プロセス変数の位置母数のずれに基づいて乖離度を算出する。第2判定部242は、各プロセス変数の尺度母数のずれに基づいて乖離度を算出する。第3判定部243は、多変量解析手法によって算出されるローディング行列のずれに基づいて乖離度を算出する。第4判定部244は、多変量解析手法によって算出される寄与量ベクトル(スコア行列に相当)のずれに基づいて乖離度を算出する。更新判定部231は、上記4つの判定部によって算出された乖離度に基づいてアクティブモデルの更新要否を判定しモデル更新部232に出力する。モデル更新部232は、更新判定部231から出力されたアクティブモデルの更新要否に応じてアクティブモデルを最新モデルで更新する。
【0042】
以下、第1の実施形態のプロセス診断装置2における異常診断モデルの更新方法について詳細に説明する。
【0043】
[異常診断モデルの構築]
始めに、異常診断モデルの構築方法について説明する。まず、データ抽出部203は、所定周期Tごとに、蓄積されたプロセスデータの中から所定期間Lに取得されたプロセスデータを取得する。例えば、プロセスを過去1週間の傾向に基づいて1日ごとに制御する場合、T=1日、L=7日(1週間)となる。構築用データの抽出を毎日0時に実行するように指定した場合、毎日0時に過去1週間分のプロセスデータが構築用データとして抽出される。このように抽出されるデータセットをZ(k=1、2、…)として識別する。ここで、kは周期Tで時系列に収集されたプロセスデータの識別番号である。例えば、動作開始初日がk=1に対応し、翌日がk=2に対応する。
【0044】
例えば、このZは行列で表され、変数の数に応じた列数と時系列に応じた行数とを持つ。診断対象を上記の下水高度処理プロセス1とした場合、上記行列の列数は操作量センサで計測されるプロセス変数の数(5)とプロセスセンサで計測されるプロセス変数の数(21)を合わせた26となる。また、例えば、各センサの計測周期が1分の場合、上記行列の行数は10080(=60[分]×24[時間]×7[日])となる。以下の説明では、行列Zの行数をn、列数をmと記載する。
また、以下の説明では、周期Tで収集されるプロセスデータを識別する必要が無い場合は、行列Zを添え字kを省略したZと記載する場合がある。
【0045】
続いて、異常診断モデル構築部204は、多変量解析手法(例えば、PCAやPLS)により構築用データZから異常診断モデルを構築する。具体的には、PCAやPLSにより、構築用データZからQ統計量やT統計量などの異常検出用データを生成する。なお、構築用データZにおいてアウトライア等の異常データが多数含まれる場合には、ロバスト性を考慮して拡張されたロバストPCAやロバストPLSなどの手法が用いられても良い。
【0046】
また、各プロセス変数間に強い非線形の相関が想定される場合には、データ間の非線形を考慮して拡張されたカーネルPCAやカーネルPLSなどの手法が用いられても良い。また、プロセス変数の数mが極めて大きくなる場合には、診断に必要なプロセス変数を選択可能なスパースPCAやスパースPLSなどの手法が用いられても良い。このように、PCAやPLSには、その目的に応じて多様なバリエーションがあるが、本実施形態に用いられる多変量解析手法としては、以下に述べるローディング行列及びスコア行列を定義することができる手法であれば他のどのような手法であってもよい。以下では、一例として、一般的なPCAを用いた異常検出用データの生成方法について説明する。
【0047】
まず、PCAの適用の前処理として、正規化部221がプロセス変数ごとの構築用データZを正規化する。例えば、構築用データZを正規化は次の式(1)によって表される。
【0048】
【数1】
【0049】
式(1)において、iは行列Zの列数を表し、xは正規化後の行列の列ベクトルを表す。zは行列Zの列ベクトルを表す。すなわち行列Z=[z、z、…、z]と表せる。μ及びσは列ベクトルzの位置母数及び尺度母数であり、典型的には平均及び標準偏差である。なお、構築用データに異常データが含まれることを想定する場合には、位置母数として中央値(メジアン)などが用いられてもよいし、尺度母数として中央値絶対偏差(MAD)などが用いられても良い。また、この場合、ある割合のデータを除去して平均や標準偏差を求める刈り込み平均や刈り込み標準偏差などが用いても良い。以上のようにして正規化された構築用データXを次の式(2)で定義する。
【0050】
【数2】
【0051】
次に、行列XにPCAを適用することにより次の式(3)を満たすローディング行列P及びスコア行列Tを取得する。
【0052】
【数3】
【0053】
スコア行列Tは実数集合であり(T∈R)、n行m列の行列となる。スコア行列Tの行数nは構築用データのサンプル数に対応し、列数mは主成分の数に対応する。ローディング行列Pは実数集合であり(P∈R)、m行m列の行列となる。ローディング行列Pの行数mはプロセス変数の数に対応し、列数mは主成分の数に対応する。ローディング行列Pはプロセス変数と主成分との関係を示す。行列Tは、スコア行列Tのm個の列のうちのp(<<m)個からなる部分行列である。同様に、行列Pは、ローディング行列Pのm個の列のうちのp(<<m)個からなる部分行列である。このpは、ローディング行列Pが有するm個の列のうち、Q統計量及びT統計量の算出にどれだけの量のプロセスデータを使用するかを調整するためのパラメータである。具体的には、この場合、Q統計量及びT統計量の算出にはp列分のプロセスデータが使用され、m−p列分のプロセスデータは切り捨てられる。このように、取得されるプロセスデータを一部切り捨てて算出することにより、Q統計量及びT統計量の算出に要する計算負荷を低減することができる。このようなデータの切り捨ては多変量解析の分野で一般的に用いられる手法であり、この調整パラメータpは打ち切り次数と呼ばれる。
【0054】
また、誤差行列Eは実数集合であり(E∈R)、n行m列の行列である。誤差行列Eの行数nは上記のサンプル数に対応し、列数mはプロセス変数の数に対応する。以下では、スコア行列Tとその部分行列Tとを区別するため、前者を全スコア行列と称し、後者をスコア行列と称する。同様に、行列Pを全ローディング行列と称し、行列Pをローディング行列と称する。
【0055】
ここで、異常診断モデルの構成要素となるQ統計量及びT統計量は、上記のローディング行列Pと、スコア行列Tから導出されるΛとを用いて次の式(4)及び式(5)のように定義される。
【0056】
【数4】
【0057】
【数5】
【0058】
式(4)におけるQ(x(t))は行列Xのt(1≦t≦m)番目の要素であるx(t)に関するQ統計量を表し、Iは適当なサイズの単位行列である。また、式(5)におけるT(x(t))はx(t)に関するT統計量を表し、Λはその対角要素がT×Tの固有値の集合からなる対角行列である。これらの固有値は、主成分分析における各主成分方向の分散を表す。t(t)及びSは次の式(6)及び式(7)によって得られる値である。
【0059】
このように、Q統計量及びT統計量は、ローディング行列Pとスコア行列Tとに基づいて算出される。一方で、式(5)が示すように、T統計量は構築用データx(t)と、ローディング行列Pと、Λとで表すことができる。一般に、主成分分析において、固有値は各主成分の説明能力(説明力ともいう)の高さを表すとされており、この固有値に基づいて、各主成分が現象に寄与している度合いを示す寄与率が求められる。この寄与率の算出のため、固有値を示すΛの対角成分のみを抽出した寄与量ベクトルλを次の式(6)のように定義する。
【0060】
【数6】
【0061】
以上のことから、異常診断モデルには少なくともローディング行列Pと寄与量ベクトルλが算出可能であればよいことが分かる。そのため、異常診断モデルの構築手法には、ローディング行列P及びスコア行列Tを算出可能であれば、PCAやPLSに限らず他のどのような多変量解析手法が用いられても良い。なお、本実施形態のプロセス診断装置2では、アクティブモデルの更新要否の判断にプロセスデータの位置母数及び尺度母数を用いる。そのため、異常診断モデル構築部204は、ローディング行列P、寄与量ベクトルλ、位置母数μ及び尺度母数σを異常診断モデルの構成要素として取得する。ここで、位置母数μ及び尺度母数σを次の式(7)及び式(8)のように定義する。
【0062】
【数7】
【0063】
【数8】
【0064】
式(7)において、μ(1≦t≦m)は構築用データXのt番目の要素についての位置母数を表す。式(8)において、σ(1≦t≦m)は構築用データXのt番目の要素についての尺度母数を表す。
【0065】
[異常診断モデルを用いた異常診断]
次に、異常診断モデルを用いた異常診断方法について説明する。異常診断部208は、データ抽出部203からリアルタイムに出力される診断用データと、アクティブモデルバッファ部207に保持されているアクティブモデルとに基づいて対象プロセスの異常診断を行う。具体的には、異常診断部208は、診断用データから取得されるQ統計量及びT統計量を、予め設定された所定の閾値と比較することによりプロセスの異常を診断する。この閾値は、プロセスの状態変化の検出や異常兆候の検出に大きく関わるパラメータであるため、その設定方法は重要である。以下、この閾値の設定方法について説明する。
【0066】
この閾値の代表的な設定方法として、Q統計量の統計的信頼限界値とT統計量に関する統計的信頼限界値を用いる方法がある。この場合、Q統計量の統計的信頼限界値Qlimitは次の式(9)のように表される。
【0067】
【数9】
【0068】
式(9)におけるpは構築用データの打ち切り次数である。cαは、信頼区間の限界が1−αである場合における標準正規分布の標準偏差のずれである。例えば、α=0.01の場合のcαは2.53であり、α=0.05の場合のcαは1.96である。また、λは上述の寄与量ベクトルの各要素を表す。すなわち、上記のΘは打ち切られた構築用データに対応する寄与量ベクトルの要素のi乗和である。一方、T統計量の統計的信頼限界値Tlimitは次の式(10)のように表される。
【0069】
【数10】
【0070】
式(9)同様に、式(10)におけるpは構築用データの打ち切り次数である。nは構築用データの全データ数である。F(p,n−p,α)は、自由度が(p,n−p)であり、信頼限界をαとした場合のF分布である。一般的には、α=0.01又は0.05とされることが多い。
【0071】
MSPCを用いたプロセスの異常診断では、構築用データに代えて診断用データを式(4)及び式(5)に適用して得られるQ統計量及びT統計量を、式(9)及び式(10)で予め決定された統計的信頼限界値と比較することによりプロセスの異常が検出される。さらに、異常が検出された場合には、異常診断に用いられたプロセス変数が、検出された異常に与える影響力(すなわち説明能力)の大きさを示す寄与量を算出することで、検出された異常に大きな影響を与えているプロセス変数の推定や、異常検出の妥当性の判断などが行われる。なお、寄与量は式(4)及び式(5)から取得することが可能であるが、このような寄与量の取得は多変量解析の分野で一般的な手法である。そのため、ここでは寄与量の算出方法の詳細な説明を省略する。
【0072】
以上により、MSPCに基づく異常診断モデルは、各プロセス変数の正規化パラメータである位置母数及び尺度母数と、Q統計量及びT統計量と、Q統計量及びT統計量の統計的信頼限界値と、各統計的信頼限界値に対する各プロセス変数の寄与量と、で構成されることが分かる。Q統計量、T統計量、各統計量の統計的信頼限界値及び各プロセス変数の寄与量の取得には、式(4)、式(5)、式(9)及び式(10)から、ローディング行列Pと、Λと、データ数nと、プロセス変数の数mと、打ち切り次数pとが必要であることが分かる。これらのうち、データ数n及びプロセス変数の数mは通常、変化しない固定値である。また一般に、打ち切り次数pはΛに基づいて決定される。すなわち、異常診断モデルに必要な情報は、ローディング行列P及びΛということになる。
【0073】
[異常診断モデルの更新]
最新モデルバッファ部205は、周期Tごとに構築される最新の異常診断モデル(最新モデル)を保持するとともに、診断モデル保存部206に保存する。診断モデル保存部206には、構築された最新モデルが順次保存されていくことにより、過去に構築された異常診断モデルが蓄積される。異常診断モデル更新部210は、最新モデルバッファ部205からその時点における最新モデルを取得するとともに、アクティブモデルバッファ部207からその時点におけるアクティブモデルを取得し、更新判定部231に出力する。更新判定部231は、取得された最新モデル及びアクティブモデルを第1判定部241〜第4判定部244にそれぞれ出力する。
【0074】
<1.位置母数に基づく判定>
第1判定部241は、最新モデルの位置母数とアクティブモデルの位置母数との乖離度を算出し、算出された乖離度を所定の閾値と比較することによりアクティブモデルの更新要否を判定する。位置母数は、各プロセス変数の物理的な次元の異なりにより、各要素の大きさや符号などが異なる場合がある。そのため、第1判定部241は、まず、位置母数の正規化を行う。ここで、以下の説明のためアクティブモデルの位置母数をμ、最新モデルの位置母数をμと定義する。
【0075】
なお、正規化には種々の方法がある。例えば、アクティブモデルの位置母数を基準とする方法が挙げられる。この場合、正規化後の位置母数μ’及びμ’は次の式(11)及び式(12)のように表される。
【0076】
【数11】
【0077】
【数12】
【0078】
また、別の正規化の方法として、各プロセス変数の尺度母数を基準とする方法が挙げられる。この場合、正規化後の位置母数μ’及びμ’は次の式(13)〜式(15)のように表される。
【0079】
【数13】
【0080】
【数14】
【0081】
【数15】
【0082】
式(13)において、σa_i(「_」はiがσの下付きの添え字であることを表し、以下同様である。)は尺度母数σのi番目の要素を表し、σb_iは尺度母数σのi番目の要素を表す。このように正規化された位置母数μ’及びμ’に基づいて、位置母数の乖離度dμを例えば各位置母数ベクトルの距離(又は内積)として定義する。この場合、乖離度dμは次の式(16)のように表される。
【0083】
【数16】
【0084】
式(16)における「||ベクトル||」の表記はベクトルのノルム(例えばユークリッドノルム、L2ノルムなど)を表す。式(16)は、dμをμ’とμ’との差のL2ノルムと定義した例である。この場合、μ’とμ’が一致する場合にはdμ=0となる。また、位置母数を式(11)及び式(12)で正規化した場合、μがμのK倍となった場合にdμ=K−1となる。また、位置母数を式(13)及び式(14)で正規化した場合、|μ−μ|がσのK倍となった場合にdμ=Kとなる。したがって、位置母数の乖離度の閾値は、μやσを基準とするμのずれの大きさ(すなわちK)で設定することができる。
【0085】
ただし、L2ノルムは、ベクトルの各要素の平方二乗和での評価となるため閾値の設定が難しい場合もある。そのような場合、乖離度の閾値は、各要素の絶対値の総和で乖離度を表すL1ノルムや、各要素の絶対値の最大値で乖離度を表すL∞ノルムで定義されてもよい。この場合、位置母数の乖離度dμは次の式(17)及び式(18)のように表される。
【0086】
【数17】
【0087】
【数18】
【0088】
式(17)のようにL1ノルムで乖離度を定義した場合、ベクトルの各要素の差の絶対値の総和で乖離度が評価されるため、閾値はプロセス変数の数mを考慮して設定される必要がある。これに対して式(18)のようにL∞ノルムで乖離度を定義した場合、ベクトルの各要素ごとに評価された差の最大値が乖離度となる。そのため、閾値をより直接的に設定することができる。具体的には、μがμの2倍以上乖離したことを検出しようとする場合や、|μ−μ|がσだけ乖離したことを検出しようとする場合には閾値を1とすることができる。
【0089】
このように、第1判定部241は、アクティブモデルと最新モデルとの間の位置母数の乖離度を予め設定された閾値と比較することによってアクティブモデルの更新要否を判定する。具体的には、第1判定部241は、位置母数の乖離度が閾値を越えた場合にアクティブモデルの更新が必要であると判定し、位置母数の乖離度が閾値以下である場合にアクティブモデルの更新は不要であると判定する。第1判定部241は、位置母数に基づくアクティブモデルの更新要否の判定を最新モデルの構築周期に合わせて実行し、判定結果をモデル更新部232に出力する。
【0090】
<2.尺度母数に基づく判定>
第2判定部242は、最新モデルの尺度母数とアクティブモデルの尺度母数との乖離度を算出し、算出された乖離度を所定の閾値と比較することによりアクティブモデルの更新要否を判定する。第2判定部242による尺度母数に基づく乖離度の判定は、位置母数を尺度母数に置き換えることで第1判定部241と同様の方法で行うことができる。この場合、L2ノルム、L1ノルム又はL∞ノルムで定義した尺度母数の乖離度は次の式(19)〜式(21)のように表される。
【0091】
【数19】
【0092】
【数20】
【0093】
【数21】
【0094】
第2判定部242は、第1判定部241と同様に、尺度母数の乖離度が閾値を越えた場合にアクティブモデルの更新が必要であると判定し、尺度母数の乖離度が閾値以下である場合にアクティブモデルの更新は不要であると判定する。第2判定部242は、尺度母数に基づくアクティブモデルの更新要否の判定を最新モデルの構築周期に合わせて実行し、判定結果をモデル更新部232に出力する。
【0095】
<3.ローディング行列に基づく判定>
第3判定部243は、最新モデルのローディング行列とアクティブモデルのローディング行列との乖離度を算出し、算出された乖離度を所定の閾値と比較することによりアクティブモデルの更新要否を判定する。ローディング行列の類似性を評価する方法の一つとして、2つのローディング行列の正準角に基づいて乖離度を定義する方法がある。アクティブモデルのローディング行列Pと、最新モデルのローディング行列Pとの間の正準角は、A=Pとして生成される行列Aを特異値分解することによって取得できることが知られている。このようにして得られる正準角をθ(i=1、2、…、p)とした場合、ローディング行列の乖離度は、正準角θの重み付き和で定義することができる。ここで各正準角θの重みをw(i=1、2、…、p)とすると、ローディング行列の乖離度dPは次の式(22)のように表される。
【0096】
【数22】
【0097】
ここで、各正準角θに対応する重みwは、例えば、主成分の寄与量ベクトルに比例した重みで定義することができる。具体的には、重みwを所定の係数kを用いてw=k×λと定義することができる。なお、式(22)では、dPの値域が0〜1となるようにローディング行列を正規化しておくことが望ましい。また、このような正準角を用いた乖離度の定義では、行列Aの特異値分解の複雑さに起因して計算負荷が高くなる可能性がある。そのような場合、位置母数や尺度母数のように乖離度をノルムで定義することも可能である。この場合、最も簡単な例として、ローディング行列のp個の列ベクトル(以下、「ローディングベクトル」という。)を並べた1つのベクトルをアクティブモデル及び最新モデルでそれぞれ構成し、それらのベクトル間のノルムを乖離度として定義することができる。この場合の乖離度は、例えばL2ノルムを用いて次の式(23)のように定義することができる。
【0098】
【数23】
【0099】
式(23)において、p’及びp’は、P及びPの列ベクトルをそれぞれ縦に並べたベクトルをノルムが1になるように正規化されたベクトルである。式(23)のように乖離度をノルムで定義した場合、特異値分解などの複雑な処理を行わずに簡単な代数演算のみで乖離度を計算することができる。なお、式(23)のように乖離度をノルムで定義する場合においても式(22)と同様に、P及びPの各列ベクトルに対して寄与量ベクトルλに応じた重み付けを行っても良い。
【0100】
第3判定部243は、第1判定部241及び第2判定部242と同様に、ローディング行列の乖離度が閾値を越えた場合にアクティブモデルの更新が必要であると判定し、ローディング行列の乖離度が閾値以下である場合にアクティブモデルの更新は不要であると判定する。第3判定部243は、ローディング行列に基づくアクティブモデルの更新要否の判定を最新モデルの構築周期に合わせて実行し、判定結果をモデル更新部232に出力する。
【0101】
<4.寄与量ベクトルに基づく判定>
第4判定部244は、最新モデルの寄与量ベクトルとアクティブモデルの寄与量ベクトルとの乖離度を算出し、算出された乖離度を所定の閾値と比較することによりアクティブモデルの更新要否を判定する。この場合、寄与量ベクトルの乖離度を、第1判定部241及び第3判定部243と同様にノルムで定義することも可能であるが、寄与量ベクトルの各要素はローディング行列における各ローディングベクトル方向の分散を表す指標であるため、ベクトルの差で定義されるノルムによる評価が好ましくない場合もある。
【0102】
ところで、上述のとおり寄与量ベクトルは、異常診断モデルの構築に用いられる構築用データの打ち切り次数pの決定にも用いられる。例えば、打ち切り次数は、使用するプロセスデータに対応するプロセス変数の寄与量の総和によって決定される。これは、寄与量の総和(以下、「累積寄与量」という。)が、事象の分析(説明)に必要なプロセス変数の満足度を表すと考えられるためである。このように寄与量は、差よりもむしろ和で比較されることに意味のあるパラメータである。そのため、ここでは、寄与量ベクトルに基づく乖離度を次の式(24)のように定義する。
【0103】
【数24】
【0104】
式(24)においてλ’はアクティブモデルの寄与量ベクトルを表し、λ’は最新モデルの寄与量ベクトルを表す。なお、このような乖離度を定義した場合、乖離度の値域が分からず、閾値の設定が難しい場合がある。そのため、そのような場合には、寄与量ベクトルに代えて、累積寄与率で乖離度を定義してもよい。この場合の乖離度は、次の式(25)のように表される。累積寄与率は、全プロセス変数の累積寄与量に対して、分析に使用するプロセス変数の累積寄与量が占める割合である。
【0105】
【数25】
【0106】
式(25)においてCλ_a(_aは、aがλの添え字であることを意味する)は、アクティブモデルのローディング行列についての累積寄与率を表し、Cλ_bは、最新モデルのローディング行列についての累積寄与率を表す。通常、打ち切り次数pは、この累積寄与率が0.8〜0.9程度(80%から90%)となるように設定される。このように定義される累積寄与率は0〜1の値となるため閾値の設定が容易である。そして、この場合、累積寄与率の乖離度の閾値αを0〜1の範囲の値として設定することができる。例えば、10%の累積寄与率の乖離を検出しようとする場合にはα=0.1と設定すればよい。
【0107】
第4判定部244は、第1判定部241〜第3判定部243と同様に、寄与量ベクトルに基づく乖離度が閾値を越えた場合にアクティブモデルの更新が必要であると判定し、寄与量ベクトルに基づく乖離度が閾値以下である場合にアクティブモデルの更新は不要であると判定する。第4判定部244は、寄与量ベクトルに基づくアクティブモデルの更新要否の判定を最新モデルの構築周期に合わせて実行し、判定結果をモデル更新部232に出力する。
【0108】
以上、アクティブモデルと最新モデルとの間の乖離度を、主にベクトルのノルムで定義して評価する方法を説明したが、乖離度の定義はベクトルのノルムによるもの限定されるものではない。乖離度は、データセット間の乖離の度合いを示す指標値として定義されるものであれば、他のどのような方法で定義されたものであってもよい。例えば、乖離度は、機械学習や多変量統計解析の分野で知られている種々の類似度や異常度を示す指標値を用いて定義されてもよい。いずれにせよ、乖離度は、処理に求められる精度や性能、ユーザにとっての分かりやすさなど、診断対象のプロセスに応じて要求される諸事項が満たされるよう任意に設計されてよい。
【0109】
モデル更新部232は、第1判定部241〜第4判定部244の判定結果に基づいて、アクティブモデルの更新要否について最終的な判定(以下、「最終判定」という。)を行う。モデル更新部232は、最終判定においてアクティブモデルの更新が必要であることが判定された場合にアクティブモデルを最新モデルで更新する。なお、モデル更新部232が、第1判定部241〜第4判定部244の判定結果に基づいてどのような最終判定結果を出すかは任意である。例えば、モデル更新部232は、第1判定部241〜第4判定部244の全てがアクティブモデルの更新が必要であると判定した場合にアクティブモデルを更新してもよいし、第1判定部241〜第4判定部244のうちの少なくとも一つがアクティブモデルの更新が必要であると判定した場合にアクティブモデルを更新してもよい。
【0110】
このように構成された第1の実施形態のプロセス診断装置2は、構築用データに基づいて異常診断モデルを所定の構築周期で構築するモデル構築部222と、アクティブモデルと、最新モデルとの乖離度を構築周期より短い更新周期で算出し、算出された乖離度に基づいてアクティブモデルの更新要否を判定する更新判定部231と、更新判定部231の判定結果に応じて最新モデルでアクティブモデルを更新するモデル更新部232とを備える。このような構成を備えることにより、プロセス診断装置2は、異常診断モデルをより適切なタイミングで更新することができる。
【0111】
(第2の実施形態)
図3は、第2の実施形態のプロセス診断装置2aの機能構成の詳細を示すブロック図である。プロセス診断装置2aは、適用前モデルバッファ部212及び前回モデルバッファ部213をさらに備える点、更新判定部231に代えて更新判定部231aを備える点、モデル更新部232に代えてモデル更新部232aを備える点で第1の実施形態のプロセス診断装置2と異なる。
【0112】
適用前モデルバッファ部212及び前回モデルバッファ部213は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を備えて構成される。適用前モデルバッファ部212は、所定の条件を満たす最新モデルを適用前モデルとして記憶する。適用前モデルの初期値には、自装置の動作開始後の最初の構築周期で構築された最新モデルが設定されてもよいし、アクティブモデルの初期値が設定されてもよい。前回モデルバッファ部213は、現在のアクティブモデルに更新される直前のアクティブモデルを前回モデルとして記憶する。前回モデルの初期値にはアクティブモデルの初期値が設定される。
【0113】
更新判定部231aは、最新モデルと適用前モデルとに基づいて適用前モデルの更新要否を判定するとともに、適用前モデルとアクティブモデルとに基づいてアクティブモデルの更新要否を判定する。更新判定部231aは、第1の実施形態と同様に、比較対象となるモデル間での各指標値(具体的には、位置母数、尺度母数、ローディング行列及び寄与量ベクトル)の乖離度に基づいて適用前モデル及びアクティブモデルの更新要否を判定する。
【0114】
モデル更新部232aは、適用前モデルの更新要否の判定結果に応じて適用前モデルを最新モデルで更新するとともに、アクティブモデルの更新要否の判定結果に応じてアクティブモデルを適用前モデルで更新する。また、モデル更新部232aは、所定の条件に基づいてアクティブモデルを前回モデルで更新する機能を有する。モデル更新部232aがアクティブモデルを前回モデルに更新する条件は、アクティブモデルを前回モデルに戻す必要性に応じて任意に設定されてよい。例えば、モデル更新部232aは、前回モデルへのアクティブモデルの更新をユーザの更新操作に応じて実行してもよいし、適用前モデルでのアクティブモデルの更新後における異常診断部208の異常検出頻度が所定の閾値を越えたことを契機に実行してもよい。
【0115】
このように構成された第2の実施形態のプロセス診断装置2aは、適用前モデルと最新モデルとの乖離度に応じて適用前モデルの更新要否を判定するとともに、適用前モデルと、アクティブモデルとの乖離度に基づいてアクティブモデルの更新要否を判定する更新判定部231aを備える。このような構成を備えることにより、プロセス診断装置2aは、より長期的なプロセス状態の変化に応じて異常診断モデルを更新することが可能となる。さらに、プロセス診断装置2aは、アクティブモデルを、最新モデルではなく適用前モデルで更新することにより、異常診断モデルによる異常診断の基準を、プロセス状態の変化に対してより緩やかに変更することができる。そのため、プロセス診断装置2aは、診断対象のプロセスの異常が過剰に検出されることを抑制することができる。
【0116】
また、プロセス診断装置2aは、所定の条件に基づいてアクティブモデルを前回モデルで更新するモデル更新部232aを備える。このような構成を備えることにより、プロセス診断装置2aは、アクティブモデルを前回モデルに戻すことにより、アクティブモデルの更新に起因して生じた不具合を迅速に解消することができる。
【0117】
(第3の実施形態)
図4は、第3の実施形態のプロセス診断装置2bの機能構成の詳細を示すブロック図である。プロセス診断装置2bは、運用変更監視部214をさらに備える点で第3の実施形態のプロセス診断装置2aと異なる。運用変更監視部214は、診断対象のプロセスについての運用の変更を監視する機能を有する。具体的には、運用変更監視部214は、位置母数の変化を監視することにより対象プロセスの運用の変更を検出する。
【0118】
例えば、プラントなどで意図的に運用変更を行う場合、プロセスの操作量となるプロセス変数が急激に変化する場合が多い。特に、上記の下水高度処理プロセスでは、最初沈澱池余剰汚泥引き抜きポンプ111、ブロワ112、循環ポンプ113、返送汚泥ポンプ114及び最終沈澱池余剰汚泥引き抜きポンプ115が有する操作量センサの計測値に大きな変化が現れることが多い。例えば、下水高度処理プロセスにおいて、汚泥の返送率の設定値を変更した場合、返送汚泥ポンプ114の流量センサで計測される返送流量はステップ状に大きく変化する。このような設定変更によってプロセスの状態は徐々に変化していく。そのため、第1の実施形態や第2の実施形態で説明した更新方法により、プロセスの異常診断モデルはプロセスの状態の変化に応じて更新される。
【0119】
しかしながら、運用が変更された直後においては返送流量だけが変化し、プロセスの状態はそれまでとあまり変わらない状況が継続される場合がある。例えば、上述した下水高度処理プロセスのような水処理プロセスを実現するプラントでは、被処理水の処理状況はMLSS等で計測される汚泥の性状等で判断される場合が多く、この汚泥の性状等の変化は極めて緩やかな変化である。具体的には、汚泥の性状等は日単位又は週単位で変化する。そのため、このようにプロセスの状態の変化に長い時間を要するプラントでは、プロセスの状態に大きな変化がなく、操作量(返送流量)の位置母数だけが大きく変化した状態がしばらく継続する。
【0120】
そのため、このようなプラントにおいて、同じアクティブモデルが継続して使用され続けると、Q統計量やT統計量が継続して異常として検出されてしまう場合がある。このような運用変更に起因して検出される異常は、上述の更新方法で異常診断モデルが更新されていくことにより、時間の経過に応じて検出されなくなっていくものであるが、異常診断モデルに用いられる位置母数μは所定のデータ抽出期間Lのプロセスデータの平均や代表値であるため、異常が検出されないようになるまでには少なくともデータ抽出期間L程度の時間が必要となる。そのため、運用が変更されてから期間L程度の時間が経過するまでの間は、継続的に異常が検出されることになる。このような理由により、プロセス状態の診断においては、異常を検出することに加えて、運用変更の有無を検出できることが望ましい。また、このような異常の検出が運用変更に起因したものであるか否かを判断するためには、運用変更の有無は期間Lよりも短い周期で検出されることが望ましい。
【0121】
そのため、運用変更監視部214は、位置母数の変化を最新モデルの構築周期Tより短く、かつ異常診断の周期T以上の長さの周期Tで位置母数の変化を監視する。すなわち、T≦T<Tである。例えばT=1分、T=1日とした場合、位置母数の監視は1分〜1日の範囲の周期で実行される。なお、この監視周期は、可能な限り異常診断の周期Tに近いほうが好ましい。そのため、以下の説明では、T=Tと仮定する。
【0122】
具体的には、運用変更監視部214は、最新モデルの構築の際、構築用データの抽出期間である期間Lについての位置母数μに加えて、最新モデルの構築周期である期間Tについての位置母数μを算出する。例えば、位置母数μをL=7日の平均値とした場合、位置母数μをT=1日の平均値として算出する。
【0123】
一方で、運用変更監視部214は、異常診断の周期T(=監視周期T)ごとに、周期Tの間に取得されたプロセスデータと位置母数μとの乖離度を判定する。具体的には、運用変更監視部214は、次の式(26)で位置母数の乖離度を判定する。
【0124】
【数26】
【0125】
式(26)において、x(t)は周期Tにおいて取得されたプロセスデータのうちのt番目のプロセスデータを意味している。ここで、x(t)は瞬時値であり、ばらつきが大きいと考えられるため、例えばkの値はk=3〜6程度に設定されるとよい。
【0126】
そして、プロセスデータと位置母数とが十分に乖離している(すなわち、式(26)が真である)場合、運用変更監視部214は運用変更が行われた可能性があると判定する。ただし、x(t)は瞬時値であるため異常値などの影響を受けやすく、瞬間的に式(26)が成立してしまう状況が発生しうる。そのため、式(26)のみで運用変更の発生を推定すると、運用変更の発生が誤検出される可能性がある。そこで、運用変更監視部214は、式(26)を満たす状況(以下、「乖離状態」という。)が所定期間以上継続されているか否かで運用変更の発生有無を判定する。
【0127】
ここで、乖離状態の継続時間の閾値をT=Cmax×Tと定義する。これはすなわち、乖離状態が、Cmax回の診断周期T(=T)の間継続して検出された場合に運用変更が発生したと判定することを意味している。この場合、運用変更監視部214は、乖離状態が未検出の状態から初めて検出された時点でカウンタCをC=1に初期化し、その後の診断周期で継続して乖離状態が検出されるごとにカウンタCをインクリメントしていく。なお、運用変更監視部214は、初回検出後の乖離状態の判定を式(26)とは異なる次の式(27)で判定する。
【0128】
【数27】
【0129】
式(27)において、μは各監視周期Tにおけるプロセスデータの位置母数である。ここで重要なことは、式(26)では位置母数の乖離度が閾値kを越えたことを判定しているのに対し、式(27)では位置母数の乖離度が所定の閾値k’を越えないことを判定していることである。この所定の閾値k’は式(26)の閾値k以下に設定される必要があり、k’=0.5k程度に設定されることが望ましい。この理由を図5を参照して説明する。
【0130】
図5は、運用変更によるプロセスデータの変化の具体例を示す図である。図5の横軸は時間を表し、縦軸はプロセスデータの値(計測値)を表す。上述したとおり、運用変更の前後では位置母数が大きく変化する。図5は、時刻tにおける運用変更により位置母数μが、位置母数μに変化した様子を表している。また、時間軸に示した時刻t、t及びtは位置母数μの更新タイミング(すなわち構築周期)の例を表している。この場合、時刻tに行われた運用変更による乖離状態の発生は、式(26)に基づいて、例えば時刻tのタイミングで検出される。この場合、計測値の乖離度を、乖離状態の初回検出以降も同じ位置母数μで判定したのでは、位置母数μの次の更新タイミング(図5ではt)が到来するまでの間、常に運用変更が発生したと判定されてしまう。そのため、運用変更監視部214は、乖離状態の初回検出以降については、計測値の乖離度を、監視周期ごとの位置母数μとの比較によって判定する。
【0131】
また、ここで仮に初回検出以降における乖離度の閾値k’をk’=kとした場合、初回検出以降の計測値の乖離度は、運用変更前と同様の振れ幅(すなわちkσ)を閾値として判定されることになる。この場合、瞬間的な計測値の変動が運用変更と誤検出されてしまう可能性がある。そのため、運用変更が行われた(すなわち位置母数が変化した)ということをより確実に判定するためには、k’をk’=0.5k程度とするのが好ましい。初回検出以降の閾値k’がこのように設定されることにより、運用変更監視部214は、初回検出以降の計測値が位置母数μよりも位置母数μに近い位置に存在し続けない限り運用変更とは判定せず、運用変更が行われたことをより正確に検出することが可能となる。なお、運用変更監視部214によって監視周期ごとに更新されるμは次の式(28)のように算出される。
【0132】
【数28】
【0133】
式(28)は、初回検出以降の計測値の位置母数が、初回検出以降の計測値で逐次更新されることを表している。運用変更監視部214は、上述の判定を監視周期Tごとに繰り返し実行した結果、C=Cmaxとなった場合に運用変更が行われたと判定する。そして、運用変更監視部214は、運用変更の検出に応じて、検出時の位置母数μでアクティブモデルの位置母数μを更新する。
【0134】
なお、監視周期Tを、T<T<Tの間で任意に設定することも可能である。この場合、式(26)及び式(27)のx(t)を監視周期Tの平均値に置き換えることにより、上記同様の手法で運用変更を検出することができる。ここで、T>T/2となるような監視周期Tを設定する場合、カウンタCが初期値から変動しない可能性がある。そのため、このような場合には式(27)による乖離度の判定を行わず、式(26)のみで乖離度を判定してもよい。
【0135】
また、構築周期Tごとに算出されるμをμ=μとして位置母数の監視を行っても良いが、この場合μの更新周期が長くなってしまうため、計測値の乖離が、ドリフト現象のように緩やかに変化する現象と、運用変更のように急激に変化する現象とのいずれの現象によるものかを識別することが困難になる。一般にドリフト現象が異常とみなされるのに対して運用変更は意図されたプロセスの変化である。そのため、上述のように更新周期Tを可能な限り診断周期Tに近づけることで、運用変更をドリフト現象から分離して検出可能とする方が望ましい。ただし、運用変更をドリフト現象から分離して検出する必要がない場合においては、μ=μとして位置母数の監視を行っても良い。
【0136】
なお、ドリフト現象は、構築周期Tでの異常診断モデルの更新により、異常診断部208によって検出可能である。そのため、このような異常診断が可能なプロセス診断装置2bにおいては、運用変更は必ずしもドリフト現象から分離して検出されなくてもよい。ただし、異常診断モデルの更新よりも早いタイミングでドリフト現象を検出したい場合には、診断周期Tごとに取得されるμと構築周期Tごとに取得されるμとのずれを次の式(29)で判定することにより、ドリフト現象を検出するようにしてもよい。
【0137】
【数29】
【0138】
式(29)の判定を、運用変更の監視周期Tに合わせて実行することにより、ドリフト現象をより早いタイミングで検出することができる。なお、式(29)によってドリフト現象が検出された場合、運用変更監視部214は、ドリフト現象を検出した時点の位置母数μでアクティブモデルの位置母数μを更新してもよい。
【0139】
このように構成された第3の実施形態のプロセス診断装置2bは、構築周期ごとに更新される最新モデルの位置母数と、構築周期より短い周期ごとに取得される時系列データの位置母数との乖離度に基づいて、プロセスの運用変更等によるプロセスデータの急激な変化を検出する運用変更監視部214を備える。このような構成を備えることにより、プロセス診断装置2bは、運用変更等によるプロセス状態の変化を、構築周期よりも早く検出することができる。
【0140】
なお、運用変更やドリフト現象の検出時におけるアクティブモデルの更新は、適用前モデルに対しても行われることが望ましい。適用前モデルの更新をアクティブモデルの更新に合わせて行うことで、異常診断モデルの更新時に、アクティブモデルの位置母数が元の位置母数に戻されてしまうことを防ぐことができる。
【0141】
(第4の実施形態)
図6は、第4の実施形態のプロセス診断装置2cの機能構成の詳細を示すブロック図である。プロセス診断装置2cは、妥当性判定部215をさらに備える点で、第3の実施形態のプロセス診断装置2bと異なる。妥当性判定部215は、アクティブモデルの妥当性を判定し、判定結果に応じて前回モデルでアクティブモデルを更新する。
【0142】
具体的には、妥当性判定部215は、最新モデルの構築周期Tと同じ周期で、診断結果保存部209に蓄積された異常診断結果から構築周期T分の診断結果を取得する。この診断結果は、具体的には、過去の診断において診断用データから生成されたQ統計量及びT統計量である。妥当性判定部215は、取得した構築周期T分のQ統計量及びT統計量の位置母数を算出する。上記同様、ここで取得される位置母数も、中央値や刈り込み平均などの代表値である。妥当性判定部215は、Q統計量の位置母数をQmed、T統計量の位置母数をTmedとして算出する。
【0143】
一方、妥当性判定部215は、最新の構築周期Tで算出されたQ統計量及びT統計量の位置母数と、自装置に予め設定された各位置母数の閾値(Qlim及びTlim)との比較を、アクティブモデルの更新に応じて実行する。Qmed又はTmedの少なくともいずれか一方が閾値を超過している場合、多くのプロセスデータが異常値を示していると考えられる。そのためこの場合、妥当性判定部215は異常診断に適用中のアクティブモデルが適切でないと判定する。妥当性判定部215は、適用中のアクティブモデルが適切でないと判定した場合、アクティブモデルを前回モデルで更新する。なお、妥当性判定部215は、旧戻ししたアクティブモデルが、適用前モデルによって再び適切でない異常診断モデルに更新されてしまうことを防ぐため、アクティブモデルの旧戻し時には、適用前モデルについても前回モデルで更新する。
【0144】
このように構成された第4の実施形態のプロセス診断装置2cは、アクティブモデルの更新の前後におけるQ統計量及びT統計量の位置母数の乖離度に基づいて、アクティブモデルの妥当性を判定する妥当性判定部215を備える。このような構成を備えることにより、プロセス診断装置2cは、更新されたアクティブモデルの妥当性を診断することが可能となる。
【0145】
以下、実施形態のプロセス診断装置の変形例について説明する。
上記の運用変更監視部214は、第1の実施形態のプロセス診断装置2に備えられても良い。同様に、妥当性判定部215は、第1の実施形態のプロセス診断装置2に備えられても良い。また、第4の実施形態のプロセス診断装置2cは、運用変更監視部214を備えない装置として構成されてもよい。上述の各実施形態のプロセス診断装置は、必ずしも1台の装置として構成される必要はなく、プロセス診断装置の各機能部を有する複数の装置によってプロセス診断システムとして構成されてもよい。また、実施形態のプロセス診断装置の診断対象となるプロセスは、上記の下水高度処理プロセス1以外のどのようなプロセスであってもよい。
【0146】
以上説明した少なくともひとつの実施形態によれば、構築用データに基づいて異常診断モデルを所定の構築周期で構築するモデル構築部と、アクティブモデルと、最新モデルとの乖離度を構築周期より短い更新周期で算出し、算出された乖離度に基づいてアクティブモデルの更新要否を判定する更新判定部と、更新判定部の判定結果に応じて最新モデルでアクティブモデルを更新するモデル更新部とを持つことにより、異常診断モデルをより適切なタイミングで更新することができる。
【0147】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0148】
1…下水高度処理プロセス、101…最初沈澱池、102…嫌気槽、103…無酸素槽、104…好気槽、105…最終沈澱池、105…最終沈殿池、111…最初沈澱池余剰汚泥引き抜きポンプ、112…ブロワ、113…循環ポンプ、114…返送汚泥ポンプ、115…最終沈澱池余剰汚泥引き抜きポンプ、121…雨量センサ、122…下水流入量センサ、123…流入TNセンサ、124…流入TPセンサ、125…流入有機物センサ、126…ORPセンサ、127…嫌気槽pHセンサ、128…無酸素槽ORPセンサ、129…無酸素槽pHセンサ、130…リン酸センサ、131…DOセンサ、132…アンモニアセンサ、133…MLSSセンサ、134…水温センサ、135…余剰汚泥SSセンサ、136…放流SSセンサ、137…汚泥界面センサ、138…下水放流量センサ、139…放流TNセンサ、140…放流TPセンサ、141…放流有機物センサ、2,2a,2b,2c…プロセス診断装置、201…データ収集部、202…収集データ保存部、203…データ抽出部、204…異常診断モデル構築部、221…正規化部、222…モデル構築部、205…最新モデルバッファ部、206…診断モデル保存部、207…アクティブモデルバッファ部、208…異常診断部、209…診断結果保存部、210…異常診断モデル更新部、211…診断結果提供部、212…適用前モデルバッファ部、213…前回モデルバッファ部、214…運用変更監視部、215…妥当性判定部、231,231a…更新判定部、232,232a…モデル更新部、241…第1判定部、242…第2判定部、243…第3判定部、244…第4判定部
図1
図2
図3
図4
図5
図6