(57)【要約】【課題】異常に寄与する事象が発生した箇所と時間帯を把握できる異常検出装置を提供する。【解決手段】異常検出装置は、教師データの正常データ群の故障予兆モデルを生成し、教師データから第１異常スコアを算出して異常検知の閾値を導出し、教師データの異常データ群を説明変数として異常データ群についての第１異常スコアを目的変数とする第１回帰モデルを生成して第１異常寄与度を算出し、監視対象物の複数の箇所にそれぞれ設けられる複数のセンサから出力される実測データの故障予兆モデルに対する第２異常スコアを算出し、異常検知の閾値を用いて実測データのうち第２異常スコアが閾値以上の異常区間の実測データの第２異常スコアを求め、異常区間の実測データを説明変数として異常区間の実測データについての第２異常スコアを目的変数とする第２回帰モデルを生成し、第２回帰モデルから複数のセンサの検出データの第２異常寄与度を算出する。【選択図】図７
2020098373.tif 000002
【特許請求の範囲】
【請求項１】
監視対象物の複数の箇所における正常及び異常な事象をそれぞれ時系列的に表す正常データ群及び異常データ群を含む教師データのうちの正常データ群の正規分布を表す故障予兆モデルを生成する予兆モデル生成部と、
前記教師データから第１異常スコアを算出する第１異常スコア算出部と、
前記第１異常スコアに基づき、異常検知の閾値を導出する閾値導出部と、
前記教師データの異常データ群を説明変数とし、前記異常データ群についての前記第１異常スコアを目的変数とする第１回帰モデルを生成する第１回帰モデル生成部と、
前記第１回帰モデルから前記複数の箇所における事象の第１異常寄与度を算出する第１寄与度算出部と、
前記監視対象物の複数の箇所にそれぞれ設けられる複数のセンサから出力される実測データの前記故障予兆モデルに対する第２異常スコアを算出し、前記異常検知の閾値を用いて、前記実測データのうち前記第２異常スコアが前記閾値以上の異常区間の実測データについての第２異常スコアを求める第２異常スコア算出部と、
前記異常区間の実測データを説明変数とし、前記異常区間の実測データについての第２異常スコアを目的変数とする第２回帰モデルを生成する第２回帰モデル生成部と、
前記第２回帰モデルから前記複数のセンサの検出データの第２異常寄与度を算出する第２寄与度算出部と
を含む、異常検出装置。
【請求項２】
前記第１異常寄与度は、前記複数の箇所の各々における前記監視対象物の所定の事象が前記異常データ群の発生に与える寄与度であり、
前記第２異常寄与度は、前記複数のセンサの各々の検出データが前記異常データ群の発生に与える寄与度である、請求項１記載の異常検出装置。
【請求項３】
前記第１異常寄与度及び前記第２異常寄与度は、それぞれ、前記第１回帰モデル及び前記第２回帰モデルから得られるデータの不均等度の減少度合である、請求項１又は２記載の異常検出装置。
【請求項４】
前記第１回帰モデル及び前記第２回帰モデルは、線形の回帰モデル又は非線形の回帰モデルである、請求項１乃至３のいずれか一項記載の異常検出装置。
【請求項５】
前記線形の回帰モデルは、線形回帰モデル、リッジ回帰モデル、及びLasso回帰モデルのいずれか１つであり、
前記第１異常寄与度及び前記第２異常寄与度は、偏重回帰係数である、請求項４記載の異常検出装置。
【請求項６】
前記非線形の回帰モデルは、ランダムフォレスト回帰モデルであり、
前記第１異常寄与度及び前記第２異常寄与度は、ジニ係数の減少率である、請求項４記載の異常検出装置。
【請求項７】
監視対象物の複数の箇所における正常及び異常な事象をそれぞれ時系列的に表す正常データ群及び異常データ群を含む教師データのうちの正常データ群の正規分布を表す故障予兆モデルを生成することと、
前記教師データから第１異常スコアを算出することと、
前記第１異常スコアに基づき、異常検知の閾値を導出することと、
前記教師データの異常データ群を説明変数とし、前記異常データ群についての前記第１異常スコアを目的変数とする第１回帰モデルを生成することと、
前記第１回帰モデルから前記複数の箇所における事象の第１異常寄与度を算出することと、
前記監視対象物の複数の箇所にそれぞれ設けられる複数のセンサから出力される実測データの前記故障予兆モデルに対する第２異常スコアを算出し、前記異常検知の閾値を用いて、前記実測データのうち前記第２異常スコアが前記閾値以上の異常区間の実測データについての第２異常スコアを求めることと、
前記異常区間の実測データを説明変数とし、前記異常区間の実測データについての第２異常スコアを目的変数とする第２回帰モデルを生成することと、
前記第２回帰モデルから前記複数のセンサの検出データの第２異常寄与度を算出することと
を含む処理をコンピュータに実行させる、異常検出プログラム。
【請求項８】
監視対象物の複数の箇所における正常及び異常な事象をそれぞれ時系列的に表す正常データ群及び異常データ群を含む教師データのうちの正常データ群の正規分布を表す故障予兆モデルを生成することと、
前記教師データから第１異常スコアを算出することと、
前記第１異常スコアに基づき、異常検知の閾値を導出することと、
前記教師データの異常データ群を説明変数とし、前記異常データ群についての前記第１異常スコアを目的変数とする第１回帰モデルを生成することと、
前記第１回帰モデルから前記複数の箇所における事象の第１異常寄与度を算出することと、
前記監視対象物の複数の箇所にそれぞれ設けられる複数のセンサから出力される実測データの前記故障予兆モデルに対する第２異常スコアを算出し、前記異常検知の閾値を用いて、前記実測データのうち前記第２異常スコアが前記閾値以上の異常区間の実測データについての第２異常スコアを求めることと、
前記異常区間の実測データを説明変数とし、前記異常区間の実測データについての第２異常スコアを目的変数とする第２回帰モデルを生成することと、
前記第２回帰モデルから前記複数のセンサの検出データの第２異常寄与度を算出することと
を含む、異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検出装置、異常検出プログラム、及び、異常検出方法に関する。
【背景技術】
【０００２】
従来より、要因分析データから事象の結果を表す目的変数の時系列データと、事象の要因を表す説明変数の時系列データとを取得する取得手段と、前記目的変数の時系列データに基づき、複数の目的変数基準値を設定する基準値設定手段と、を備える要因分析装置がある。前記設定された複数の目的変数基準値、及び、前記取得された説明変数の時系列データを学習させ、前記目的変数基準値ごとに、前記目的変数基準値と前記説明変数との関係式を生成し、前記生成された関係式のうち、前記説明変数の係数、及び、前記係数に対応する前記説明変数を抽出する影響度算出手段と、前記抽出された係数を影響度として出力し、さらに、前記抽出された説明変数に関連する説明変数名を出力する出力手段と、をさらに備える（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開２０１６／０７９９７２号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来の要因分析装置は、説明変数名で表される対象物が正常な状態であるか異常な状態であるかを区別していない。また、異常な状態である場合に、説明変数名で表される対象物が異常な状態に寄与する度合を求めることを開示していない。
【０００５】
そこで、異常に寄与する事象が発生した箇所と時間帯を把握できる異常検出装置、異常検出プログラム、及び、異常検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施の形態の異常検出装置は、監視対象物の複数の箇所における正常及び異常な事象をそれぞれ時系列的に表す正常データ群及び異常データ群を含む教師データのうちの正常データ群の正規分布を表す故障予兆モデルを生成する予兆モデル生成部と、前記教師データから第１異常スコアを算出する第１異常スコア算出部と、前記第１異常スコアに基づき、異常検知の閾値を導出する閾値導出部と、前記教師データの異常データ群を説明変数とし、前記異常データ群についての前記第１異常スコアを目的変数とする第１回帰モデルを生成する第１回帰モデル生成部と、前記第１回帰モデルから前記複数の箇所における事象の第１異常寄与度を算出する第１寄与度算出部と、前記監視対象物の複数の箇所にそれぞれ設けられる複数のセンサから出力される実測データの前記故障予兆モデルに対する第２異常スコアを算出し、前記異常検知の閾値を用いて、前記実測データのうち前記第２異常スコアが前記閾値以上の異常区間の実測データについての第２異常スコアを求める第２異常スコア算出部と、前記異常区間の実測データを説明変数とし、前記異常区間の実測データについての第２異常スコアを目的変数とする第２回帰モデルを生成する第２回帰モデル生成部と、
前記第２回帰モデルから前記複数のセンサの検出データの第２異常寄与度を算出する第２寄与度算出部とを含む。
【発明の効果】
【０００７】
異常に寄与する事象が発生した箇所と時間帯を把握できる異常検出装置、異常検出プログラム、及び、異常検出方法を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態の異常検出装置１００を示す図である。
【図２】異常検出装置１００を実現するコンピュータシステム２０の斜視図である。
【図３】コンピュータシステム２０の本体部２１内の要部の構成を説明するブロック図である。
【図４】異常検出装置１００の構成を示す図である。
【図５】予兆モデル生成部１１２が生成する故障予兆モデルを示す図である。
【図６】複数の決定木を用いた回帰モデルと、説明変数ｘ及び目的変数ｙの関係とを示す図である。
【図７】６個のセンサ５０によって取得される温度データと異常スコアを示す図である。
【図８】回帰モデル生成部１１５が作成するランダムフォレスト回帰モデルの推定値と真値との相関を示す図である。
【図９】センサ１〜６の温度データの正常区間と予兆区間とについて求めた異常寄与度を示す図である。
【図１０】異常検出装置１００の制御装置１１０が実行するフローチャートを示す図である。
【図１１】故障予兆モデル及びテストデータの関係と異常スコアを示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の異常検出装置、異常検出プログラム、及び、異常検出方法を適用した実施の形態について説明する。
【００１０】
＜実施の形態＞
図１は、実施の形態の異常検出装置１００を示す図である。異常検出装置１００には、複数のセンサ５０が接続されている。複数のセンサ５０は、一例として光ファイバケーブル１０に沿って設けられており、光ファイバケーブル１０の温度を検出する温度センサである。センサ５０が検出した温度を表すデータ（温度データ）は、異常検出装置１００に入力される。センサ５０によって取得される温度データには、タイムスタンプが付与される。すなわち、温度データには、検出された時刻を表す時刻データが関連付けられる。
【００１１】
異常検出装置１００は、複数のセンサ５０から入力される温度データに基づき、複数のセンサ５０のうちのどのセンサ５０によって検出された温度データに異常があるかどうかを検出する。複数のセンサ５０が設けられる光ファイバケーブル１０は、異常検出装置１００によって監視が行われる監視対象物の一例である。
【００１２】
図２は、異常検出装置１００を実現するコンピュータシステム２０の斜視図である。図２に示すコンピュータシステム２０は、本体部２１、ディスプレイ２２、キーボード２３、マウス２４、及びモデム２５を含む。
【００１３】
本体部２１は、ＣＰＵ（Central  Processing  Unit：中央演算装置）、ＨＤＤ（Hard  Disk  Drive：ハードディスクドライブ）、及びディスクドライブ等を内蔵する。ディスプレイ２２は、本体部２１からの指示により画面２２Ａ上に処理結果等を表示する。ディスプレイ２２は、例えば、液晶モニタであればよい。キーボード２３は、コンピュータシステム２０に種々の情報を入力するための入力部である。マウス２４は、ディスプレイ２２の画面２２Ａ上の任意の位置を指定する入力部である。モデム２５は、外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする。
【００１４】
コンピュータシステム２０に異常検出装置１００としての機能を持たせるプログラムは、ディスク２７等の可搬型記録媒体に格納されるか、モデム２５等の通信装置を使って他のコンピュータシステムの記録媒体２６からダウンロードされ、コンピュータシステム２０に入力されてコンパイルされる。
【００１５】
コンピュータシステム２０に異常検出装置１００としての機能を持たせるプログラム（異常検出プログラム）は、コンピュータシステム２０を異常検出装置１００として動作させる。このプログラムは、例えばディスク２７等のコンピュータ読み取り可能な記録媒体に格納されていてもよい。コンピュータ読み取り可能な記録媒体は、ディスク２７、ＩＣカードメモリ、フロッピー（登録商標）ディスク等の磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＵＳＢ(Universal  Serial  Bus)メモリ等の可搬型記録媒体に限定されるものではない。コンピュータ読み取り可能な記録媒体は、モデム２５又はＬＡＮ等の通信装置を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【００１６】
図３は、コンピュータシステム２０の本体部２１内の要部の構成を説明するブロック図である。本体部２１は、バス３０によって接続されたＣＰＵ３１、ＲＡＭ又はＲＯＭ等を含むメモリ部３２、ディスク２７用のディスクドライブ３３、及びハードディスクドライブ（ＨＤＤ）３４を含む。
【００１７】
なお、コンピュータシステム２０は、図２及び図３に示す構成のものに限定されず、各種周知の要素を付加してもよく、又は代替的に用いてもよい。
【００１８】
図４は、異常検出装置１００の構成を示す図である。異常検出装置１００は、制御装置１１０、操作部１２０、表示部１３０を含む。
【００１９】
制御装置１１０は、主制御部１１１、予兆モデル生成部１１２、異常スコア算出部１１３、閾値導出部１１４、回帰モデル生成部１１５、寄与度算出部１１６、及びメモリ１１７を有する。
【００２０】
主制御部１１１、予兆モデル生成部１１２、異常スコア算出部１１３、閾値導出部１１４、回帰モデル生成部１１５、寄与度算出部１１６は、制御装置１１０を実現するコンピュータによって実現される機能を表したものであり、メモリ１１７は、制御装置１１０を実現するコンピュータのメモリを機能的に表したものである。
【００２１】
主制御部１１１は、制御装置１１０を統括する処理部であり、予兆モデル生成部１１２、異常スコア算出部１１３、閾値導出部１１４、回帰モデル生成部１１５、寄与度算出部１１６が実行する処理以外の処理を実行する。なお、主制御部１１１が行う具体的な処理については、図１０のフローチャートを用いて後述する。
【００２２】
予兆モデル生成部１１２は、光ファイバケーブル１０の複数のセンサ５０で検出された温度データを時系列的に表す教師データのうちの正常データ群の正規分布を表す故障予兆モデルを生成する。故障予兆モデルは、光ファイバケーブル１０の故障の予兆を検出（分析）するために用いるモデルである。正常データ群とは、正常データの集合であり、正常データのデータセット（データ群）である。
【００２３】
教師データは、正常な温度データと異常な温度データを含む。正常な温度データは正常データの一例であり、異常な温度データは異常データの一例である。教師データは、正常な温度データと異常な温度データが検出されたセンサ５０が特定されていればよく、センサ５０の実測データ（実測値）であってもよく、人工的に作成したデータであってもよい。なお、異常な温度データとは、温度値が所定値より大きい温度データである。所定値は、一例として、光ファイバケーブル１０の異常温度の下限値に設定すればよい。
【００２４】
異常スコア算出部１１３は、教師データから異常スコアを算出する。また、異常スコア算出部１１３は、光ファイバケーブル１０に設けられる複数のセンサ５０から出力される実測の温度データの故障予兆モデルに対する異常スコアを算出し、閾値導出部１１４によって導出される異常検知の閾値を用いて、実測の温度データのうち異常スコアが閾値以上の異常区間の実測データについての異常スコアを求める。異常区間とは、温度データが異常である期間（時間帯）である。異常スコア算出部１１３は、第１異常スコア算出部及び第２異常スコア算出部の一例である。
【００２５】
閾値導出部１１４は、異常スコア算出部１１３によって算出される異常スコアに基づき、異常検知の閾値を導出する。
【００２６】
回帰モデル生成部１１５は、教師データの異常データ群を説明変数とし、異常データ群についての異常スコアを目的変数とするランダムフォレスト回帰モデルを生成する。また、回帰モデル生成部１１５は、異常区間の実測データを説明変数とし、異常区間の実測データについての異常スコアを目的変数とするランダムフォレスト回帰モデルを生成する。回帰モデル生成部１１５は、第１回帰モデル生成部及び第２回帰モデル生成部の一例である。なお、ランダムフォレスト回帰モデルは、非線形の回帰モデルである。
【００２７】
寄与度算出部１１６は、教師データに基づくランダムフォレスト回帰モデルから複数のセンサ５０によって取得される温度データの異常寄与度を算出する。また、寄与度算出部１１６は、実測データに基づくランダムフォレスト回帰モデルから複数のセンサ５０によって取得される温度データの異常寄与度を算出する。寄与度算出部１１６は、第１寄与度算出部及び第２寄与度算出部の一例である。
【００２８】
教師データに基づく異常寄与度は、複数のセンサ５０の各々によって取得される温度データが異常データの発生に与える寄与度であり、実測データに基づく異常寄与度は、複数のセンサ５０の各々によって取得される温度データが異常データの発生に与える寄与度である。
【００２９】
教師データに基づく異常寄与度及び実測データに基づく異常寄与度は、ジニ係数の減少率である。このため、教師データに基づく異常寄与度及び実測データに基づく異常寄与度は、それぞれ、教師データに基づくランダムフォレスト回帰モデル及び教師データに基づくランダムフォレスト回帰モデルから得られるデータの不均等度の減少度合である。
【００３０】
ジニ係数は、データが不均等であるほど大きな値を取る。このため、ジニ係数の減少率で表される温度データの教師データに基づく異常寄与度及び実測データに基づく異常寄与度は、ある温度データが異常な温度データの発生に寄与する度合を表す。
【００３１】
メモリ１１７は、制御装置１１０が実行する処理に必要なプログラム及びデータ等を格納するとともに、センサ５０から受信した温度データを格納する。また、メモリ１１８は、異常検出装置１００が処理を行う上で必要なその他のデータ等を格納する。
【００３２】
操作部１２０は、例えば、キーボード及びマウス等である。表示部１３０は、例えば、ディスプレイパネル等である。
【００３３】
次に、予兆モデル生成部１１２が生成する故障予兆モデルについて説明する。図５は、予兆モデル生成部１１２が生成する故障予兆モデルを示す図である。図５では、光ファイバケーブル１０（図１参照）の複数のセンサ５０で検出された温度データを時系列的に表す教師データのうちの正常データ群の各データを×印で示す。
【００３４】
故障予兆モデルは、このような教師データのうちの正常データ群の正規分布を表すため、図５に点線で示す楕円は、正規分布の確率密度が一定になる等高線である。また、ここでは横軸がセンサ１、縦軸がセンサ２という二次元平面で示すが、実際はセンサ５０の数LだけあるL次元空間で正規分布が表される。
【００３５】
ここで、データ群ｘ、平均μに対して、教師データのうちの正常データ群の正規分布を表す故障予兆モデルp(x|μ，Σ)は、次式（１）で表すことができる。右辺のN(x|μ，Σ)は正規分布を表す。
【００３６】
【数１】
2020098373.tif 000003
【００３７】
また、正規分布の中心から距離が離れるほど正常値ではなく異常値に近づくため、ここでは正規分布の中心からの距離を異常スコアとして取り扱う。異常スコアa(x)は、次式（２）で表すことができる。
【００３８】
【数２】
2020098373.tif 000004
【００３９】
また、閾値を用いて異常スコアが異常を表しているかどうかを判定するには、次式（３）を用いればよい。
【００４０】
【数３】
2020098373.tif 000005
【００４１】
次に、ランダムフォレスト回帰モデルの回帰係数の算出方法について説明する。ランダムフォレスト回帰モデルの回帰係数とは、異常寄与度のことである。
【００４２】
一般的な線形回帰モデルyは次式（４）で表される。
【００４３】
【数４】
2020098373.tif 000006
【００４４】
ここで、データＸ，重みｗ、結果Ｙを次のようにする。
【００４５】
【数５】
2020098373.tif 000007
【００４６】
ｙは、データＸから得られる結果である。ＸはＭ×Ｎ行列とする。ｗはＭ次元ベクトルとする。また、Xの要素ＸｊをＮ次元ベクトルとする。ｙもＮ次元ベクトルとする。これはＸ、ｙがＮ個のデータ群を含むことを意味する。なお、これを行列として表現すると次式（６）のようになる。
【００４７】
【数６】
2020098373.tif 000008
【００４８】
ここで、Ｘ０＝１、Ｘ１＝ｘ、Ｘ２＝ｘ２・・・とすれば、線形回帰モデルｙは、次式（７）の多項式回帰モデルで表すことができる。ここで太字の１は要素がすべて１のベクトルを表す。
【００４９】
【数７】
2020098373.tif 000009
【００５０】
次に、回帰係数を算出する。N個のデータ群を用意したときに、現実的には式（４）のように等号にはならずに、次式（８）のように近似式で表すことになる。
【００５１】
【数８】
2020098373.tif 000010
【００５２】
そのため、ｙとｗＴとが最も等しくなるようなｗの推定値（ｗハット）を探す問題を解くことになる。この「最も等しくなる」というのを数式で表現すると、次式（９）に示すように二乗和誤差関数を最小化(最小二乗法)するということと同義となる。
【００５３】
【数９】
2020098373.tif 000011
【００５４】
最小化するということは式（９）をｗで微分して、0となるところが最小であるため、微分して0として整理すると、次式（１０）ように回帰係数（偏回帰係数）を算出できる。
【００５５】
【数１０】
2020098373.tif 000012
【００５６】
多項式の場合はXに適宜、多項式の要素を代入すればよい。この回帰係数をここでは異常寄与度としている。異常寄与度を重要度として捉えてもよい。
【００５７】
次に、図６を用いてランダムフォレスト回帰について説明する。図６は、複数の決定木を用いた回帰モデルと、説明変数ｘ及び目的変数ｙの関係とを示す図である。
【００５８】
ランダムフォレスト回帰とは、複数の決定木を用いた回帰モデルの作成手法のことである。ここで決定木とは図６（Ａ）に示すように説明変数ｘの値を分岐させ、目的変数ｙを推定するモデルのことを指す。これによって、図６（Ｂ）の点線で示す回帰モデルが得られる。
【００５９】
ランダムフォレスト回帰では、教師データのデータ群からランダムにサブデータ群を取得して、サブデータ群毎に決定木を作る。このとき、サブデータ群の数だけ決定木ができる。すると、図６（Ｂ）の点線で示される回帰モデルも決定木の数だけ得られるが、複数の決定木の出力結果の平均値を得ることで、より精度の高い回帰モデルを作ることができる。これがランダムフォレスト回帰の特徴の一つである。
【００６０】
ここで決定木（回帰木）に関する重要なポイントの一つに、枝を増やすことで複雑な木を作ることができるということである。ここで枝とは、Yes-Noの分岐のことで、この数が増えると木も複雑となり、結果として図６（Ｂ）の回帰モデルもより複雑で表現能力の高いものができる。
【００６１】
一方で、複雑で表現能力が高いほど、決定木（回帰木）に用いたデータに過剰にフィットした回帰モデルができてしまう（これを過学習という）。すると、別の新規で得たデータに対しては、作った決定木（回帰木）が全く合わない可能性が出てくる。つまり、過剰に複雑で表現能力が高いと未知のデータに対しては性能が低下する可能性がでてくる。したがって、表現能力の度合いを調整する必要があり、ある基準（分割基準）を用いて表現能力を調整してもっとも高性能な決定木（回帰木）を選ぶ必要がある。この基準となる統計量として、よく使われるのがジニ係数（ジニ不純度、不純度）の減少率となる。
【００６２】
ジニ係数の定義式を次式（１１）に示す。
【００６３】
【数１１】
2020098373.tif 000013
【００６４】
ここでCはカテゴリ（分類）の数、Nは教師データ数、niはカテゴリiに属する教師データ数、tはノードとなる。ノードとは、決定木（回帰木）の節のことで、ある条件に対してYesなのかNoなのかを判断する部分となる（図６（Ａ）参照）。
【００６５】
式（１１）の意味は、あるノードtにはどれくらいのカテゴリが含まれるかということを表す(不純度という)。多数のカテゴリがあれば不純度が高く、カテゴリが少なければ不純度が少ないという。不純度が少なければ、ジニ係数G(t)は0に近づき、不純度が多いと1に近づく。たとえば、ni=Nであるとき、ジニ係数G(t)は0となるが、これはカテゴリがiしかない場合で、不純度がないということになる。またこれと類似した指標にエントロピーがある。
【００６６】
ジニ係数の減少率は次式（１２）で表現する。
【００６７】
【数１２】
2020098373.tif 000014
【００６８】
ここで、G(tB)は分岐前のノードtBのジニ係数、G(tL)は分岐後の左ノードのジニ係数、G(tR)は分岐後の右ノードのジニ係数となる。wLとwR分岐後のノードの重み（分岐前に対するデータ量の割合）を表す。式（１２）は分岐前のジニ係数と分岐後の左右のノードのジニ係数の合計との差を計算している。そのため、式（１２）は分岐した時の不純度が低くなっていれば大きくなるので、式（１２）の意味は不純度の減少率を表し、うまくデータを分割（カテゴリに分類）できているか否かを表す指標となる。この指標を用いることで不純度を最大限減らす組を探し、最適な分割を定量的に探索することができる。
【００６９】
そして、ジニ係数の減少率を用いることで変数の重要度（寄与度）も分かる。変数が複数ある場合、どの変数を分割したかで、どの程度の不純度が減少するかが式（１２）を用いることで算出できる。したがって、変数に対するジニ係数（不純度）の減少率の度合いによって、変数の重要度（寄与度）を表現できる。
【００７０】
図７は、６個のセンサ５０によって取得される温度データと異常スコアを示す図である。ここでは、６個のセンサ５０をセンサ１〜６として区別する。図７（Ａ）において、横軸は時間を表し、縦軸は温度（単位なし）を表す。
【００７１】
図７（Ａ）には、センサ１〜６で取得された温度データの時系列的な変化の様子を示す。センサ１〜６の各々によって時系列的に取得された複数の温度データは、温度データのデータ群である。正常区間は、異常が生じていない区間であり、異常が生じていない期間（時間帯）である。また、予兆区間は、故障の予兆が生じている区間であり、破線の円で囲むようにセンサ３、４で予兆が生じている。
【００７２】
予兆区間は、一例として温度の変動の幅が正常区間の２倍以上になる区間である。正常区間と予兆区間との間には、間隔がある。なお、予兆区間の後に故障が生じる故障区間が続く場合がある。ここでは、異常とは、故障の予兆と故障とを包含する概念である。
【００７３】
図７（Ｂ）は、センサ３の正常区間の始まりから予兆区間の終わりまでの温度データから求めた異常スコアを示す。異常スコアは、異常スコア算出部１１３によって求められる。正常区間における異常スコアに比べて、予兆区間の異常スコアが高くなっていることが分かる。
【００７４】
図８は、回帰モデル生成部１１５が作成するランダムフォレスト回帰モデルの推定値と真値との相関を示す図である。
【００７５】
回帰モデル生成部１１５は、教師データの異常データ群を説明変数とし、異常データ群についての異常スコアを目的変数とするランダムフォレスト回帰モデルと、異常区間の実測データを説明変数とし、異常区間の実測データについての異常スコアを目的変数とするランダムフォレスト回帰モデルとを生成するが、ここでは、説明のために、図７（Ａ）の正常区間と予兆区間とについて作成したランダムフォレスト回帰モデルの推定値と真値との相関について説明する。
【００７６】
図８（Ａ）は、正常区間の時系列的な温度データについて作成したランダムフォレスト回帰モデルで得られる推定値（横軸）と真値（縦軸）とを示す図である。Ｒ２スコアは０．９５であり、相関が高いことが分かる。
【００７７】
図８（Ｂ）は、予兆区間の時系列的な温度データについて作成したランダムフォレスト回帰モデルで得られる推定値（横軸）と真値（縦軸）とを示す図である。Ｒ２スコアは０．９７であり、相関が高いことが分かる。
【００７８】
図９は、センサ１〜６の温度データの正常区間と予兆区間とについて求めた異常寄与度を示す図である。ハッチングで示す棒グラフは、センサ１〜６の正常区間の温度データについて求めた異常寄与度を表し、白抜きの棒グラフは、センサ１〜６の異常区間の温度データについて求めた異常寄与度を表す。
【００７９】
正常区間の温度データについて求めた異常寄与度は、図７に示すセンサ１〜６の各々の正常区間の温度データを説明変数とし、センサ１〜６の各々の正常区間の温度データから求めた異常スコアを目的変数とするランダムフォレスト回帰モデルから算出したものである。
【００８０】
異常区間の温度データについて求めた異常寄与度は、図７に示すセンサ１〜６の各々の異常区間の温度データを説明変数とし、センサ１〜６の各々の異常区間の温度データから求めた異常スコアを目的変数とするランダムフォレスト回帰モデルから算出したものである。
【００８１】
正常区間の異常寄与度は、センサ１〜６で大きな差はないが、異常区間の異常寄与度は、センサ１、２、５、６に比べてセンサ３、４の値が大きくなっている。このことから、上述のようにして異常区間について求めた異常寄与度を用いれば、異常な温度データを取得したセンサ（ここではセンサ３、４）を特定することができる。温度データには、時刻データが関連付けられているので、どのセンサでいつ異常な温度が検出されたかを検出することができる。
【００８２】
図１０は、異常検出装置１００の制御装置１１０が実行するフローチャートを示す図である。図１０に示すフローチャートは、実施の形態の異常検出プログラムを実行することによって実現される。また、実施の形態の異常検出プログラムを実行することにより、実施の形態の異常検出方法が実現される。なお、ステップＳ１２の説明では、図１１を用いる。図１１は、故障予兆モデル及びテストデータの関係と異常スコアを示す図である。
【００８３】
フローがスタートすると、主制御部１１１は、教師データＸを取得する（ステップＳ１）。教師データＸは、Ｍ次元×Ｎ次元の行列であり、多次元ベクトルの集合である。Ｍ、Ｎは２以上の任意の整数である。
【００８４】
教師データＸは、複数（Ｋ個）の正常データ群Ｘ1ok〜ＸKokと複数の異常データ群ＸK+1ng〜ＸNngを含む。正常データ群Ｘ1ok〜ＸKokと異常データ群ＸK+1ng〜ＸNngとは、それぞれ、図７に示すセンサ１〜６の各々が取得する温度データのように、時系列的に並べられた複数のデータ群を含む。このように、正常データ群Ｘ1ok〜ＸKokと異常データ群ＸK+1ng〜ＸNngとは、それぞれ、多次元ベクトルの集合になっている。
【００８５】
予兆モデル生成部１１２は、教師データＸから正常データ群Ｘiokを抽出し、式（１）に基づき正常データ群Ｘiokの正規分布を表す故障予兆モデルを生成する（ステップＳ２）。ステップＳ２で故障予兆モデルの生成に用いられる正常データ群Ｘiokは、ｉが１からＫのうちの１つである。ステップＳ２の処理では、図５に示すような正規分布のデータが生成される。
【００８６】
異常スコア算出部１１３は、異常スコアａを算出するための式（２）を設定する（ステップＳ３）。より具体的には、異常スコア算出部１１３は、式（２）を表すデータをメモリ１１７から読み出す。
【００８７】
異常スコア算出部１１３は、教師データＸのうち、ステップＳ２で故障予兆モデルを生成した正常データ群Ｘiok以外のＫ−１個の正常データ群Ｘiokと、教師データＸに含まれるすべての複数の異常データ群ＸK+1ng〜ＸNngとについて、異常スコアを算出する（ステップＳ４）。異常スコアは、データ群毎に算出される。
【００８８】
閾値導出部１１４は、ステップＳ４で算出された異常スコアに基づき、異常検知の閾値を導出する（ステップＳ５）。閾値は、異常スコアの所定レベルの値を有し、Ｋ−１個の正常データ群Ｘiokから算出された異常スコアと、異常データ群ＸK+1ng〜ＸNngから算出された異常スコアとを分離する最適な値に設定される。閾値の値を変えながら、Ｋ−１個の正常データ群Ｘiokから算出されたＫ−１個の異常スコアと、異常データ群ＸK+1ng〜ＸNngから算出された複数の異常スコアとを分離する最適な閾値が導出される。閾値は１つの最適な値に設定される。
【００８９】
異常スコア算出部１１３は、異常データ群ＸK+1ng〜ＸNngの各々について、異常スコアを算出する（ステップＳ６）。なお、ステップＳ６で異常データ群ＸK+1ng〜ＸNngの各々について算出する異常スコアは、ステップＳ４において異常データ群ＸK+1ng〜ＸNngの各々について算出する異常スコアと同じ値を有する。このため、ステップＳ６では異常スコアを算出せずに、ステップＳ４で異常データ群ＸK+1ng〜ＸNngの各々について算出した異常スコアを取得してもよい。
【００９０】
回帰モデル生成部１１５は、異常データ群ＸK+1ng〜ＸNngの各々を説明変数とし、ステップＳ５で異常データ群ＸK+1ng〜ＸNngについて算出された異常スコアの各々を目的変数とするランダムフォレスト回帰モデルを生成する（ステップＳ７）。説明変数である異常データ群ＸK+1ng〜ＸNngに対応する目的変数は、異常データ群ＸK+1ng〜ＸNngの各々について算出された異常スコアである。
【００９１】
寄与度算出部１１６は、ステップＳ６で生成された各ランダムフォレスト回帰モデルから式（１０）に基づいて異常寄与度を算出する（ステップＳ８）。以上の処理によって、異常データ群ＸK+1ng〜ＸNngについてランダムフォレスト回帰モデルが生成され、異常寄与度を算出する処理が終了する（エンド）。
【００９２】
次に、センサ５０から実際に取得された温度データを含むテストデータＹについて異常寄与度を求める処理について説明する。テストデータＹは、センサ５０で検出された実測値の温度データを含む。
【００９３】
フローがスタートすると、主制御部１１１は、テストデータＹを取得する（ステップＳ１１）。テストデータＹは、教師データＸと同様に、Ｍ次元×Ｎ次元の行列であり、多次元ベクトルの集合である。Ｍ、Ｎは２以上の任意の整数である。なお、テストデータＹと教師データＸでは、Ｍ、Ｎの値が異なっていてもよい。
【００９４】
異常スコア算出部１１３は、テストデータＹに含まれる複数のデータ群のうちの１つに含まれる複数の温度データをステップＳ２で求めた故障予兆モデルに当て嵌め、各温度データの異常スコアを算出し、ステップＳ５で導出した閾値を用いて正常な温度データであるか、異常な温度データであるかを判定する（ステップＳ１２）。
【００９５】
ステップＳ１２では、図１１に示すように、温度データがステップＳ２で求めた故障予兆モデルに当て嵌められる。図１１には、図５で×印で示した正常データ群の各データは省略し、等高線のみを示す。また、図１１には、テストデータＹに含まれる複数のデータ群のうちの１つに含まれる複数の温度データのうちの１つを×印で示す。図１１のように３本の等高線のうちの最も外側の等高線よりも外側に位置するデータは、異常な温度データである。
【００９６】
ステップＳ１２の処理は、テストデータＹに含まれる複数のデータ群を１つずつ抽出して、テストデータＹに含まれるすべてのデータ群について行われる。
【００９７】
異常スコア算出部１１３は、ステップＳ１２の処理結果に基づいて、テストデータＹに含まれる複数のデータ群に含まれる異常な温度データを含む区間を特定し、特定した区間に含まれる温度データの異常スコアを算出する（ステップＳ１３）。テストデータＹに含まれる複数のデータ群に含まれる異常な温度データを含む区間を特定することは、例えば、図７（Ａ）のセンサ３、４の予兆区間が特定されることを意味する。温度データには、センサ（１〜６のいずれか）によって検出された時刻を表す時刻データが関連付けられているため、ステップＳ１３で特定される区間は、どのセンサ（１〜６のいずれか）によって、いつ検出されたかが分かっている。
【００９８】
回帰モデル生成部１１５は、ステップＳ１３で特定した区間に含まれる異常な温度データ（異常な温度データ群）を説明変数とし、ステップＳ１３で特定された区間について算出された異常スコアを目的変数とするランダムフォレスト回帰モデルを生成する（ステップＳ１４）。回帰モデル生成部１１５は、ステップＳ１３で特定された区間が複数ある場合には、複数の区間の各々についてランダムフォレスト回帰モデルを生成する。
【００９９】
寄与度算出部１１６は、ステップＳ１４で生成された各ランダムフォレスト回帰モデルから式（１０）に基づいて異常寄与度を算出する（ステップＳ１５）。以上の処理によって、ステップＳ１３で特定された区間（異常な温度データを含む区間）についてランダムフォレスト回帰モデルが生成され、異常寄与度が算出される。これは、例えば、図９にセンサ１〜６について示す白抜きの棒グラフで示されるように、特定された区間の異常寄与度の分布が分かることになる。
【０１００】
以上のように、実施の形態によれば、センサ５０で検出された実測値の温度データを含むテストデータＹを教師データのうちの正常データの正規分布を表す故障予兆モデルに当て嵌め、教師データから求めた正常データの異常スコアと異常データの異常スコアを分離する閾値を用いて、異常が発生している区間を検出する。
【０１０１】
そして、異常が発生している区間に含まれるデータ（データ群）を説明変数とし、異常が発生している区間に含まれるデータ（データ群）について算出された異常スコアを目的変数とするランダムフォレスト回帰モデルを生成し、各区間の異常寄与度を算出する。
【０１０２】
このため、複数のセンサ５０のうちのどのセンサ５０によって取得された温度データのどの区間で異常に寄与する事象が発生しているかを把握することができる。この異常とは、例えば、故障の予兆である。
【０１０３】
したがって、異常に寄与する事象が発生した箇所（複数のセンサ５０のうちのいずれか）と、異常に寄与する事象が発生した時間帯とを把握できる異常検出装置１００を提供することができる。
【０１０４】
なお、以上では、非線形の回帰モデルであるランダムフォレスト回帰モデルを用いる形態について説明したが、線形の回帰モデルを用いてもよい。線形の回帰モデルとしては、線形回帰モデル、リッジ回帰モデル、又はLasso回帰モデルを用いればよい。また、これらの場合に、異常寄与度は偏重回帰係数として求めればよい。
【０１０５】
以上、本発明の例示的な実施の形態の異常検出装置、異常検出プログラム、及び、異常検出方法について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１０６】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
監視対象物の複数の箇所における正常及び異常な事象をそれぞれ時系列的に表す正常データ群及び異常データ群を含む教師データのうちの正常データ群の正規分布を表す故障予兆モデルを生成する予兆モデル生成部と、
前記教師データから第１異常スコアを算出する第１異常スコア算出部と、
前記第１異常スコアに基づき、異常検知の閾値を導出する閾値導出部と、
前記教師データの異常データ群を説明変数とし、前記異常データ群についての前記第１異常スコアを目的変数とする第１回帰モデルを生成する第１回帰モデル生成部と、
前記第１回帰モデルから前記複数の箇所における事象の第１異常寄与度を算出する第１寄与度算出部と、
前記監視対象物の複数の箇所にそれぞれ設けられる複数のセンサから出力される実測データの前記故障予兆モデルに対する第２異常スコアを算出し、前記異常検知の閾値を用いて、前記実測データのうち前記第２異常スコアが前記閾値以上の異常区間の実測データについての第２異常スコアを求める第２異常スコア算出部と、
前記異常区間の実測データを説明変数とし、前記異常区間の実測データについての第２異常スコアを目的変数とする第２回帰モデルを生成する第２回帰モデル生成部と、
前記第２回帰モデルから前記複数のセンサの検出データの第２異常寄与度を算出する第２寄与度算出部と
を含む、異常検出装置。
（付記２）
前記第１異常寄与度は、前記複数の箇所の各々における前記監視対象物の所定の事象が前記異常データ群の発生に与える寄与度であり、
前記第２異常寄与度は、前記複数のセンサの各々の検出データが前記異常データ群の発生に与える寄与度である、付記１記載の異常検出装置。
（付記３）
前記第１異常寄与度及び前記第２異常寄与度は、それぞれ、前記第１回帰モデル及び前記第２回帰モデルから得られるデータの不均等度の減少度合である、付記１又は２記載の異常検出装置。
（付記４）
前記第１回帰モデル及び前記第２回帰モデルは、線形の回帰モデル又は非線形の回帰モデルである、付記１乃至３のいずれか一項記載の異常検出装置。
（付記５）
前記線形の回帰モデルは、線形回帰モデル、リッジ回帰モデル、及びLasso回帰モデルのいずれか１つであり、
前記第１異常寄与度及び前記第２異常寄与度は、偏重回帰係数である、付記４記載の異常検出装置。
（付記６）
前記非線形の回帰モデルは、ランダムフォレスト回帰モデルであり、
前記第１異常寄与度及び前記第２異常寄与度は、ジニ係数の減少率である、付記４記載の異常検出装置。
（付記７）
監視対象物の複数の箇所における正常及び異常な事象をそれぞれ時系列的に表す正常データ群及び異常データ群を含む教師データのうちの正常データ群の正規分布を表す故障予兆モデルを生成することと、
前記教師データから第１異常スコアを算出することと、
前記第１異常スコアに基づき、異常検知の閾値を導出することと、
前記教師データの異常データ群を説明変数とし、前記異常データ群についての前記第１異常スコアを目的変数とする第１回帰モデルを生成することと、
前記第１回帰モデルから前記複数の箇所における事象の第１異常寄与度を算出することと、
前記監視対象物の複数の箇所にそれぞれ設けられる複数のセンサから出力される実測データの前記故障予兆モデルに対する第２異常スコアを算出し、前記異常検知の閾値を用いて、前記実測データのうち前記第２異常スコアが前記閾値以上の異常区間の実測データについての第２異常スコアを求めることと、
前記異常区間の実測データを説明変数とし、前記異常区間の実測データについての第２異常スコアを目的変数とする第２回帰モデルを生成することと、
前記第２回帰モデルから前記複数のセンサの検出データの第２異常寄与度を算出することと
を含む処理をコンピュータに実行させる、異常検出プログラム。
（付記８）
監視対象物の複数の箇所における正常及び異常な事象をそれぞれ時系列的に表す正常データ群及び異常データ群を含む教師データのうちの正常データ群の正規分布を表す故障予兆モデルを生成することと、
前記教師データから第１異常スコアを算出することと、
前記第１異常スコアに基づき、異常検知の閾値を導出することと、
前記教師データの異常データ群を説明変数とし、前記異常データ群についての前記第１異常スコアを目的変数とする第１回帰モデルを生成することと、
前記第１回帰モデルから前記複数の箇所における事象の第１異常寄与度を算出することと、
前記監視対象物の複数の箇所にそれぞれ設けられる複数のセンサから出力される実測データの前記故障予兆モデルに対する第２異常スコアを算出し、前記異常検知の閾値を用いて、前記実測データのうち前記第２異常スコアが前記閾値以上の異常区間の実測データについての第２異常スコアを求めることと、
前記異常区間の実測データを説明変数とし、前記異常区間の実測データについての第２異常スコアを目的変数とする第２回帰モデルを生成することと、
前記第２回帰モデルから前記複数のセンサの検出データの第２異常寄与度を算出することと
を含む、異常検出方法。
【符号の説明】
【０１０７】
１０  光ファイバケーブル
５０  センサ
１００  異常検出装置
１１０  制御装置
１１１  主制御部
１１２  予兆モデル生成部
１１３  異常スコア算出部
１１４  閾値導出部
１１５  回帰モデル生成部
１１６  寄与度算出部
１１７  メモリ
１２０  操作部
１３０  表示部
【図１】
2020098373.tif 000015
【図２】
2020098373.tif 000016
【図３】
2020098373.tif 000017
【図４】
2020098373.tif 000018
【図５】
2020098373.tif 000019
【図６】
2020098373.tif 000020
【図７】
2020098373.tif 000021
【図８】
2020098373.tif 000022
【図９】
2020098373.tif 000023
【図１０】
2020098373.tif 000024
【図１１】
2020098373.tif 000025