(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024150901
(43)【公開日】2024-10-24
(54)【発明の名称】分析装置、分析方法及びプログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20241017BHJP
G06Q 10/063 20230101ALI20241017BHJP
【FI】
G05B23/02 X
G06Q10/063
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023063928
(22)【出願日】2023-04-11
(71)【出願人】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】新井 馨
(72)【発明者】
【氏名】鈴木 聡
(72)【発明者】
【氏名】アダモ サンタナ
【テーマコード(参考)】
3C223
5L010
5L049
【Fターム(参考)】
3C223AA01
3C223AA11
3C223BA03
3C223CC02
3C223DD03
3C223EB01
3C223EB03
3C223FF13
3C223FF16
3C223FF17
3C223FF22
3C223FF43
3C223GG01
3C223HH02
3C223HH04
5L010AA06
5L049AA06
(57)【要約】 (修正有)
【課題】精度の良い操作手順を得ることができる技術を提供する。
【解決手段】本開示の分析装置は、異常又は異常兆候が発生し得る対象に関する値を取る複数の変数が含まれる制御データを用いて、前記対象に異常又は異常兆候が発生したときの復旧又は回避操作手順を得るためのモデル構築用データを選定するように構成されている選定部と、前記複数の変数のうち、対象異常変数と非線形な関係がある変数を選択変数として選択するように構成されている変数選択部と、前記モデル構築用データを用いて、前記選択変数のうち、前記対象異常変数と因果関係がある変数を操作変数として抽出するように構成されている操作変数抽出部と、非線形なグレンジャー因果性が考慮された因果分析技術によって前記操作変数の操作順序を推定することで、前記操作順序の前記操作変数で構成される非線形な復旧又は回避操作手順を抽出するように構成されている操作手順抽出部と、を有する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
異常又は異常兆候が発生し得る対象に関する値を取る複数の変数が含まれるサンプルデータの時系列データで表現される制御データを用いて、前記制御データに含まれるサンプルデータの中から、前記対象に異常又は異常兆候が発生したときの復旧又は回避操作手順を得るためのモデル構築用データを選定するように構成されている選定部と、
前記複数の変数のうち、前記異常又は異常兆候と関連がある変数を表す対象異常変数と非線形な関係がある変数を選択変数として選択するように構成されている変数選択部と、
前記モデル構築用データを用いて、非線形な因果関係検知手法により、前記選択変数のうち、前記対象異常変数と因果関係がある変数を操作変数として抽出するように構成されている操作変数抽出部と、
非線形なグレンジャー因果性が考慮された因果分析技術によって前記操作変数の操作順序を推定することで、前記操作順序の前記操作変数で構成される非線形な復旧又は回避操作手順を抽出するように構成されている第1の操作手順抽出部と、
を有する分析装置。
【請求項2】
前記変数選択部は、
前記選択変数をノイズが少ない変数を表す第1の選択変数とノイズが多い変数を表す第2の選択変数とのいずれかに分類するように構成されており、
前記操作変数抽出部は、
前記モデル構築用データを用いて、前記非線形な因果関係検知手法により、前記第1の選択変数のうち、前記対象異常変数と因果関係がある変数を第1の操作変数として抽出し、
前記モデル構築用データを用いて、複数の前記非線形な因果関係検知手法により、前記第2の選択変数のうち、前記対象異常変数と因果関係がある変数を第2の操作変数として抽出するように構成されており、
前記第1の操作手順抽出部は、
前記因果分析技術によって前記第1の操作変数の第1の操作順序と前記第2の操作変数の第2の操作順序とをそれぞれ推定することで、前記第1の操作順序の前記第1の操作変数で構成される非線形な第1の復旧又は回避操作手順と、前記第2の操作順序の前記第2の操作変数で構成される非線形な第2の復旧又は回避操作手順とをそれぞれ抽出するように構成されている、請求項1に記載の分析装置。
【請求項3】
前記操作変数抽出部は、
前記モデル構築用データに含まれるサンプルデータ集合毎に、複数の前記非線形な因果関係検知手法により、前記第2の選択変数のうち、前記対象異常変数と因果関係がある変数を検知し、
検知した変数の中から多数決により前記第2の操作変数を抽出するように構成されている、請求項2に記載の分析装置。
【請求項4】
前記非線形な因果関係検知手法には、PC(Peter and Clark)アルゴリズム、MCSL(Masked gradient-based Causal Structure Learning)が含まれる、請求項1乃至3の何れか一項に記載の分析装置。
【請求項5】
前記モデル構築用データを用いて、前記対象異常変数と、前記複数の変数のうち線形な復旧又は回避操作手順を構成する変数の候補となる変数を表す候補変数との間のグレンジャー因果関係を表す線形な因果モデルを構築するように構成されているモデル構築部と、
前記線形な因果モデルから前記線形な復旧又は回避操作手順を抽出するように構成されている第2の操作手順抽出部と、
前記非線形な復旧又は回避操作手順と、前記線形な復旧又は回避操作手順と、前記非線形な復旧又は回避操作手順と前記線形な復旧又は回避操作手順との論理和を取った復旧又は回避操作手順とを可視化するように構成されている可視化部と、
を有する請求項1に記載の分析装置。
【請求項6】
前記複数の変数には、前記対象の状態を測定した値を表す測定値を取る変数と、前記測定値の目標値として設定された値を表す設定値を取る変数と、前記測定値を前記設定値に追従させるために前記対象を操作したときの値を表す操作値を取る変数とが含まれ、
前記変数選択部は、
前記対象異常変数が前記測定値を取る変数である場合、前記設定値を取る変数と、前記操作値を取る変数との少なくとも一方を前記選択変数として選択するように構成されている、請求項1に記載の分析装置。
【請求項7】
異常又は異常兆候が発生し得る対象に関する値を取る複数の変数が含まれるサンプルデータの時系列データで表現される制御データを用いて、前記制御データに含まれるサンプルデータの中から、前記対象に異常又は異常兆候が発生したときの復旧又は回避操作手順を得るためのモデル構築用データを選定する選定手順と、
前記複数の変数のうち、前記異常又は異常兆候と関連がある変数を表す対象異常変数と非線形な関係がある変数を選択変数として選択する変数選択手順と、
前記モデル構築用データを用いて、非線形な因果関係検知手法により、前記選択変数のうち、前記対象異常変数と因果関係がある変数を操作変数として抽出する操作変数抽出手順と、
非線形なグレンジャー因果性が考慮された因果分析技術によって前記操作変数の操作順序を推定することで、前記操作順序の前記操作変数で構成される非線形な復旧又は回避操作手順を抽出する第1の操作手順抽出手順と、
をコンピュータが実行する分析方法。
【請求項8】
異常又は異常兆候が発生し得る対象に関する値を取る複数の変数が含まれるサンプルデータの時系列データで表現される制御データを用いて、前記制御データに含まれるサンプルデータの中から、前記対象に異常又は異常兆候が発生したときの復旧又は回避操作手順を得るためのモデル構築用データを選定する選定手順と、
前記複数の変数のうち、前記異常又は異常兆候と関連がある変数を表す対象異常変数と非線形な関係がある変数を選択変数として選択する変数選択手順と、
前記モデル構築用データを用いて、非線形な因果関係検知手法により、前記選択変数のうち、前記対象異常変数と因果関係がある変数を操作変数として抽出する操作変数抽出手順と、
非線形なグレンジャー因果性が考慮された因果分析技術によって前記操作変数の操作順序を推定することで、前記操作順序の前記操作変数で構成される非線形な復旧又は回避操作手順を抽出する第1の操作手順抽出手順と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、分析装置、分析方法及びプログラムに関する。
【背景技術】
【0002】
プラントの安定・安全操業を支えてきた熟練オペレータが減少し、非定常操作や緊急操作の経験が十分に伝承されていないという問題がある。このため、プラントの運転品質の向上(例えば、異常を回避してプラントを止めない、製品品質の向上、オペレータの負荷軽減等)を目的として、異常又はその予兆が検知されたときに適切な復旧操作手順又は回避操作手順をオペレータに提示する技術が望まれている。これに対して、異常イベントの前兆となるアラーム等が発生した場合に、その異常イベントの回避操作手順をプラントの運転員等に提示する技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、精度の良い操作手順(つまり、異常から復旧できる操作手順、異常を回避できる操作手順)を得ることは困難であった。例えば、特許文献1に記載されている技術は、過去の操作のログデータを利用するため、ログデータに残らない復旧操作手順又は回避操作手順は得ることができない。
【0005】
本開示は、上記の点に鑑みてなされたもので、精度の良い操作手順を得ることができる技術を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様による分析装置は、異常又は異常兆候が発生し得る対象に関する値を取る複数の変数が含まれるサンプルデータの時系列データで表現される制御データを用いて、前記制御データに含まれるサンプルデータの中から、前記対象に異常又は異常兆候が発生したときの復旧又は回避操作手順を得るためのモデル構築用データを選定するように構成されている選定部と、前記複数の変数のうち、前記異常又は異常兆候と関連がある変数を表す対象異常変数と非線形な関係がある変数を選択変数として選択するように構成されている変数選択部と、前記モデル構築用データを用いて、非線形な因果関係検知手法により、前記選択変数のうち、前記対象異常変数と因果関係がある変数を操作変数として抽出するように構成されている操作変数抽出部と、非線形なグレンジャー因果性が考慮された因果分析技術によって前記操作変数の操作順序を推定することで、前記操作順序の前記操作変数で構成される非線形な復旧又は回避操作手順を抽出するように構成されている第1の操作手順抽出部と、を有する。
【発明の効果】
【0007】
精度の良い操作手順を得ることができる技術が提供される。
【図面の簡単な説明】
【0008】
【
図1】本実施形態に係る分析システムの全体構成の一例を示す図である。
【
図2】制御データDBに格納されている制御データの一例を示す図である。
【
図3】或る項目に関するサンプルの時系列データの一例を示す図である。
【
図4】本実施形態に係る分析装置のハードウェア構成の一例を示す図である。
【
図5】本実施形態に係る分析装置の機能構成の一例を示す図である。
【
図6】本実施形態に係る分析装置の動作例を示すフローチャートである。
【
図7】本実施形態に係るモデル構築用データ選定処理の一例を示すフローチャートである。
【
図8】本実施形態に係る線形な復旧操作手順抽出処理の一例を示すフローチャートである。
【
図9】本実施形態に係る変数選択処理の一例を示すフローチャートである。
【
図10】本実施形態に係る因果モデル構築処理の一例を示すフローチャートである。
【
図11】本実施形態に係る操作手順抽出処理の一例を示すフローチャートである。
【
図12】本実施形態に係る非線形な復旧操作手順抽出処理の一例を示すフローチャートである。
【
図13】ノイズが少ない変数から操作変数を抽出する場合の一例を示す図である。
【
図14】ノイズが多い変数から操作変数を抽出する場合の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の一実施形態について説明する。以下の実施形態では、異常又はその兆候に対して、精度の良い復旧操作手順又は回避操作手順を得ることができる分析システム1について説明する。以下では、簡単のため、何等かの異常に対して、その異常から復旧するための操作手順(復旧操作手順)を得る場合について説明する。なお、「異常」を「異常の兆候」、「復旧操作手順」を「回避操作手順」と読み替えれば、以下の実施形態は、何等かの異常の兆候に対して、その異常の発生を回避するための操作手順(回避操作手順)を得る場合についても同様に適用することが可能である。
【0010】
ここで、本実施形態に係る分析システム1では、参考文献1と同様にVAR-LiNGAMと呼ばれる手法により線形な因果モデルを構築した上でその因果モデルから線形な復旧操作手順を抽出すると共に、非線形な因果関係検知手法により非線形な復旧操作手順も抽出する。なお、線形な復旧操作手順とは異常に関連する変数との関係で線形な変数に関する復旧操作手順のことであり、同様に、非線形な復旧操作手順とは異常に関連する変数との関係で非線形な変数に関する復旧操作手順のことである。
【0011】
これにより、例えば、複雑な設備(複雑なプラント、生産設備、産業用機器等)であっても、線形な復旧操作手順と非線形な復旧操作手順から精度の良い復旧操作手順を得ることが可能となる。
【0012】
<分析システム1の全体構成例>
本実施形態に係る分析システム1の全体構成例を
図1に示す。
図1に示すように、本実施形態に係る分析システム1には、分析装置10と、施設20と、入出力装置30と、制御データDB40とが含まれる。
【0013】
分析装置10は、制御データDB40に格納されている制御データを用いて、施設20内の設備21で発生した異常に対する復旧操作手順を作成及び可視化する汎用サーバやPC(パーソナルコンピュータ)等といった各種情報処理装置である。なお、分析装置10は、例えば、分散制御システム(DCS:Distributed Control System)を構成する汎用サーバやPC等であってもよい。
【0014】
施設20は、例えば、工場や廃棄物処理施設等といった各種施設である。施設20には、設備21と、センサ22と、制御装置23とが含まれる。設備21は、例えば、プラント、生産設備、産業用機器(例えば、ボイラー、熱交換器等)、各種装置等である。ただし、これらは一例であって、設備21はこれらに限定されるものではなく、何等かの設備、機器、装置等といった分析対象であればよい。センサ22は、設備21の各種状態を表す情報(例えば、圧力、温度、流量、電流、電圧等)を測定又は計測する機器である。制御装置23は、センサ22で測定された値(測定値)を取得(収集)すると共に、これらの測定値が予め設定された設定値に追従するように操作値を決定し、設備21を構成する各種機器や各種装置等を操作する。また、制御装置23は、これらの測定値、設定値及び操作値を制御データDB40に格納する。なお、設定値は測定値に対する目標値等と呼ばれてもよい。
【0015】
入出力装置30は、分析装置10の入出力インタフェースとして機能する各種装置である。入出力装置30としては、例えば、キーボード、マウス、ディスプレイ、タッチパネル等が挙げられる。
【0016】
制御データDB40は、制御データが格納される。制御データの具体例については後述する。
【0017】
なお、
図1に示す分析システム1の全体構成は一例であって、これに限られるものではない。例えば、分析装置10、入出力装置30及び制御データDB40のうちの少なくとも1つが一体で構成されていてもよい。また、例えば、施設20には設備21を駆動させるアクチュエータが含まれており、制御装置23は、このアクチュエータの動作を測定又は計測(例えば、攪拌動作等といった何等かの動作の有無、その速度等を測定又は計測)した値を取得(収集)し、それらの値も制御データDB40に格納してもよい。
【0018】
<制御データ>
制御データDB40に格納されている制御データの一例を
図2に示す。
図2に示すように、制御データには、複数の項目と、それら複数の項目の各々の項目番号と、それら複数の項目の各々の値と、それらの値の受信日時を示すタイムスタンプと、それら複数の項目の各々の値の種類とが含まれる。ここで、種類とは、該当の項目の値がPV(測定値)、SV(設定値)又はMV(操作値)のいずれであるか表している。或る項目の値の種類が「PV」である場合、その値はセンサ22で測定又は計測された値(測定値)である。また、或る項目の値の種類が「SV」である場合、その値は制御装置23に設定された設定値である。或る項目の値の種類が「MV」である場合、その値は制御装置23が設備21を構成する各種機器や各種装置等を操作したときの操作値である。なお、測定値、設定値及び操作値はそれぞれ「測定量」、「設定量」及び「操作量」と呼ばれることもある。また、測定量、設定量及び操作量をまとめて「制御量」と呼ばれることもある。
【0019】
例えば、
図2に示す制御データには、項目番号「001」の項目「項目1」~項目番号「N」の項目「項目N」までの項目と、それらの項目の各々の値の種類とが含まれている。また、
図2に示す制御データには、タイムスタンプ毎に、各項目の値が含まれている。なお、
図2に示す例ではタイムスタンプは1秒毎であるが、これは一例であって、これに限られるものではない。
【0020】
ここで、項目とは、例えば、その項目の値の種類が「PV」又は「SV」である場合は設備21の状態等の名称、その項目の値の種類が「MV」である場合は操作の名称のことである。設備21の状態等としては、例えば、圧力、温度、流量、電流、電圧等が挙げられる。また、操作としては、例えば、燃料バルブの開閉等が挙げられる。各項目はそれぞれ1つの変数を表しており、或る項目の値(言い換えれば、或る変数の値)とは、その値の種類が「PV」である場合は測定値、その値の種類が「SV」である場合は設定値、その値の種類が「MV」である場合は操作値のことである。
【0021】
以下、各タイムスタンプとそれに対応付けられている値の組を「サンプルデータ」と呼ぶことにする。
図2に示す制御データでは、サンプルデータは、(タイムスタンプ,項目1の値,項目2の値,・・・,項目Nの値)という形式で表すことができる。また、各項目の値の各々のことを「項目値」、「変数値」又は「サンプル」とも呼ぶことにする。なお、この表記により、制御データは、各項目に関して、サンプルの時系列データとみなすこともできる。例えば、項目Bに関するサンプル(値)をタイムスタンプ順に並べた場合、
図3に示すように、項目Bに関するサンプルは、時系列データとして表すことができる。
【0022】
以下では、タイムスタンプが表す日時を時刻インデックスtで表現するものとして、時刻インデックスtにおける項目nの値(言い換えれば、n番目の変数xnの値)をxn(t)で表すものとする。
【0023】
<分析装置10のハードウェア構成例>
本実施形態に係る分析装置10のハードウェア構成例を
図4に示す。
図4に示すように、本実施形態に係る分析装置10は、外部I/F101と、通信I/F102と、RAM(Random Access Memory)103と、ROM(Read Only Memory)104と、補助記憶装置105と、プロセッサ106とを有する。これら各ハードウェアは、それぞれがバス107を介して通信可能に接続される。
【0024】
外部I/F101は、記録媒体101a等の外部装置とのインタフェースである。記録媒体101aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0025】
通信I/F102は、
通信I/F102は、分析装置10を通信ネットワークに接続するためのインタフェースである。RAM103は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM104は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置105は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置であり、プログラムやデータが格納される。プロセッサ106は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。
【0026】
なお、
図4に示すハードウェア構成は一例であって、分析装置10は、他のハードウェア構成を有していてもよい。例えば、分析装置10は、複数の補助記憶装置105や複数のプロセッサ106を有していてもよいし、図示したハードウェア以外の種々のハードウェア(例えば、キーボードやマウス等の入力装置、ディスプレイや表示パネル等の出力装置等)を有していてもよい。
【0027】
<分析装置10の機能構成例>
本実施形態に係る分析装置10の機能構成例を
図5に示す。
図5に示すように、本実施形態に係る分析装置10は、対象異常変数指定部201と、モデル構築用データ選定部202と、第1のデータ分析部203と、第2のデータ分析部204と、可視化部205とを有する。これら各部は、例えば、分析装置10にインストールされた1以上のプログラムが、プロセッサ106に実行させる処理により実現される。
【0028】
対象異常変数指定部201は、制御データDB40に格納されている制御データの各項目の各々を表す変数であって、かつ、その値の種類が「PV」である変数のうち、復旧操作手順を得たい異常に関連する変数(以下、対象異常変数ともいう。)の指定を受け付ける。対象異常変数は、例えば、入出力装置30に含まれるキーボードやマウス、タッチパネル等を用いて、ユーザによって指定される。例えば、入出力装置30に含まれるディスプレイ上に表示された変数の一覧(制御データの各項目の各々を表す変数であって、かつ、その値の種類が「PV」である変数の一覧)の中からユーザによって対象異常変数が指定される。なお、複数の対象異常変数が指定されてもよいが、以下では、簡単のため、1つの対象異常変数が指定されるものとする。
【0029】
モデル構築用データ選定部202は、制御データDB40に格納されている制御データと対象異常変数とを用いて、異常ケースと呼ぶ或るサンプルデータの集合をモデル構築用データとして選定する。
【0030】
第1のデータ分析部203は、モデル構築用データを用いて、参考文献1と同様に、対象異常変数に関連する異常が発生したときの線形な復旧操作手順を抽出する。ここで、第1のデータ分析部203には、第1の変数選択部211と、因果モデル構築部212と、第1の順序抽出部213とが含まれる。なお、線形な復旧操作手順とは、対象異常変数との関係で線形な変数に関する復旧操作手順のことである。
【0031】
第1の変数選択部211は、モデル構築用データを用いて、対象異常変数と或る所定の因果関係を持つ変数を選択する。以下、第1の変数選択部211によって選択された変数を「第1の選択変数」と呼ぶことにする。
【0032】
因果モデル構築部212は、VAR-LiNGAMと呼ばれる手法により、対象異常変数と、第1の選択変数から更に選択された変数(後述する共通変数)との因果関係を表す線形な因果モデルを構築する。
【0033】
第1の順序抽出部213は、線形な因果モデルを用いて、対象異常変数に関連する異常が発生したときの線形な復旧操作手順を抽出する。
【0034】
第2のデータ分析部204は、モデル構築用データを用いて、対象異常変数に関連する異常が発生したときの非線形な復旧操作手順を抽出する。ここで、第2のデータ分析部204には、第2の変数選択部221と、第1の変数抽出部222と、第2の変数抽出部223と、第2の順序抽出部224とが含まれる。なお、非線形な復旧操作手順とは、対象異常変数との関係で非線形な変数に関する復旧操作手順のことである。
【0035】
第2の変数選択部221は、対象異常変数と非線形な関係を持つ変数を選択する。以下、第2の変数選択部221によって選択された変数を「第2の選択変数」と呼ぶことにする。
【0036】
また、第2の変数選択部221は、第2の選択変数をノイズが少ない変数とノイズが多い変数とに分割する。ここで、ノイズが多い変数とは、例えば、その変数のサンプルを時系列データとして表現したときに振動数が多い変数(具体的には、例えば、或る予め決められた期間内の振動数が或る予め決められた閾値以上の変数)のことである。一方で、ノイズが少ない変数とは、第2の選択変数のうち、ノイズが多い変数以外の変数のことである。
【0037】
第1の変数抽出部222は、モデル構築用データを用いて、非線形な因果関係を検知できる手法(以下、「非線形な因果関係検知手法」ともいう。)により、ノイズが少ない変数のうち、対象異常変数に関連する異常が発生したときに操作すべき変数候補を抽出する。以下、第1の変数抽出部222によって抽出された変数候補を「第1の操作変数」と呼ぶことにする。
【0038】
第2の変数抽出部223は、モデル構築用データを用いて、複数の非線形な因果関係検知手法により、ノイズが多い変数のうち、対象異常変数に関連する異常が発生したときに操作すべき変数候補を抽出する。以下、第2の変数抽出部223によって抽出された変数候補を「第2の操作変数」と呼ぶことにする。なお、ノイズが多い変数は、一般に、対象異常変数との関係で複雑な非線形因果関係を持つため、第2の変数抽出部223では、第1の変数抽出部222と異なり、複数の非線形な因果関係検知手法を用いている。
【0039】
第2の順序抽出部224は、第1の操作変数の操作順序を推定することにより、非線形な復旧操作手順を抽出する。同様に、第2の順序抽出部224は、第2の操作変数の操作順序を推定することにより、非線形な復旧操作手順を抽出する。
【0040】
可視化部205は、入出力装置30に含まれるディスプレイ上に復旧操作手順(線形な復旧操作手順、非線形な復旧操作手順、それらの論理和(OR)を取った復旧操作手順等)を可視化(表示)する。
【0041】
<分析装置10の動作例>
以下、本実施形態に係る分析装置10の動作例について、
図6を参照しながら説明する。
【0042】
まず、対象異常変数指定部201は、対象異常変数の指定を受け付ける(ステップS101)。なお、対象異常変数は、その値の種類が「PV」であることに留意されたい。
【0043】
次に、モデル構築用データ選定部202は、制御データDB40に格納されている制御データと、上記のステップS101で指定された対象異常変数とを用いて、モデル構築用データを選定する(ステップS102)。なお、本ステップの処理の詳細については後述する。
【0044】
次に、第1のデータ分析部203は、上記のステップS102で選定されたモデル構築用データを用いて、線形な復旧操作手順を抽出する(ステップS103)。なお、本ステップの処理の詳細については後述する。
【0045】
また、第2のデータ分析部204は、上記のステップS102で選定されたモデル構築用データを用いて、非線形な復旧操作手順を抽出する(ステップS104)。なお、本ステップの処理の詳細については後述する。
【0046】
上記のステップS103及びステップS104の実行順は順不同であり、上記のステップS104が実行された後に、上記のステップS103が実行されてもよい。
【0047】
そして、可視化部205は、上記のステップS103で抽出された線形な復旧操作手順と、上記のステップS104で抽出された非線形な復旧操作手順と、それらの復旧操作手順の論理和(OR)を取った復旧操作手順とを可視化する(ステップS105)。これにより、例えば、設備21が複雑であっても、施設20のオペレータ等といったユーザは、当該設備21に異常が発生したときの復旧操作手順を知ることができる。
【0048】
<モデル構築用データ選定処理>
以下では、
図6のステップS102の処理(モデル構築用データ選定処理)の詳細について、
図7を参照しながら説明する。
【0049】
モデル構築用データ選定部202は、制御データDB40に格納されている制御データに含まれる対象異常変数の値から異常期間を特定し、その期間が長い順に開始日時と終了日時を保持する(ステップS201)。すなわち、モデル構築用データ選定部202は、以下の手順1-1~手順1-3により、異常期間を特定し、その期間が長い順に開始日時と終了日時を保持する。
【0050】
手順1-1:まず、モデル構築用データ選定部202は、制御データに含まれる対象異常変数の値とその対象異常変数の管理限界とを用いて、1以上の異常期間を特定する。
【0051】
例えば、時刻インデックスtにおける対象異常変数の値をx(t)とすれば、制御データに含まれる対象異常変数の値の時系列データは{x(t)|t∈T}と表すことができる。ただし、Tは、対象異常変数の値に対応するタイムスタンプが表す日時の時刻インデックスの集合である。
【0052】
このとき、上方管理限界をth1とすれば、例えば、以下の(a-1)~(a-3)を満たす期間[ts,te]を異常期間とする。
【0053】
(a-1)x(ts-1)≦th1、かつ、x(ts)>th1、
(a-2)x(te)>th1、かつ、x(te+1)≦th1、
(a-3)t∈[ts,te]に対して、x(t)>th1
同様に、下方管理限界をth2とすれば、例えば、以下の(b-1)~(b-3)を満たす期間[ts,te]を異常期間とする。
【0054】
(b-1)x(ts-1)≧th2、かつ、x(ts)<th2、
(b-2)x(te)<th2、かつ、x(te+1)≧th2、
(b-3)t∈[ts,te]に対して、x(t)<th2
これにより、各異常期間[ts,te]が特定され、それらの集合{[ts
(i),te
(i)]|i∈I}が得られる。ただし、Iは異常期間を表すインデックスの集合である。
【0055】
なお、上記では上方管理限界と下方管理限界の両方を考えたが、対象異常変数によっては上方管理限界又は下方管理限界のいずれか一方のみが設定されることもあり得る。この場合、上方管理限界又は下方管理限界のいずれか一方のみを考えればよい。
【0056】
手順1-2:次に、モデル構築用データ選定部202は、期間te-tsが大きい順に[ts,te]の開始日時tsと終了日時teをソートする。以下、期間te-tsが大きい順にソートされた異常期間の開始日時をts
(1),・・・,ts
(|I|)、終了日時をte
(1),・・・,te
(|I|)とする。
【0057】
手順1-3:そして、モデル構築用データ選定部202は、開始日時ts
(1),・・・,ts
(|I|)と終了日時te
(1),・・・,te
(|I|)とをメモリ(例えば、RAM103や補助記憶装置105等の記憶領域)に保持する。これにより、期間が長い順に異常期間の開始日時と終了日時が保持される。なお、異常期間は、その期間が長い順に1番目、2番目、・・・、|I|番目と順序付けられているものとする。
【0058】
次に、モデル構築用データ選定部202は、異常期間及び異常ケースのインデックスkを1に初期化する(ステップS202)。
【0059】
次に、モデル構築用データ選定部202は、kが予め設定された異常期間数を超えているか、又は、kが異常期間の総数(つまり、|I|)を超えているかを判定する(ステップS203)。
【0060】
上記のステップS203でkが予め設定された異常期間数を超えておらず、かつ、kが異常期間の総数を超えていない場合、モデル構築用データ選定部202は、k番目の異常期間から異常ケースkを作成する(ステップS204)。すなわち、モデル構築用データ選定部202は、以下の手順2-1~手順2-3により、k番目の異常期間から異常ケースkを作成する。
【0061】
手順2-1:まず、モデル構築用データ選定部202は、k番目の異常期間の直前の或る長さの第1の期間と、k番目の異常期間と、k番目の異常期間の直後の或る長さの第2の期間とを結合した期間(以下、結合期間という。)を作成する。第1の期間及び第2の期間の長さとしては、例えば、予め決められたα(ただし、0<α<1)を用いて、α×(te
(k)-ts
(k))等とすればよい。
【0062】
これにより、k番目の異常期間の直前の或る長さの第1の期間を[t's
(k),ts
(k)]、k番目の異常期間の直後の或る長さの第2の期間を[te
(k),t'e
(k)]とすれば、k番目の結合期間S(k)=[t's
(k),ts
(k)]∪[ts
(k),te
(k)]∪[te
(k),t'e
(k)]が得られる。
【0063】
手順2-2:次に、モデル構築用データ選定部202は、制御データに含まれるサンプルデータの中からk番目の結合期間S(k)のサンプルデータを或る間隔で抽出する。サンプルデータの抽出間隔としては、例えば、(k番目の結合期間S(k)のサンプルデータの総数)/(予め設定されたサンプル数)とすればよい。
【0064】
手順2-3:そして、モデル構築用データ選定部202は、上記の手順2-2で抽出したサンプルデータの集合を異常ケースkとする。
【0065】
次に、モデル構築用データ選定部202は、kに1を加算し(ステップS205)、上記のステップS203に戻る。これにより、kが予め設定された異常期間数を超えるか、又は、kが異常期間の総数を超えるまで、上記のステップS204~ステップS205が繰り返し実行される。
【0066】
一方で、上記のステップS203でkが予め設定された異常期間数を超えている場合又はkが異常期間の総数を超えている場合、モデル構築用データ選定部202は、モデル構築用データ選定処理を終了する。これにより、これまでに作成された異常ケース1,・・・,異常ケースk-1がモデル構築用データとなる。なお、各kに対してS(k)≧S(k+1)であるため、各異常ケースは、異常ケース1,・・・,異常ケースk-1の順に期間が長いことに留意されたい。
【0067】
なお、上記のステップS204で第1の期間及び第2の期間(つまり、異常期間の前後の正常期間)を結合させた理由は、正常時と異常時でそれぞれ異なる変動が観測される変数が、異常回復(復旧)のための変数候補である可能性が高いためである。また、第2の期間を用いるもう1つの理由は、異常期間の終了後でも、異常回復のための操作が行われている等の理由により、対象異常変数以外の変数の変動は終了していない可能性があるためである。このため、第1の期間及び第2の期間を異常期間に結合させることで、網羅性を持つ異常ケースを得ることが可能となり、復旧操作手順の抽出が期待できる。
【0068】
<線形な復旧操作手順抽出処理>
以下では、
図6のステップS103の処理(線形な復旧操作手順抽出処理)の詳細について、
図8を参照しながら説明する。
【0069】
まず、第1のデータ分析部203の第1の変数選択部211は、
図6のステップS102で選定されたモデル構築用データを用いて、対象異常変数とグレンジャー因果関係を持つ変数を第1の選択変数として選択する(ステップS301)。なお、本ステップの処理の詳細については後述する。
【0070】
ここで、変数x1と変数x2を時系列データとする。このとき、変数x1が変数x2とグレンジャー因果関係(又は、グレンジャー因果性)がある場合、変数x1の時系列パターンに近いパターンが少し遅れて変数x2の時系列パターンに現れる。このため、変数x1の過去のデータで変数x2の将来のデータを予測できる。そこで、上記のステップS301では、対象異常変数とグレンジャー因果関係を持つ変数を第1の選択変数として選択する。これにより、対象異常変数の値が異常の発生によって変化した場合に、異常からの復旧のために操作され、その値が変化した変数を第1の選択変数として選択することが可能となる。
【0071】
次に、第1のデータ分析部203の因果モデル構築部212は、
図6のステップS101で指定された対象異常変数と、上記のステップS301で選択された第1の選択変数とを用いて、対象異常変数を目的変数、第1の選択変数から更に選択された変数(後述する共通変数)を説明変数とする線形な因果モデルを構築する(ステップS302)。なお、本ステップの処理の詳細については後述する。
【0072】
そして、第1のデータ分析部203の第1の順序抽出部213は、上記のステップS302で構築された線形な因果モデルを用いて、対象異常変数に関連する異常が発生したときに操作すべき変数候補とその操作順序(つまり、線形な復旧操作手順)を抽出する(ステップS303)。なお、本ステップの処理の詳細については後述する。
【0073】
<変数選択処理>
以下では、
図8のステップS301の処理(変数選択処理)の詳細について、
図9を参照しながら説明する。以下のステップS401~ステップS403の処理は、異常ケース毎に繰り返し実行される。以下では、或る異常ケースkに関するステップS401~ステップS403の処理について説明する。
【0074】
まず、第1の変数選択部211は、変数毎に異常ケースkに含まれるサンプルを標準化し、標準偏差が低い変数を削除する(ステップS401)。例えば、第1の変数選択部211は、標準偏差が0である変数(又は、標準偏差がε(εは予め決められた正数)以内である変数)を削除すればよい。以下、{x1,・・・,xN}のうち、削除されなかった変数の集合を{xm|m∈M}とする。Mは、{x1,・・・,xN}のうち、削除されなかった変数の添え字の集合である。
【0075】
次に、第1の変数選択部211は、因果推論により各変数と対象異常変数間の因果の大きさを表す指標値として、参考文献2に記載されているEDM(Empirical Dynamic Modeling)値を計算する(ステップS402)。EDMとは、非線形なグレンジャー因果性が考慮された因果分析技術である。EDMを利用することで、対象異常変数とそれ以外の変数との間のグレンジャー因果関係の識別が期待できる。第1の変数選択部211は、以下の手順3-1~手順3-3により、対象異常変数xとそれ以外の各変数x'∈{xm|m∈M}(ただし、x≠x')の各々とのEDM値を計算する。
【0076】
手順3-1:まず、第1の変数選択部211は、対象異常変数xからそれ以外の変数x'へのグレンジャー因果性指標EDM(x,x')を計算する。なお、グレンジャー因果性指標としては、例えば、最適な埋め込み次元数でライブラリサイズが最大のときの相関係数を利用すればよい。
【0077】
手順3-2:次に、第1の変数選択部211は、対象異常変数x以外の変数x'から対象異常変数xへのグレンジャー因果性指標EDM(x',x)を計算する。
【0078】
手順3-3:そして、第1の変数選択部211は、EDM(x,x')とEDM(x',x)の合計をEDM値として計算する。
【0079】
そして、第1の変数選択部211は、上記のステップS402で計算されたEDM値が予め設定された閾値よりも大きい変数を第1の選択変数として選択する(ステップS403)。EDM値が閾値よりも大きい変数の数が、予め設定された最大数よりも多い場合、第1の変数選択部211は、EDM値が大きい順に最大数の数までの変数を第1の選択変数として選択する。これにより、異常ケースkに対して、対象異常変数と線形又は非線形なグレンジャー因果関係を持つ1以上の変数が第1の選択変数として選択される。以下、異常ケースkに対して選択された第1の選択変数の集合をX(k)={xm|m∈M(k)}とする。M(k)は、異常ケースkに対して選択された変数の添え字の集合である。
【0080】
なお、上記のステップS403で最大数を用いる理由は、次の因果モデル構築処理の計算負荷を軽減するためである。
【0081】
<因果モデル構築処理>
以下では、
図8のステップS302の処理(因果モデル構築処理)の詳細について、
図10を参照しながら説明する。
【0082】
まず、因果モデル構築部212は、異常ケースk毎に、グレンジャー因果性を考慮した因果探索技術であるVAR-LiNGAMとその拡張機能であるCausal Effectによる計算を実行し、各第1の選択変数をランキングする(ステップS501)。すなわち、因果モデル構築部212は、異常ケースk毎に、対象異常変数から各第1の選択変数へのCE(Causal Effect)値を計算し、CE値の大きい順に第1の選択変数を並べ替える。なお、VAR-LiNGAMとCausal Effectに関しては、例えば、参考文献3及び4等を参照されたい。
【0083】
以下、簡単のため、異常ケースkの第1の選択変数の集合X(k)={xm|m∈M(k)}に含まれる各第1の選択変数をCE値の大きい順に並べ替えたものを表す順序付き第1の選択変数集合もX(k)と書くことにする。
【0084】
次に、因果モデル構築部212は、異常ケース1から順に、異常ケースkの順序付き第1の選択変数集合X(k)と異常ケースk+1の順序付き第1の選択変数集合X(k+1)との共通部分を取り、複数の異常ケースで共通する第1の選択変数を表す共通変数の集合を特定する(ステップS502)。すなわち、因果モデル構築部212は、k=1,・・・,K-1(ただし、Kは最後の異常ケースを表すインデックス)に対して、Y(1)=X(1)、Y(k+1)←Y(k)∩X(k+1)として、最終的に得られたY(K)を共通変数の集合とする。以下、最終的に得られた共通変数の集合をY=Y(K)とする。
【0085】
ただし、因果モデル構築部212は、或るk'で共通変数の数(つまり、|Y(k')|)が予め設定された下限数以下となった場合は、その直前に得られた共通変数の集合Y(k'-1)を最終的な共通変数の集合Yとする。また、因果モデル構築部212は、|Y(K)|が予め設定された上限数以上である場合、Y(K)に含まれる共通変数のうち、先頭から順に上限数の共通変数を選択し、選択した共通変数の順序付き集合を最終的な共通変数の集合Yとする。
【0086】
なお、共通変数は、対象異常変数に関連する異常が発生したときの線形な復旧操作手順を構成する変数の候補である。
【0087】
次に、因果モデル構築部212は、共通変数集合Y=Y(K)に含まれる共通変数毎に、異常ケース1における共通変数のサンプルに対して、異常ケース2~異常ケースKにおける当該共通変数のサンプルを結合する(ステップS503)。例えば、K=2である場合、因果モデル構築部212は、共通変数毎に、異常ケース1における当該共通変数のサンプルの末尾に対して、異常ケース2における当該共通変数のサンプルを結合すればよい。同様に、例えば、K=3である場合、因果モデル構築部212は、共通変数毎に、異常ケース1における当該共通変数のサンプルの末尾に対して、異常ケース2における当該共通変数のサンプルを結合した後、その末尾に対して、更に異常ケース3における当該共通変数のサンプルを結合すればよい。これにより、異なる異常ケースを有効に結合することが可能となる。
【0088】
次に、因果モデル構築部212は、共通変数集合Y=Y(K)に含まれる共通変数毎に、その共通変数のサンプルをコピーし、そのサンプルの末尾に追加する(ステップS504)。これにより、上記のステップS504でサンプル結合したもののコピーがその末尾に追加され、因果の大きさをより検知しやすくなることが期待できる。
【0089】
次に、因果モデル構築部212は、事前情報を用いて、対象異常変数を因果モデルの最上位変数に設定する(ステップS505)。事前情報とは、因果的順序に関して事前に得られる情報のことであり、ユーザによって与えられる。ここでは、1つ又は複数の対象異常変数が因果モデルの最上位変数となることを表す情報であれば任意の事前情報を用いることができる。なお、事前情報は、事前情報行列等と呼ばれてもよい。
【0090】
そして、因果モデル構築部212は、対象異常変数を目的変数、共通変数集合Yに含まれる共通変数を説明変数として、上記のステップS504の処理後のサンプルを用いて、VAR-LiNGAMにより因果モデルを構築する(ステップS506)。これにより、対象異常変数及び共通変数をノード、2つのノードが表す変数間のグレンジャー因果関係を重み付き有向エッジとする重み付き有向グラフが線形な因果モデルとして得られる。なお、有向エッジに付与された重みは因果の大きさを表している。
【0091】
<操作手順抽出処理>
以下では、
図8のステップS303の処理(操作手順抽出処理)の詳細について、
図11を参照しながら説明する。
【0092】
まず、第1の順序抽出部213は、因果の大きさに応じて、因果モデル構築処理で構築された因果モデルを枝刈りする(ステップS601)。すなわち、第1の順序抽出部213は、予め設定された閾値を用いて、重みの値が当該閾値未満のエッジを因果モデルから削除する。これは、因果が弱い共通変数を削除することを意味している。
【0093】
次に、第1の順序抽出部213は、各共通変数と対象異常変数との間に複数の経路が存在する場合、因果モデルから最短経路以外の経路を構成するエッジのうち、最後のエッジを削除する(ステップS602)。なお、最後のエッジとは、当該経路を構成するエッジのうち、当該経路の終点を端点とするエッジのことである。
【0094】
以上により、対象異常変数に関連する異常が発生したときに操作すべき変数とその順序を表す線形な復旧操作手順が線形な因果モデルとして得られたことになる。
【0095】
<非線形な復旧操作手順抽出処理>
以下では、
図6のステップS104の処理(非線形な復旧操作手順抽出処理)の詳細について、
図12を参照しながら説明する。
【0096】
まず、第2の変数選択部221は、モデル構築用データ又は制御データDB40に格納されている制御データを用いて、対象異常変数と非線形な関係を持つ変数を第2の選択変数として選択する(ステップS701)。対象異常変数の値の種類は「PV」であるため、第2の変数選択部221は、例えば、値の種類が「SV」又は「MV」である変数を第2の選択変数として選択すればよい。これは、値の種類が「SV」又は「MV」である変数は、値の種類が「PV」である対象異常変数との関係で非線形になることが多いためである。
【0097】
ただし、上記の第2の選択変数の方法は一例であって、これに限られるものではない。第2の変数選択部221は、例えば、モデル構築用データを用いて、対象異常変数とそれ以外の各変数の相関係数を求め、その相関係数の値が予め決められた閾値未満の変数を第2の選択変数として選択してもよい。又は、第2の変数選択部221は、例えば、モデル構築用データを用いて、MIC(Maximal information coefficient)等の非線形な相関関係に関する指標値を求め、その指標値が予め決められた閾値以上の変数を第2の選択変数として選択してもよい。又は、第2の変数選択部221は、例えば、対象異常変数との関係で非線形な変数が既知であり、それらの変数の情報がデータベース等に格納されている場合には、そのデータベースを参照して第2の選択変数を選択してもよい。
【0098】
以下、第2の変数の集合を{xm|m∈M'}とする。M'は、{x1,・・・,xN}のうち、第2の選択変数として選択された変数の添え字の集合である。
【0099】
次に、第2の変数選択部221は、モデル構築用データを用いて、第2の変数の集合{xm|m∈M'}をノイズが少ない変数の集合とノイズが多い変数の集合とに分割する(ステップS702)。以下、ノイズが少ない変数の集合をE11={xm|m∈M11'}、ノイズが多い変数の集合をE12={xm|m∈M12'}とする。M11'はM'のうち、ノイズが少ない変数の添え字の集合であり、M12'はM'のうち、ノイズが多い変数の添え字の集合である。
【0100】
第1の変数抽出部222は、モデル構築用データを用いて、非線形な因果関係検知手法により、ノイズが少ない変数の集合E11={xm|m∈M11'}から第1の操作変数を抽出する(ステップS703)。第1の変数抽出部222は、以下の手順4-1~手順4-2により、第1の操作変数を抽出する。
【0101】
手順4-1:まず、第1の変数抽出部222は、異常ケース毎に、その異常ケースが表すサンプルデータ集合を用いて、非線形な因果関係検知手法により、対象異常変数と非線形な因果関係を持つ変数をE11={xm|m∈M11'}から検知する。ここで、非線形な因果関係検知手法としては、例えば、ベイジアンネットワークをベースとした手法を用いることができる。このような非線形な因果関係検知手法としては、例えば、参考文献5に記載されているPC(Peter and Clark)アルゴリズム等が挙げられる。
【0102】
手順4-2:そして、第1の変数抽出部222は、すべての異常ケースに関して、上記の手順4-1で検知した変数を第1の操作変数として抽出する。これにより、上記の手順4-1で検知したすべての変数の集合が第1の操作変数の集合として得られる。以下、第1の操作変数の集合をE21={xm|m∈M21'}とする。M21'はM11'のうち、第1の操作変数として抽出された変数の添え字の集合である。
【0103】
一例として、モデル構築用データが異常ケース1及び2で構成されている場合における第1の操作変数の抽出例を
図13に示す。
図13に示す例では、異常ケース1を用いた場合、非線形な因果関係検知手法により、対象異常変数と非線形な因果関係を持つ変数として項目Bを表す変数と項目Cを表す変数とがE
11={x
m|m∈M
11'}から検知されている。また、異常ケース2を用いた場合、非線形な因果関係検知手法により、対象異常変数と非線形な因果関係を持つ変数として項目Dを表す変数がE
11={x
m|m∈M
11'}から検知されている。このため、
図13に示す例では、E
21={項目Bを表す変数,項目Cを表す変数,項目Dを表す変数}となる。
【0104】
第2の変数抽出部223は、モデル構築用データを用いて、複数の非線形な因果関係検知手法により、ノイズが多い変数の集合E12={xm|m∈M12'}から第2の操作変数を抽出する(ステップS704)。第2の変数抽出部223は、以下の手順5-1~手順5-2により、第2の操作変数を抽出する。
【0105】
手順5-1:まず、第2の変数抽出部223は、異常ケース毎に、その異常ケースが表すサンプルデータ集合を用いて、複数の非線形な因果関係検知手法の各々により、対象異常変数と非線形な因果関係を持つ変数をE12={xm|m∈M12'}からそれぞれ検知する。ここで、非線形な因果関係検知手法としては、例えば、ベイジアンネットワークをベースとした手法、ニューラルネットワークをベースとした手法等を用いることができる。ニューラルネットワークをベースとした非線形な因果関係検知手法としては、例えば、参考文献6に記載されているMCSL(Masked gradient-based Causal Structure Learning)等が挙げられる。
【0106】
手順5-2:そして、第2の変数抽出部223は、変数xm(m∈M12')毎に、上記の手順5-1で検知された回数を算出し、その回数が予め決められた閾値以上の変数を第2の操作変数として抽出する。これは、上記の手順5-1で検知された変数の中から多数決により第2の操作変数を決定していることを意味する。これにより、各異常ケースを用いて複数の非線形な因果関係検知手法の各々で検知された変数のうち、その検知回数が一定の変数の集合が第2の操作変数の集合として得られる。以下、第2の操作変数の集合をE22={xm|m∈M22'}とする。M22'はM12'のうち、第2の操作変数として抽出された変数の添え字の集合である。
【0107】
一例として、モデル構築用データが異常ケース1及び2で構成されている場合における第2の操作変数の抽出例を
図14に示す。
図14に示す例では、異常ケース1を用いた場合、非線形な因果関係検知手法1(例えば、PCアルゴリズム等)により、対象異常変数と非線形な因果関係を持つ変数として項目Dを表す変数と項目Eを表す変数とがE
12={x
m|m∈M
12'}から検知され、非線形な因果関係検知手法2(例えば、MCSL等)により、対象異常変数と非線形な因果関係を持つ変数として項目Dを表す変数がE
12={x
m|m∈M
12'}から検知されている。また、異常ケース2を用いた場合、非線形な因果関係検知手法1により、対象異常変数と非線形な因果関係を持つ変数として項目Dを表す変数がE
12={x
m|m∈M
12'}から検知され、非線形な因果関係検知手法2により、対象異常変数と非線形な因果関係を持つ変数として項目Bを表す変数と項目Fを表す変数とがE
12={x
m|m∈M
12'}から検知されている。このため、例えば、閾値が「2」等である場合、
図14に示す例では、E
22={項目Dを表す変数}となる。
【0108】
なお、上記の手順5-2で用いられる閾値は適宜その値を設定することが可能であるが、例えば、異常ケース数に応じて設定されてもよい。例えば、予め与えられた値をc、異常ケース数をKとしたとき、c/Kにより上記の閾値を設定してもよい。
【0109】
また、上記の手順5-2では、各異常ケースで検知されたすべての変数の検知回数を求めたが、例えば、異常ケース毎に、その異常ケース内で検知回数を求め、この検知回数が予め決められた閾値以上の変数を特定した上で、各異常ケースでそれぞれ特定された変数の和集合を第2の操作変数の集合E22としてもよい。これは、各異常ケース内で多数決を取って第2の操作変数を決定していることを意味する。
【0110】
上記のステップS703及びステップS704の実行順は順不同であり、上記のステップS704が実行された後に、上記のステップS703が実行されてもよい。
【0111】
そして、第2の順序抽出部224は、第1の操作変数の集合E21に含まれる第1の操作変数の操作順序と、第2の操作変数の集合E22に含まれる第2の操作変数の操作順序とをそれぞれ推定し、非線形な復旧操作手順を抽出する(ステップS705)。第2の順序抽出部224は、例えば、参考文献2に記載されているEDMを用いて、第1の操作変数の集合E21に含まれる第1の操作変数の操作順序と、第2の操作変数の集合E22に含まれる第2の操作変数の操作順序とをそれぞれ推定する。具体的には、第2の順序抽出部224は、以下の手順6-1~手順6-8により、非線形な復旧操作手順を抽出する。
【0112】
手順6-1:まず、第2の順序抽出部224は、対象異常変数をx'として、対象異常変数x'から各xm
(1)∈E21へのグレンジャー因果性指標EDM(x',xm
(1))を計算する。
【0113】
手順6-2:次に、第2の順序抽出部224は、上記の手順6-1で計算したグレンジャー因果性指標がEDM(x',xm
(1))<thである変数xm
(1)をE21から削除する。ここで、thは予め設定された閾値である。以下、EDM(x',xm
(1))<thである変数xm
(1)を削除した後のE21を「E21'」と表す。
【0114】
手順6-3:次に、第2の順序抽出部224は、任意のxm
(1),xm'
(1)∈E21'に対して変数xm
(1)から変数xm'
(1)へのグレンジャー因果性指標EDM(xm
(1),xm'
(1))を計算する。
【0115】
手順6-4:そして、第2の順序抽出部224は、対象異常変数x'から各変数xm
(1)への因果関係があり、かつ、EDM(xm
(1),xm'
(1))≧thである変数xm
(1),xm'
(1)に関して変数xm
(1)から変数xm'
(1)への因果関係があるものとして、各変数をノード、変数間の因果関係をエッジとする因果グラフ(非線形な因果モデル)を構築する。この因果グラフが非線形な復旧操作手順(以下、非線形な第1の復旧操作手順と呼ぶ。)を表している。
【0116】
手順6-5:同様に、第2の順序抽出部224は、対象異常変数x'から各xm
(2)∈E22へのグレンジャー因果性指標EDM(x',xm
(2))を計算する。
【0117】
手順6-6:次に、第2の順序抽出部224は、上記の手順6-5で計算したグレンジャー因果性指標がEDM(x',xm
(2))<thである変数xm
(2)をE22から削除する。以下、EDM(x',xm
(2))<thである変数xm
(2)を削除した後のE22を「E22'」と表す。
【0118】
手順6-7:次に、第2の順序抽出部224は、任意のxm
(2),xm'
(2)∈E22'に対して変数xm
(2)から変数xm'
(2)へのグレンジャー因果性指標EDM(xm
(2),xm'
(2))を計算する。
【0119】
手順6-8:そして、第2の順序抽出部224は、対象異常変数x'から各変数xm
(2)への因果関係があり、かつ、EDM(xm
(2),xm'
(2))≧thである変数xm
(2),xm'
(2)に関して変数xm
(2)から変数xm'
(2)への因果関係があるものとして、各変数をノード、変数間の因果関係をエッジとする因果グラフ(非線形な因果モデル)を構築する。この因果グラフが非線形な復旧操作手順(以下、非線形な第2の復旧操作手順と呼ぶ。)を表している。
【0120】
<可視化結果>
図6のステップS105における可視化結果の一例を
図15に示す。
図15に示す可視化結果1000には、異常対象項目表示欄1010と、第1の復旧操作手順表示欄1020と、第2の復旧操作手順表示欄1030と、第3の復旧操作手順表示欄1040とが含まれる。
【0121】
異常対象項目表示欄1010には、異常対象変数が表す項目名が表示される。
図15に示す例では、「項目A」が表示されている。
【0122】
第1の復旧操作手順表示欄1020には、線形な復旧操作手順が表示される。
図15に示す例では、線形な復旧操作手順1021が表示されている。
【0123】
第2の復旧操作手順表示欄1030には、非線形な復旧操作手順が表示される。
図15に示す例では、非線形な第1の復旧操作手順1031と、非線形な第2の復旧操作手順1032とが表示されている。
【0124】
第3の復旧操作手順表示欄1040には、線形な復旧操作手順と非線形な復旧操作手順との論理和を取った復旧操作手順が表示される。
図15に示す例では、線形な復旧操作手順1021と、非線形な第1の復旧操作手順1031と、非線形な第2の復旧操作手順1032との論理和を取った復旧操作手順1041が表示されている。
【0125】
これにより、ユーザは、対象異常変数に関連する異常が発生したとき、どの変数をどの順で操作すればよいかを知ることができる。例えば、復旧操作手順1041を確認することで、ユーザは、「項目A」に関する異常が発生した場合、項目B、項目C、項目Dのいずれか(又は、項目B、項目C、項目Dを同時)に操作し、項目Cを操作した後は項目Yを操作すべきことを知ることができる。
【0126】
<まとめ>
以上のように、本実施形態に係る分析装置10は、設備21の各種状態を表す測定値(PV)と、その測定値に対する設定値(SV)と、測定値を設定値に追従させるための操作値(MV)とが含まれる制御データを用いて、設備21で異常又はその兆候が発生したときの復旧操作手順又は回避操作手順を得ることができる。しかも、本実施形態に係る分析装置10は、線形な復旧操作手順又は回避操作手順だけでなく、非線形な復旧操作手順又は回避操作手順も抽出し、更に線形な復旧操作手順又は回避操作手順と非線形な復旧操作手順又は回避操作手順との論理和(OR)を取った復旧操作手順又は回避操作手順を得ることができる。これにより、例えば、複雑な設備21であっても、精度の良い復旧操作手順を得ることが可能となる。
【0127】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【0128】
[参考文献]
参考文献1:特許第7222441号公報
参考文献2:Chang, Chun-Wei; Ushio, Masayuki; Hsieh, Chihhao., Empirical dynamic modeling for beginners, Ecological Research 2017, 32(6): 785-796.
参考文献3:Aapo Hyvarinen, Kun Zhang, Shohei Shimizu, Patrik O. Hoyer. Estimation of a Structural Vector Autoregression Model Using Non-Gaussianity. Journal of Machine Learning Research, 11: 1709-1731, 2010.
参考文献4:P. Blobaum and S. Shimizu. Estimation of interventional effects of features on prediction. In Proc. 2017 IEEE International Workshop on Machine Learning for Signal Processing (MLSP2017), pp. 1-6, Tokyo, Japan, 2017.
参考文献5:P. Spirtes, C. Glymour, and R. Scheines, "Causation, Prediction, and Search", 2nd ed.
参考文献6:Ignavier Ng, Shengyu Zhu, Zhuangyan Fang, Haoyang Li, Zhitang Chen, Jun Wang. Ignavier Ng, Shengyu Zhu, Zhuangyan Fang, Haoyang Li, Zhitang Chen, Jun Wang. arXiv:1910.08527 [cs.LG].
【符号の説明】
【0129】
1 分析システム
10 分析装置
20 施設
21 設備
22 センサ
23 制御装置
30 入出力装置
40 制御データDB
101 外部I/F
101a 記録媒体
102 通信I/F
103 RAM
104 ROM
105 補助記憶装置
106 プロセッサ
107 バス
201 対象異常変数指定部
202 モデル構築用データ選定部
203 第1のデータ分析部
204 第2のデータ分析部
205 可視化部
211 第1の変数選択部
212 因果モデル構築部
213 第1の順序抽出部
221 第2の変数選択部
222 第1の変数抽出部
223 第2の変数抽出部
224 第2の順序抽出部