(57)【要約】  本発明は、決定論的なシステムにおいて高精度に因果関係を学習できる方法、プログラム、装置、および因果関係を用いて異常分析を行うシステムを提供する。本発明の一実施形態に係る因果関係学習装置は、２つのセンサによって測定された測定値間の相関を判定する相関判定部と、相関が所定の基準よりも低い場合に、結果である測定値から原因である測定値を推定することによって２つのセンサ間の因果関係を判定する低相関用因果関係推定部と、を備える。
2018198267.tif 000002
【特許請求の範囲】
【請求項１】
２つのセンサによって測定された測定値間の相関を判定する判定部と、
前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定する推定部と、
を備える因果関係学習装置。
【請求項２】
前記相関が所定の基準よりも高い場合に、前記推定部とは異なる方法によって前記因果関係を判定する第２の推定部をさらに備える、請求項１に記載の因果関係学習装置。
【請求項３】
前記推定部によって判定される前記因果関係および前記第２の推定部によって判定される前記因果関係を統合することによって、全体の因果関係を構築する構築部をさらに備える、請求項２に記載の因果関係学習装置。
【請求項４】
前記推定部は、ＣＣＭ（Ｃｏｎｖｅｒｇｅｎｔ  Ｃｒｏｓｓ  Ｍａｐｐｉｎｇ）によって前記因果関係を推定することを特徴とする、請求項１〜３のいずれか一項に記載の因果関係学習装置。
【請求項５】
前記ＣＣＭは、結果である前記測定値を表す遅延ベクトルに近い所定の個数の近傍遅延ベクトルを用意し、該近傍遅延ベクトルの時間に対応する原因である前記測定値を表す遅延ベクトルの重み付け平均を推定値として算出し、前記推定値および原因である前記測定値の相関係数によって前記因果関係を判定することを特徴とする、請求項４に記載の因果関係学習装置。
【請求項６】
前記判定部は、前記２つのセンサの前記測定値から多項式モデルを生成し、前記多項式モデルによる推定値および前記測定値の間の誤差に基づいて、前記相関を判定することを特徴とする、請求項１〜５のいずれか一項に記載の因果関係学習装置。
【請求項７】
２つのセンサによって測定された測定値間の相関を判定する判定部と、
前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定する推定部と、
前記測定値から異常を検知する検知部と、
前記異常が検知されたセンサを含む前記因果関係に基づいて、前記異常の原因であるセンサを特定する特定部と、
を備える異常分析システム。
【請求項８】
２つのセンサによって測定された測定値間の相関を判定するステップと、
前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定するステップと、
を有する因果関係学習方法。
【請求項９】
コンピュータに、
２つのセンサによって測定された測定値間の相関を判定するステップと、
前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定するステップと、
を実行させる因果関係学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサ間の因果関係を学習するため方法、プログラム、装置、および該因果関係を用いて異常分析を行うシステムに関する。
【背景技術】
【０００２】
工場（プラント）の設備には温度、圧力、流量等を測定する様々な種類のセンサが設けられており、監視システムによってセンサの測定値が監視される。工場において異常が発生する際には、異常が様々な設備や環境に影響するため、複数のセンサの測定値が同時に異常な値になることが多い。異常を解決するためには異常の原因を特定する必要があるが、オペレータが目視で複数のセンサの測定値を参照して異常の原因を特定する場合には、オペレータの能力や経験によって特定を誤ったり、特定に時間を要したりするおそれがある。そのため、異常の原因を自動的に特定できる技術が求められている。【０００３】
特許文献１には、予め故障の因果関係を制御装置に設定しておき、故障が発生した際には予め設定された因果関係に基づいて故障の原因を特定する技術が記載されている。このような技術により、オペレータの能力や経験に頼らずに、自動的に異常の原因を特定できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−１４３１５３号公報
【非特許文献】
【０００５】
【非特許文献１】Sugihara  et  al.,  "Detecting  Causality  in  Complex  Ecosystems",  Science,  October  26,  2012,  Vol.  338,  Issue  6106,  pp.  496-500
【発明の概要】
【０００６】
しかしながら、特許文献１に記載の技術では因果関係は人の経験に基づいて設定されるため誤った因果関係が設定される場合があり、また特に大規模な工場ではセンサの数が膨大であるため人の経験に基づいて因果関係を構築すること自体が難しい場合がある。
【０００７】
人の経験に頼らず、因果関係推定法（因果推論）を用いることによって因果関係を設定することが考えられる。例えば、グレンジャー因果を用いる因果関係推定法および移動エントロピーに用いる因果関係推定法が知られている。
【０００８】
しかしながら、グレンジャー因果を用いる因果関係推定法および移動エントロピーに用いる因果関係推定法は確率の要素が大きいシステムには有効であるが、決定論的な要素（すなわち運動方程式で記述できる要素）が大きいシステムでは高精度に因果関係を推定することができない。また、グレンジャー因果を用いる因果関係推定法は線形の関係を対象としているため、非線形の関係が存在する工場に適用することが難しい。また、移動エントロピーに用いる因果関係推定法は、計算量が大きいため、センサの数が膨大な大規模な工場に適用することが難しい。
【０００９】
本発明は、上述の問題に鑑みて行われたものであって、決定論的なシステムにおいて高精度に因果関係を学習できる方法、プログラム、装置および該因果関係を用いて異常分析を行うシステムを提供することを目的とする。
【００１０】
本発明の第１の態様は、因果関係学習装置であって、２つのセンサによって測定された測定値間の相関を判定する判定部と、前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定する推定部と、を備える。
【００１１】
本発明の第２の態様は、異常分析システムであって、２つのセンサによって測定された測定値間の相関を判定する判定部と、前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定する推定部と、前記測定値から異常を検知する検知部と、前記異常が検知されたセンサを含む前記因果関係に基づいて、前記異常の原因であるセンサを特定する特定部と、を備える。
【００１２】
本発明の第３の態様は、因果関係学習方法であって、２つのセンサによって測定された測定値間の相関を判定するステップと、前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定するステップと、を有する。
【００１３】
本発明の第４の態様は、因果関係学習プログラムであって、コンピュータに、２つのセンサによって測定された測定値間の相関を判定するステップと、前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定するステップと、を実行させる。
【００１４】
本発明によれば、決定論的なシステムにおいて高精度に因果関係を学習し、また該因果関係を用いて異常の原因を分析することができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る異常分析システムのブロック図である。
【図２】実施形態に係る異常分析システムの概略構成図である。
【図３】実施形態で用いられる因果関係を説明するための模式図である。
【図４】実施形態で利用するＣＣＭを説明するための模式図である。
【図５】実施形態に係る因果関係学習方法のフローチャートを示す図である。
【図６】実施形態に係る異常分析方法のフローチャートを示す図である。
【図７】実施形態に係る因果関係学習装置の概略構成図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の実施形態を説明するが、本発明は本実施形態に限定されるものではない。なお、以下で説明する図面で、同機能を有するものは同一符号を付け、その繰り返しの説明は省略することもある。
【００１７】
（実施形態）
図１は、本実施形態に係る異常分析システム１のブロック図である。図１において、矢印は主なデータの流れを示しており、図１に示したもの以外のデータの流れがあってよい。図１において、各ブロックはハードウェア（装置）単位の構成ではなく、機能単位の構成を示している。そのため、図１に示すブロックは単一の装置内に実装されてよく、あるいは複数の装置内に別れて実装されてよい。ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてよい。
【００１８】
異常分析システム１は、因果関係学習装置１００および異常分析装置２００を備える。因果関係学習装置１００は、処理部として、センサ値取得部１１０、相関判定部１２０、低相関用因果関係推定部１３０、高相関用因果関係推定部１４０および因果関係構築部１５０を備える。また、因果関係学習装置１００は、記憶部として、因果関係記憶部１６０を備える。異常分析装置２００は、処理部として、センサ値取得部２１０、異常検知部２２０、異常原因特定部２３０および異常原因出力部２４０を備える。
【００１９】
因果関係学習装置１００はセンサ１１１による測定値からセンサ１１１間の因果関係を学習する。センサ値取得部１１０は、工場（プラント）に設けられている２つ以上のセンサ１１１によって測定された時系列の測定値（センサ値）を示す情報を取得する。センサ値取得部１１０は、センサ１１１からセンサ値を逐次受け取ってもよく、あるいは所定の時間範囲のセンサ値をまとめて受け取ってもよい。また、センサ値取得部１１０は、予め因果関係学習装置１００に記録されたセンサ１１１のセンサ値を読み出してもよい。センサ１１１は、温度センサ、振動センサ、圧力センサ、濃度センサ、回転数センサ等、工場の設備又は環境の情報を測定する任意のセンサである。センサ１１１は１つ又は複数の種類のセンサを含んでよく、また同じ種類のセンサが複数の場所に設けられてよい。各センサ１１１は、その種類および設置場所によって識別および管理される。
【００２０】
相関判定部１２０、低相関用因果関係推定部１３０（第１の推定部）および高相関用因果関係推定部１４０（第２の推定部）は、センサ値取得部１１０によって取得されたセンサ値を用いて後述の因果関係推定処理を行うことによって、センサ１１１の各ペアの因果関係を推定する。そして、因果関係構築部１５０は、低相関用因果関係推定部１３０および高相関用因果関係推定部１４０によって推定されたセンサ１１１の各組の因果関係を統合し、センサ１１１全体の因果関係として因果関係記憶部１６０に記録する。因果関係は、任意のデータ形式（ファイル形式）で因果関係記憶部１６０に記録される。
【００２１】
異常分析装置２００は、因果関係学習装置１００によって学習された因果関係に基づいて異常の原因を分析する。センサ値取得部２１０は、センサ値取得部１１０と同様にセンサ１１１からセンサ値を示す情報を取得する。
【００２２】
異常検知部２２０は、センサ値取得部２１０によって取得されたセンサ値が正常時とは異なる振る舞いをしている場合に、異常を検知する。センサ値からの異常の検知は、周知の異常検知方法によって行われる。また、異常検知部２２０は、外部の異常検知システムから異常の検知結果を受け取ることによって異常を検知してもよい。異常が検知された場合に、異常検知部２２０は、異常が検知されたセンサ１１１および異常の発生時間を示す異常情報を抽出する。
【００２３】
異常が検知されたセンサ１１１が複数ある場合には、異常原因特定部２３０によって異常の原因であるセンサ１１１の特定が行われる。異常原因特定部２３０は、因果関係学習装置１００の因果関係記憶部１６０から、異常が検知されたセンサ１１１を含む因果関係を読み出す。そして異常原因特定部２３０は、因果関係の中で最も上流のセンサ１１１を異常の原因として特定する。すなわち、異常原因特定部２３０は、異常が検知されたセンサ１１１を含む因果関係を原因の方向に遡り、それよりも遡れないセンサ１１１を異常の原因とみなす。
【００２４】
異常原因出力部２４０は、異常原因特定部２３０によって特定された異常の原因であるセンサ１１１を示す情報を、ディスプレイによる表示、プリンタによる紙印刷、記憶装置へのデータ記録等の任意の方法で出力する。
【００２５】
図２は、本実施形態に係る異常分析システム１の例示的な機器構成を示す概略構成図である。因果関係学習装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、メモリ１０２と、記憶装置１０３と、インタフェース１０４とを備える。異常分析装置２００は、ＣＰＵ２０１と、メモリ２０２と、記憶装置２０３と、インタフェース２０４とを備える。
【００２６】
インタフェース１０４、２０４は、データの送受信を行う通信部であり、有線通信および無線通信の少なくとも一方の通信方式を実行可能に構成される。インタフェース１０４、２０４は、該通信方式に必要なプロセッサ、電気回路、アンテナ、接続端子等を含む。インタフェース１０４、２０４は、ＣＰＵ１０１、２０１からの信号に従って、該通信方式を用いて通信を行う。インタフェース１０４、２０４は、例えばセンサ１１１の測定値を示す情報をセンサ１１１から受信する。
【００２７】
記憶装置１０３、２０３は、因果関係学習装置１００および異常分析装置２００が実行するプログラムや、プログラムによる処理結果のデータ等を記憶する。記憶装置１０３、２０３は、読み取り専用のＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）や、読み書き可能のハードディスクドライブ又はフラッシュメモリ等を含む。また、記憶装置１０３、２０３は、ＣＤ−ＲＯＭ等のコンピュータ読取可能な可搬記憶媒体を含んでもよい。メモリ１０２、２０２は、ＣＰＵ１０１、２０１が処理中のデータや記憶装置１０３、２０３から読み出されたプログラムおよびデータを一時的に記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等を含む。
【００２８】
ＣＰＵ１０１、２０１は、処理に用いる一時的なデータをメモリ１０２、２０２に一時的に記録し、記憶装置１０３、２０３に記録されたプログラムを読み出し、該プログラムに従って該一時的なデータに対して種々の演算、制御、判別などの処理動作を実行する処理部としてのプロセッサである。また、ＣＰＵ１０１、２０１は、記憶装置１０３、２０３に処理結果のデータを記録し、またインタフェース１０４、２０４を介して処理結果のデータを外部に送信する。
【００２９】
本実施形態において因果関係学習装置１００のＣＰＵ１０１は、記憶装置１０３に記録されたプログラムを実行することによって、図１のセンサ値取得部１１０、相関判定部１２０、低相関用因果関係推定部１３０、高相関用因果関係推定部１４０および因果関係構築部１５０として機能する。また、因果関係学習装置１００の記憶装置１０３は、図１の因果関係記憶部１６０として機能する。異常分析装置２００のＣＰＵ２０１は、図１のセンサ値取得部２１０、異常検知部２２０、異常原因特定部２３０および異常原因出力部２４０として機能する。
【００３０】
異常分析システム１は、図２に示す具体的な構成に限定されない。因果関係学習装置１００および異常分析装置２００は、それぞれ１つの装置に限られず、２つ以上の物理的に分離した装置が有線又は無線で接続されることにより構成されていてもよい。因果関係学習装置１００および異常分析装置２００は１つの装置として一体に構成されてもよい。因果関係学習装置１００および異常分析装置２００に含まれる各部は、電気回路構成により実現されていてもよい。ここで、電気回路構成とは、単一のデバイス、複数のデバイス、チップセット又はクラウドを概念的に含む文言である。
【００３１】
また、異常分析システム１の少なくとも一部がＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）形式で提供されてよい。すなわち、異常分析システム１を実現するための機能の少なくとも一部が、ネットワーク経由で実行されるソフトウェアによって実行されてよい。
【００３２】
図３および４を用いて、相関判定部１２０、低相関用因果関係推定部１３０および高相関用因果関係推定部１４０によって行われる因果関係推定処理を説明する。図３は、本実施形態で用いられる因果関係を説明するための模式図である。図３の上段には、異常が検知された要素Ａ（本実施形態のセンサ１１１）が示されている。このように多数の要素Ａで異常が検知されると、いずれの要素Ａが異常の原因であるかを知ることはできない。
【００３３】
図３の下段には、予め学習しておいた因果関係を、異常が検知された要素Ａに適用した状態が示されている。図３の例では、変数Ｘ、Ｙ、ＺについてＸ→Ｙ→Ｚの因果関係（矢印の左側が原因、右側が結果を表す）が予め学習されている場合に、変数Ｘ、Ｙ、Ｚに対応する要素Ａの因果関係がわかる。このように生成された因果関係を原因方向に遡ることによって、最も上流にある変数Ｘに対応する要素Ａが異常の原因Ａ１であると特定することができる。異常の原因を特定するために、因果関係学習装置１００は、センサ１１１の正常時のセンサ値から、予め因果関係を学習する。
【００３４】
図４は、本実施形態で利用するＣＣＭ（Ｃｏｎｖｅｒｇｅｎｔ  Ｃｒｏｓｓ  Ｍａｐｐｉｎｇ）を説明するための模式図である。ＣＣＭは、非特許文献１において公開された分析方法である。非特許文献１ではＣＣＭは生態系の分析に利用されているが、本実施形態では工場で測定されたセンサ値の分析のために応用する。
【００３５】
力学系は、変数とその間の時間発展方程式から成り立ち、状態は変数の値が決まれば定まり、その状態は時間発展方程式によって変化する。系は十分な時間が経った後にある状態に落ち着き、その部分空間をアトラクタと呼ぶ（ただし、ここでは発散する系は考えないものとする）。
【００３６】
系を構成するある変数は他の変数の影響が絡み合った結果であるため、ある変数の時系列情報の中には他の変数の情報も含まれている。そのため、系を構成する一部の変数から、全体の情報を再構成できることが知られている。このように再構成されたアトラクタを再構成アトラクタという。
【００３７】
変数Ｘが原因であり、変数Ｙが結果である因果関係（すなわちＸ→Ｙ）を考える。図４は、変数ＸのアトラクタＭｘおよび変数ＹのアトラクタＭｙを示す。図４では視認性のためにアトラクタＭｘ、Ｍｙは三次元空間上に表されているが、実際には任意の次元で表される。このとき、結果である変数Ｙの異なる時間の部分的な振る舞いが似ている場合には、原因である変数Ｘの対応する時間の部分的な振る舞いも似ているはずである。
【００３８】
換言すると、図４に示すように、結果の変数Ｙにおけるある時間範囲のベクトルｙ（ｔ１）、ｙ（ｔ２）、ｙ（ｔ３）が近い場合には、原因の変数Ｘにおける対応する時間範囲のベクトルｘ（ｔ１）、ｘ（ｔ２）、ｘ（ｔ３）も近い。逆に結果は様々な原因が絡み合って生じるため、原因の変数Ｘが近いとしても、結果の変数Ｙが近いとは限らない。ＣＣＭは、このような原因および結果の非対称な性質を利用して、２つの変数において結果から原因を推定することによって因果関係の有無を高精度に判定する方法である。
【００３９】
しかしながら、ＣＣＭは、２つの変数の相関が高い場合に推定を誤る可能性がある。上述のようにＣＣＭは結果から原因を推定することによって因果関係を判定するが、変数間の相関が高い場合には原因から結果の推定が容易になる。その結果、原因および結果の非対称な性質を利用できなくなるため、ＣＣＭは正確な推定ができない。例えばＣＣＭは、高相関の２変数について、実際には２変数に一方向の因果関係がある場合であっても、該２変数が互いに原因および結果である両方向の因果関係があるという誤った推定を行う可能性がある。
【００４０】
そこで、本実施形態に係る因果関係学習装置１００は、以下のような工夫を行うことにより、結果から原因を推定することによって因果関係を判定する因果推定法であるＣＣＭを利用して高精度に因果関係を学習する。
【００４１】
相関判定部１２０は、センサ値取得部１１０によって取得されたセンサ値を用いて、２つのセンサ１１１のセンサ値間の相関を判定する。本実施形態ではセンサ値を多項式モデルに当てはめることによって相関を判定する。あるセンサ１１１のある時間ｔのセンサ値を変数Ｘｔとし、別のセンサ１１１の同じ時間ｔのセンサ値を変数Ｙｔとする。まず相関判定部１２０は、センサ１１１から取得したセンサ値の時系列データ｛Ｘｔ｝、｛Ｙｔ｝を用いて、変数Ｘｔ、Ｙｔに式（１）に示す多項式モデルを当てはめる。
【００４２】
【数１】
2018198267.tif 000003
ここで、Ｙ’ｔはＹｔの推定値であり、Ｎは次数であり、aは係数である。次数Ｎは、交差検証によって適切な値に設定される。
【００４３】
相関判定部１２０は、推定値Ｙ’ｔと測定値Ｙｔとの間の誤差を相関の指標として算出する。そして相関判定部１２０は、該誤差が所定の閾値以下（あるいは所定の閾値より小さい）である場合に変数Ｘｔ、Ｙｔを出力した２つのセンサ１１１が高相関であると判定し、そうでない場合に低相関であると判定する。相関判定部１２０は、センサ１１１の各組について相関を判定する。センサ１１１の測定値間の相関の判定方法として、ここに示した具体的な式に限定されず、その他任意の方法を用いてもよい。
【００４４】
本実施形態に係る因果関係学習装置１００は、センサ１１１の各組について、相関判定部１２０によって判定された相関に従って、異なる因果関係推定法を適用する。具体的には、因果関係学習装置１００は、相関が所定の基準よりも低い（すなわちモデルの誤差が所定の閾値以下または所定の閾値より小さい）センサ１１１の組に対しては、ＣＣＭを用いて因果関係を判定する。一方、因果関係学習装置１００は、相関が所定の基準よりも高い（すなわちモデルの誤差が所定の閾値より大きいまたは所定の閾値以上）センサ１１１の組に対しては、ＣＣＭが因果関係の判定を誤る可能性があるため、２方向の多項式モデルを比較することによって因果関係を判定する。
【００４５】
低相関用因果関係推定部１３０は、相関判定部１２０によって低相関と判定されたセンサ１１１の組に対して、ＣＣＭを用いて因果関係を判定する。変数Ｘが原因であり変数Ｙが結果である因果関係（すなわちＸ→Ｙ）を判定するために、ｓｉｍｐｌｅｘ  ｐｒｏｊｅｃｔｉｏｎと呼ばれる手法が用いられる。具体的には、まず低相関用因果関係推定部１３０は、結果側の変数Ｙの時系列データ｛Ｙｔ｝から、遅延ベクトルｙ（ｔ）のＥ＋１個の最近傍遅延ベクトル｛ｙ（ｔ１），ｙ（ｔ２），…，ｙ（ｔＥ＋１）｝を用意する。最近傍遅延ベクトルの個数は適宜設定される。各ベクトルの時間はｙ（ｔ）に近い順に１からＥ＋１までラベリングされている。
【００４６】
次に低相関用因果関係推定部１３０は、ｙ（ｔ）のＥ＋１個の最近傍遅延ベクトルの時間に対応する原因側の変数Ｘの時系列データ｛Ｘｔ｝から、以下の式（２）によって推定値Ｘ’ｔを算出する。
【００４７】
【数２】
2018198267.tif 000004
ここでｗｉは再構成アトラクタ上での各距離に応じた重みであり、以下の式（３）によって表される。
【００４８】
【数３】
2018198267.tif 000005
ここで、｜｜・｜｜はＥ次元空間上のユークリッドノルムを表す。すなわち、上述のようにＣＣＭは結果の変数が近い場合に原因の変数が近いという性質を用いているため、式（２）、（３）は変数間の距離に応じて重み付け平均を取ることによって推定を行っている。
【００４９】
低相関用因果関係推定部１３０は、全ての時間で推定値Ｘ’ｔを算出し、式（４）を用いて時系列の推定値｛Ｘ’ｔ｝および時系列測定値｛Ｘｔ｝の間の相関係数を取る。
【００５０】
【数４】
2018198267.tif 000006
この相関係数を因果の強さの指標ρとする。
【００５１】
低相関用因果関係推定部１３０は、算出された指標ρを用いてＸ→Ｙの因果関係の有無を判定する。例えば、低相関用因果関係推定部１３０は、Ｘ→Ｙの指標ρを第１の閾値と比較し、第１の閾値よりも大きい（あるいは第１の閾値以上）場合にＸ→Ｙの因果関係があると判定し、第１の閾値以下（あるいは第１の閾値より小さい）の場合にはＸ→Ｙの因果関係がないと判定する。
【００５２】
さらに低相関用因果関係推定部１３０は、逆方向であるＹ→Ｘの指標ρも算出する。Ｘ→Ｙの指標ρおよびＹ→Ｘの指標ρがともに第１の閾値よりも大きい（あるいは第１の閾値以上）場合には、低相関用因果関係推定部１３０は、さらにＸ→Ｙの指標ρおよびＹ→Ｘの指標ρの差を第２の閾値と比較する。低相関用因果関係推定部１３０は、該差が第２の閾値よりも大きい（あるいは第２の閾値以上）場合にＸ→Ｙの一方向の因果関係があると判定し、第２の閾値以下（あるいは第２の閾値より小さい）の場合にはＸ→ＹおよびＹ→Ｘの両方向の因果関係があると判定する。ＣＣＭの適用方法として、ここに示した具体的な式に限定されず、その他任意の式を用いてもよい。
【００５３】
例えば変数ＸおよびＹに直接的な関係はないが、第３の変数を介して影響している場合に、疑似相関によって指標ρが高くなるおそれがある。そのため低相関用因果関係推定部１３０は、指標ρにおける疑似相関を排除するために、因果関係の判定条件として収束性の判定を行う。具体的には、収束性の判定では、指標ρに測定値のデータ長Ｌ（データ量）への依存性がある場合（すなわち、指標ρが測定値のデータ長Ｌとともに増加し、十分に長いデータ長Ｌにおいてある値に収束する場合）に、収束性があると判定される。指標ρにこのような依存性がない場合に、収束性がないと判定される。指標ρが収束するのに十分なデータ長Ｌがない場合には、データ長Ｌが増加すると指標ρが増加するという増加傾向に基づいて、依存性を確認することができる。例えば、データ長Ｌが極端に少ない場合の指標ρおよびデータ長Ｌがそれよりも多い場合の指標ρを比較することによって増加傾向の有無を確認し、増加傾向がある場合に依存性があると判定される。
【００５４】
低相関用因果関係推定部１３０は、指標ρに収束性があると判定された場合に、最終的に変数ＸおよびＹの間に因果関係があることを判定し、指標ρに収束性がないと判定された場合に、因果関係がないことを判定する。なお、収束性の判定は、因果関係の有無の判定よりも前に行われてもよい。
【００５５】
高相関用因果関係推定部１４０は、相関判定部１２０によって高相関と判定されたセンサ１１１の組に対して、２方向の多項式モデルを比較することによって因果関係を判定する。変数Ｘが原因であり変数Ｙが結果である因果関係（すなわちＸ→Ｙ）を判定するために、高相関用因果関係推定部１４０は、センサ１１１から取得したセンサ値の時系列データ｛Ｘｔ｝、｛Ｙｔ｝を用いて、上述の式（１）を用いて推定値Ｙ’ｔの多項式モデルを生成するとともに、以下の式（５）を用いて推定値Ｘ’ｔの多項式モデルを生成する。
【００５６】
【数５】
2018198267.tif 000007
ここで、Ｙ’ｔはＹｔの推定値であり、Ｎは次数であり、ｂは係数である。次数Ｎは、交差検証によって適切な値に設定される。
【００５７】
高相関用因果関係推定部１４０は、推定値Ｙ’ｔと測定値Ｙｔとの間の誤差を算出するとともに、推定値Ｘ’ｔと測定値Ｘｔとの間の誤差を算出する。そして高相関用因果関係推定部１４０は、推定値Ｙ’ｔの誤差が推定値Ｘ’ｔの誤差よりも小さい場合に、Ｘ→Ｙの一方向の因果関係があると判定する。また、高相関用因果関係推定部１４０は、推定値Ｙ’ｔの誤差および推定値Ｘ’ｔの誤差が同じ又は同程度である場合に、Ｘ→ＹおよびＹ→Ｘの両方向の因果関係があると判定する。一方向又は両方向の因果関係を判定する基準は、任意に設定される。高相関の場合に適用される因果関係判定方法として、ここに示した具体的な式に限定されず、その他任意の式を用いてもよい。
【００５８】
図５は、本実施形態に係る因果関係学習装置１００において実行される因果関係学習方法のフローチャートを示す図である。因果関係学習方法は、例えばユーザが因果関係学習装置１００に対して所定の操作を行うことによって開始される。
【００５９】
まずセンサ値取得部１１０は、複数のセンサ１１１によって測定された時系列のセンサ値を取得する（ステップＳ１０１）。ここでは測定対象に異常が発生していない正常時のセンサ値を学習対象とする。センサ値取得部１１０は、センサ１１１から直接センサ値を受け取ってもよく、あるいは記憶装置に記録されたセンサ値を読み出してもよい。
【００６０】
相関判定部１２０は、センサ値が取得された２つのセンサ１１１のある組を判定対象とし、上述の式（１）に従ってモデルを生成する（ステップＳ１０２）。そして相関判定部１２０は、ステップＳ１０２で生成されたモデルの誤差に基づいて、該センサ１１１のセンサ値間の相関を判定する（ステップＳ１０３）。ここではモデルの誤差が所定の基準より小さい場合に高相関であると判定され、所定の基準より大きい場合に低相関であると判定される。
【００６１】
ステップＳ１０３で該センサ１１１間が低相関であると判定された場合に（ステップＳ１０４のＮＯ）、低相関用因果関係推定部１３０は、上述の式（２）〜式（４）に従って、ＣＣＭを用いて該センサ１１１間の因果関係を判定する（ステップＳ１０６）。その結果、該センサ１１１間の因果関係の有無および因果関係の向きが判定される。
【００６２】
ステップＳ１０３で該センサ１１１間が高相関であると判定された場合に（ステップＳ１０４のＹＥＳ）、高相関用因果関係推定部１４０は、上述の式（５）に従って、２方向の多項式モデルを比較することによって因果関係を判定する（ステップＳ１０５）。その結果、該センサ１１１間の因果関係の有無および因果関係の向きが判定される。
【００６３】
全てのセンサ１１１の組について因果関係の判定が終了していない場合に（ステップＳ１０７のＮＯ）、別のセンサ１１１の組を判定対象としてステップＳ１０２〜Ｓ１０７が繰り返される。
【００６４】
全てのセンサ１１１の組について因果関係の判定が終了した場合に（ステップＳ１０７のＹＥＳ）、因果関係構築部１５０は、ステップＳ１０５およびＳ１０６で判定された因果関係を統合することによって、センサ１１１全体の因果関係を構築して因果関係記憶部１６０に記録する（ステップＳ１０８）。
【００６５】
本実施形態において因果関係学習装置１００のＣＰＵ１０１は、図５に示す処理に含まれる各ステップ（工程）の主体となる。すなわち、ＣＰＵ１０１は、図５に示す処理を実行するためのプログラムをメモリ１０２又は記憶装置１０３から読み出し、該プログラムを実行して因果関係学習装置１００の各部を制御することによって図５に示す処理を実行する。また、図５に示す処理の少なくとも一部が、ＣＰＵ１０１ではなく、ＣＰＵ１０１以外の装置又は電気回路によって行われてもよい。
【００６６】
図６は、本実施形態に係る異常分析装置２００において実行される異常分析方法のフローチャートを示す図である。異常分析方法は、例えばユーザが異常分析装置２００に対して所定の操作を行うことによって開始される。
【００６７】
まずセンサ値取得部２１０は、センサ１１１によって測定されたセンサ値を取得する（ステップＳ２０１）。センサ値取得部２１０は、センサ１１１から直接センサ値を受け取ってもよく、あるいは記憶装置に記録されたセンサ値を読み出してもよい。
【００６８】
異常検知部２２０は、ステップＳ２０１で取得されたセンサ値を用いて、周知の異常検知方法によって異常の検知を行う（ステップＳ２０２）。また、別の異常分析システムから異常検知結果を受け取ることによって異常を検知してもよい。
【００６９】
ステップＳ２０２で異常が検知されない場合に（ステップＳ２０３のＮＯ）、ステップＳ２０１に戻って異常検知が繰り返される。ステップＳ２０２で異常が検知された場合に（ステップＳ２０３のＹＥＳ）、異常検知部２２０は、異常が検知されたセンサ１１１および異常の発生時間を示す異常情報を抽出する（ステップＳ２０４）。
【００７０】
異常原因特定部２３０は、因果関係学習装置１００の因果関係記憶部１６０から、異常が検知されたセンサ１１１を含む因果関係を読み出す（ステップＳ２０５）。そして異常原因特定部２３０は、因果関係の中で最も上流のセンサ１１１を異常の原因として特定する（ステップＳ２０６）。特定された異常の原因であるセンサ１１１を示す情報は、異常原因出力部２４０によって任意の方法で出力される。
【００７１】
本実施形態において異常分析装置２００のＣＰＵ２０１は、図６に示す処理に含まれる各ステップ（工程）の主体となる。すなわち、ＣＰＵ２０１は、図６に示す処理を実行するためのプログラムをメモリ２０２又は記憶装置２０３から読み出し、該プログラムを実行して異常分析装置２００の各部を制御することによって図６に示す処理を実行する。また、図６に示す処理の少なくとも一部が、ＣＰＵ２０１ではなく、ＣＰＵ２０１以外の装置又は電気回路によって行われてもよい。
【００７２】
上述のようにＣＣＭは決定論的なシステムにおいて結果の変数から原因の変数を推定することによって因果関係を高精度に推定することができるが、高相関の変数に対しては因果関係の推定を誤る可能性がある。本実施形態に係る因果関係学習装置１００は、低相関のセンサ１１１の組にはＣＣＭを用いて因果関係を学習し、高相関のセンサ１１１の組には別の因果推定方法を用いて因果関係を学習する。このような構成により、センサ１１１の中にＣＣＭが不得意な高相関の関係があっても全体として因果関係の推定精度を向上させることができる。また、異常分析装置２００は、このように学習された因果関係を用いて異常の原因を特定するため、異常分析の精度も向上する。
【００７３】
（その他の実施形態）
図７は、上述の実施形態に係る因果関係学習装置１００の概略構成図である。図７には、因果関係学習装置１００が決定論的なシステムにおいてセンサ間の因果関係を学習する装置として機能するための構成例が示されている。因果関係学習装置１００は、２つのセンサによって測定された測定値間の相関を判定する相関判定部１２０（判定部）と、前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定する低相関用因果関係推定部１３０（推定部）と、を備える。
【００７４】
本発明は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【００７５】
上述の実施形態の機能を実現するように該実施形態の構成を動作させるプログラム（より具体的には、図５、６に示す処理をコンピュータに実行させる因果関係学習プログラム、異常分析プログラム）を記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記録媒体はもちろん、そのプログラム自体も各実施形態に含まれる。
【００７６】
該記録媒体としては例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、ＯＳ上で動作して処理を実行するものも各実施形態の範疇に含まれる。
【００７７】
上述の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７８】
（付記１）
２つのセンサによって測定された測定値間の相関を判定する判定部と、
前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定する推定部と、
を備える因果関係学習装置。
【００７９】
（付記２）
前記相関が所定の基準よりも高い場合に、前記推定部とは異なる方法によって前記因果関係を判定する第２の推定部をさらに備える、付記１に記載の因果関係学習装置。
【００８０】
（付記３）
前記推定部によって判定される前記因果関係および前記第２の推定部によって判定される前記因果関係を統合することによって、全体の因果関係を構築する構築部をさらに備える、付記２に記載の因果関係学習装置。
【００８１】
（付記４）
前記推定部は、ＣＣＭ（Ｃｏｎｖｅｒｇｅｎｔ  Ｃｒｏｓｓ  Ｍａｐｐｉｎｇ）によって前記因果関係を推定することを特徴とする、付記１〜３のいずれか一項に記載の因果関係学習装置。
【００８２】
（付記５）
前記ＣＣＭは、結果である前記測定値を表す遅延ベクトルに近い所定の個数の近傍遅延ベクトルを用意し、該近傍遅延ベクトルの時間に対応する原因である前記測定値を表す遅延ベクトルの重み付け平均を推定値として算出し、前記推定値および原因である前記測定値の相関係数によって前記因果関係を判定することを特徴とする、付記４に記載の因果関係学習装置。
【００８３】
（付記６）
前記判定部は、前記２つのセンサの前記測定値から多項式モデルを生成し、前記多項式モデルによる推定値および前記測定値の間の誤差に基づいて、前記相関を判定することを特徴とする、付記１〜５のいずれか一項に記載の因果関係学習装置。
【００８４】
（付記７）
２つのセンサによって測定された測定値間の相関を判定する判定部と、
前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定する推定部と、
前記測定値から異常を検知する検知部と、
前記異常が検知されたセンサを含む前記因果関係に基づいて、前記異常の原因であるセンサを特定する特定部と、
を備える異常分析システム。
【００８５】
（付記８）
２つのセンサによって測定された測定値間の相関を判定するステップと、
前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定するステップと、
を有する因果関係学習方法。
【００８６】
（付記９）
コンピュータに、
２つのセンサによって測定された測定値間の相関を判定するステップと、
前記相関が所定の基準よりも低い場合に、結果である前記測定値から原因である前記測定値を推定することによって前記２つのセンサ間の因果関係を判定するステップと、
を実行させる因果関係学習プログラム。
【図１】
2018198267.tif 000008
【図２】
2018198267.tif 000009
【図３】
2018198267.tif 000010
【図４】
2018198267.tif 000011
【図５】
2018198267.tif 000012
【図６】
2018198267.tif 000013
【図７】
2018198267.tif 000014
【国際調査報告】
2018198267.tif 000015
2018198267.tif 000016
2018198267.tif 000017