(57)【要約】【課題】乖離の割合を格納する指標に基づいて異常検知を行う。【解決手段】一実施形態による異常検知装置は、データ取得部と、性能指標算出部と、性能指標推定部と、異常度割合指標生成部と、異常検知部と、を備える。データ取得部は、測定データを取得する。性能指標算出部は、前記測定データから性能指標の実績値を算出する。性能指標推定部は、あらかじめ学習された正常モデルに基づいて前記測定データから性能指標の推定値を取得する。異常度割合指標生成部は、前記実績値と、前記推定値との乖離を示す指標である異常度割合指標を、複数の所定の閾値、および、それぞれの前記所定の閾値以上の値を持つ前記乖離の存在割合に基づいて生成する。異常検知部は、前記異常度割合指標に基づいて異常を検知する。【選択図】図１
2019020982.tif 000002
【特許請求の範囲】
【請求項１】
測定データを取得する、データ取得部と、
前記測定データから性能指標の実績値を算出する、性能指標算出部と、
あらかじめ学習された正常モデルに基づいて前記測定データから性能指標の推定値を取得する、性能指標推定部と、
前記実績値と、前記推定値との乖離を示す指標である異常度割合指標を、複数の所定の閾値、および、それぞれの前記所定の閾値以上の値を持つ前記乖離の存在割合に基づいて生成する、異常度割合指標生成部と、
前記異常度割合指標に基づいて異常を検知する、異常検知部と、
を備える異常検知装置。
【請求項２】
過去の前記異常度割合指標を保存する、異常度割合指標保存部と、
保存された前記異常度割合指標に基づいて、過去の異常度割合指標の分布を示す異常度割合分布指標を生成する、異常度割合分布指標生成部と、
をさらに備え、
前記異常検知部は、前記異常度割合指標と、前記異常度割合分布指標とを比較することにより異常を検知する、
請求項１に記載の異常検知装置。
【請求項３】
前記実績値および前記推定値は、同じ要素数を有する持つデータ列であり、
前記異常度割合指標の各要素は、複数の前記所定の閾値および複数の所定の割合に紐付けられ、
前記異常度割合指標生成部は、前記実績値および前記推定値の各要素の乖離を示す乖離データを算出し、前記異常度割合指標の各要素として、前記乖離データの各要素の絶対値のうち、当該各要素と紐付けられている前記所定の閾値以上であるデータの個数が、前記データ列の要素数に対して当該各要素と紐付けられている前記所定の割合以上である場合に第１所定値が格納し、そうではない場合に第２所定値が格納して、前記異常度割合指標を生成する、請求項２に記載の異常検知装置。
【請求項４】
前記異常度割合指標は、複数の前記所定の閾値および複数の所定の割合を所定の順番で並べた２軸を備えるマトリクスである異常度割合マトリクスであり、
前記異常度割合指標生成部は、前記異常度割合マトリクスにおいて、前記乖離データの各要素の絶対値のうち、それぞれの前記所定の閾値以上データの個数が前記データ列の要素数に対して前記所定の割合以上である場合に第１所定値が格納し、そうではない場合に第２所定値が格納する、請求項３に記載の異常検知装置。
【請求項５】
前記異常度割合分布指標の各要素の値は、前記異常度割合指標保存部に保存されている過去の前記異常度割合指標の要素毎の値から算出される、請求項２ないし請求項４のいずれかに記載の異常検知装置。
【請求項６】
前記異常度割合分布指標の各要素の値は、過去の前記異常度割合指標の対応する各要素の平均値である、請求項５に記載の異常検知装置。
【請求項７】
前記異常度割合指標の各要素のうち、第１所定値を有する要素に対応する前記異常度割合分布指標の要素が、異常を検知する閾値である検知閾値以下である場合に、異常であると検知する、請求項２ないし６に記載の異常検知装置。
【請求項８】
前記異常検知部が検知した異常検知結果および当該異常検知結果に基づいてユーザが判断した判断結果を保存する異常検知結果保存部をさらに備え、
前記異常検知部は、前記異常検知結果および前記判断結果を、前記異常検知結果保存部に保存する、
請求項２ないし請求項７のいずれかに記載の異常検知装置。
【請求項９】
前記異常検知結果保存部に保存されている過去の前記異常検知結果および過去の前記判断結果に基づいて、前記異常度割合指標から異常の要因分析の支援を行う、要因分析支援部をさらに備える請求項８に記載の異常検知装置。
【請求項１０】
前記異常検知結果保存部に保存されている過去の前記異常検知結果および過去の前記判断結果に基づいて、前記検知閾値を調節する、閾値調節部をさらに備える請求項８または請求項９に記載の異常検知装置。
【請求項１１】
前記正常モデルを学習する学習モードと、前記異常検知を行う運用モードとを切り替える、モード切替部をさらに備える請求項３ないし請求項８のいずれかに記載の異常検知装置。
【請求項１２】
測定データを取得するステップと、
前記測定データから性能指標の実績値を算出するステップと、
あらかじめ学習された正常モデルに基づいて前記測定データから性能指標の推定値を取得するステップと、
前記実績値および前記推定値との乖離を示す指標である異常度割合指標を生成するステップと、
前記異常度割合指標に基づいて異常を検知するステップと、
を備える異常検知方法。
【請求項１３】
コンピュータを
測定データを取得する手段、
前記測定データから性能指標の実績値を算出する手段、
あらかじめ学習された正常モデルに基づいて前記測定データから性能指標の推定値を取得する手段、
前記実績値および前記推定値との乖離を示す指標である異常度割合指標を生成する手段、
前記異常度割合指標に基づいて異常を検知する手段、
検知した前記異常を出力する手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、異常検知装置、異常検知方法およびプログラムに関する。
【背景技術】
【０００２】
プラントや鉄道車両といった設備または移動体において、正常時の入出力関係をモデル化し、観測データと当該モデルに基づいて推定を行い、実績値と推定値との乖離を利用して異常検知を行うことは、広く行われている。このとき、乖離に対して特定の閾値を設定し、それを逸脱した場合に発報するとするのが一般的である。一般的には、上記閾値は物理的な知見に基づいて決定したり、確率分布の仮定や交差検証法によって求めたりする。
【０００３】
例えば、加工装置に装着されたモータの負荷に対応する電気的パラメータの波形から変動値を求めて、上記変動値に基づいて加工速度を低下させ、加工中断や工具の破損を最小限におさえることを可能とする技術が開発されている。また、半導体製造装置に付帯する補機において、複数種のパラメータから得られる座標点と、基準空間からの乖離を算出し、上記乖離を累積して異常検知を行う技術が考案されている。これらの技術においては、２以上の閾値を適切に設定する必要があり、または、小さな乖離を累積的に考慮する必要がある。しかしながら、一般的に、２つの閾値を適切に設定することは、困難であり、小さな乖離が積み重なることは、誤発報を引き起こす可能性が高くなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−８７７８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
乖離の割合を格納する指標に基づく異常検知装置を提供する。
【課題を解決するための手段】
【０００６】
一実施形態による異常検知装置は、データ取得部と、性能指標算出部と、性能指標推定部と、異常度割合指標生成部と、異常検知部と、を備える。データ取得部は、測定データを取得する。性能指標算出部は、前記測定データから性能指標の実績値を算出する。性能指標推定部は、あらかじめ学習された正常モデルに基づいて前記測定データから性能指標の推定値を取得する。異常度割合指標生成部は、前記実績値と、前記推定値との乖離を示す指標である異常度割合指標を、複数の所定の閾値、および、それぞれの前記所定の閾値以上の値を持つ前記乖離の存在割合に基づいて生成する。異常検知部は、前記異常度割合指標に基づいて異常を検知する。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係る異常検知装置のブロック図。
【図２】一実施形態に係る異常度割合指標の生成処理を示すフローチャート。
【図３】実測値、推定値、および、乖離の例を示す図。
【図４】異常度割合指標の例を示す図。
【図５】異常度割合分布指標の例を示す図。
【図６】異常度割合指標および異常度割合分布指標の比較例を示す図。
【図７】異常度割合指標および異常度割合分布指標の別の比較例を示す図。
【図８】一実施形態に係る異常検知処理を示すフローチャート。
【図９】一実施形態に係る要因分析支援装置のブロック図。
【図１０】異常度検知結果の例を示す図。
【図１１】要因分析の例を示す図。
【図１２】要因分析の別の例を示す図。
【図１３】一実施形態に係る要因分析処理を示すフローチャート。
【図１４】一実施形態に係る閾値自動調節装置の例を示す図。
【図１５】一実施形態に係る異常検知システムのブロック図。
【図１６】一実施形態におけるハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、実施形態について詳しく説明する。以下の説明においては、一例として鉄道車両の異常検知について記載するが、本発明は、鉄道車両に限定されるものではなく、様々な設備および移動体に適用することが可能である。なお、各実施形態において、ユーザとは、原則的には、オブザーバ、アドミニストレータまたはメンテナ等、異常検知を行う必要がある者であるとするが、これらには限られない。
【０００９】
（第１実施形態）
本実施形態に係る異常検知装置は、所定の状態量の実績値と推定値との乖離（ずれ）を示す指標である異常度割合指標を生成し、当該異常度割合指標に基づいて異常を検知する。図１は、本実施形態に係る異常検知装置１の機能を示すブロック図である。
【００１０】
異常検知装置１は、データ取得部１０と、モデル取得部１２と、性能指標算出部１４と、性能指標推定部１６と、異常度割合指標生成部１８と、異常度割合指標保存部２０と、異常度割合分布指標生成部２２と、異常検知部２４と、モード切替部２６と、出力部２８と、を備える。この異常検知装置１は、地上装置として鉄道の運行管理会社の施設や運転指令所内等、車両外に設置されていてもよいし、車上装置として車両内に設置されていてもよい。異常検知装置１の設置形態は特に限定されない。
【００１１】
異常検知装置１が地上装置として車両外に設置されている場合、車両内のシステムの計測情報等を、一例として、車上子、トランスポンダ地上子、および地上の情報ネットワークを介して受信する。つまり、車両内のシステムが、地上子等を介して地上の情報ネットワークにデータを送信し、異常検知装置１が、データを地上の情報ネットワークを介して受信する。地上の情報ネットワークには、メタリックケーブル、同軸ケーブル、光ケーブル、電話回線、無線、イーサネット（登録商標）等を用いることができるが、特に方式は問わない。異常検知装置１は、地上の情報ネットワークを経由して各種ＤＢからデータを取得してもよい。
【００１２】
異常検知装置１が車上装置である場合、異常検知装置１は車両内の情報ネットワークを介して車両内のシステムからデータを取得する。車両内の情報ネットワークにはイーサネットや無線ＬＡＮ（Local Area Network）などがあるが、その他の方式によるものであってもよい。異常検知装置１は、車上子やトランスポンダ地上子を用いて地上の情報ネットワークに接続されている各種ＤＢからデータを取得してもよい。
【００１３】
データ取得部１０は、鉄道車両で計測されたデータまたは気温などの環境データが格納されたセンサデータＤＢ（Database）４２からセンサデータを取得する。このデータは、車両または地上装置どちらに保存されていてもよく、あるいは、異常検知装置１内に備えられているものでもよい。センサデータを取得するセンシング周期や、データを記憶するための記憶媒体についても特に限定はない。
【００１４】
例えば、減速度に着目する場合は、ミリ秒単位の短いサンプリング周期で取得されたセンサデータがセンサデータＤＢ  ４２に保存されている。データ項目としては、例えば、時刻、位置情報、キロ程、速度、ブレーキノッチ、力行ノッチ、ＢＣ（Brake Cylinder）圧、ＡＳ（Air Spring）圧等の情報が挙げられ、その他の現実的に測定可能および測定値から算出可能な対象であれば種類は問わない。なお、鉄道以外の場合に保存されるデータの例としては、温度、湿度、流量、電流、電圧、圧力、位置等が挙げられる。
【００１５】
モデル取得部１２は、正常モデルＤＢ  ４４から、あらかじめ作成した正常モデルを取得する。正常モデルＤＢ  ４４は、例えば、減速度といった所定の指標に対して回帰モデルの構築や統計量の算出を行い、正常状態として保存しておくデータベースである。着目する指標は、センサデータＤＢ  ４２に保存されている指標または上記指標から算出可能なものであれば構わない。データを取得するタイミングまたは量はパラメータＤＢ  ４６に保存してあり、データ取得部１０およびモデル取得部１２ともにこの情報に基づいて各種データベースからデータを取得する。
【００１６】
なお、この正常モデルＤＢ  ４４およびパラメータＤＢ  ４６も、センサデータＤＢ  ４２と同様に備えられている場所は問わない。外部にある場合には、異常検知装置１とネットワークを介して接続されていてもよい。これらＤＢは、リレーショナルデータベースマネジメントシステムや各種ＮｏＳＱＬシステムにより実装することができるが、その他の方式を用いることもできる。また、データベースの保存のフォーマットとしては、ＸＭＬ、ＪＳＯＮ、ＣＳＶなどでもよいし、バイナリ形式などその他の形式でもよい。異常検知装置１に利用される全てのデータベースが同一のデータベースシステムおよび保存フォーマットで実現されている必要は無く、複数の方式によるものが混在していてもよい。
【００１７】
性能指標算出部１４は、取得したデータに基づき、所望の性能指標の実績値を算出する。算出結果は、スカラー量としてまたはベクトルデータとして与えられる。例えば、鉄道の速度を性能指標として算出する場合、取得した加速度、移動距離等のデータから速度の実績値を算出する。尤も、タコメータ等により速度のデータを取得した場合には、当該速度のデータをそのまま性能指標の実績値としてもよい。算出する実績値は、速度には限られず、例えば、加速度、減速度、移動距離等、その他の性能を示すことが可能である指標であってもよい。
【００１８】
性能指標推定部１６は、取得したデータと、取得した正常モデルに基づき、性能指標の推定値を取得する。取得結果は、性能指標の実績値と同様に、スカラー量としてまたは実績値と同じ次元を有するベクトルデータとして与えられる。例えば、鉄道の速度を性能指標として推定する場合、力行ノッチ、ブレーキノッチ等の情報から、正常モデルに基づいた性能指標の推定値を取得する。
【００１９】
正常モデルは、例えば、回帰モデル、サポートベクタマシン、自己回帰などその生成方法は限定されるものではない。取得したセンサデータ等から適切に性能指標を得られるものであれば、どのような方法で最適化を行ったものでもよい。性能指標として、例えば、減速度を用いる場合、正常モデルは、正常な状態のブレーキシステムにおいて取得されたセンサデータ等から生成されたモデルである。この際データ取得部１０が取得するデータが説明変数となるようにモデルを生成することにより、このモデルを用いて予測値を取得することが可能となる。
【００２０】
また、天候等を考慮して正常モデルを生成しておいてもよい。この場合、実績値において得られている天候等のパラメータに併せて正常モデルを変更することにより、実績値を算出した状態により近い状態において推定値を取得することが可能となる。この天候等の情報は、例えば、センサデータと併せて保存されている。
【００２１】
異常度割合指標生成部１８は、上記の実績値と、推定値とに基づき、異常度割合指標を生成する。この異常度割合指標は、推定値の実績値との乖離に基づいて生成される。より具体的には、実績値と推定値とから算出された乖離データの全個数に対する、その絶対値が所定の閾値以上となる乖離データの個数の割合（存在割合）に基づいて生成される。図２は、異常度割合指標を生成する処理を示すフローチャートである。
【００２２】
まず、異常度割合指標生成部１８は、取得した推定値と算出した実績値とから乖離データを算出する（Ｓ１００）。乖離とは、例えば、推定値のある要素から実績値の対応する要素を引いた値を示す。別の例として、推定値のある要素と実績値の対応する要素との差（上記の絶対値）であってもよい。すなわち、乖離データは、スカラー量、または、実績値および推定値と同じ次元を有するベクトルデータである。
【００２３】
図３は、性能指標の実績値（上図実線）、推定値（同破線）およびこれらの値に対する乖離データ（下図実線）を示すグラフである。これらのデータは、例えば、鉄道が停車する前の減速度の遷移について示すものである。この図３に示すように、ある速度で運行している鉄道が停車駅の手前からブレーキ操作により減速を始め、速さがある程度遅くなったところで減速度も落としていき、速さが０になったタイミングにおいて減速度も０となり停止する。
【００２４】
実績値は、実際に運転手がノッチ操作により理想に近い操作を行うことにより、なめらかに変化している。一方、推定値は、ブレーキノッチを操作した際のモデルに基づいた変化をする。例えば、実際には起こらないようなオーバーシュートが発生し、または、実際には減速度を一定の値に保つために行っている細かいノッチ操作がモデルにより反映された結果、推定値は安定していない状態となる。モデルが精巧に生成されていたとしても、これらは、天候やその日の線路の状態により起こりうるものである。また、ブレーキシステムに何らかの異常がある場合には、この乖離は大きくなる傾向となる。
【００２５】
図３において、乖離データは、上述したように推定値から実績値を引いた値の遷移を示すものであり、この乖離データの状況により、操作に対して実際予測される性能指標と、実績値との差異を判断する。乖離データのある要素が大きい場合には、何らかの異常が発生していると判断することができるが、上述したように、実際に操作した場合の実績値は、モデル通りに現れてくるとは限られず、多少の乖離は許容してもよい場合が多い。これらの乖離を示す指標が、異常度割合指標となる。
【００２６】
図２に戻り、次に、異常度割合指標を初期化する（Ｓ１０２）。この初期化は、例えば、異常度割合指標がマトリクスである場合、マトリクスの各成分を０、ＮａＮ、ＮＵＬＬ等の値に置き換える作業を言う。なお、これらのステップＳ１００およびＳ１０２は順番が前後してもよいし、異常度割合指標の初期化は、この処理中ではなくとも、他の適切なタイミングにおいて行われてもよい。
【００２７】
次に、閾値に関するループに入る（Ｓ１０４）。異常度割合指標は、複数の所定の閾値に基づいて生成される。以下では、一例として、閾値Ａ、Ｂ、・・・、Ｈ（Ａ＜Ｂ＜・・・＜Ｈ）の８個の所定の閾値を用いる場合について説明する。
【００２８】
そして、上記の閾値に対する割合に関するループに入る（Ｓ１０６）。異常度割合指標は、複数の所定の閾値に基づいて生成されることは上述したとおりであるが、さらに、複数の所定の割合にも基づいている。以下では、一例として、割合ａ、ｂ、・・・、ｈ（ａ＜ｂ＜・・・＜ｈ）の８個の所定の割合を用いる場合について説明する。
【００２９】
各ループの中では、算出した乖離データの値、所定の閾値および所定の割合に基づいて異常度割合指標を更新する（Ｓ１０８）。
【００３０】
図４（ａ）は、異常度割合指標をマトリクスで表した異常度割合マトリクスの一例を示す図である。上記の各ループ処理となるＳ１０４およびＳ１０６は、このマトリクスの各成分に対するループの処理を表している。
【００３１】
各成分は、（算出された乖離データのうち、所定の閾値以上となる要素の数）／（算出された乖離データの全要素数）が、所定の割合以上となる場合に１（第１所定値）であり、そうで無い場合に０（第２所定値）となるように更新される。０（第２所定値）で初期化を行った場合においては、一番小さい所定の割合未満である場合には更新を行わないようにしてもよい。また、Ｓ１０２における初期化は、このＳ１０８で行われる成分の更新を全ての成分に対して行うことを条件に省略してもよい。
【００３２】
より具体的な例で説明する。乖離データが１００個の要素を備えるベクトルデータであり、割合ａが、０．０５（５％）であったとする。このような場合において、乖離データの中で、閾値Ａ以上のデータが５個以上ある場合、図４（ａ）の一番左下の成分、すなわち、閾値Ａ、割合ａの成分に１が代入される。
【００３３】
次に、閾値Ａ、割合ｂについて成分を更新する（Ｓ１０６〜Ｓ１０８）。例えば、割合ｂが、０．１０であったとする。このような場合において、乖離データの中で、閾値Ａ以上のデータが１０個以上ある場合、図４（ａ）の一番左の列の下から２番目の行の成分、すなわち、閾値Ａ、割合ｂの成分に１が代入される。
【００３４】
このＳ１０６〜Ｓ１０８は、割合ｈまで繰り返される。例えば、割合ｈが、０．４０であり、かつ、乖離データの中で、閾値Ａ以上のデータが３７個しかなかった場合、閾値Ａ、割合ｈの成分には、０が代入される。
【００３５】
次に、Ｓ１０４の処理に戻り、閾値Ｂから上記の割合のループが繰り返される。そして、閾値Ｈ、割合ｈまでの処理が終了したところで、図４（ａ）のような異常度割合マトリクスの成分が代入され、異常度割合指標を保存して（Ｓ１１０）異常度割合指標を算出する処理は終了する。
【００３６】
このループの処理は、閾値Ａ、Ｂ、・・・、Ｈの値を階級とするヒストグラムを生成しておくことにより高速化することも可能である。ヒストグラムは、例えば、Ｓ１００の乖離の値を算出するステップにおいて生成しておいてもよい。なお、上述した例の割合ａ、ｂ、ｈ等は、一例として示したものであり、これには限られない。用途や異常の要因により適宜変更してもよい。例えば、ｈ＝１．０とすると、ｈの行は、実績値と推定値に一致する要素が１つでもあるときには全ての要素が０となる。
【００３７】
図４（ｂ）は、異常度割合指標をマトリクスではなくベクトルで示したものである。このように、ベクトルとして各成分を格納するものであってもよい。また別の例としては、閾値Ａ、Ｂ、・・・、Ｈの要素数に対するベクトル、この場合８成分のベクトルに、どの割合まで１が代入されているかを示すものであってもよい。例えば、図４（ａ）のようなマトリクスになる場合、［７，７，６，５，３，２，１，０］という短いベクトルデータを異常度割合指標としてもよい。このようにすることにより、データの保存領域を削減することが可能となる。異常検知をする場合には、異常度割合マトリクスを使用し、保存する際に、上記のような閾値の個数個の成分を有するベクトルへと変換して保存するようにしてもよい。
【００３８】
図１の構成の説明へと戻る。異常度割合指標保存部２０は、異常度割合指標生成部１８が生成した異常度割合指標を保存する。生成された各異常度割合指標に対してユニークなＩＤ（Identifier）を併せて保存するようにしてもよい。さらには、保存された日時等を併せて保存するようにしてもよい。
【００３９】
異常度割合分布指標生成部２２は、異常度割合指標保存部２０に保存されている異常度割合指標を用いて異常度割合分布指標を生成する。異常度割合分布指標とは、過去の異常度割合指標に基づいた、過去の異常度割合指標の分布を示す指標である。異常度割合分布指標は、成分の値が１に近いほど、過去において閾値と割合の組み合わせについて同じ状況が発生した確率が高く、０に近いほど過去に起こらなかった状況であることを示す。
【００４０】
図５は、図４（ｂ）に示した異常度割合マトリクスに基づいて異常度割合分布指標として異常度割合分布マトリクスを生成したものである。例えば、異常度割合マトリクスが異常度割合指標として異常度割合指標保存部２０に保存されている場合、過去の複数の異常度割合マトリクスの要素毎の和を算出し、和をとった異常度割合マトリクスの総数で割ったものである。図４（ｂ）のベクトル形式である場合も同様に生成することが可能である。上述したように短いベクトルとして異常度割合指標を保存した場合には、各成分を計算する際に展開して分布を求めるようにしてもよい。
【００４１】
異常度割合分布指標の生成は、保存されている過去分の全ての異常度割合指標から算出してもよいし、現在判断したい天候、気温等の状況に合わせた異常度割合指標から算出するようにしてもよい。さらに、単純に平均をとるのではなく、最近のものほど重み付けを重くした重み付け平均を異常度割合分布指標として算出してもよい。
【００４２】
異常検知部２４は、異常度割合指標と異常度割合分布指標とに基づいて異常検知を行う。図６（ａ）は、異常度割合マトリクスの例を示した図であり、図６（ｂ）は、異常度割合分布マトリクスの例を示した図である。図６（ａ）に示すように、異常度割合マトリクスは、１（第１所定値）か０（第２所定値）の二値で表されるものである。この、０と１の境目が図中に太線で示されている。
【００４３】
図６（ｂ）には、図６（ａ）に示した太線と同一の太線を描画している。この図６（ｂ）において、要素が０である成分の上側または右側に太線が存在している箇所が存在する。具体的には、閾値Ｅ割合ｄ、閾値Ｆ割合ｃ、ｄの成分において、太線が０の上側または右側に存在している。異常度割合分布マトリクスにおいては、値が０である成分については、過去に起こっていない閾値と割合の組み合わせであるので、これらの閾値と割合の組み合わせは、過去の乖離データの分布とは異なるものである。このように過去のデータと異なる状況がある場合に、異常検知部２４は、異常があることを検知する。
【００４４】
ベクトル形式のデータでは、異常度割合指標において１であるが、異常度割合分布指標において０である成分がこのような過去のデータと異なる状況であることを示す。短いベクトルデータ形式では、例えば、各閾値において、異常度割合分布指標がどの割合まで分布しているかのデータと、異常度割合分布指標とを比較するようにしてもよい。図６（ａ）および図６（ｂ）の例であれば、異常度割合指標が［７，６，５，４，４，４，１，０］であり、異常度割合分布指標が［７，７，６，５，３，２，１，０］であるので、閾値Ｅ、閾値Ｆにおいて異常を検知することが可能である。割合についても閾値Ｅであれば、４番目、すなわち割合ｄにおいて、閾値Ｆであれば、３番目と４番目、すなわち割合ｃ、ｄにおいて相違することを読み取ることが可能である。
【００４５】
なお、上記においては、異常度割合指標が１であり、異常度割合指標分布が０である場合、すなわち、閾値（以下、検知閾値という）を０とし、異常度割合指標が１であり、異常度割合指標分布が検知閾値以下である場合に当該閾値と割合の組み合わせが異常であることを判断したが、これには限られない。例えば、異常度割合指標が１であり、異常度割合指標分布が所定の分布確率、例えば、０．１以下である、すなわち、検知閾値が０．１である場合に当該組み合わせが異常であることを検知するようにしてもよい。さらに、異常度割合指標と異常度割合分布指標間において異なる組み合わせとなる成分の個数が所定の個数以上である、例えば、３個以上である場合に、異常であることを判断してもよい。
【００４６】
モード切替部２６は、異常度割合指標を生成して保存する操作を行うモードであるのか、または、異常度分布指標を利用して異常検知も行うモードであるのかを切り替える。この切り替え方法は、手動であっても、あらかじめ指定した時刻に切り替わるものであってもよいし、その他の方法でこれらのモードが切り替えられるものであってもよい。
【００４７】
出力部２８は、異常検知部２４から異常の検知結果を受信し、外部の入出力Ｉ／Ｆ（Interface）４０を介して当該検知結果を出力する。異常の出力は、音により通知してもよいし、視覚的に分かるように通知してもよいし、印刷して出力するものでもよいし、または、データとしてファイルサーバやデータベースに保存して出力するものでもよい。図７は、データを視覚的な情報にして出力する一例を示す図である。この図７のように、異常度分布マトリクス上に色づけをしたり、網掛けをしたりすることにより、ユーザにわかりやすいように出力してもよい。なお、異常が検知された場合にのみ異常が検知されたことを出力するようにしてもよいし、異常が検知されなかった場合においても、異常が検知されなかった旨を出力してもよい。
【００４８】
図８は、本実施形態に係る異常検知装置１の処理を示すフローチャートである。以下、この図８に示すフローチャートを用いて、異常検知装置１の処理の流れを説明する。
【００４９】
まず、データ取得部１０は、観測データを取得する（Ｓ２００）。これと並行して、モデル取得部１２は、学習済みの正常モデルを取得する（Ｓ２０２）。
【００５０】
観測データの取得後、性能指標算出部１４は、取得された観測データに基づいて性能指標の実績値を算出する（Ｓ２０４）。さらに、正常モデルの取得後、性能指標推定部１６は、取得された観測データおよび正常モデルに基づいて、性能指標の推定値を取得する（Ｓ２０６）。
【００５１】
学習済みの正常モデルの取得は、性能指標の推定値を取得する前に行われていればよく、上記のＳ２００およびＳ２０４との順番は上記に限られず、前後していてもよい。また、算出、推定に必要なデータを取得した後であれば、Ｓ２０４とＳ２０６の順番も問わないし、または、並行して処理されてもよい。
【００５２】
次に、異常度割合指標生成部１８は、算出された実績値および取得された推定値に基づいて、異常度割合指標を生成する（Ｓ２０８）。
【００５３】
次に、モード切替部２６により、学習モードであるか否かが判断される（Ｓ２１０）。学習モードであると判断された場合（Ｓ２１０：ＹＥＳ）、異常度割合指標保存部２０に生成された異常度割合指標を保存して、異常検知の処理を終了する。また、保存するのみならず、性能指標算出部１４が算出した実績値を用いて正常モデルを更新して正常モデルＤＢ  ４４へと保存するようにしてもよい。
【００５４】
一方、学習モードではない、すなわち、運用モードであると判断された場合（Ｓ２１０：ＮＯ）、運用モードへと移行する。運用モードでは、まず、異常度割合分布指標生成部２２は、異常度割合指標保存部２０に保存されている過去の異常度割合指標のデータから、異常度割合分布指標を生成する（Ｓ２１４）。
【００５５】
次に、異常度割合指標保存部２０に、生成された異常度割合指標を保存する（Ｓ２１６）。このような順番で処理を行うことにより、異常を検知するか否かの判断をしたい異常度割合指標自体が異常度割合分布指標に反映されることを防止する一方で、その後に行われる運用においては、異常度割合分布指標へと反映されるようにする。
【００５６】
次に、異常検知部２４は、異常度割合指標と異常度割合分布指標とに基づいて取得された観測データに異常があるか否かを検知する（Ｓ２１８）。そして、異常が検知された場合に、出力部２８が検知された異常を出力して処理を終了する（Ｓ２２０）。
【００５７】
以上のように、本実施形態によれば、取得されたセンサデータ等のデータから算出された実績値と推定値との間にある乖離について、所定の閾値を超える乖離データがどの程度存在するかを判断することにより、過去のデータに基づいた異常の検知を行うことが可能となる。このようにすることにより、正常時とは異なる異常な振る舞いをしている場合に、当該振る舞いを異常であると検知する、より精度の高いロバストな異常検知装置を実現することが可能となる。
【００５８】
上記の処理は、例えば、鉄道の１運行（所定の駅から次の駅等の運行）毎にデータが蓄積され、実績値と推定値を用いて異常の検知を行う。このようにすることにより、状況が近い状態において、異常の検知を行うことが可能となり、所定の駅から次の駅では発生しがちであるが、別の駅からその次の駅間では発生しないといった局所的な異常の検知を行うことも可能となる。
【００５９】
また、近い状況下において実績値と推定値との乖離により異常を検知することにより、他の要因、例えば、線路のカンテや接続具合といった場所等に依存する要因を除いた異常を検知することが可能となる。このように、本実施形態によれば、精度が高く、ロバストな異常検知を実現することができる。
【００６０】
（第２実施形態）
上述した実施形態においては、異常度割合指標から異常の検知をすることを説明したが、本実施形態においては、生成された異常度割合指標と、過去の異常度割合指標とに基づいて、異常の要因分析をも行おうとするものである。
【００６１】
図９は、本実施形態に係る要因分析支援装置２の機能を示すブロック図である。要因分析支援装置２は、異常検知結果保存部３０と、要因分析支援部３２と、を備え、異常度割合指標から異常の要因の分析を行う支援をする装置である。
【００６２】
異常検知結果保存部３０は、異常検知部２４から出力される異常であるか否かの情報と、その情報のもととなった異常度割合指標のＩＤとが紐付けられて保存される。さらに、異常検知部２４が異常を検知した場合に、ユーザが入出力Ｉ／Ｆ  ４０を介してその異常の要因を入力した場合に、当該要因についても異常度割合指標のＩＤと紐付けて保存される。すなわち、異常検知結果保存部３０には、異常度割合指標のＩＤと、当該ＩＤを有する異常度割合指標が異常であるか否かの検知結果と、当該ＩＤを有する異常度割合指標の異常の要因とが紐付けて保存される。
【００６３】
図１０（ａ）は、この異常検知結果保存部３０に保存されるテーブルの例を示す図である。この図に示すように、各ＩＤに対して、異常のあり／なしと、異常がある場合のその要因とが保存される。要因は、ユーザが入力するものであるが、この要因は、例えば、異常検知装置１により異常が検知された後に、メンテナンス等を行い、要因が解析できた上で入力される。例えば、ＩＤが１の異常度割合指標においては、異常が検知され、要因がＡであることが保存される。
【００６４】
なお、ＩＤが３のように異常がなしの場合についても保存されてもよい。このように異常がない場合についても保存されるようにすると、異常度割合指標保存部２０に保存されているデータと整合性をとりやすくなる。また、この場合、異常検知結果保存部３０と、異常度割合指標保存部２０とを同じデータベースとして構築することも可能である。整合性をとることで、異常度割合分布指標生成部２２が過去の異常事例を使用せずに異常度割合分布指標を作成することが可能となる。より具体的には、例えば、異常度割合分布指標を生成する際に、異常がありと判断されたデータを反映しないことにより、異常度割合分布指標を用いた異常発見の精度を向上することが可能となる。要因が未入力である場合には、ＩＤが６のデータのように、要因：未入力というデータが保存されていてもよい。また、不明の場合に、要因：不明というデータが保存されるようにしてもよい。
【００６５】
一方で、異常がない場合には、ＩＤ自体を保存しないようにしてもよい。図１０（ｂ）は、異常検知結果保存部３０に保存されるテーブルの別の例を示す図である。この場合ＩＤが３のデータは保存されないこととなる。このようにすることにより、異常検知結果保存部３０には、異常がある場合にそのＩＤと要因が保存されるようにしてもよい。異常が無い場合に保存をしないようにすると、テーブルの領域を削減することが可能となる。
【００６６】
要因分析支援部３２は、異常が検知された場合に、異常検知結果保存部３０に保存されているＩＤに対応する過去の異常度割合指標との情報に基づき、異常が検知された異常度割合指標における異常の要因分析を支援する。支援方法は、様々な方法が考えられる。この方法は、各種クラスタリングの方法であってもよいし、各種機械学習によるものであってもよいし、これには限られず要因を分類できるものであればどのようなものでもよい。
【００６７】
例えば、異常度割合指標を行数×列数のベクトルと考え、ｋ近傍法を利用することができる。図１１は、ｋ近傍法を用いた場合の結果の一例を示す図である。異常度割合指標のＩＤと、当該ＩＤを有する異常度割合指標と着目している異常度割合指標とのユークリッド距離と、当該ＩＤを有する異常度割合指標の異常の要因とが表示される。その他、時刻や天候等、要因分析の一助となる項目についても表示してもよい。また、時刻や天候等の情報を考慮して、距離を測定するようにしてもよい。例えば、図１１の場合、距離の近い方に多く出現する、要因βが着目している異常度割合指標の異常の要因として判断することができる。
【００６８】
この結果は、出力部２８を介してユーザへと出力される。ユーザは、異常の要因がβである可能性が高いとして、メンテナンス等を行うことが可能となる。さらに、要因が解明できた後にユーザは、入出力Ｉ／Ｆ  ４０を介して、異常検知結果保存部に、着目している異常度割合指標の異常の要因をフィードバックすることもできる。このようにデータを更新することにより、要因分析の精度を高めることも可能である。また、異常が発見できなかった場合には、異常がなかった旨をフィードバック、または、原因が不明である旨をフィードバックして、将来の異常検知または分析支援に用いるようにしてもよい。
【００６９】
要因分析支援部３２は、他にも様々な指標を用いることができる。例えば、分析に使用する距離は、ユークリッド距離には限られず、ハミング距離を用いてもよいし、共分散行列として考えてハマラノビス距離を用いるものとしてもよい。
【００７０】
さらに、ｋ近傍法には限られず、多次元尺度更正法、ｔ−ＳＮＥ（t-Distributed Stochastic Neighbor Embedding）やＰＣＡ（Principle Component Analysis）等その他の手法を用いて可視化をしてもよい。図１２は、多次元尺度更正法を用いた場合の例を示す図である。図１２においては、距離が近いサンプルほど知覚に配置され、要因毎にポインタの色や形を変えて視覚的に把握できるようにしている。×印が新たに検知された異常事例だとした場合、ユーザは、このグラフを見ることにより、異常の要因がβであることを推測することが可能となる。
【００７１】
さらにまた、これらの方法には限られず、機械学習等による方法を用いてもよい。例えば、サポートベクタマシンを利用したり、ランダムフォレストを利用したりしてもよい。
【００７２】
要因の分析に用いる指標は、上述したように、異常度割合指標そのものを用いてもよい。または、前述した第１実施形態における異常度割合指標と異常度割合分布指標との差に基づいたもの、例えば、閾値Ｅ割合ｄ、閾値Ｆ割合ｃ、ｄの成分だけを１とし、残りの成分を０としたデータを用いるようにしてもよい。この場合、分析に用いるモデルは、同じ異常度割合分布指標と比較をした過去の異常度割合指標に基づいて生成される。
【００７３】
図１３は、要因分析支援装置２の処理を示すフローチャートである。
【００７４】
着目データに対して、異常検知部２４が異常を検知すると、要因分析支援部３２は、異常検知結果保存部３０に保存されている異常が発生した異常度割合指標のＩＤを取得し、当該ＩＤに基づいて異常度割合指標保存部２０から、各異常度割合指標を抽出する（Ｓ３００）。
【００７５】
次に、要因分析支援部３２は、抽出した異常度割合指標および各異常度割合指標に紐付けられている異常の要因に基づき、着目しているデータの異常度割合指標を用いて要因の分析をする（Ｓ３０２）。
【００７６】
次に、出力部２８は、要因分析支援部３２が分析した結果を入出力Ｉ／Ｆ  ４０を介して出力する（Ｓ３０４）。
【００７７】
異常の要因が解析できた場合、当該要因の解析結果をフィードバックすることにより、次からの分析の精度をさらに向上させる（Ｓ３０６）。
【００７８】
なお、要因の分析に学習済みのモデルを用いる場合、要因分析装置２は、図示しない学習済みモデル保存部に当該モデルを保存し、次のデータからの分析に用いるようにしてもよい。
【００７９】
以上のように本実施形態によれば、異常検知装置１は、異常の検知を行うのみならず、その要因の分析の支援を行うことをも可能とする。このように要因の分析の候補を出力することにより、ユーザは、要因の分析に掛ける時間的および金銭的なコストを削減することが可能となる。
【００８０】
例えば、鉄道のブレーキシステムの要因としては、ブレーキシューに異常がある場合、空気漏れによる圧力の変化等のブレーキ側の要因と、設定値のミス、伝達経路における信号の伝達ミスといったブレーキ本体ではなくシステム側の要因と、または、線路の状態による異常といったそもそもブレーキの異常ではないような要因が存在する。このような場合に、異常度割合指標から要因を求めることが可能となる。
【００８１】
（第３実施形態）
上述した実施形態においては、取得したデータから異常を検知していたが、本実施形態に係る異常検知装置１は、上述した実施形態においては所定の値であった検知閾値を、検知結果に基づいて調節するものである。
【００８２】
図１４は、本実施形態に係る閾値自動調節装置３の機能を示すブロック図である。閾値自動調節装置３は、閾値自動調節部３４を備える。
【００８３】
閾値自動調節部３４は、異常検知結果保存部３０に保存されているデータに基づき、適切な検知閾値を設定するものである。異常検知装置１により異常であると出力され、ユーザが異常であると判断した結果が、既に異常検知結果保存部３０に保存されていた場合異常の検知に用いた異常度割合指標について、異常と検知する確率をあげるように検知閾値を調節する。
【００８４】
この調節は、例えば、異常度割合指標全体に対して検知閾値を調節するものであってもよいし、当該異常と判断された異常度割合指標において、異常度割合分布指標と比較した場合に、特徴がある要素に対する検知閾値を調節するものであってもよい。
【００８５】
例えば、異常度割合指標が図６（ａ）に示すものである場合に、上記の状況が発生したとする。図６（ｂ）に示す異常度割合分布指標と比較して、閾値Ｅ割合ｄ、閾値Ｆ割合ｃ、ｄの要素において異常と検知されている。このような場合に、次からは、これら３つの要素における検知閾値を上げる、例えば、０から０．１へと変更することにより、将来的に異常度割合分布指標におけるこれら３つの要素が０ではなくなった場合にも、図６（ａ）に示される異常度割合指標が入力されると異常と検知することが可能となる。
【００８６】
異常のように、本実施形態によれば、異常検知装置１は、異常の検知を行うのみならず、本実施形態に係る閾値自動調節部３４により、閾値を調節することにより、より柔軟に様々な異常を検知することが可能となる。
【００８７】
（第４実施形態）
前述した各実施形態における異常検知装置１、要因分析支援装置２、および、閾値自動調節装置３を全て備えた異常度検知システム４を形成することも可能である。図１５は、異常度検知システム４の機能を示すブロック図である。
【００８８】
このように形成すると、異常度割合分布指標作成部２２は、異常検知結果保存部３０に保存されているデータを利用することにより、正常時の異常度割合指標を抽出し、妥当な異常度割合分布指標を生成することも可能となる。このような構成によれば、乖離の分布を利用したロバストな異常検知ができ、かつ、発生した異常の要因分析支援が可能となる。
【００８９】
図１６は、一実施形態におけるハードウェア構成の一例を示すブロック図である。データ処理装置は、プロセッサ６１と、主記憶装置６２と、補助記憶装置６３と、デバイスインタフェース６４と、ネットワークインタフェース６５と、を備え、これらがバス６６を介して接続されたコンピュータ装置６として実現できる。また、データ処理装置は、さらに、入力装置６７と、出力装置６８とを備えていてもよい。
【００９０】
本実施形態における異常検知装置１は、各装置で実行されるプログラムをコンピュータ装置６にあらかじめインストールすることで実現してもよいし、プログラムをＣＤ−ＲＯＭ等の記憶媒体に記憶して、あるいはネットワークを介して配布して、コンピュータ装置６に適宜インストールすることで実現してもよい。
【００９１】
なお、図１６においては、コンピュータ装置６は、各構成要素を１つ備えているが、同じ構成要素を複数備えるものであってもよい。また、図１６においては、１台のコンピュータ装置が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされていてもよい。当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行することにより、処理結果を生成してもよい。つまり、データ処理装置がシステムとして構成されていてもよい。
【００９２】
プロセッサ６１は、コンピュータの制御装置および演算装置を含む電子回路である。プロセッサ６１は、コンピュータ装置６の内部構成の各装置等から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置等に出力する。具体的には、プロセッサ６１は、コンピュータ装置６のＯＳ（Operating System）や、アプリケーション等を実行し、コンピュータ装置６を構成する各装置を制御する。
【００９３】
プロセッサ６１は、上記の処理を行うことができれば特にこれに限られるものではない。プロセッサ６１は、例えば、汎用目的プロセッサ、ＣＰＵ（Central Processing Unit）、マイクロプロセッサ、ＤＳＰ（Digital Signal Processor）、コントローラ、マイクロコントローラ、状態マシン等でもよい。また、プロセッサ６１は、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＰＬＤ（Programmable Logic Device）に組み込まれていてもよい。また、プロセッサ６１は、複数の処理装置から構成されていてもよい。例えば、ＤＳＰおよびマイクロプロセッサの組み合わせでもよいし、ＤＳＰコアと協働する１つ以上のマイクロプロセッサでもよい。
【００９４】
主記憶装置６２は、プロセッサ６１が実行する命令および各種データ等を記憶する記憶装置であり、主記憶装置６２に記憶された情報がプロセッサ６１により直接読み出される。補助記憶装置６３は、主記憶装置６２以外の記憶装置である。なお、記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとする。主記憶装置６２としてＲＡＭ（Random Access Memory）、ＤＲＡＭ（Dynamic RAM）、ＳＲＡＭ（Static RAM）等の一時的な情報の保存に用いられる揮発性メモリが主に用いられるが、本発明の実施形態において、主記憶装置６２がこれらの揮発性メモリに限られるわけではない。主記憶装置６２および補助記憶装置６３として用いられる記憶装置は、揮発性メモリでもよいし、不揮発性メモリでもよい。不揮発性メモリは、ＰＲＯＭ（Programmable Read Only Memory）、ＥＰＲＯＭ（Erasable PROM）、ＮＶＲＡＭ（Non-volatile RAM）、ＭＲＡＭ（Magnetoresistive RAM）、フラッシュメモリ等である。また、補助記憶装置６３として、磁気または光学のデータストレージが用いられてもよい。データストレージとしては、ハードディスク等の磁気ディスク、ＤＶＤ等の光ディスク、ＵＳＢ等のフラッシュメモリ、および、磁気テープ等が用いられてもよい。
【００９５】
なお、プロセッサ６１が主記憶装置６２または補助記憶装置６３に対して、直接または間接的に、情報を読み出しまたは書き込みまたはこれらの両方を行うならば、記憶装置は、プロセッサと電気的に通信すると言うことができる。なお、主記憶装置６２は、プロセッサに統合されていてもよい。この場合も、主記憶装置６２は、プロセッサと電気的に通信していると言うことができる。
【００９６】
ネットワークインタフェース６４は、無線または有線により、通信ネットワークに接続するためのインタフェースである。ネットワークインタフェース６４は、既存の通信規格に適合したものをもちいればよい。ネットワークインタフェース６４により、通信ネットワーク７を介して通信接続された外部装置８に出力結果等が送信されてもよい。
【００９７】
デバイスインタフェース６５は、出力結果等を記録する外部装置８と接続するＵＳＢ等のインタフェースである。外部装置８は、外部記憶媒体でもよいし、データベース等のストレージでもよい。外部記憶媒体は、ＨＤＤ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＳＡＮ（Storage Area Network）等の任意の記憶媒体でよい。あるいは、外部装置８は、出力装置でもよい。例えば、ＬＣＤ（Liquid Crystal Display）、ＣＲＴ（Cathode Ray Tube）、ＰＤＰ（Plasma Display Panel）、スピーカ等があるが、これらに限られるものではない。
【００９８】
また、コンピュータ装置６の一部または全部、すなわち、データ処理装置の一部または全部は、プロセッサ６１等を実装している半導体集積回路等の専用の電子回路（ハードウェア）にて構成されてもよい。専用のハードウェアは、ＲＡＭ、ＲＯＭ等の記憶装置との組み合わせで構成されてもよい。
【００９９】
なお、図１６では、１台のコンピュータ装置が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされてもよい。当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行することにより、処理結果を生成してもよい。
【０１００】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。また、当然のことながら、本発明の要旨の範囲内で、これらの実施の形態を部分的に適宜組み合わせることも可能である。
【符号の説明】
【０１０１】
１：異常検知装置、２：要因分析支援装置、３：閾値自動調節装置、１０：データ取得部、１２：モデル取得部、１４：性能指標算出部、１６：性能指標推定部、１８、：異常度割合指標生成部、２０：異常度割合指標保存部、２２：異常度割合分布指標生成部、２４：異常検知部、２６：モード切替部、２８：出力部、３０：異常検知結果保存部、３２：要因分析支援部、３４：閾値自動調節部
【図１】
2019020982.tif 000003
【図２】
2019020982.tif 000004
【図３】
2019020982.tif 000005
【図４】
2019020982.tif 000006
【図５】
2019020982.tif 000007
【図６】
2019020982.tif 000008
【図７】
2019020982.tif 000009
【図８】
2019020982.tif 000010
【図９】
2019020982.tif 000011
【図１０】
2019020982.tif 000012
【図１１】
2019020982.tif 000013
【図１２】
2019020982.tif 000014
【図１３】
2019020982.tif 000015
【図１４】
2019020982.tif 000016
【図１５】
2019020982.tif 000017
【図１６】
2019020982.tif 000018