Comments
Description
Transcript
修士論文 Levenshtein 距離に基づく 連鎖アラームの類似性解析
NAIST-IS-MT1151003 修士論文 Levenshtein 距 離 に 基 づ く 連鎖アラームの類似性解析 赤塚 祥太 2013 年 3 月 15 日 奈良先端科学技術大学院大学 情報科学研究科 情報科学専攻 本論文は奈良先端科学技術大学院大学情報科学研究科に 修 士 (工 学 ) 授 与 の 要 件 と し て 提 出 し た 修 士 論 文 で あ る . 赤塚祥太 審査委員: 杉本 謙二 教授 (主指導教員) 飯田 元 教授 (副指導教員) 平田 健太郎 准教授 (副指導教員) 野田 賢 教授 (福岡大学) Levenshtein距離に基づく連鎖アラームの類似性解析* 赤塚 祥太 内容梗概 本論文ではプラントアラームシステムの適正化を目的として, Levenshtein距離を用い た連鎖アラーム間の類似度評価法を提案する. Levenshtein距離は, 挿入, 削除, 置換とい う三つの操作によってある文字列を別の文字列に変形するのに必要な手順の最小回数と して定義される. 本手法ではまず, EEMUAガイドラインに基づいてプラント運転ログデ ータ中の発報頻度の高い時間帯に発報したアラームを連鎖アラームとして抽出する. 次 に, 抽出された連鎖アラーム群に対して, Levenshtein距離に基づいた類似度評価指標に より, 全ての連鎖アラーム間の類似度を算出する. 最後に, 算出された類似度を基に, 類 似度の高い連鎖アラーム同士を集約することで, 発生パターンの似ている, すなわち同 一のマルファンクションによって生じたと考えられる連鎖アラーム同士をグループ化す る. 提案手法を共沸蒸留プロセスの運転ログデータに適用した結果, 連鎖アラーム群間 の類似度を正しく判定できることを確認した. キーワード プラントアラームシステム, 連鎖アラーム, Levenshtein距離, 類似度 *奈良先端科学技術大学院大学情報科学研究科情報科学専攻修士論文, NAIST-IS-MT1151003, 2013年3 月15 日. i Similarity Analysis of Sequential Alarms by Using Levenshtein Distance * Shota Akatsuka Abstract In this study, we propose an analysis method of similarities between sequential alarms by using the Levenshtein distance, which is a string metric for measuring the difference between two sequences defined as the minimum number of edits needed to transform a string into another with edit operations such as insertion, deletion, and substitution of a single character. The proposed method first extracts sequential alarms from plant operation data, which consists of occurrence times and tag names of alarms and operations, based on EEMUA’s guide line. The similarities between all combinations of any two sequential alarms in the plant operation data are evaluated using the Levenshtein distance. Sequential alarms are classified into groups according to similarities between them. We applied the method to the simulation data of an azeotropic distillation column. It was concluded that the method is able to correctly identify similarities between two similar sequential alarms. Keywords: Plant alarm system, Sequential alarms, Levenshtein Distance, Similarity .*Master’s Thesis, Department of Information Science, Graduate School of Information Science, Nara Institute of Science and Technology, NAIST-IS-MT1151003, March 15, 2013. ii 目次 1. 緒言 ........................................................................................................................................ 1 1.1. 研究背景 ........................................................................................................................... 1 1.2. 関連研究 ........................................................................................................................... 2 1.3. 研究目的 ........................................................................................................................... 4 1.4. 論文構成 ........................................................................................................................... 4 2. 連鎖アラーム .......................................................................................................................... 5 2.1. プラント運転ログデータ ............................................................................................... 5 2.2. 連鎖アラームの定義 ....................................................................................................... 5 2.3. 連鎖アラームの抽出法 ................................................................................................... 6 2.4. 連鎖アラームの文字列への変換.................................................................................... 9 3. Levenshtein 距離..................................................................................................................... 10 3.1. Levenshtein 距離の定義 .................................................................................................. 10 3.2. 動的計画法による計算アルゴリズム.......................................................................... 10 4. 連鎖アラームの類似度評価法 ............................................................................................ 12 4.1. 連鎖アラーム間の類似度の定義.................................................................................. 12 4.2. 類似度評価アルゴリズム ............................................................................................. 14 5. ケーススタディ .................................................................................................................... 15 5.1. 対象プロセス ................................................................................................................. 15 5.1.1. 共沸蒸留プラント .................................................................................................. 15 5.1.2. 想定マルファンクション ...................................................................................... 16 5.2. 連鎖アラームの抽出結果 ............................................................................................. 17 5.3. 連鎖アラームの類似度評価結果.................................................................................. 17 5.4. グルーピング結果の解析 ............................................................................................. 20 5.4.1. グループ 1 について .............................................................................................. 20 5.4.2. グループ 2 について .............................................................................................. 21 5.4.3. グループ 3,4 について ........................................................................................... 23 iii 6. 結言 ........................................................................................................................................ 24 謝辞 ............................................................................................................................................ 25 参考文献 ..................................................................................................................................... 26 付録 ............................................................................................................................................. 28 A. その他の類似度指標 ....................................................................................................... 28 B. 共沸蒸留プロセスにて抽出された連鎖アラーム一覧 ................................................ 34 iv 図目次 Fig. 1-1 監視アラーム数の急増 (Hollofield & Habibi, 2006) ........................................... 2 Fig. 1-2 アラームマネジメントライフサイクル(ISA, 2009) ...................................... 3 Fig. 2-1 連鎖アラームの抽出法 .......................................................................................... 6 Fig. 2-2 連鎖アラームの連鎖時間長の決定方法(Nmax = 4 による例)......................... 8 Fig. 2-3 アラームに対する文字の割り当て表 .................................................................. 9 Fig. 2-4 連鎖アラームの文字列への変換法 ...................................................................... 9 Fig. 3-1Levenshtein 距離の変換操作 ................................................................................ 10 Fig. 3-2Edit-distance 行列(例 INTENTION から EXECUTION) .................................... 11 Fig. 4-1 共沸蒸留プロセスにて起きる連鎖アラームの一部 ........................................ 13 Fig. 5-1 共沸蒸留プラントのプロセスフロー図 ............................................................ 15 Fig. 5-2 運転ログデータから抽出された連鎖アラーム(32 個)................................ 17 Fig. 5-3 類似度評価結果.................................................................................................... 18 Fig. 5-4 類似度が 0.56 以上の連鎖アラーム同士をグルーピングした結果 ................ 19 Fig. 5-5 グループ 1 の改善案 ............................................................................................ 21 Fig. 5-6 グループ 2 の改善案 ............................................................................................ 23 v 表目次 Table 2-1 プラント運転ログデータの例 .......................................................................... 5 Table 5-1 プロセス変数およびアラームセッティング................................................. 16 Table 5-2 設定マルファンクションおよび対応操作 .................................................... 16 Table 5-3 想定される連鎖アラーム ................................................................................. 16 Table 5-4 グループ 1 に分類された連鎖アラーム ......................................................... 20 Table 5-5 グループ 2 に分類された連鎖アラーム ......................................................... 22 vi 1. 緒言 1.1. 研究背景 化学プラントとは, 原材料を加工することでより価値の高い別の製品を作り出すため の設備の事である. 化学プラントの特徴として, 原材料や製品が配管や反応器などの中 を通るため, プラントの運転状態を人間が目視で確認できないということが挙げられる. そこで化学プラントをはじめとした大規模プラントには, プラントアラームシステムが 装備されている. プラントアラームシステムとは, プラントに異常が発生した際にオペレータに対して アラームによる警告を発報し, プラントの異常を早期に気付かせ正確な異常診断を行う ためのものである. これはプロセス産業においてプラントの安全性, 生産性および製品 品質を高い水準に維持するための重要なプラント監視制御システムの一つとなっている. アラームシステムは, 化学プラントの事故発生防止と影響緩和のための仕組みである多 重防護層の第 3 層「アラームとオペレータ対応」に位置付けられる(AIChE/CCPS, 1993). 第 3 層は, 多重防護層を構成する 8 層の防護層の中でオペレータにリアルタイムなプラ ント状態認識と判断を求める, 人間に依存する唯一の防護層である. このようにプラントの正常運用のために非常に重要なプラントアラームシステムだが, 近年, 新たな問題を抱えている. 昨今の飛躍的な技術進歩によってプラント監視制御シ ステムも急速に高性能化を果たし, より低コストでより大量の監視変数に対してアラー ムを設定できるようになった. 特に 1980 年代の進歩は目覚ましく, それ以前のアナログ 機器によるパネル計装から一転, ディジタル化された分散型制御システム(Distributed Control System)が広く導入されるようになり, オペレータ一人あたりの監視アラーム数 は急増した(Fig. 1-1). しかし, 個々のアラームの必要性や管理範囲の妥当性が十分精 査されないままアラームシステムが設計される運転現場が増加してきた. これらは, 単 独のマルファンクションから連鎖的に多数のアラームが発生する連鎖アラームや, 周期 的にアラームが発報と復帰を繰り返す繰返しアラームなどの迷惑アラームの主な要因と なっている (Takai, 2007). このような迷惑アラームは, プラント事故の原因となるだけ ではなく, 日々の操業損失を企業にもたらし, その影響は米国の石油化学産業だけでも 年間約 200 億ドルと推定されている(Henderson, 2009). 1 Fig. 1-1 監視アラーム数の急増 (Hollofield & Habibi, 2006) 1.2. 関連研究 このような背景の中, アラームシステムを適正化するためのアラームマネジメントの 重要性が高まっている. International Society of Automation(ISA, 2009)は, Fig. 1-2 に示す 標準的なアラームマネジメントライフサイクルを提唱し, プロセス産業への普及を推進 している. その中でも Performance Monitoring & Assessment は, アラームシステムの性能 を把握し, 適正化を進めるための重要なプロセスの一つである. Engineering Equipment & Material Users’ Association は, アラームシステムの性能監視用の KPIs(Key Performance Indicators)として, 10 分間あたりの平均アラーム発生数やピーク時のアラーム発生数な どを提案し, 人間工学的な観点から KPIs の具体的なベンチマークを示している (EEMUA, 2007). しかし, EEMUA の KPIs は, アラームシステムの総合的な性能を継続 的に監視する指標としては有用であるが, 性能低下時にどのようにアラームシステムを 適正化すべきかの具体的な指針を与えない. そこで, プラントアラームシステムの適正 化を目的に, プラント運転ログデータの統計的データ解析法が提案されている. プラン ト運転ログデータとは, プラントで発生したアラーム(以後, アラームイベントとよぶ) やオペレータによる操作(以後, 操作イベントとよぶ)の発生時刻とイベント名を記録 したデータである. 2 Philosophy Identification Rationalization Maintenance of Change Design Audit Implementation Operation Maintenance Performance Monitoring & Assessment Fig. 1-2 アラームマネジメントライフサイクル(ISA, 2009) ) アラームマネジメントライフサイクル( トップ 10 アプローチ(Inoue, 2007)は, アラームイベントと操作のイベントをその発 生頻度でランキングし, ランキング上位のイベントからプロセス改良やオペレーション の見直しなどを通じて不要イベントを削減する. しかし, この手法は削減が進むにつれ ランキング上位のイベントの占有率が低下し, アラームの削減が進まなくなる問題があ る. この問題を解決する方法として, 個々のアラームおよび操作イベント間の相関解析 により運転ログデータから迷惑アラームを抽出するイベント相関解析法が提案されてい る(Nishiguchi and Takai, 2010, Kurata et al., 2011). イベント相関解析法はイベント間の 発生系列の類似性に基づき, 関連するイベント群をグルーピングする. 関連するイベン ト群単位で対策を検討できるため, 個々のイベントに着目したトップ 10 アプローチに比 べで効率的な迷惑イベントの削減が期待できる. 類似する方法に, プラント運転ログデ ータに含まれるアラームイベントの発生系列のみの類似性を Jaccard Similarity Index (Lesot et al., 2009)で評価し, Alarm Similarity Color Map を用いて可視化する方法(Wu et al., 2010, Yang et al., 2011, Kondaveeti et al., 2012) がある. イベント相関解析法はエチレン プラントの運転ログデータに適用され, その有効性が実証されている(Higuchi et al., 2010, Takai and Noda, 2012). 3 1.3. 研究目的 本論文では, 先に述べた迷惑アラームの中でも特に連鎖アラームに着目する. 膨大な 量のプラント運転ログデータ中に潜んでいる連鎖アラームに対して, それら一つずつに 対策を講じていくのは不可能である. しかし, 同一のマルファンクションによって発生 した連鎖アラームには, 発報するアラームの種類やその発報順序に類似性が存在すると いう特徴がある. この発生パターンに着目して, 類似性の高い連鎖アラーム同士をグル ーピングすれば, 効率の良い連鎖アラームの削減ができると考えられる. しかしこれま でに, 連鎖アラームの類似性に着目した先行研究は行われてこなかった. そこで本研究では, Levenshtein 距離に基づく連鎖アラーム間の類似度評価手法を提案 する. Levenshtein 距離とは, 一つの文字列を別の文字列に変形するのに必要な手順の最 小回数として定義され, 二つの文字列間の類似度を評価するための指標として自然言語 処理の分野で広く用いられている(Jurafsky and James, 2009). また最近では, DNA 配列 同士の類似性の判断を目的にバイオインフォマティクスの分野でも応用されている. 本 提案手法によって連鎖アラームを集約すれば, 連鎖アラーム単位でのより効率的なアラ ーム削減ができると期待される. 1.4. 論文構成 本論文の構成を以下に示す. 2 章にて本研究における連鎖アラームの定義と, プラント運転ログデータからの連鎖 アラームの抽出法を述べる. 3 章にて Levenshtein 距離について説明する. 4 章では連鎖ア ラーム間の類似度評価手法を述べ, 5 章ではプロセスシミュレーションデータに 提案手法を適用し, 連鎖アラーム間の類似度評価法を検証した結果を述べる. 最 後に 6 章にて結言を記す. 4 2. 連鎖アラーム 本章では, 化学プラントにおける運転ログデータがどのように記録されているのかを 紹介し, 本研究における連鎖アラームの定義と運転ログデータからの連鎖アラーム抽出 法を述べる. また, 提案する類似度評価法を適用するための準備として, 抽出した連鎖 アラームを構成する各イベントに文字を割り当てる処理について説明する. 2.1. プラント運転ログデータ 化学プラントの分散型制御システム(DCS)の監視タグには, プロセス変数タグと操 作変数タグがある. アラームの発報であるアラームイベントと, 運転員の行った操作で ある操作イベントが発生したとき, イベント名(プロセス変数もしくは操作イベントに 対応する DCS 監視タグ名)とその発生時刻が運転ログデータに記録される. Table 2-1 に プラント運転ログデータの例を示す. Table 2-1 プラント運転ログデータの例 Date/Time Event Type 2013/01/01 00:08:53 Event 1 Alarm 2013/01/01 00:09:36 Event 2 Operation 2013/01/01 00:11:42 Event 3 Alarm 2013/01/01 00:25:52 Event 1 Alarm 2013/01/01 00:30:34 Event 2 Operation : : : 2.2. 連鎖アラームの定義 Engineering and Equipment Materials Users’ Association (EEMUA)によって制定さ れたガイドラインによると, 正常なプラントアラームシステムにおいては 10 分 (600 秒)間に発生するアラーム個数は 10 個以下であることが求められている. そ こで本研究では, 600 秒間に一定数以上のアラームが発報した連続する時間帯に 発報したアラームの集まりを, 連鎖アラームとして定義することにした. 5 2.3. 連鎖アラームの抽出法 本研究では, あるアラームが発報した時刻 t から t + 600[s]までの間に Nmax 個を超える アラームイベントが発報していた場合, この 600 秒間に発報していたアラームイベント の集合を「連鎖アラーム」として抽出する. パラメータ Nmax は対象とするプラントに応 じて変動する値であり, プラント設計者が指定するパラメータとする. 例として, Fig. 2-1 では横軸と縦軸にそれぞれ, 時刻と 1 秒ごとの発生イベントの総数 を割り当てたグラフを表している. 三つのグループを示しているが, 各グループにおい て発報している総アラーム数はそれぞれ, 7, 3, 6 である. 例えば Nmax = 4 と設定した場合, Fig. 2-1 においては, t1 から t1 + 600 間と t3 から t3 + 600 間までの二か所において, 連鎖ア number of events every second ラームが発生したものとする. 600 sec 4 600 sec 600 sec 3 2 1 0 t1 t1+600 t2 t2+600 t3 t3+600 time [sec] Fig. 2-1 連鎖アラームの抽出法 次に, t + 600[s]の時点で依然として発報アラームの総数が Nmax 個を超えていたときの 処理を Fig. 2-2 にて述べる. AlarmNo.1 の発報時刻を t0 とすると, t0 + 600 までの 600 秒間 に 5 個のアラームが発報していることがわかる(Fig. 2-2 (a)). これらの 5 個のアラーム を連鎖アラームの候補として, オレンジ色の丸で示す. 次に t0 の 1 秒後である時刻 t0 + 1 から t0 + 601 の区間に目を向けると, 時刻 t0 + 1 においては Alarm No.1 が連鎖対象区間か ら除かれるので, 発生イベント総数に変化が起きる(Fig. 2-2 (b)). しかし変化後にも連 6 鎖対象区間には 4 個のアラームが存在しており, 依然としてアラーム総数は Nmax 個以上 という条件を満たしている. よって, 連鎖は継続中と判断して連鎖時間を延長する. す ると, 時刻 t5 - 600 から t5 までの 600 秒区間にて Alarm No.4 の発生が加わる (Fig. 2-2 (c)) ので, 再び連鎖時間は延長される. このような延長処理を繰り返すと, 時刻 t2 + 1 にて, 600 秒間に発生するアラーム総数が Nmax 以下になる(Fig. 2-2 (d)). よって, Fig. 2-2 (e) に おいて赤丸で示している 6 個のアラームを発報順に並べたものを, 「連鎖アラーム」と して抽出する. 黒丸で示しているアラームは, 対象となる区間から外れていたために連 鎖アラームに含まれなかったアラームを意味している. 7 Alarm No. 600sec 1 2 3 4 5 t0 t0 + 600 time[sec] (a) 区間:t 区間: 0 ~ t0 + 600, 発報アラーム総数: 発報アラーム総数:5 総数: Alarm No. 600sec 1 2 3 4 5 t0 + 1 t0 + 601 time[sec] (b) 区間:t 区間: 0 + 1 ~ t0 + 601, 発報アラーム総数: 発報アラーム総数:4 総数: Alarm No. 600sec 1 2 3 4 5 t5 - 600 t5 time[sec] (c) 区間:t 区間: 5 – 600 ~ t5, 発報アラーム総数: 発報アラーム総数:5 総数: Alarm No. 600sec 1 2 3 4 5 t2 + 1 t2 + 601 time[sec] (d) 区間:t 区間: 2 ~ t2 + 600, 発報アラーム総数: 発報アラーム総数:3 総数: Alarm No. 600sec 1 2 3 4 5 t0 t5 time[sec] (e) 区間:t 区間: 0 ~ t5, 発報アラーム総数: 発報アラーム総数:6 総数: Fig. 2-2 連鎖アラームの連鎖時間長の決定方法 連鎖アラームの連鎖時間長の決定方法( の連鎖時間長の決定方法(Nmax = 4 による例) 8 2.4. 連鎖アラームの文字列への変換 抽出した連鎖アラーム中に含まれている各アラームに対して文字を割り当てることで, 連鎖アラームを文字列へと変換する. 変換においては, Fig. 2-3 に示すような文字の割り 当て表を用意する. この割り当て表に従って, Fig. 2-4 に示すようにログデータ中の連鎖 アラームを文字列へと変換する. それらの変換された連鎖アラームの集合を連鎖アラー ム群として集約し, 後述する提案手法によって各連鎖アラーム間の類似度を評価する. Tag Tag name of Event A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 Tank1 Tmp High Tank1 Tmp Low Tank2 Tmp High Tank2 Tmp Low Valve1 Tmp High Valve1 Tmp Low Valve2 Tmp High Valve2 Tmp Low Tank1 Press High Tank1 Press Low Tank2 Press High Tank2 Press Low Valve1 Press High Valve1 Press Low : : Fig. 2-3 アラームに対する文字の割り当て表 Date/Time 2013/01/01 00:08:53 2013/01/01 00:09:36 2013/01/01 00:11:42 2013/01/01 00:15:52 2013/01/01 03:08:53 2013/01/01 03:09:36 2013/01/01 03:11:42 2013/01/01 03:15:52 2013/01/01 03:16:53 Tag name of alarm Tank1 Tmp High Valve2 Tmp High Tank1 Press High Valve1 Press High Valve1 Tmp Low Valve2 Tmp High Tank2 Press High Valve1 Press Low Tank2 Tmp High : : 連鎖アラーム S1: ”A1 A5 A9 A13” 連鎖アラーム S2: ”A6 A7 A11 A14 A3” : 2013/01/31 07:09:36 2013/01/31 07:11:42 2013/01/31 07:15:27 2013/01/31 07:17:52 2013/01/31 23:08:53 2013/01/31 23:09:36 2013/01/31 23:11:42 2013/01/31 23:15:52 Tank1 Tmp Low Tank2 Tmp Low Tank2 Press Low Valve2 Tmp Low Tank1 Tmp High Valve2 Tmp High Tank1 Press High Valve1 Press High 連鎖アラーム Si-1: ”A2 A4 A12 A8” 連鎖アラーム Si: ”A1 A5 A9 A13” Fig. 2-4 連鎖アラームの文字列への変換法 9 3. Levenshtein 距離 本研究では類似度評価指標の算出に Levenshtein 距離を用いる. 本章では Levenshtein 距離の定義と, 動的計画法による計算アルゴリズムについて述べる. 3.1. Levenshtein 距離の定義 Levenshtein 距離とは, ある文字列 Si を別の文字列 Sj に変形するのに必要な操作手順の 最小回数として定義される. 変換操作としては, 挿入・削除・置換の 3 つが想定されてお り, 各操作にはそれぞれ変換コストを設けることができる. Si に存在しなかった文字が Sj に存在する際に行う操作を「挿入」, Si に存在する文字が Sj に存在しない際に行う操作 を「削除」, Si の文字と Sj の文字が異なる際に行う文字の入れ替え操作を「置換」とそ れぞれ定義している. 出力結果としては, 各文字列が全く同一である場合には 0 が算出 され, 文字列間に差異が大きければ大きいほど, 算出される Levenshtein 距離も大きくな る. Fig. 3-1 に変換操作の例を示す. 図中で, ins., del., sub.はそれぞれ, 挿入, 削除, 置換を 意味している. Si: I N T E * N T I O N Sj: | * | E | X | E | Q | | U T | I | O | N del. sub. ins. sub. Fig. 3-1Levenshtein 距離の変換 距離の変換操作 変換操作 3.2. 動的計画法による計算アルゴリズム Levenshtein 距離の算出は次に示す手順で行われる. 1) 文字列 Si の文字列長| Si | = Ni と文字列 Sj の文字列長| Sj | = Nj からなる, Ni×Nj の “Edit-distance”行列を作成する. Edit-distance の 1 行目には[0, 1, 2, … , Ni]を, 1 列目には [0, 1, 2, … , Nj]を格納する. Si を INTENTION, Sj を EXECUTION としたときの Edit-distance を Fig. 3-2 に示す. 2) 2 行目 2 列目以降, d(k, l)には, 次式によって計算された値を格納していく. ここで CI, CS, CD はそれぞれ挿入, 置換, 削除コストを表す. Fig. 3-2 において各セルの値が示す意味 10 は, d(1,1)から文字列 Si の k 番目と文字列 Sj の l 番目である d(k, l)に到達するまでに必要 となるコストである. d (k − 1, l ) + c I d (k , l ) = min d (k − 1, l − 1) + cS d (k , l − 1) + c D (1) 3)上式によって完成した Edit-distance の最右下セル d(Ni, Nj)に格納されている値が Levenshtein 距離となる. また, Fig. 3-2 において出発点である d(0,0)から d(Ni, Nj)までを辿 る経路中においては, 左から右へ動くときに挿入, 上から下に動くときに削除, 右下へ と動くときに置換の操作がそれぞれ行われている. 最右下セル d(Ni, Nj)に辿り着くまで のコストが最小となる経路がいくつか存在することがあるが, それは最小経路がその数 だけ存在しているということになる. Si Sj # E X E C U T I O N # 0 1 2 3 4 5 6 7 8 9 I 1 2 3 4 5 6 7 6 7 8 N 2 3 4 5 6 7 8 7 8 7 T 3 4 5 6 7 8 7 8 9 8 E 4 3 4 5 6 7 8 9 10 9 N 5 4 5 6 7 8 9 10 11 10 T 6 5 6 7 8 9 8 9 10 11 I 7 6 7 8 9 10 9 8 9 10 O 8 7 8 9 10 11 10 9 8 9 N 9 8 9 10 11 12 11 10 9 8 0 Nj Ni 0 Fig. 3-2Edit-distance 行列(例 行列 例 INTENTION から EXECUTION) 11 4. 連鎖アラームの類似度評価法 本研究では, 連鎖アラームの類似度評価手法を提案する. 提案法では, Levenshtein 距離 に基づいてそれぞれの連鎖アラーム間の類似度を計算し, 類似度の高い連鎖アラーム同 士でグループを作成する. 以下より, 連鎖アラーム間の類似度の定義および, 類似度評 価法について述べる. 4.1. 連鎖アラーム間の類似度の定義 Fig. 4-1 は AspenTech 社の商用プロセスシミュレータにて生成した運転ログデータよ り, 同一のマルファンクションによって発生したと考えられる連鎖アラームを一部抽出 したものである. 図中に示す 9 個の連鎖アラームは, A~G の 7 種類のアラームイベント によって構成されている. 縦軸が各連鎖アラーム番号を表し, 横軸は各連鎖アラームに おいて発報したアラームイベントをその発報順に並べている. 例えば No.2 の連鎖アラー ムは, A→B→C→D→E→F の順に発報し, No.5 の連鎖アラームは A→C→D→B→E→F の 順に発報していることを表している. Fig. 4-1 より, A や B は主に序盤に発報しているア ラームイベントであり, E や F は連鎖の終盤に発報しているアラームイベントであるこ とがわかる. しかしどのアラームイベントにおいても, その発報タイミングは固定では なく多少の入れ替わりが起きていることが確認できる. また, No.3 の連鎖アラーム中に はアラームイベント F が発報していない. その一方, No.6 においては, 他の連鎖アラーム には含まれていないアラーム G が発報している. このように, 連鎖アラームには欠報が 起きたり, 関係性の弱いアラームイベントが含まれたりする場合もあることがわかる. Fig. 4-1 によって同一のマルファンクションによる連鎖アラームには, 連鎖を構成する アラームイベントの種類および発報順序に共通性があることと, それらの各アラームイ ベントの発報タイミングには多少の入れ替わりや欠報が起きることが確認できた. 以上より, 二つの連鎖アラーム Si と Sj に含まれるアラームとそれらの発報順の類似性 が高いほど, Si と Sj の間の Levenshtein 距離は小さくなると考えられる. また, Levenshtein 距離は, 連鎖アラームに含まれるアラーム数に依存する値である. 例えば, 二つの連鎖 アラームにおいて含まれるアラーム数がそれぞれ 8 個と 3 個であるときの Levenshtein 距離がともに“2”であったとすると, この“2”という値が持つ意味は大きく異なる. 各 連鎖アラームに含まれるアラームの個数は, 各プラントや対象とするプロセスによって 変動があるものだと考えられる. そこで, 類似度評価において連鎖アラームに含まれる 12 Fig. 4-1 共沸蒸留プロセスにて起きる連鎖アラームの一部 アラームの個数による影響を受けないために, 式(2)のように Levenshtein 距離の正規化 を行う(Yujian and Bo, 2007). 正規化した Levenshtein 距離に基づいた二つの連鎖アラーム Si と Sj の類似度評価指標 Lij として式(3)を提案する. Lij の範囲は 0~1 である. d 'i , j = 2 ⋅ di, j Ni + N j + di, j Li , j = 1 − d ' i , j 13 (2) (3) 4.2. 類似度評価アルゴリズム 類似度評価アルゴリズム 提案手法による連鎖アラーム間の類似度解析アルゴリズムは 6 つのステップから構成 されており, 以下にその各ステップを説明する. (1) プラント運転ログデータから連鎖アラームを抽出するためのパラメータ Nmax を決定 する. この値はプラントのオペレータ数や, オペレータ一人あたりが担当する監視 アラーム数によって変動するものであり, 類似度解析を行う者が対象プロセスの環 境に基づいて決定する値である. 特に方針がない場合には, EEMUA が提言している Nmax = 10 / 10min を用いる. (2) 決定したパラメータ Nmax に応じて, 2 章にて紹介した連鎖アラーム抽出法によってプ ラント運転ログデータから連鎖アラームを抽出する. ここで抽出された連鎖アラー ムの集合を連鎖アラーム群 Si ( i ∈ I )とする. (3) 連鎖アラーム群 Si ( i ∈ I )のすべての連鎖アラーム間の類似度を (3)式にて計算する. (4) 連鎖アラーム間の類似性判定のための閾値 Mmin を 0~1 の間で定める。連鎖アラーム に含まれる平均アラーム数が Nave で、類似する連鎖アラーム間の平均的なレーベン シュタイン距離を dave と仮定するとき、 閾値 Mmin は(4)式により求められる。 ただし、 この値はあくまで目安であり、実際には類似性の解析結果をもとに調整する。 M min = 1 − 2d ave 2 N ave + d ave (4) (5) パラメータ Mmin に基づいて各連鎖アラームをクラスタリングする. (3)式によって 計算された類似度がこのパラメータを上回った連鎖アラーム同士は, 関連性が強い とみなし同一グループに分類する. (6) 同一グループに分類された連鎖アラームに含まれるアラームやそれらの発報順を詳 しく解析することで, 連鎖アラームの削減方針を決定する. 14 5. ケーススタディ 提案手法の運転ログデータからの不要イベント抽出に対する有効性を検証するために, 共沸蒸留プロセスのシミュレーションデータに提案手法を適用した. プロセスのダイナ ミックシミュレーションには, AspenTech 社の HYSYS 2.3 を用いた. 5.1. 対象プロセス 5.1.1. 共沸蒸留プラント 対象とする連続共沸蒸留プロセスのプロセスフローを Fig. 5-1 に示す. この蒸留塔は, アセトンをエントレーナとして, ベンゼンとシクロヘキサンの混合物からベンゼンを分 離する. このプラントには, Fig. 5-1 のグレーの丸印で表す 9 個の監視変数があり, それ ぞれの監視変数の管理範囲の上下限にアラームが設定されている. 監視変数, 監視変数 の正常状態における定常値, アラーム管理範囲の上限値(PH), 下限値(PL)を Table 5-1 に示す. アラームの設定値は正常状態での監視変数の変動幅に基づき設定した. Fig. 5-1 共沸蒸留プラントのプロセスフロー図 15 Table 5-1 プロセス変数およびアラームセッティング Tag Normal operating condition Description Alarm PH Alarm PL Unit FIA012 Acetone flow rate 95.0 99.1(E1) 90.9(E10) kg/h FIA011 Feed flow rate 85.0 89.1(E2) 80.8(E11) kg/h TIA021 Top column temp. 54.1 54.2(E3) 54.0(E12) ◦C TIA022 Bottom column temp. 79.5 79.6(E4) 79.4(E13) ◦C TIA041 Reboiler temp. 81.1 81.2(E5) 81.0(E14) ◦C TIA031 Condenser temp. 54.0 54.1(E6) 53.9(E15) ◦C PIA021 Top column press. 102.2 102.3(E7) 102.1(E16) kPa PIA022 Bottom column press. 115.9 116.0(E8) 115.8(E17) kPa FIC025 Reflux flow rate 2830 2831(E9) 2829(E18) kg/h 5.1.2. 想定マルファンクション 対象プロセスにおいては三つのマルファンクションを設定しており, それらの三つの マルファンクションとそれに対して行われる各オペレータ操作を Table 5-2 に示す. また, マルファンクション“Low coolant flow rate”および“Low steam pressure”には Table 5-3 に示すような連鎖アラームが引き起こされることが確認されている(Kurata, 2011). Table 5-2 設定マルファンクションおよび対応操作 Malfunction Operation Low coolant flow rate Open reflux valve (E19) Low steam pressure Open steam valve (E20) Valve stiction Open reflux valve (E21) Table 5-3 想定される連鎖 想定される連鎖アラーム 連鎖アラーム Expected sequential alarms Malfunction Low coolant flow rate E3 E4 E5 E6 E7 E8 Low steam pressure E12 E13 E14 E15 E16 E17 16 5.2. 連鎖アラームの抽出 連鎖アラームの抽出結果 抽出結果 本プロセスにおいて、15 日分のシミュレーションデータを作成し、連鎖アラームの抽 出を行った。抽出結果を Fig. 5-2 に示す. この図において横軸は時間軸, 縦軸は 10 分間 あたりのアラーム発報数を示している. 連鎖アラーム抽出パラメータ Nmax = 6 とした結 果、本対象プロセスからは計 32 個の連鎖アラームが抽出された. また、32 個の連鎖アラ ームに含まれるアラーム数の平均個数 Nave は 7.16 であった。 5.3. 連鎖アラームの類似度評価結果 この 32 個の連鎖アラームに対して提案する類似度評価指標を適用した結果を Fig. 5-3 に示す. ここで, Levenshtein 距離算出のための三つの変換コストは, cINS = cDEL = 1, cSUB = 1.5 とした. 図中の色が赤に近いほど, 二つの連鎖アラーム間の類似度が高く、青に近い ほど類似度が低いことを表す. 類似度の評価結果に基づき、32 個の連鎖アラームをクラ スタリング手法によりグルーピングした結果を Fig. 5-4 に示す。クラスタリングでは、 類似する連鎖アラーム間の平均的なレーベンシュタイン距離を dave = 4 と仮定し、(4)式 よりクラスタリングの閾値を Mmin = 0.56 とした。グルーピングの結果、32 個の連鎖アラ ームは四つのグループに集約された。 Fig. 5-2 運転ログデータから抽出された連鎖アラーム(32 運転ログデータから抽出された連鎖アラーム( 個) 17 Fig. 5-3 類似度評価結果 18 Fig. 5-4 類似度が 0.56 以上の連鎖アラーム同士をグルーピング 以上の連鎖アラーム同士をグルーピングした結果 グルーピングした結果 19 5.4. グルーピング結果の解析 5.4.1. グループ 1 について グループ 1 に分類された12 個の連鎖アラームに含まれるアラームとそれらの発報順を Table 5-4 に示す。グループ 1 に分類された連鎖アラームに共通して現れるアラームとそ の発報順は、E7→E3→E6→E5→E4 であった。E 8 はすべての連鎖アラームに含まれてい るが発報順が一定していない。いずれも PH アラームであることから、グループ 1 の連 鎖アラームの原因となるマルファンクションは、冷却水量の低下あると推測される。冷 却水量の低下を検知するためのアラームとしては、マルファンクションの発生源に近い E 7(塔頂圧)、E 3(塔頂温度)および E 6(コンデンサー温度)が適当であると考えら れる。それ以外のアラームについては、オペレータの異常検知に役立たないばかりか、 オペレータの余計な負担となるため、アラームの解除や管理範囲の見直しを検討する。 S1 S4 S6 S10 S11 S15 S18 S19 S22 S27 S30 S31 Table 5-4 グループ 1 に分類された連鎖アラーム Alarm sequence E7, E3, E6, E8, E5, E4 E14, E7, E8, E6, E3, E5, E4, E4 E8, E7, E3, E6, E5, E4 E7, E8, E3, E6, E5, E4 E7, E3, E6, E8, E5, E5, E4 E8, E7, E6, E3, E5, E4 E13, E7, E8, E3, E6, E5, E4, E4 E7, E6, E3, E8, E5, E4 E8, E7, E6, E3, E5, E4, E4 E8, E7, E3, E6, E5, E5 E7, E8, E6, E3, E5, E4 E7, E3, E6, E8, E5, E4 20 Fig. 5-5 グループ 1 の改善案 5.4.2. グループ 2 について グループ 2 に分類された18 個の連鎖アラームに含まれるアラームとそれらの発報順を Table 5-5 に示す。これらの連鎖アラームは同一グループに分類されたが、アラームとそ の発報順が完全に一致する連鎖アラームは S2 と S12、S9 と S29 のみであった。グループ 2 の連鎖アラームに共通して現れるアラームとその発報順は E 17→E 16→E 12→E 15 であ った。E 13 および E 14 は、すべての連鎖アラームに含まれているが、他のアラームに対 して相対的な発報順が安定せず、また繰り返し発報している。連鎖アラームに共通して 含まれるアラーム E 17, E 16, E 12, E 15 はすべて PL アラームであることから、これらの 連鎖アラームの要因となるマルファンクションは、蒸気量の低下であると推測される。 蒸気量の低下検知に適したアラームとしては、マルファンクションの発生源に近い E 13 21 (塔底温度)、E14(リボイラー温度)および E17(塔底圧力)が考えられる。現在のア ラーム設定では、E17 がほとんどの連鎖アラームのファーストアラームとなっており、 また繰り返し発報していないことから、E17 は蒸気量低下を検知するためのアラームと して有効である。しかし、圧力測定値は外乱によって変動しやすいため、圧力測定値に 対するアラーム設定はアラーム洪水の原因となる恐れがある。E17 の代わりに温度測定 値に対するアラームである E13 もしくは E14 を蒸気量低下を検知するアラームとするこ とも考えられるが、繰り返しアラームとならないよう管理範囲を適切に設定する必要が ある。それ以外のアラームについては削減や管理範囲の変更を検討する。 S2 S3 S5 S7 S9 S12 S13 S14 S16 S17 S20 S21 S23 S25 S26 S28 S29 S32 Table 5-5 グループ 2 に分類された連鎖アラーム Alarm sequence E17, E16, E14, E12, E15, E13 E18, E17, E16, E12, E15, E14, E13 E17, E13, E16, E14, E15, E12 E17, E16, E12, E15, E14, E13, E13, E13, E13, E13, E13,E13, E14 E18, E17, E16, E14, E12, E15, E13 E17, E16, E14, E12, E15, E13 E17, E13, E16, E14, E12, E15, E8 E16, E14, E12, E15, E8, E7 E17, E16, E12, E15, E14, E14, E14, E13, E13, E13, E13 E18, E17, E16, E12, E15, E14, E14, E13 E17, E16, E14, E15, E12, E13 E17, E13, E16, E14, E12, E15 E5, E17, E16, E15, E12, E14, E14, E14, E14, E14 E17, E13, E16, E14, E12, E15 E17, E13, E16, E14, E15, E12 E5, E17, E16, E12, E15, E15, E12, E14, E14, E14, E14, E14, E15, E12 E18, E17, E16, E14, E12, E15, E13 E17, E16, E12, E15, E14, E14, E13 22 Fig. 5-6 グループ 2 の改善案 5.4.3. グループ 3,4 について 連鎖アラーム S8 = E13, E13, E13, E13, E14, E17 と S24 = E14, E14, E14, E14, E15, E12 は、 類似する連鎖アラームがなかったため、それぞれ単一の連鎖アラームからなるグループ 3 およびグループ 4 に分類された。S8 は E13、S24 は E14 の繰り返しアラームとなってい ることから、E13 および E14 のアラーム設定の解除や管理範囲の適正化を検討する。 23 6. 結言 本論文では, 連鎖アラーム間の類似度評価指標を提案した. 本手法ではまず, EEMUA ガイドラインに基づいてプラント運転ログデータ中の発報頻度の高い箇所を連鎖アラー ムとして抽出する. つぎに, 抽出された連鎖アラーム群に対して, Levenshtein 距離に基づ いた類似度評価指標を適用し, すべての連鎖アラーム間の類似度を算出する. 最後に, 算出された値を基に, 類似度の高い連鎖アラーム同士を集約することで, 発生パターン の似ている, すなわち同一のマルファンクションによって生じたと考えられる連鎖アラ ーム同士をグループ化する. プロセスシミュレーションデータによるケーススタディに よって本手法の有効性を検証した結果, 連鎖アラーム間の類似性を正しく判別できてい ることが確認できた. 連鎖アラームの削減には各アラーム間に潜む関係性を詳細に把握している必要があり, その削減には非常に手間と時間がかかるという点が課題であった. しかし提案手法によ ってプラントログデータに含まれる膨大な量の連鎖アラームを少数グループに集約すれ ば, 効率的な連鎖アラームの削減が可能となる. また, 本手法における最大の特長はそ のシンプルさにあり, これは現場のエンジニアでも簡単にアラーム改善活動に取り組め るというメリットを生む. 連鎖アラームという事象を工学的に扱う先行研究はこれまで に報告されておらず, 本研究における成果は, アラームシステム改善に向けて大きく貢 献できるものであると期待される. 今後の展望としては, 本論分でのケーススタディはシミュレーションデータによる検 証のみであったので, 実プラントデータに対してのケーススタディの実施が挙げられる. 24 謝辞 ご自身の専門とは大きく異なる研究分野にも関わらず, 暖かいご指導と手厚いサポー ト体制を整えてくださった知能システム制御研究室の杉本謙二教授に深く感謝いたしま す. 遠隔での指導となってからは日常の研究活動においてのみならず, 出張費の支援等 の金銭的なことでもより一層の配慮をしていただきました. また, 就職活動の折には親 身になって相談に乗っていただいたこと, 大変感謝しております. ご多忙の中に副指導教員を引き受けて下さいましたソフトウェア設計学研究室の飯田 元教授に深くお礼申し上げます. 常に鋭い視点で的確なご指摘・ご助言を下さった知能システム制御研究室の平田健太 郎准教授に深く感謝いたします. 定例発表会のときのみならず, ゼミナール発表後や普 段の何気ない日常の中でも目をかけていただいたこと, 大変嬉しかったです. チュータ を務めていただいた CICP では貴重な経験を積むことが出来ました. メールや Skype による制約の多い中での指導にも関わらず, 最後まで丁寧なご指導を 賜った福岡大学工学部化学システム工学科の野田賢教授に深く感謝いたします. これま での数百通におよぶメールのやりとりを振り返ると, 改めて感謝の念に堪えません. 論 文執筆や学会発表に参加できるほどの成果を残すことが出来たのは, ひとえに先生から 頂いた根気強いご指導のおかげです. 本当にありがとうございました. 定例発表会での鋭いご指摘はもちろんのこと, プライベートでも大変お世話になりま した知能システム制御研究室の小木曽公尚助教, 松原崇充助教に深く感謝いたします. 社会に出てからのモノの考え方や心得など, 年齢が近いからこその数多くの貴重なご意 見をありがとうございました. 学会参加や福岡出張, その他の様々な事務手続き等で, 常に裏方として研究活動を支 えてくださった林英子秘書に深く感謝いたします. 研究の進め方や就職活動において, 数々のご助言をくださった知能システム制御研究 室の先輩方に深く感謝いたします. 同じ遠隔指導という境遇において, 数多くの議論を交わし, 数多くの妙案を出してく れた知能システム制御研究室の里村祥太 君に深く感謝いたします. 最後に, 2 年間という短く, しかし大変密度の濃いこの時間を共に過ごした友人と, 遠 く熊本の地から励ましてくれた両親に深く感謝いたします. 25 参考文献 参考文献 AIChE/CCPS. (1993). Guidelines for Engineering Design for Process Safety. New York: AIChE. Bellman, R. (1957). Dynamic Programming. Princeton University Press. Chastain, J. W. (2012). Impact of Guidelines for Independent Protection Layers and Initiating Events. Center for Chemical Process Safety. Engineering and Equipment Materials Users’ Association (EEMUA). (2007). Alarm Systems – A Guide to Design, Management and Procurement Publication No. 191 2nd Edition. London: EEMUA. Henderson, P. (2009). Return on Imagination. ASM Consortium. Hollofield, B., & Habibi, E. (2006). Alarm systems greatly affect offshore facilities amid high oil prices. World Oil, Automation and control, SEP 2006 issue, pp. 101-105. International Society of Automation(ISA). (2009). Management of Alarm Systems for the Process Industries. North Carolina: ANSI/ISA-18.2-2009. Jurafsky, D., & Martin, H. J. (2007). Speech and Language Processing 2nd Edition. New Jersey: Prentice Hall. Kondaveeti, S. R. (2012). Graphical Tools for Routine Assessment of Industrial Alarm Systems. Computers & Chemical Engineering, 46, 39-47. Lesot, M. J., Rifqi, M., & Benhadda, H. (2009). Similarity Measures for binary and Numerical Data. International Journal of Knowledge Engineering and Soft Data Paradigms, 1, 63-84. Levenshtein, V. I. (1966). Binary Codes Capable of Correcting Deletions, Insertions, and Reversals. Cybernetics and Control Theory, 10(8), 707-710. Nishiguchi, J., & Takai, T. (2010). IPL2 and 3 performance improvement method for process safety using event correlation analysis. Computers & Chemical Engineering, 34, 2007-2013. Wu, H. M., Tien, Y. J., & Chen, C. h. (2010). A Graphical Environment for Matrix Visualization and Cluster Analysis. Computational Statistics and Data Analysis, 54, 767–778. Yang, F., Shah, S. L., Deyun, X., & Tongwen, C. (2012). Improved Correlation Analysis and Visualization of Industrial Alarm Data. ISA Transactions, 51(4), 499-506. Yujian, L., & Liu, B. (2007). A Normalized Levenshtein Distance Metric. IEEE Transactions on 26 Pattern Analysis and Machine Intelligence, 29(6), 1091-1095. 井上敬 (2007). アラームマネジメントとアラーム削減活動. 化学工学会 SIS 部会プラン トオペレーション分科会第 107 研究会. 高井努 (2007). 化学プラントにおけるアラームマネジメントの動向. ヒューマンファク ターズ, Vol. 12, No. 1, pp. 10-23. 高井努, 野田賢, 樋口文考 (2012). イベント相関解析によるエチレンプラント運転ログ データからの迷惑アラームの抽出. 化学工学論文集,Vol. 38, No. 2, pp. 110–116. 倉田浩二郎, 野田賢, 菊池康紀, 平尾雅彦 (2011). プラントアラームシステム適正化の ためのイベント相関解析法の拡張. 化学工学論文集, Vol. 37, No. 4, pp. 338-343. 樋口文考, 野田賢, 西谷紘一 (2010). イベント相関解析によるエチレンプラントのアラ ーム削減. 化学工学論文集, Vol. 36, No. 6, pp. 576-581. 27 付録 A. その他の類似度指標 Levenshtein 距離以外の類似度指標を用いて検証を行った結果を示す. (1) Jaro-Winkler 距離 Jaro-Winkler 距離とは, Levenshtein 距離と同様に, 二つの文字列間の距離を測る指標で ある. 文字のタイプミスなどを発見する際に用いられることが多い. 距離と表記してあ るが, 値が大きくなるほど文字列間の距離は近くなる. 式(A.1)において求まる Jaro 距離 に対して接頭辞の一致数を考慮した式(A.2)によって求められる. ここで, m は二つの文 字列の一致数, | s1 |は文字列 s1 の文字数, | s2 |は文字列 s2 の文字数, t は文字の転置回数を表 す. また, l は文字列間の接頭辞の一致数, p は l に対して付加する任意のパラメータであ る. l の最大値は 4 と定められている. dj = 1 0 + + 3 |s | |s | m m 1 2 if m=0 m m-t otherwise dw =dj +lp1-dj 28 (A.1) (A.2) Fig. A-1 Jaro-Winkler 距離 (2) 地域間の生物群集に対しての類似度指標 地域間の種組成の類似度を測るのに用いられている 4 つの類似度指数に対しても検証 を行った. これらの指数は, 二つの異なる地域に生息している生物の種構成の類似度を 測るためのものである. 各地域に生息している種数が判れば容易に算出できるため, 多 くの検討がなされており, また, アンケート調査などにも用いられている. 本項では, Jaccard の群集係数 Cj, 落合の Co 指数, Sørensen の CS 係数, 野村・Simpson 指数 CNS についての検証結果をそれぞれ示す. また, 各式中の変数 a,b,c はそれぞれ, 文 字列 A の文字の種類数, 文字列 B の文字の種類数, A,B に共通する文字の種類数を表し ている. 各係数が 1 のときは文字列同士が完全に一致し, 0 のときは全く異なる. 29 ・Jaccard の群集係数 Cj Cj = c a+b-c Fig. A-2 Jaccard の群集係数 Cj 30 ・落合の Co 指数 Co = c √a + √b Fig. A-3 落合の Co 指数 31 ・Sørensen の CS 係数 CS = 2c a+b Fig. A-4 Sørensen の CS 係数 32 ・野村・Simpson 指数 CNS CNS = c b a>b Fig. A.5 野村・Simpson 指数 CNS 野村・ 33 B. 共沸蒸留プロセスにて抽出された連鎖アラーム一覧 ケーススタディにて扱った共沸蒸留プロセスのプラント運転ログデータから抽出され た連鎖アラームの一覧を示す. なお紙面の都合上, 各アラームイベント名からは“E” を 省略しており, 連鎖アラーム中のアラーム個数も 17 個を上限とする. Table B-1 共沸蒸留プロセスの連鎖アラーム一覧 34