以下、実施形態のプロセス診断装置、プロセス診断方法及びコンピュータプログラムを、図面を参照して説明する。
(第1の実施形態)
図1は、第1の実施形態のプロセス診断装置2の構成の概略を示す図である。図1は、プロセス診断装置2の診断対象が下水高度処理プロセス1である具体例を示している。下水高度処理プロセス1は、下水から窒素及びリンを除去することを目的としたプロセスである。下水高度処理プロセス1は、最初沈澱池101、嫌気槽102、無酸素槽103、好気槽104及び最終沈澱池105を有する。処理対象の下水(以下、「被処理水」という。)は、最初沈澱池101、嫌気槽102、無酸素槽103、好気槽104、最終沈澱池105の順に送水され処理される。
最初沈澱池101は、下水高度処理プロセス1に送られてくる被処理水の貯水池である。最初沈澱池101では、沈殿により比重の重い固形物が被処理水から分離される。嫌気槽102は、有機物を分解する微生物を被処理水に投入するとともに、微生物の脱リンを行うための水槽である。嫌気槽102において、被処理水は空気が供給されない状態で攪拌される。これにより、微生物に体内のリンを吐き出させる。一般にこの処理をリン吐出という。嫌気槽でのリン吐出と、後述する好気槽でのリンの吸収とにより微生物の体内にリンを蓄積させ、リンを蓄積した微生物を含む汚泥の分離によりリンを除去する一連の課程を脱リンという。無酸素槽103は、被処理水から窒素を除去するための水槽である。具体的には、無酸素槽103では、後段の好気槽104から戻された被処理水が嫌気槽102から送られてきた被処理水に混ぜられ、空気を供給されない状態で攪拌される。無酸素槽103では、微生物の働きにより被処理水中の硝酸が窒素に分解され、大気に放出される。一般にこの処理を脱窒という。
好気槽104は、被処理水中の有機物の分解と、リンの除去及びアンモニアの硝化とを行うための水槽である。具体的には、被処理水に空気を供給して微生物を活性化させ、微生物に有機物を分解させるとともに、微生物に被処理水中のリンを吸収させる。脱リン状態の微生物は活性化されることにより脱リンで吐き出した以上のリンを吸収するため、被処理水中のリンが除去される。また、好気槽104では、被処理水に空気が供給されることによりアンモニアが硝酸に分解される。一般にこの処理を硝化という。
最終沈殿池105は、リンの除去及びアンモニアの硝化が行われた被処理水の貯水池である。最終沈澱池105では沈殿によって被処理水に残存する固形物が分離され、上澄みの清澄水が処理済みの水として放流される。
最初沈澱池余剰汚泥引き抜きポンプ111は、最初沈澱池101から沈殿した汚泥を引き抜いて除去するポンプである。最初沈澱池余剰汚泥引き抜きポンプ111は、引き抜いた汚泥の流量を計測する流量センサを有する。
ブロワ112は、好気槽104に酸素を供給する送風機である。ブロワ112は、供給した空気の流量を計測する流量センサを有する。
循環ポンプ113は、被処理水を好気槽104から無酸素槽103に返送するポンプである。循環ポンプ113は、返送した被処理水の流量を計測する流量センサを有する。
返送汚泥ポンプ114は、最終沈澱池105から沈殿した汚泥の一部を引き抜いて嫌気槽102に返送するポンプである。返送汚泥ポンプ114は、返送した汚泥の流量を計測する流量センサを有する。
最終沈澱池余剰汚泥引き抜きポンプ115は、最終沈澱池105から沈殿した汚泥を引き抜いて除去するポンプである。最終沈澱池余剰汚泥引き抜きポンプ115は、引き抜いた汚泥の流量を計測する流量センサを有する。
雨量センサ121は、下水高度処理プロセス1に流入する付近の雨量を計測するセンサである。下水流入量センサ122は、下水高度処理プロセス1に流入する下水(以下、「流入下水」という。)の流量を計測するセンサである。流入TNセンサ123は、流入下水に含まれる全窒素量(TN)を計測するセンサである。流入TPセンサ124は、流入下水に含まれる全リン量(TP)を計測するセンサである。流入有機物センサ125は、流入下水に含まれる有機物量を計測するUV(吸光度)センサ又はCOD(化学的酸素要求量)センサである。
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)を計測するセンサである。
水温センサ134は、無酸素槽103又は好気槽104の少なくとも一箇所で水温を計測するセンサである。余剰汚泥SSセンサ135は、最終沈澱池105から引き抜かれる汚泥の固形物(SS)濃度を計測するセンサである。放流SSセンサ136は、最終沈殿池105から放流される水のSS濃度を計測するセンサである。汚泥界面センサ137は、最終沈殿池105の汚泥界面レベルを計測するセンサである。下水放流量センサ138は、放流水の流量を計測するセンサである。放流TNセンサ139は、放流水に含まれる全窒素量を計測するセンサである。放流TPセンサ140は、放流水に含まれる全リン量を計測するセンサである。放流有機物センサ141は、放流水に含まれる有機物量を計測するUVセンサ又はCODセンサである。
なお、上記の最初沈澱池余剰汚泥引き抜きポンプ111、ブロワ112、循環ポンプ113、返送汚泥ポンプ114及び最終沈澱池余剰汚泥引き抜きポンプ115のそれぞれは所定周期の制御で動作する。また、最初沈澱池余剰汚泥引き抜きポンプ111、ブロワ112、循環ポンプ113、返送汚泥ポンプ114及び最終沈澱池余剰汚泥引き抜きポンプ115のそれぞれが有する流量センサを含む上記の各センサは、所定周期でセンシング対象を計測する。以下、最初沈澱池余剰汚泥引き抜きポンプ111、ブロワ112、循環ポンプ113、返送汚泥ポンプ114及び最終沈澱池余剰汚泥引き抜きポンプ115のそれぞれが有する流量センサを総称して操作量センサと称し、その他のセンサを総称してプロセスセンサと称する。各操作量センサ及び各プロセスセンサは、所定周期のセンシングによって得られた計測データをプロセスデータとしてプロセス診断装置2に送信する。
プロセス診断装置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等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。診断装置プログラムは、電気通信回線を介して送信されてもよい。
データ収集部201は、各操作量センサ及び各プロセスセンサからプロセスデータを取得する。データ収集部201は、取得されたプロセスデータを収集データ保存部202に保存する。
収集データ保存部202は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。収集データ保存部202は、データ収集部201によって収集されたプロセスデータを記憶する。
データ抽出部203は、収集データ保存部202に保存されたプロセスデータから、異常診断に必要なデータ(以下、「診断用データ」という。)と、異常診断モデルの構築に必要なデータ(以下、「構築用データ」という。)と、を抽出する。具体的には、診断用データは過去の所定期間ごとに抽出されるプロセスデータであり、構築用データは過去の所定期間のプロセスデータがよりリアルタイムに近い周期で抽出されるプロセスデータである。データ抽出部203は、抽出した構築用データを異常診断モデル構築部204に出力し、抽出した診断用データを異常診断部208に出力する。
異常診断モデル構築部204は、データ抽出部203から出力された構築用データに基づいて異常診断モデルを構築する。異常診断モデル構築部204は、構築した異常診断モデルを最新モデルバッファ部205に出力する。
最新モデルバッファ部205は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を備え、異常診断モデル構築部204によって構築された最新の異常診断モデル(以下、「最新モデル」という。)を記憶するとともに、診断モデル保存部206に保存する。最新モデルバッファ部205は、自身が記憶する最新モデルを異常診断モデル更新部210に出力する。
診断モデル保存部206は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。診断モデル保存部206は、最新モデルバッファ部205から出力された最新モデルを記憶する。診断モデル保存部206は、所定期間ごとの構築用データに基づいて構築された最新モデルを時系列に蓄積していく。
アクティブモデルバッファ部207は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を備え、現在の異常診断に用いられている異常診断モデル(以下、「アクティブモデル」という。)を記憶するとともに、自身が記憶するアクティブモデルを異常診断部208及び異常診断モデル更新部210に出力する。なお、アクティブモデルの初期値には、自装置の動作開始後に最初に構築された異常診断モデルが設定されてもよいし、自装置においてアクティブモデルの初期値として予め登録された異常診断モデルが設定されてもよい。
異常診断部208は、データ抽出部203によって抽出されたリアルタイムの診断用データと、アクティブモデルバッファ部207から出力されたアクティブモデルとに基づいて、所定の監視周期で診断対象のプロセス状態を診断する。異常診断部208は、プロセス状態の診断結果を診断結果保存部209に保存する。
診断結果保存部209は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。診断結果保存部209は、異常診断部208の診断結果を記憶する。診断結果保存部209は、リアルタイムの診断用データに基づく診断結果を時系列に蓄積していく。
異常診断モデル更新部210は、最新モデルバッファ部205から出力された最新モデルと、アクティブモデルバッファ部207から出力されたアクティブモデルとに基づいて、アクティブモデルを更新すべきか否かを判定する。異常診断モデル更新部210は、アクティブモデルを更新すべきと判定した場合、アクティブモデルを最新モデルで更新する。
診断結果提供部211は、診断結果保存部209に蓄積された診断結果をユーザ(プラント管理者やオペレータ)に提供する。プロセス診断装置2がCRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示部を有する場合、診断結果提供部211は表示部に診断結果を表示させてもよい。また、プロセス診断装置2がユーザ端末との通信が可能な通信部を備える場合、診断結果提供部211は通信部を介して診断結果をユーザ端末に送信してもよい。この場合、診断結果提供部211は、所定のタイミングで診断結果を送信してもよいし、ユーザ端末からの要求に応じて診断結果を送信してもよい。
図2は、第1の実施形態のプロセス診断装置2の機能構成の詳細を示すブロック図である。異常診断モデル構築部204は、正規化部221と、モデル構築部222とを備える。正規化部221は、データ抽出部203によって抽出された所定期間のごとの構築用データを、各プロセス変数ごと位置母数(平均やメジアンなど)及び尺度母数(標準偏差やMAD(Median Absolute Deviation)など)に基づいて正規化する。
モデル構築部222は、多変量統計的プロセス管理(MSPC)手法により、各プロセス変数ごとに正規化された構築用データに基づいて異常診断モデルを構築する。具体的には、異常診断モデルは、構築用データについてローディング行列やスコア行列などを求める数式の集合として構築される。
また、異常診断モデル更新部210は、更新判定部231と、モデル更新部232とを備える。更新判定部231は、最新モデルとアクティブモデルとに基づいてアクティブモデルを更新すべきか否かを判定する。モデル更新部232は、更新判定部231がアクティブモデルを更新すべきと判定した場合に、アクティブモデルを最新モデルで更新する。
具体的には、更新判定部231は、アクティブモデルを更新すべきか否かを4つの判定部(第1判定部241、第2判定部242、第3判定部243及び第4判定部244)を備える。更新判定部231が備える4つの判定部は、いずれも異常診断モデルに関する所定の指標値に基づいて算出される最新モデルとアクティブモデルとの乖離度に基づいてアクティブモデルの更新要否を判定する。
第1判定部241は、各プロセス変数の位置母数のずれに基づいて乖離度を算出する。第2判定部242は、各プロセス変数の尺度母数のずれに基づいて乖離度を算出する。第3判定部243は、多変量解析手法によって算出されるローディング行列のずれに基づいて乖離度を算出する。第4判定部244は、多変量解析手法によって算出される寄与量ベクトル(スコア行列に相当)のずれに基づいて乖離度を算出する。更新判定部231は、上記4つの判定部によって算出された乖離度に基づいてアクティブモデルの更新要否を判定しモデル更新部232に出力する。モデル更新部232は、更新判定部231から出力されたアクティブモデルの更新要否に応じてアクティブモデルを最新モデルで更新する。
以下、第1の実施形態のプロセス診断装置2における異常診断モデルの更新方法について詳細に説明する。
[異常診断モデルの構築]
始めに、異常診断モデルの構築方法について説明する。まず、データ抽出部203は、所定周期TLごとに、蓄積されたプロセスデータの中から所定期間Lに取得されたプロセスデータを取得する。例えば、プロセスを過去1週間の傾向に基づいて1日ごとに制御する場合、TL=1日、L=7日(1週間)となる。構築用データの抽出を毎日0時に実行するように指定した場合、毎日0時に過去1週間分のプロセスデータが構築用データとして抽出される。このように抽出されるデータセットをZk(k=1、2、…)として識別する。ここで、kは周期TLで時系列に収集されたプロセスデータの識別番号である。例えば、動作開始初日がk=1に対応し、翌日がk=2に対応する。
例えば、このZkは行列で表され、変数の数に応じた列数と時系列に応じた行数とを持つ。診断対象を上記の下水高度処理プロセス1とした場合、上記行列の列数は操作量センサで計測されるプロセス変数の数(5)とプロセスセンサで計測されるプロセス変数の数(21)を合わせた26となる。また、例えば、各センサの計測周期が1分の場合、上記行列の行数は10080(=60[分]×24[時間]×7[日])となる。以下の説明では、行列Zkの行数をn、列数をmと記載する。
また、以下の説明では、周期TLで収集されるプロセスデータを識別する必要が無い場合は、行列Zkを添え字kを省略したZと記載する場合がある。
続いて、異常診断モデル構築部204は、多変量解析手法(例えば、PCAやPLS)により構築用データZから異常診断モデルを構築する。具体的には、PCAやPLSにより、構築用データZからQ統計量やT2統計量などの異常検出用データを生成する。なお、構築用データZにおいてアウトライア等の異常データが多数含まれる場合には、ロバスト性を考慮して拡張されたロバストPCAやロバストPLSなどの手法が用いられても良い。
また、各プロセス変数間に強い非線形の相関が想定される場合には、データ間の非線形を考慮して拡張されたカーネルPCAやカーネルPLSなどの手法が用いられても良い。また、プロセス変数の数mが極めて大きくなる場合には、診断に必要なプロセス変数を選択可能なスパースPCAやスパースPLSなどの手法が用いられても良い。このように、PCAやPLSには、その目的に応じて多様なバリエーションがあるが、本実施形態に用いられる多変量解析手法としては、以下に述べるローディング行列及びスコア行列を定義することができる手法であれば他のどのような手法であってもよい。以下では、一例として、一般的なPCAを用いた異常検出用データの生成方法について説明する。
まず、PCAの適用の前処理として、正規化部221がプロセス変数ごとの構築用データZを正規化する。例えば、構築用データZを正規化は次の式(1)によって表される。
式(1)において、iは行列Zの列数を表し、xiは正規化後の行列の列ベクトルを表す。ziは行列Zの列ベクトルを表す。すなわち行列Z=[z1、z2、…、zm]と表せる。μi及びσiは列ベクトルziの位置母数及び尺度母数であり、典型的には平均及び標準偏差である。なお、構築用データに異常データが含まれることを想定する場合には、位置母数として中央値(メジアン)などが用いられてもよいし、尺度母数として中央値絶対偏差(MAD)などが用いられても良い。また、この場合、ある割合のデータを除去して平均や標準偏差を求める刈り込み平均や刈り込み標準偏差などが用いても良い。以上のようにして正規化された構築用データXを次の式(2)で定義する。
次に、行列XにPCAを適用することにより次の式(3)を満たすローディング行列Pa及びスコア行列Taを取得する。
スコア行列Taは実数集合であり(Ta∈R)、n行m列の行列となる。スコア行列Taの行数nは構築用データのサンプル数に対応し、列数mは主成分の数に対応する。ローディング行列Paは実数集合であり(Pa∈R)、m行m列の行列となる。ローディング行列Paの行数mはプロセス変数の数に対応し、列数mは主成分の数に対応する。ローディング行列Paはプロセス変数と主成分との関係を示す。行列Tは、スコア行列Taのm個の列のうちのp(<<m)個からなる部分行列である。同様に、行列Pは、ローディング行列Paのm個の列のうちのp(<<m)個からなる部分行列である。このpは、ローディング行列Paが有するm個の列のうち、Q統計量及びT2統計量の算出にどれだけの量のプロセスデータを使用するかを調整するためのパラメータである。具体的には、この場合、Q統計量及びT2統計量の算出にはp列分のプロセスデータが使用され、m−p列分のプロセスデータは切り捨てられる。このように、取得されるプロセスデータを一部切り捨てて算出することにより、Q統計量及びT2統計量の算出に要する計算負荷を低減することができる。このようなデータの切り捨ては多変量解析の分野で一般的に用いられる手法であり、この調整パラメータpは打ち切り次数と呼ばれる。
また、誤差行列Eは実数集合であり(E∈R)、n行m列の行列である。誤差行列Eの行数nは上記のサンプル数に対応し、列数mはプロセス変数の数に対応する。以下では、スコア行列Taとその部分行列Tとを区別するため、前者を全スコア行列と称し、後者をスコア行列と称する。同様に、行列Paを全ローディング行列と称し、行列Pをローディング行列と称する。
ここで、異常診断モデルの構成要素となるQ統計量及びT2統計量は、上記のローディング行列Pと、スコア行列Tから導出されるΛとを用いて次の式(4)及び式(5)のように定義される。
式(4)におけるQ(x(t))は行列Xのt(1≦t≦m)番目の要素であるx(t)に関するQ統計量を表し、Iは適当なサイズの単位行列である。また、式(5)におけるT2(x(t))はx(t)に関するT2統計量を表し、Λはその対角要素がTT×Tの固有値の集合からなる対角行列である。これらの固有値は、主成分分析における各主成分方向の分散を表す。t(t)及びSは次の式(6)及び式(7)によって得られる値である。
このように、Q統計量及びT2統計量は、ローディング行列Pとスコア行列Tとに基づいて算出される。一方で、式(5)が示すように、T2統計量は構築用データx(t)と、ローディング行列Pと、Λとで表すことができる。一般に、主成分分析において、固有値は各主成分の説明能力(説明力ともいう)の高さを表すとされており、この固有値に基づいて、各主成分が現象に寄与している度合いを示す寄与率が求められる。この寄与率の算出のため、固有値を示すΛの対角成分のみを抽出した寄与量ベクトルλを次の式(6)のように定義する。
以上のことから、異常診断モデルには少なくともローディング行列Pと寄与量ベクトルλが算出可能であればよいことが分かる。そのため、異常診断モデルの構築手法には、ローディング行列P及びスコア行列Tを算出可能であれば、PCAやPLSに限らず他のどのような多変量解析手法が用いられても良い。なお、本実施形態のプロセス診断装置2では、アクティブモデルの更新要否の判断にプロセスデータの位置母数及び尺度母数を用いる。そのため、異常診断モデル構築部204は、ローディング行列P、寄与量ベクトルλ、位置母数μ及び尺度母数σを異常診断モデルの構成要素として取得する。ここで、位置母数μ及び尺度母数σを次の式(7)及び式(8)のように定義する。
式(7)において、μt(1≦t≦m)は構築用データXのt番目の要素についての位置母数を表す。式(8)において、σt(1≦t≦m)は構築用データXのt番目の要素についての尺度母数を表す。
[異常診断モデルを用いた異常診断]
次に、異常診断モデルを用いた異常診断方法について説明する。異常診断部208は、データ抽出部203からリアルタイムに出力される診断用データと、アクティブモデルバッファ部207に保持されているアクティブモデルとに基づいて対象プロセスの異常診断を行う。具体的には、異常診断部208は、診断用データから取得されるQ統計量及びT2統計量を、予め設定された所定の閾値と比較することによりプロセスの異常を診断する。この閾値は、プロセスの状態変化の検出や異常兆候の検出に大きく関わるパラメータであるため、その設定方法は重要である。以下、この閾値の設定方法について説明する。
この閾値の代表的な設定方法として、Q統計量の統計的信頼限界値とT2統計量に関する統計的信頼限界値を用いる方法がある。この場合、Q統計量の統計的信頼限界値Qlimitは次の式(9)のように表される。
式(9)におけるpは構築用データの打ち切り次数である。cαは、信頼区間の限界が1−αである場合における標準正規分布の標準偏差のずれである。例えば、α=0.01の場合のcαは2.53であり、α=0.05の場合のcαは1.96である。また、λiは上述の寄与量ベクトルの各要素を表す。すなわち、上記のΘiは打ち切られた構築用データに対応する寄与量ベクトルの要素のi乗和である。一方、T2統計量の統計的信頼限界値T2 limitは次の式(10)のように表される。
式(9)同様に、式(10)におけるpは構築用データの打ち切り次数である。nは構築用データの全データ数である。F(p,n−p,α)は、自由度が(p,n−p)であり、信頼限界をαとした場合のF分布である。一般的には、α=0.01又は0.05とされることが多い。
MSPCを用いたプロセスの異常診断では、構築用データに代えて診断用データを式(4)及び式(5)に適用して得られるQ統計量及びT2統計量を、式(9)及び式(10)で予め決定された統計的信頼限界値と比較することによりプロセスの異常が検出される。さらに、異常が検出された場合には、異常診断に用いられたプロセス変数が、検出された異常に与える影響力(すなわち説明能力)の大きさを示す寄与量を算出することで、検出された異常に大きな影響を与えているプロセス変数の推定や、異常検出の妥当性の判断などが行われる。なお、寄与量は式(4)及び式(5)から取得することが可能であるが、このような寄与量の取得は多変量解析の分野で一般的な手法である。そのため、ここでは寄与量の算出方法の詳細な説明を省略する。
以上により、MSPCに基づく異常診断モデルは、各プロセス変数の正規化パラメータである位置母数及び尺度母数と、Q統計量及びT2統計量と、Q統計量及びT2統計量の統計的信頼限界値と、各統計的信頼限界値に対する各プロセス変数の寄与量と、で構成されることが分かる。Q統計量、T2統計量、各統計量の統計的信頼限界値及び各プロセス変数の寄与量の取得には、式(4)、式(5)、式(9)及び式(10)から、ローディング行列Pと、Λと、データ数nと、プロセス変数の数mと、打ち切り次数pとが必要であることが分かる。これらのうち、データ数n及びプロセス変数の数mは通常、変化しない固定値である。また一般に、打ち切り次数pはΛに基づいて決定される。すなわち、異常診断モデルに必要な情報は、ローディング行列P及びΛということになる。
[異常診断モデルの更新]
最新モデルバッファ部205は、周期TLごとに構築される最新の異常診断モデル(最新モデル)を保持するとともに、診断モデル保存部206に保存する。診断モデル保存部206には、構築された最新モデルが順次保存されていくことにより、過去に構築された異常診断モデルが蓄積される。異常診断モデル更新部210は、最新モデルバッファ部205からその時点における最新モデルを取得するとともに、アクティブモデルバッファ部207からその時点におけるアクティブモデルを取得し、更新判定部231に出力する。更新判定部231は、取得された最新モデル及びアクティブモデルを第1判定部241〜第4判定部244にそれぞれ出力する。
<1.位置母数に基づく判定>
第1判定部241は、最新モデルの位置母数とアクティブモデルの位置母数との乖離度を算出し、算出された乖離度を所定の閾値と比較することによりアクティブモデルの更新要否を判定する。位置母数は、各プロセス変数の物理的な次元の異なりにより、各要素の大きさや符号などが異なる場合がある。そのため、第1判定部241は、まず、位置母数の正規化を行う。ここで、以下の説明のためアクティブモデルの位置母数をμa、最新モデルの位置母数をμbと定義する。
なお、正規化には種々の方法がある。例えば、アクティブモデルの位置母数を基準とする方法が挙げられる。この場合、正規化後の位置母数μa’及びμb’は次の式(11)及び式(12)のように表される。
また、別の正規化の方法として、各プロセス変数の尺度母数を基準とする方法が挙げられる。この場合、正規化後の位置母数μa’及びμb’は次の式(13)〜式(15)のように表される。
式(13)において、σa_i(「_」はiがσaの下付きの添え字であることを表し、以下同様である。)は尺度母数σaのi番目の要素を表し、σb_iは尺度母数σbのi番目の要素を表す。このように正規化された位置母数μa’及びμb’に基づいて、位置母数の乖離度dμを例えば各位置母数ベクトルの距離(又は内積)として定義する。この場合、乖離度dμは次の式(16)のように表される。
式(16)における「||ベクトル||」の表記はベクトルのノルム(例えばユークリッドノルム、L2ノルムなど)を表す。式(16)は、dμをμa’とμb’との差のL2ノルムと定義した例である。この場合、μa’とμb’が一致する場合にはdμ=0となる。また、位置母数を式(11)及び式(12)で正規化した場合、μbがμaのK倍となった場合にdμ=K−1となる。また、位置母数を式(13)及び式(14)で正規化した場合、|μa−μb|がσのK倍となった場合にdμ=Kとなる。したがって、位置母数の乖離度の閾値は、μaやσを基準とするμbのずれの大きさ(すなわちK)で設定することができる。
ただし、L2ノルムは、ベクトルの各要素の平方二乗和での評価となるため閾値の設定が難しい場合もある。そのような場合、乖離度の閾値は、各要素の絶対値の総和で乖離度を表すL1ノルムや、各要素の絶対値の最大値で乖離度を表すL∞ノルムで定義されてもよい。この場合、位置母数の乖離度dμは次の式(17)及び式(18)のように表される。
式(17)のようにL1ノルムで乖離度を定義した場合、ベクトルの各要素の差の絶対値の総和で乖離度が評価されるため、閾値はプロセス変数の数mを考慮して設定される必要がある。これに対して式(18)のようにL∞ノルムで乖離度を定義した場合、ベクトルの各要素ごとに評価された差の最大値が乖離度となる。そのため、閾値をより直接的に設定することができる。具体的には、μbがμaの2倍以上乖離したことを検出しようとする場合や、|μa−μb|がσだけ乖離したことを検出しようとする場合には閾値を1とすることができる。
このように、第1判定部241は、アクティブモデルと最新モデルとの間の位置母数の乖離度を予め設定された閾値と比較することによってアクティブモデルの更新要否を判定する。具体的には、第1判定部241は、位置母数の乖離度が閾値を越えた場合にアクティブモデルの更新が必要であると判定し、位置母数の乖離度が閾値以下である場合にアクティブモデルの更新は不要であると判定する。第1判定部241は、位置母数に基づくアクティブモデルの更新要否の判定を最新モデルの構築周期に合わせて実行し、判定結果をモデル更新部232に出力する。
<2.尺度母数に基づく判定>
第2判定部242は、最新モデルの尺度母数とアクティブモデルの尺度母数との乖離度を算出し、算出された乖離度を所定の閾値と比較することによりアクティブモデルの更新要否を判定する。第2判定部242による尺度母数に基づく乖離度の判定は、位置母数を尺度母数に置き換えることで第1判定部241と同様の方法で行うことができる。この場合、L2ノルム、L1ノルム又はL∞ノルムで定義した尺度母数の乖離度は次の式(19)〜式(21)のように表される。
第2判定部242は、第1判定部241と同様に、尺度母数の乖離度が閾値を越えた場合にアクティブモデルの更新が必要であると判定し、尺度母数の乖離度が閾値以下である場合にアクティブモデルの更新は不要であると判定する。第2判定部242は、尺度母数に基づくアクティブモデルの更新要否の判定を最新モデルの構築周期に合わせて実行し、判定結果をモデル更新部232に出力する。
<3.ローディング行列に基づく判定>
第3判定部243は、最新モデルのローディング行列とアクティブモデルのローディング行列との乖離度を算出し、算出された乖離度を所定の閾値と比較することによりアクティブモデルの更新要否を判定する。ローディング行列の類似性を評価する方法の一つとして、2つのローディング行列の正準角に基づいて乖離度を定義する方法がある。アクティブモデルのローディング行列Paと、最新モデルのローディング行列Pbとの間の正準角は、A=Pa TPbとして生成される行列Aを特異値分解することによって取得できることが知られている。このようにして得られる正準角をθi(i=1、2、…、p)とした場合、ローディング行列の乖離度は、正準角θiの重み付き和で定義することができる。ここで各正準角θiの重みをwi(i=1、2、…、p)とすると、ローディング行列の乖離度dPは次の式(22)のように表される。
ここで、各正準角θiに対応する重みwiは、例えば、主成分の寄与量ベクトルに比例した重みで定義することができる。具体的には、重みwiを所定の係数kを用いてwi=k×λiと定義することができる。なお、式(22)では、dPの値域が0〜1となるようにローディング行列を正規化しておくことが望ましい。また、このような正準角を用いた乖離度の定義では、行列Aの特異値分解の複雑さに起因して計算負荷が高くなる可能性がある。そのような場合、位置母数や尺度母数のように乖離度をノルムで定義することも可能である。この場合、最も簡単な例として、ローディング行列のp個の列ベクトル(以下、「ローディングベクトル」という。)を並べた1つのベクトルをアクティブモデル及び最新モデルでそれぞれ構成し、それらのベクトル間のノルムを乖離度として定義することができる。この場合の乖離度は、例えばL2ノルムを用いて次の式(23)のように定義することができる。
式(23)において、pa’及びpb’は、Pa及びPbの列ベクトルをそれぞれ縦に並べたベクトルをノルムが1になるように正規化されたベクトルである。式(23)のように乖離度をノルムで定義した場合、特異値分解などの複雑な処理を行わずに簡単な代数演算のみで乖離度を計算することができる。なお、式(23)のように乖離度をノルムで定義する場合においても式(22)と同様に、Pa及びPbの各列ベクトルに対して寄与量ベクトルλに応じた重み付けを行っても良い。
第3判定部243は、第1判定部241及び第2判定部242と同様に、ローディング行列の乖離度が閾値を越えた場合にアクティブモデルの更新が必要であると判定し、ローディング行列の乖離度が閾値以下である場合にアクティブモデルの更新は不要であると判定する。第3判定部243は、ローディング行列に基づくアクティブモデルの更新要否の判定を最新モデルの構築周期に合わせて実行し、判定結果をモデル更新部232に出力する。
<4.寄与量ベクトルに基づく判定>
第4判定部244は、最新モデルの寄与量ベクトルとアクティブモデルの寄与量ベクトルとの乖離度を算出し、算出された乖離度を所定の閾値と比較することによりアクティブモデルの更新要否を判定する。この場合、寄与量ベクトルの乖離度を、第1判定部241及び第3判定部243と同様にノルムで定義することも可能であるが、寄与量ベクトルの各要素はローディング行列における各ローディングベクトル方向の分散を表す指標であるため、ベクトルの差で定義されるノルムによる評価が好ましくない場合もある。
ところで、上述のとおり寄与量ベクトルは、異常診断モデルの構築に用いられる構築用データの打ち切り次数pの決定にも用いられる。例えば、打ち切り次数は、使用するプロセスデータに対応するプロセス変数の寄与量の総和によって決定される。これは、寄与量の総和(以下、「累積寄与量」という。)が、事象の分析(説明)に必要なプロセス変数の満足度を表すと考えられるためである。このように寄与量は、差よりもむしろ和で比較されることに意味のあるパラメータである。そのため、ここでは、寄与量ベクトルに基づく乖離度を次の式(24)のように定義する。
式(24)においてλa’はアクティブモデルの寄与量ベクトルを表し、λb’は最新モデルの寄与量ベクトルを表す。なお、このような乖離度を定義した場合、乖離度の値域が分からず、閾値の設定が難しい場合がある。そのため、そのような場合には、寄与量ベクトルに代えて、累積寄与率で乖離度を定義してもよい。この場合の乖離度は、次の式(25)のように表される。累積寄与率は、全プロセス変数の累積寄与量に対して、分析に使用するプロセス変数の累積寄与量が占める割合である。
式(25)においてCλ_a(_aは、aがλの添え字であることを意味する)は、アクティブモデルのローディング行列についての累積寄与率を表し、Cλ_bは、最新モデルのローディング行列についての累積寄与率を表す。通常、打ち切り次数pは、この累積寄与率が0.8〜0.9程度(80%から90%)となるように設定される。このように定義される累積寄与率は0〜1の値となるため閾値の設定が容易である。そして、この場合、累積寄与率の乖離度の閾値αを0〜1の範囲の値として設定することができる。例えば、10%の累積寄与率の乖離を検出しようとする場合にはα=0.1と設定すればよい。
第4判定部244は、第1判定部241〜第3判定部243と同様に、寄与量ベクトルに基づく乖離度が閾値を越えた場合にアクティブモデルの更新が必要であると判定し、寄与量ベクトルに基づく乖離度が閾値以下である場合にアクティブモデルの更新は不要であると判定する。第4判定部244は、寄与量ベクトルに基づくアクティブモデルの更新要否の判定を最新モデルの構築周期に合わせて実行し、判定結果をモデル更新部232に出力する。
以上、アクティブモデルと最新モデルとの間の乖離度を、主にベクトルのノルムで定義して評価する方法を説明したが、乖離度の定義はベクトルのノルムによるもの限定されるものではない。乖離度は、データセット間の乖離の度合いを示す指標値として定義されるものであれば、他のどのような方法で定義されたものであってもよい。例えば、乖離度は、機械学習や多変量統計解析の分野で知られている種々の類似度や異常度を示す指標値を用いて定義されてもよい。いずれにせよ、乖離度は、処理に求められる精度や性能、ユーザにとっての分かりやすさなど、診断対象のプロセスに応じて要求される諸事項が満たされるよう任意に設計されてよい。
モデル更新部232は、第1判定部241〜第4判定部244の判定結果に基づいて、アクティブモデルの更新要否について最終的な判定(以下、「最終判定」という。)を行う。モデル更新部232は、最終判定においてアクティブモデルの更新が必要であることが判定された場合にアクティブモデルを最新モデルで更新する。なお、モデル更新部232が、第1判定部241〜第4判定部244の判定結果に基づいてどのような最終判定結果を出すかは任意である。例えば、モデル更新部232は、第1判定部241〜第4判定部244の全てがアクティブモデルの更新が必要であると判定した場合にアクティブモデルを更新してもよいし、第1判定部241〜第4判定部244のうちの少なくとも一つがアクティブモデルの更新が必要であると判定した場合にアクティブモデルを更新してもよい。
このように構成された第1の実施形態のプロセス診断装置2は、構築用データに基づいて異常診断モデルを所定の構築周期で構築するモデル構築部222と、アクティブモデルと、最新モデルとの乖離度を構築周期より短い更新周期で算出し、算出された乖離度に基づいてアクティブモデルの更新要否を判定する更新判定部231と、更新判定部231の判定結果に応じて最新モデルでアクティブモデルを更新するモデル更新部232とを備える。このような構成を備えることにより、プロセス診断装置2は、異常診断モデルをより適切なタイミングで更新することができる。
(第2の実施形態)
図3は、第2の実施形態のプロセス診断装置2aの機能構成の詳細を示すブロック図である。プロセス診断装置2aは、適用前モデルバッファ部212及び前回モデルバッファ部213をさらに備える点、更新判定部231に代えて更新判定部231aを備える点、モデル更新部232に代えてモデル更新部232aを備える点で第1の実施形態のプロセス診断装置2と異なる。
適用前モデルバッファ部212及び前回モデルバッファ部213は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を備えて構成される。適用前モデルバッファ部212は、所定の条件を満たす最新モデルを適用前モデルとして記憶する。適用前モデルの初期値には、自装置の動作開始後の最初の構築周期で構築された最新モデルが設定されてもよいし、アクティブモデルの初期値が設定されてもよい。前回モデルバッファ部213は、現在のアクティブモデルに更新される直前のアクティブモデルを前回モデルとして記憶する。前回モデルの初期値にはアクティブモデルの初期値が設定される。
更新判定部231aは、最新モデルと適用前モデルとに基づいて適用前モデルの更新要否を判定するとともに、適用前モデルとアクティブモデルとに基づいてアクティブモデルの更新要否を判定する。更新判定部231aは、第1の実施形態と同様に、比較対象となるモデル間での各指標値(具体的には、位置母数、尺度母数、ローディング行列及び寄与量ベクトル)の乖離度に基づいて適用前モデル及びアクティブモデルの更新要否を判定する。
モデル更新部232aは、適用前モデルの更新要否の判定結果に応じて適用前モデルを最新モデルで更新するとともに、アクティブモデルの更新要否の判定結果に応じてアクティブモデルを適用前モデルで更新する。また、モデル更新部232aは、所定の条件に基づいてアクティブモデルを前回モデルで更新する機能を有する。モデル更新部232aがアクティブモデルを前回モデルに更新する条件は、アクティブモデルを前回モデルに戻す必要性に応じて任意に設定されてよい。例えば、モデル更新部232aは、前回モデルへのアクティブモデルの更新をユーザの更新操作に応じて実行してもよいし、適用前モデルでのアクティブモデルの更新後における異常診断部208の異常検出頻度が所定の閾値を越えたことを契機に実行してもよい。
このように構成された第2の実施形態のプロセス診断装置2aは、アクティブモデルと最新モデルとの乖離度に応じて最新モデルに更新される適用前モデルと、アクティブモデルとの乖離度に基づいてアクティブモデルの更新要否を判定する更新判定部231aを備える。このような構成を備えることにより、プロセス診断装置2aは、より長期的なプロセス状態の変化に応じて異常診断モデルを更新することが可能となる。さらに、プロセス診断装置2aは、アクティブモデルを、最新モデルではなく適用前モデルで更新することにより、異常診断モデルによる異常診断の基準を、プロセス状態の変化に対してより緩やかに変更することができる。そのため、プロセス診断装置2aは、診断対象のプロセスの異常が過剰に検出されることを抑制することができる。
また、プロセス診断装置2aは、所定の条件に基づいてアクティブモデルを前回モデルで更新するモデル更新部232aを備える。このような構成を備えることにより、プロセス診断装置2aは、アクティブモデルを前回モデルに戻すことにより、アクティブモデルの更新に起因して生じた不具合を迅速に解消することができる。
(第3の実施形態)
図4は、第3の実施形態のプロセス診断装置2bの機能構成の詳細を示すブロック図である。プロセス診断装置2bは、運用変更監視部214をさらに備える点で第3の実施形態のプロセス診断装置2aと異なる。運用変更監視部214は、診断対象のプロセスについての運用の変更を監視する機能を有する。具体的には、運用変更監視部214は、位置母数の変化を監視することにより対象プロセスの運用の変更を検出する。
例えば、プラントなどで意図的に運用変更を行う場合、プロセスの操作量となるプロセス変数が急激に変化する場合が多い。特に、上記の下水高度処理プロセスでは、最初沈澱池余剰汚泥引き抜きポンプ111、ブロワ112、循環ポンプ113、返送汚泥ポンプ114及び最終沈澱池余剰汚泥引き抜きポンプ115が有する操作量センサの計測値に大きな変化が現れることが多い。例えば、下水高度処理プロセスにおいて、汚泥の返送率の設定値を変更した場合、返送汚泥ポンプ114の流量センサで計測される返送流量はステップ状に大きく変化する。このような設定変更によってプロセスの状態は徐々に変化していく。そのため、第1の実施形態や第2の実施形態で説明した更新方法により、プロセスの異常診断モデルはプロセスの状態の変化に応じて更新される。
しかしながら、運用が変更された直後においては返送流量だけが変化し、プロセスの状態はそれまでとあまり変わらない状況が継続される場合がある。例えば、上述した下水高度処理プロセスのような水処理プロセスを実現するプラントでは、被処理水の処理状況はMLSS等で計測される汚泥の性状等で判断される場合が多く、この汚泥の性状等の変化は極めて緩やかな変化である。具体的には、汚泥の性状等は日単位又は週単位で変化する。そのため、このようにプロセスの状態の変化に長い時間を要するプラントでは、プロセスの状態に大きな変化がなく、操作量(返送流量)の位置母数だけが大きく変化した状態がしばらく継続する。
そのため、このようなプラントにおいて、同じアクティブモデルが継続して使用され続けると、Q統計量やT2統計量が継続して異常として検出されてしまう場合がある。このような運用変更に起因して検出される異常は、上述の更新方法で異常診断モデルが更新されていくことにより、時間の経過に応じて検出されなくなっていくものであるが、異常診断モデルに用いられる位置母数μは所定のデータ抽出期間Lのプロセスデータの平均や代表値であるため、異常が検出されないようになるまでには少なくともデータ抽出期間L程度の時間が必要となる。そのため、運用が変更されてから期間L程度の時間が経過するまでの間は、継続的に異常が検出されることになる。このような理由により、プロセス状態の診断においては、異常を検出することに加えて、運用変更の有無を検出できることが望ましい。また、このような異常の検出が運用変更に起因したものであるか否かを判断するためには、運用変更の有無は期間Lよりも短い周期で検出されることが望ましい。
そのため、運用変更監視部214は、位置母数の変化を最新モデルの構築周期TLより短く、かつ異常診断の周期TH以上の長さの周期TMで位置母数の変化を監視する。すなわち、TH≦TM<TLである。例えばTH=1分、TL=1日とした場合、位置母数の監視は1分〜1日の範囲の周期で実行される。なお、この監視周期は、可能な限り異常診断の周期THに近いほうが好ましい。そのため、以下の説明では、TM=THと仮定する。
具体的には、運用変更監視部214は、最新モデルの構築の際、構築用データの抽出期間である期間Lについての位置母数μに加えて、最新モデルの構築周期である期間TLについての位置母数μcを算出する。例えば、位置母数μをL=7日の平均値とした場合、位置母数μcをTL=1日の平均値として算出する。
一方で、運用変更監視部214は、異常診断の周期TH(=監視周期TM)ごとに、周期THの間に取得されたプロセスデータと位置母数μcとの乖離度を判定する。具体的には、運用変更監視部214は、次の式(26)で位置母数の乖離度を判定する。
式(26)において、x(t)は周期THにおいて取得されたプロセスデータのうちのt番目のプロセスデータを意味している。ここで、x(t)は瞬時値であり、ばらつきが大きいと考えられるため、例えばkの値はk=3〜6程度に設定されるとよい。
そして、プロセスデータと位置母数とが十分に乖離している(すなわち、式(26)が真である)場合、運用変更監視部214は運用変更が行われた可能性があると判定する。ただし、x(t)は瞬時値であるため異常値などの影響を受けやすく、瞬間的に式(26)が成立してしまう状況が発生しうる。そのため、式(26)のみで運用変更の発生を推定すると、運用変更の発生が誤検出される可能性がある。そこで、運用変更監視部214は、式(26)を満たす状況(以下、「乖離状態」という。)が所定期間以上継続されているか否かで運用変更の発生有無を判定する。
ここで、乖離状態の継続時間の閾値をTJ=Cmax×TMと定義する。これはすなわち、乖離状態が、Cmax回の診断周期TM(=TH)の間継続して検出された場合に運用変更が発生したと判定することを意味している。この場合、運用変更監視部214は、乖離状態が未検出の状態から初めて検出された時点でカウンタCをC=1に初期化し、その後の診断周期で継続して乖離状態が検出されるごとにカウンタCをインクリメントしていく。なお、運用変更監視部214は、初回検出後の乖離状態の判定を式(26)とは異なる次の式(27)で判定する。
式(27)において、μdは各監視周期TMにおけるプロセスデータの位置母数である。ここで重要なことは、式(26)では位置母数の乖離度が閾値kを越えたことを判定しているのに対し、式(27)では位置母数の乖離度が所定の閾値k’を越えないことを判定していることである。この所定の閾値k’は式(26)の閾値k以下に設定される必要があり、k’=0.5k程度に設定されることが望ましい。この理由を図5を参照して説明する。
図5は、運用変更によるプロセスデータの変化の具体例を示す図である。図5の横軸は時間を表し、縦軸はプロセスデータの値(計測値)を表す。上述したとおり、運用変更の前後では位置母数が大きく変化する。図5は、時刻t0における運用変更により位置母数μが、位置母数μdに変化した様子を表している。また、時間軸に示した時刻t1、t2及びt3は位置母数μの更新タイミング(すなわち構築周期)の例を表している。この場合、時刻t0に行われた運用変更による乖離状態の発生は、式(26)に基づいて、例えば時刻t4のタイミングで検出される。この場合、計測値の乖離度を、乖離状態の初回検出以降も同じ位置母数μで判定したのでは、位置母数μの次の更新タイミング(図5ではt3)が到来するまでの間、常に運用変更が発生したと判定されてしまう。そのため、運用変更監視部214は、乖離状態の初回検出以降については、計測値の乖離度を、監視周期ごとの位置母数μdとの比較によって判定する。
また、ここで仮に初回検出以降における乖離度の閾値k’をk’=kとした場合、初回検出以降の計測値の乖離度は、運用変更前と同様の振れ幅(すなわちkσ)を閾値として判定されることになる。この場合、瞬間的な計測値の変動が運用変更と誤検出されてしまう可能性がある。そのため、運用変更が行われた(すなわち位置母数が変化した)ということをより確実に判定するためには、k’をk’=0.5k程度とするのが好ましい。初回検出以降の閾値k’がこのように設定されることにより、運用変更監視部214は、初回検出以降の計測値が位置母数μよりも位置母数μdに近い位置に存在し続けない限り運用変更とは判定せず、運用変更が行われたことをより正確に検出することが可能となる。なお、運用変更監視部214によって監視周期ごとに更新されるμdは次の式(28)のように算出される。
式(28)は、初回検出以降の計測値の位置母数が、初回検出以降の計測値で逐次更新されることを表している。運用変更監視部214は、上述の判定を監視周期TMごとに繰り返し実行した結果、C=Cmaxとなった場合に運用変更が行われたと判定する。そして、運用変更監視部214は、運用変更の検出に応じて、検出時の位置母数μdでアクティブモデルの位置母数μを更新する。
なお、監視周期TMを、TH<TM<TLの間で任意に設定することも可能である。この場合、式(26)及び式(27)のx(t)を監視周期TMの平均値に置き換えることにより、上記同様の手法で運用変更を検出することができる。ここで、TM>TL/2となるような監視周期TMを設定する場合、カウンタCが初期値から変動しない可能性がある。そのため、このような場合には式(27)による乖離度の判定を行わず、式(26)のみで乖離度を判定してもよい。
また、構築周期TLごとに算出されるμcをμc=μとして位置母数の監視を行っても良いが、この場合μcの更新周期が長くなってしまうため、計測値の乖離が、ドリフト現象のように緩やかに変化する現象と、運用変更のように急激に変化する現象とのいずれの現象によるものかを識別することが困難になる。一般にドリフト現象が異常とみなされるのに対して運用変更は意図されたプロセスの変化である。そのため、上述のように更新周期TMを可能な限り診断周期THに近づけることで、運用変更をドリフト現象から分離して検出可能とする方が望ましい。ただし、運用変更をドリフト現象から分離して検出する必要がない場合においては、μc=μとして位置母数の監視を行っても良い。
なお、ドリフト現象は、構築周期TLでの異常診断モデルの更新により、異常診断部208によって検出可能である。そのため、このような異常診断が可能なプロセス診断装置2bにおいては、運用変更は必ずしもドリフト現象から分離して検出されなくてもよい。ただし、異常診断モデルの更新よりも早いタイミングでドリフト現象を検出したい場合には、診断周期THごとに取得されるμcと構築周期TLごとに取得されるμとのずれを次の式(29)で判定することにより、ドリフト現象を検出するようにしてもよい。
式(29)の判定を、運用変更の監視周期TMに合わせて実行することにより、ドリフト現象をより早いタイミングで検出することができる。なお、式(29)によってドリフト現象が検出された場合、運用変更監視部214は、ドリフト現象を検出した時点の位置母数μcでアクティブモデルの位置母数μを更新してもよい。
このように構成された第3の実施形態のプロセス診断装置2bは、構築周期ごとに更新される最新モデルの位置母数と、構築周期より短い周期ごとに取得される時系列データの位置母数との乖離度に基づいて、プロセスの運用変更等によるプロセスデータの急激な変化を検出する運用変更監視部214を備える。このような構成を備えることにより、プロセス診断装置2bは、運用変更等によるプロセス状態の変化を、構築周期よりも早く検出することができる。
なお、運用変更やドリフト現象の検出時におけるアクティブモデルの更新は、適用前モデルに対しても行われることが望ましい。適用前モデルの更新をアクティブモデルの更新に合わせて行うことで、異常診断モデルの更新時に、アクティブモデルの位置母数が元の位置母数に戻されてしまうことを防ぐことができる。
(第4の実施形態)
図6は、第4の実施形態のプロセス診断装置2cの機能構成の詳細を示すブロック図である。プロセス診断装置2cは、妥当性判定部215をさらに備える点で、第3の実施形態のプロセス診断装置2bと異なる。妥当性判定部215は、アクティブモデルの妥当性を判定し、判定結果に応じて前回モデルでアクティブモデルを更新する。
具体的には、妥当性判定部215は、最新モデルの構築周期TLと同じ周期で、診断結果保存部209に蓄積された異常診断結果から構築周期TL分の診断結果を取得する。この診断結果は、具体的には、過去の診断において診断用データから生成されたQ統計量及びT2統計量である。妥当性判定部215は、取得した構築周期TL分のQ統計量及びT2統計量の位置母数を算出する。上記同様、ここで取得される位置母数も、中央値や刈り込み平均などの代表値である。妥当性判定部215は、Q統計量の位置母数をQmed、T2統計量の位置母数をT2 medとして算出する。
一方、妥当性判定部215は、最新の構築周期TLで算出されたQ統計量及びT2統計量の位置母数と、自装置に予め設定された各位置母数の閾値(Qlim及びT2 lim)との比較を、アクティブモデルの更新に応じて実行する。Qmed又はT2 medの少なくともいずれか一方が閾値を超過している場合、多くのプロセスデータが異常値を示していると考えられる。そのためこの場合、妥当性判定部215は異常診断に適用中のアクティブモデルが適切でないと判定する。妥当性判定部215は、適用中のアクティブモデルが適切でないと判定した場合、アクティブモデルを前回モデルで更新する。なお、妥当性判定部215は、旧戻ししたアクティブモデルが、適用前モデルによって再び適切でない異常診断モデルに更新されてしまうことを防ぐため、アクティブモデルの旧戻し時には、適用前モデルについても前回モデルで更新する。
このように構成された第4の実施形態のプロセス診断装置2cは、アクティブモデルの更新の前後におけるQ統計量及びT2統計量の位置母数の乖離度に基づいて、アクティブモデルの妥当性を判定する妥当性判定部215を備える。このような構成を備えることにより、プロセス診断装置2cは、更新されたアクティブモデルの妥当性を診断することが可能となる。
以下、実施形態のプロセス診断装置の変形例について説明する。
上記の運用変更監視部214は、第1の実施形態のプロセス診断装置2に備えられても良い。同様に、妥当性判定部215は、第1の実施形態のプロセス診断装置2に備えられても良い。また、第4の実施形態のプロセス診断装置2cは、運用変更監視部214を備えない装置として構成されてもよい。上述の各実施形態のプロセス診断装置は、必ずしも1台の装置として構成される必要はなく、プロセス診断装置の各機能部を有する複数の装置によってプロセス診断システムとして構成されてもよい。また、実施形態のプロセス診断装置の診断対象となるプロセスは、上記の下水高度処理プロセス1以外のどのようなプロセスであってもよい。
以上説明した少なくともひとつの実施形態によれば、構築用データに基づいて異常診断モデルを所定の構築周期で構築するモデル構築部と、アクティブモデルと、最新モデルとの乖離度を構築周期より短い更新周期で算出し、算出された乖離度に基づいてアクティブモデルの更新要否を判定する更新判定部と、更新判定部の判定結果に応じて最新モデルでアクティブモデルを更新するモデル更新部とを持つことにより、異常診断モデルをより適切なタイミングで更新することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。