(57)【要約】【課題】  本発明の一実施形態は、複数の状態推測モデルを用いて、複数の推測値に基づく乖離度を算出し、算出された乖離度に基づき異常を検出する異常検出装置を提供する。【解決手段】本発明の一態様としての異常検出装置は、監視対象の状態を示す状態値に基づき、監視対象の異常を検出する異常検出装置であって、推測値算出部と、乖離度算出部と、異常度算出部と、異常判定部と、を備える。推測値算出部は、第１期間の状態値に基づき、複数の状態推測モデルにより、第１期間よりも後の第２期間の推測値を算出する。乖離度算出部は、第２期間の状態値と、第２期間の推測値と、に基づき、第２期間の乖離度を算出する。異常度算出部は、第２期間の乖離度に基づき、第２期間の異常度を算出する。異常判定部は、第２期間の異常度に基づき、第２期間における監視対象の異常を判定する。【選択図】図１
2018124937.tif 000002
【特許請求の範囲】
【請求項１】
監視対象の状態を示す状態値に基づき、監視対象の異常を検出する異常検出装置であって、
第１期間の状態値と、前記第１期間よりも後の第２期間の状態値と、複数の状態推測モデルと、に基づき、前記第２期間の推測の状態値である推測値を算出する推測値算出部と、
前記第２期間の前記状態値と、前記第２期間の前記推測値と、に基づき、乖離度を算出する乖離度算出部と、
前記乖離度に基づき、異常度を算出する異常度算出部と、
前記異常度に基づき、前記監視対象の異常を判定する異常判定部と、
を備える異常検出装置。
【請求項２】
前記推測値算出部は、
前記第１期間の前記状態値と、前記複数の状態推測モデルと、に基づき、前記第２期間の複数の推測値を算出し、
前記第２期間の前記状態値と、前記第２期間の前記複数の推測値と、に基づき、前記第２期間の最適とされる推測値を算出し、
前記乖離度算出部は、前記第２期間の前記状態値と、前記第２期間の前記最適とされる推測値と、に基づき、前記乖離度を算出する
請求項１に記載の異常検出装置。
【請求項３】
前記推測値算出部は、
前記第２期間の前記状態値に基づき、前記第２期間の前記複数の推測値から選択することにより、前記最適とされる推測値を算出する
請求項２記載の異常検出装置。
【請求項４】
前記状態推測モデルのパラメータを更新するパラメータ更新部
をさらに備え、
前記推測値算出部が、前記監視対象が正常であるときの状態値である学習用状態値に基づき、学習用推測値を算出し、
前記パラメータ更新部は、前記学習用推測値に基づき、前記状態推測モデルの前記パラメータを更新する
請求項１ないし３のいずれか一項に記載の異常検出装置。
【請求項５】
前記学習用推測値の値が外れ値であるかを判定する外れ値判定部をさらに備え、
前記パラメータ更新部は、外れ値と判定されなかった学習用推測値の値に基づき、前記状態推測モデルの前記パラメータを更新する
請求項４に記載の異常検出装置。
【請求項６】
前記乖離度は、前記第２期間の前記状態値と、前記第２期間の前記推測値との差分に基づき算出される
請求項１ないし５のいずれか一項に記載の異常検出装置。
【請求項７】
前記異常度算出部が、複数の乖離度における中央値を、前記異常度とする
請求項１ないし５のいずれか一項に記載の異常検出装置。
【請求項８】
前記異常判定部が、前記第２期間内の第３期間における異常度と、前記第２期間内の第４期間における異常度と、に対し、統計的検定を行い、
前記統計的検定により算出された有意確率が、前記統計的検定の有意水準を超えている場合に、異常と判定される
請求項１ないし５のいずれか一項に記載の異常検出装置。
【請求項９】
前記第２期間内の第３期間における異常度の情報量と、前記第２期間内の第４期間における異常度の情報量との総和が、前記第２期間の前記異常度の情報量よりも大きい場合に異常と判定される
請求項１ないし６のいずれか一項に記載の異常検出装置。
【請求項１０】
前記第２期間を区切る複数の第５期間ごとに前記異常度算出部が前記異常度を算出する第１の場合と、前記第２期間を区切る複数の第６期間ごとに前記異常判定部が前記監視対象の異常を判定する第２の場合と、の少なくともいずれかの場合に該当し、
前記第１の場合においては、前記第５期間内の乖離度に対する第１正規性検定における有意確率が前記第１正規性検定の有意水準を超えるのに必要な最小の標本数と、前記第５期間内の前記乖離度の数とが一致し、
前記第２の場合においては、前記第６期間内の異常度に対する第２正規性検定における有意確率が前記第２正規性検定の有意水準を超えるのに必要な最小の標本数と、前記第６期間内の前記異常度の数とが一致する
請求項１ないし９のいずれか一項に記載の異常検出装置。
【請求項１１】
前記異常判定部の判定結果、前記異常度、前記乖離度、および前記推測値の少なくとも１つを出力する出力部
をさらに備える請求項１ない７のいずれか一項に記載の異常検出装置。
【請求項１２】
監視対象の状態を示す状態値に基づき、監視対象の異常を検出する異常検出方法であって、
第１期間の前記状態値に基づき、前記第１期間よりも後の第２期間において推測される前記監視対象の状態を示す推測値を算出する推測値算出ステップと、
前記第２期間の前記状態値と、前記第２期間の前記推測値と、に基づき、前記第２期間の乖離度を算出する乖離度算出ステップと、
前記第２期間の前記乖離度に基づき、前記第２期間の異常度を算出する異常度算出ステップと、
前記第２期間の前記異常度に基づき、前記第２期間における前記監視対象の異常を判定する異常判定ステップと、
を備える異常検出方法。
【請求項１３】
監視対象の状態を示す状態値に基づき、監視対象の異常を検出するためのプログラムであって、
第１期間の前記状態値に基づき、前記第１期間よりも後の第２期間において推測される前記監視対象の状態を示す推測値を算出する推測値算出ステップと、
前記第２期間の前記状態値と、前記第２期間の前記推測値と、に基づき、前記第２期間の乖離度を算出する乖離度算出ステップと、
前記第２期間の前記乖離度に基づき、前記第２期間の異常度を算出する異常度算出ステップと、
前記第２期間の前記異常度に基づき、前記第２期間における前記監視対象の異常を判定する異常判定ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、異常検出装置、異常検出方法およびプログラムに関する。
【背景技術】
【０００２】
近年のＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ）の進展にともない、様々なデータがセンサによりリアルタイムに取得されつつある。これにより、監視対象の状態をリアルタイムに把握することが可能となる。
【０００３】
また、センサにより取得された時系列のデータ（時系列センサデータ）に基づき、監視対象の異常を検出する試みも行われている。しかしながら、通常、時系列センサデータの大半は正常の記録であり、異常の記録が含まれている場合は稀である。また、センサの数が膨大なため、時系列センサデータのデータ量も膨大となる。また、異常を示すデータのパターン（異常パターン）も様々であり、さらに未発見の異常パターンが時系列センサデータに含まれる可能性もある。ゆえに、異常を検出するために、各異常パターンの特徴量を人手で個別に作成することは得策ではない。
【０００４】
そこで、監視対象の正常時の状態を示す学習用状態データに基づき、回帰モデル、ディープラーニングなどの方法を用いて監視対象の正常を示すパターン（正常パターン）を学習させた後、正常パターンに対する時系列センサデータの逸脱度に基づき異常を検出する手法が用いられている。当該手法によれば、正常時の時系列センサデータのみ取得すればよく、異常パターン、センサなどに関する事前知識は必要とされない。そのため、当該手法は、様々な分野への適用が見込まれている。
【０００５】
さらに、リアルタイムに異常を検出するために、事前に今後の正常パターンを予測することが行われている。例えば、現在までの時系列センサデータに基づき、将来の所定時刻の正常パターンを予測しておく。そして、所定時刻に達したときに、所定時刻における時系列センサデータと、予測された正常パターンを比較し、その差分である予測誤差を算出する。監視対象が正常であれば予測が容易であるため、予測誤差が小さいと期待される。監視対象が異常であれば予測が困難であるため、予測誤差が大きいと期待される。このように、事前に予測された正常パターンに基づいて現時点の予測誤差を算出し、現時点の異常を検出することができる。したがって、リアルタイムに異常を検出できる。
【０００６】
予測誤差に基づく異常検出の精度は、異常検出装置の予測精度に大きく依存する。しかしながら、単一の決定的なモデルを用いて予測を行う既存技術では予測精度の向上は困難である。例えば、現実に取得されるセンサデータは正常であってもノイズが含まれる場合が多く、当該ノイズにより予測精度が低下する。また、監視対象が周期的に振る舞う場合でも、その周期が一定とは限らないため、予測が時間的にずれ込むこともあり得る。ゆえに、異常であっても予測誤差が小さい、あるいは正常であっても予測誤差が大きいという場合もあり得る。したがって、既存技術では精度よく異常を検出することが困難である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−１８１５２６号公報
【特許文献２】国際公開２０１３／１０５１６４号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の一実施形態は、複数の状態推測モデルを用いて、複数の推測値に基づく乖離度を算出し、算出された乖離度に基づき異常を検出する異常検出装置を提供する。
【課題を解決するための手段】
【０００９】
本発明の一態様としての異常検出装置は、監視対象の状態を示す状態データに基づき、監視対象の異常を検出する異常検出装置であって、推測データ算出部と、乖離度算出部と、異常度算出部と、異常判定部と、を備える。推測データ算出部は、第１期間の状態データに基づき、複数の状態推測モデルにより、第１期間よりも後の第２期間の推測データを算出する。乖離度算出部は、第２期間の状態データと、第２期間の推測データと、に基づき、第２期間の乖離度を算出する。異常度算出部は、第２期間の乖離度に基づき、第２期間の異常度を算出する。異常判定部は、第２期間の異常度に基づき、第２期間における監視対象の異常を判定する。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る異常検出装置の概略構成の一例を示すブロック図。
【図２】状態データの一例を示す図。
【図３】第１の実施形態に係る異常検出装置の全体処理のフローチャートの一例を示す図。
【図４】ディープラーニングによる状態推測モデルの構造の一例を示す図。
【図５】ディープラーニングによる状態推測モデルの構造の他の一例を示す図。
【図６】推測値算出部の処理を説明する図。
【図７】最適推測値の算出方法を説明する図。
【図８】学習処理のフローチャートの一例を示す図。
【図９】異常検出処理のフローチャートの一例を示す図。
【図１０】異常度算出処理のフローチャートの一例を示す図
【図１１】閾値超過割合による異常判定処理のフローチャートの一例を示す図。
【図１２】情報量規準による異常判定処理のフローチャートの一例を示す図。
【図１３】統計的検定手法による異常判定処理のフローチャートの一例を示す図。
【図１４】出力部の出力の一例を示す図。
【図１５】第２の実施形態に係る異常検出装置の概略構成の一例を示すブロック図。
【図１６】外れ値の判定を説明する図。
【図１７】第２の実施形態に係る状態推測モデルの学習処理のフローチャートの一例を示す図。
【図１８】本発明の一実施形態におけるハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１２】
（第１の実施形態）
図１は、第１の実施形態に係る異常検出装置の一例を示すブロック図である。第１の実施形態に係る異常検出装置１は、入力部１１と、記憶部１２と、異常検出部１３と、出力部１４と、を備える。異常検出部１３は、推測値算出部１３１と、パラメータ更新部１３２と、乖離度算出部１３３と、異常度算出部１３４と、異常判定部１３５と、を備える。推測値算出部１３１は、候補値算出部１３１１と、最適推測値算出部１３１２と、を備える。
【００１３】
異常検出装置１は、監視対象の状態を示す値に基づき、監視対象の異常を検出する装置である。監視対象の状態を示す値を状態値と記載する。また、状態値から構成される時系列データを状態データと記載する。
【００１４】
監視対象は、正常および異常の少なくとも２つの状態を有するものであれば、特に制限されるものではない。例えば、監視対象は、サーバ、家電などの機器であってもよい。複数の機器から構成されたシステムであってもよい。工場などの生産ラインの一部または全体でもよい。建物、部屋などの空間であってもよい。人、動物などの生体であってもよい。
【００１５】
状態値が示す監視対象の状態の項目（種類）は、監視対象の正常と異常の判定に用いることができるものであれば、特に限られない。例えば、監視対象の温度、監視対象の移動速度、などでもよい。状態データに含まれる項目は１つ（単変量）でも複数（多変量）でもよい。例えば、状態データは、温度に関する状態値のみから構成されていてもよいし、温度に関する状態値と、移動速度に関する状態値と、から構成されていてもよい。
【００１６】
また、本実施形態の異常検出装置１は、状態推測モデルを用いる。状態推測モデルは、特定期間の１つ以上の状態値に基づき、当該特定期間より後の期間の１つ以上の状態値を推測する。状態推測モデルにより推測された、推測の状態値を推測値と記載する。また、推測値から構成される時系列データを推測データと記載する。状態推測モデルを用いることにより、監視対象の状態を推測し、推測された状態と、実際の状態と、に基づき、監視対象の異常を検出する。
【００１７】
状態データには、評価用状態データと、学習用状態データと、があるとする。評価用状態データの状態値（評価用状態値）は、センサ等により実際に計測された値（実測値）とする。評価用状態データは、異常を検出するために用いられる。なお、監視対象が機器の場合、評価用状態値は監視対象の機器自体が計測した値でもよい。
【００１８】
センサ等も、所望の項目を計測できるものであれば、特に限られない。例えば、温度に基づいて正常か異常かを判定するならば、温度センサにより計測された温度が評価用状態データに含まれていればよい。例えば、物体の移動に基づいて正常か異常かを判定するならば、加速度センサにより計測された加速度が評価用状態データに含まれていればよい。
【００１９】
学習用状態データの状態値（学習用状態値）は、監視対象が正常であるときの状態値を意味する。つまり、学習用状態データには、監視対象の異常時の状態値は含まれていない。本実施形態では、学習用状態データに基づき、状態推測モデルのパラメータを更新することを想定する。これにより、状態推測モデルによる推測値は、監視対象の正常時の値となる。学習用状態データは、正常であったと判明した期間における評価用状態データでもよい。あるいは、監視対象の正常時に計測されるはずの値の範囲から作成されたダミーのデータでもよい。
【００２０】
図２は、状態データの一例を示す図である。図２に示された表の１列目に計測番号が示されている。ｔは正の整数を示す。なお、計測番号でなくて計測が行われた時刻でもよい。２列目の各行にセンサＡにより計測された値、つまり状態値が示されている。
【００２１】
なお、状態データは、前処理が行われることにより加工されてもよい。例えば、項目ごとに、推測値の平均を０かつ分散を１にする正規化が行われてもよい。あるいは、状態データが多変量の場合に、項目同士の相関性を互いに組み込む白色化が行われてもよい。他にも、所定範囲外の状態値を取り除く加工、周波数変換などが行われてもよい。
【００２２】
異常検出装置１の各構成要素について説明する。
【００２３】
入力部１１は、異常検出部１３の処理に必要な情報の入力を受け付ける。入力される情報としては、例えば、学習用状態データ、評価用状態データ、用いられる状態推測モデルの数、状態推測モデルのパラメータの初期値、異常を検出するための閾値などがある。入力される情報の詳細については、当該情報を用いる構成要素の説明とともに記載する。
【００２４】
なお、入力される情報および入力形式は、特に限られるものではない。例えば、ディスプレイ等に表示されたＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を介して入力を受け付けてもよい。外部の装置から、情報が含まれたファイルを能動的にまたは受動的に取得してもよい。
【００２５】
入力部１１は、入力された情報を所定の受信先に渡す。受信先は、異常検出部１３でもよいし、記憶部１２でもよいし、出力部１４でもよい。
【００２６】
また、入力部１１は取得する情報ごとに分けられていてもよい。つまり、異常検出装置１は、専門の情報を受け付ける複数の入力部を備えていてもよい。例えば、学習用状態データを取得する学習用状態データ入力部、評価用状態データを取得する評価用状態データ入力部、状態推測モデルのパラメータの初期値を取得する初期値入力部、用いられる状態推測モデルの数を指定するモデル数入力部などを備えていてもよい。
【００２７】
記憶部１２は、入力部１１が受け取った情報を記憶する。また、異常検出部１３の各構成要素の処理結果を記憶する。また、前述の状態データの前処理は記憶部１２が行ってもよいし、状態データを用いる異常検出部１３の構成要素が行ってもよい。
【００２８】
記憶部１２は、１つのメモリまたはストレージであってもよいし、複数のメモリまたはストレージであってもよいし、メモリまたはストレージの組み合わせであってもよい。記憶される情報に応じて記憶先が分けられていてもよい。記憶されたデータは、データベース（ＤＢ）として管理されていてもよい。例えば、状態データを記憶する状態データＤＢがあってもよい。状態データＤＢから、学習用状態データと、評価用状態データとが個別に抽出されてもよい。また、状態推測モデルに関する情報を記憶するモデル記憶ＤＢ、異常検出部１３の各処理の結果を記憶する処理結果ＤＢなどがあってもよい。
【００２９】
異常検出部１３は、異常を検出するための処理を行う。異常検出部１３により行われる処理としては、学習処理と、異常検出処理とがある。学習処理は、学習用状態値の変動を学習する処理である。具体的には、学習用状態値に基づき、状態推測モデルのパラメータを更新する処理である。これにより、状態推測モデルの精度を向上する。異常検出処理は、評価用状態値と、状態推測モデルによる推測値と、に基づき、異常を検出する処理である。これらの処理の詳細は、異常検出部１３の各構成要素とともに、後述する。
【００３０】
異常検出部１３の各構成要素は、処理に必要な情報を記憶部１２から取得してもよいし、入力部１１から取得してもよいし、異常検出部１３の他の構成要素から取得してもよい。また、異常検出部１３の各構成要素は、処理結果を次の処理を行う構成要素に渡してもよいし、記憶部１２に渡してもよい。例えば、各構成要素の処理結果が記憶部１２に記憶されるとすれば、各構成要素の処理結果を、出力部１４を介して確認することができる。
【００３１】
出力部１４は、異常検出部１３による処理結果を出力する。出力されるものとしては、例えば、各時刻における異常度、異常発生の有無、使用される状態推測モデルに関する情報などがある。なお、処理結果以外の情報も出力してよい。出力部１４の出力方式は、特に限られるものではない。出力部１４は、処理結果を、画像として画面に表示してもよいし、ファイルとして保存してもよい。
【００３２】
図３は、第１の実施形態に係る異常検出装置１の全体処理のフローチャートの一例を示す図である。
【００３３】
入力部１１が各処理に必要なデータを取得する（Ｓ１０１）。異常検出部１３が、学習処理を行い、特定期間の学習用状態値に基づき、状態推測モデルを更新する（Ｓ１０２）。異常検出部１３が、更新された状態推測モデルと、評価用状態値とに基づき、異常検出処理を行い、監視対象の状態を判定する（Ｓ１０３）。これにより、監視対象の異常を検出することができる。そして、出力部１４が処理結果等を出力する（Ｓ１０４）。
【００３４】
なお、上記フローチャートでは一連の処理として記載した。しかし、異常検出処理（Ｓ１０３）の前に状態推測モデルが更新されていればよいため、学習処理（Ｓ１０２）の終了後に一連の処理が終了し、異常検出処理は別の処理として行われてもよい。また、学習処理が１度行われた後に、異常検出処理が繰り返し行われてもよい。
【００３５】
異常検出部１３の学習処理を行う構成要素について説明する。学習処理は、推測値算出部１３１と、パラメータ更新部１３２により行われる。
【００３６】
推測値算出部１３１は、特定期間の状態値と、当該特定期間よりも後の期間の状態値と、複数の状態推測モデルと、に基づき、当該後の期間の推測値を算出する。当該特定期間を推測元期間と記載し、当該後の期間を推測先期間と記載する。推測先期間は、推測元期間よりも時間的に後の期間であればよく、推測データの算出時点においては過去、現在、未来のいずれでもよい。例えば、推測データの算出時において過去の期間の推測データが、それよりも過去の期間の評価用状態データに基づき算出されてもよい。
【００３７】
なお、推測値算出部１３１は、学習処理と異常検出処理の両方に関わる。学習処理では、推測値算出部１３１は、学習用状態データを取得し、学習用状態値に基づき、推測値を算出する。学習用状態値に基づき算出された推測値は、学習用推測値と記載する。異常検出処理では、推測値算出部１３１は、評価用状態データを取得し、評価用状態値に基づき、推測値を算出する。評価用状態値に基づき算出された推測値は、評価用推測値と記載する。
【００３８】
なお、本実施形態では、推測値算出部１３１が学習処理と異常検出処理の両方に関わるとした。しかし、異常検出装置１が、学習用推測値を算出する学習用推測値算出部と、評価用推測値を算出する評価用推測値算出部と、を別々に備えていてもよい。
【００３９】
推測値算出部１３１により用いられる状態推測モデルは、予め記憶部１２に記憶されているものとする。また、複数の状態推測モデルが記憶されているものとする。用いられる状態推測モデルとしては、線形回帰、カーネル回帰、ディープラーニング、およびこれらの組み合わせなどが考えられる。また、状態推測モデルのパラメータとしては、例えばカーネル回帰では、グラム行列の設計、正則化項の値などがある。ディープラーニングの場合うは、ネットワーク構造、階層数、活性化関数の種類などがある。
【００４０】
また、推測値算出部１３１は、複数の状態推測モデルを用いることにより、推測値の精度を向上させる。そのため、推測値算出部１３１は、候補値算出部１３１１と、最適推測値算出部１３１２と、を備える。
【００４１】
なお、用いられる複数の状態推測モデルは、構造の一部を共有していてもよい。図４は、ディープラーニングによる状態推測モデルの構造の一例を示す図である。図４は、ある２つの状態推測モデルが構造を共有していない例を示す。図４に示された、状態推測モデル１および状態推測モデル２は、独立の関係にある。図５は、ディープラーニングによる状態推測モデルの構造の他の一例を示す図である。図５に示された２つの状態推測モデルは、点線の枠にて示されるように、最も左側の階層（入力層）から左から３番目の階層までは共通であるが、最も右側の階層（出力層）は異なる。つまり、図５に示された、状態推測モデル１および状態推測モデル２は、出力層以外を共有する。このように、用いられる状態推測モデルは、各々が独立の関係であってもよいし、構造の一部を共用する関係であってもよい。また、図４および５に示されたディープラーニングは順伝搬型構造であるが、時系列解析で多用されるＬｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ（ＬＳＴＭ）などを階層の一部に用いてもよい。
【００４２】
推測値算出部１３１の候補値算出部１３１１は、推測元期間内の状態値に基づき、状態推測モデルごとに、推測先期間内の推測値を算出する。これにより、用いられる推測モデルの数だけ、推測値が算出される。
【００４３】
なお、候補値算出部１３１１は、１度に考慮する推測元期間内の状態値の数を受け付ける。例えば、指定された数が１００の場合、推測元期間内の１００個の状態値から、推測先期間内の推測値が１つの状態モデルにつき１００個算出される。ここでは、１度に考慮する推測元期間内の状態値の数を推測窓幅ｗと記載する。なお、数ではなく時間の長さが指定されてもよい。また、推測窓幅ｗにより区切られた期間を推測窓と記載する。
【００４４】
図６は、候補値算出部１３１１の処理を説明する図である。左側の表は、候補値算出部１３１１により取得される状態データの一例を示す。右側の表が候補値算出部１３１１により算出される推測データの一例を示す。左側の表の第２列の値が候補値算出部１３１１への入力された状態値であり、右側の表の第２列および第３列の値が候補値算出部１３１１により算出された推測値である。
【００４５】
用いられる状態推測モデルの個数も指定されてもよい。例えば、状態推測モデル数を入力する画面を入力部１１が表示して、用いられる状態推測モデルの個数がｎ（ｎは正の整数）と指定された場合、候補値算出部１３１１は記憶部１２からｎ個の状態推測モデルを選択してもよい。なお、状態推測モデルの選択方法は限られるものではない。また、記憶部１２に保存されている状態推測モデルを出力部１４が出力して、状態推測モデルの指定を入力部１１が受け付けてもよい。
【００４６】
最適推測値算出部１３１２は、複数の推測値から最適とされる推測値を算出する。最適とされる推測値を最適推測値と記載する。最適推測値の算出方法としては、複数の推測値から、所定の条件に最も適合する推測値を選択する方法が考えられる。本実施形態では、所定の条件は、推測先期間の状態値に基づくものとする。
【００４７】
最適推測値として選択される条件は、推測先期間において、対応する推測値と状態値との差分が最も小さいとすることが考えられる。この差分のように、推測先期間の推測値と、推測先期間の状態値と、の相違を示すものを推測誤差と記載する。推測誤差の算出方法は差分に限られるものではない。単変量の場合には、符号付き差分、二乗誤差などにより、推測誤差が算出されてもよい。また、多変量の場合には、センサ同士の相関を組み込んだマハラノビス距離を用いて推測誤差が算出されてもよい。また、推測値の範囲を条件とし、推測誤差が最も小さい推測値であっても、推測値の範囲に含まれていない場合は選択しないとしてもよい。このように、条件は複数設けてもよい。
【００４８】
図７は、最適推測値の算出方法を説明する図である。各計測番号において、状態値と、各状態推測モデルの推測値と、が示されている。図７では、３つの状態推測モデルが用いられたとする。また、状態値に最も値が近い推測値が最適推測値として選択されるものとする。計測番号ｔにおいて、状態値は５．３である。状態推測モデルＡ、ＢおよびＣの推測値のうち、計測番号ｔにおいて最も状態値に近い推測値は、状態推測モデルＡの推測値である。したがって、計測番号ｔの最適推測値は、状態推測モデルＡの推測値である５．６となる。同様にして、計測番号ｔ+１およびｔ+２の最適推測値は状態推測モデルＢの推測値となり、計測番号ｔ+３の最適推測値は状態推測モデルＣの推測値となる。このように、計測番号または計測時間により、対応する推測値と状態値が判別される。
【００４９】
なお、計測番号ごとに最適推測値を選ぶのではなく、最適とされる状態推測モデルを選択して、選択された状態推測モデルによる推測値を最適推測値としてもよい。例えば、最も条件を満たす推測値が多い状態推測モデルを最も相応しいと状態推測モデルとして選択してもよい。
【００５０】
例えば、図７において、実測値と予測値の二乗誤差の総和が最も小さい状態推測モデルを最適状態推測モデルとする場合は、状態推測モデルＢが最適状態推測モデルとして選ばれる。そして、各計測タイミングの最適推測値は全て状態推測モデルＢの推測値となる。
【００５１】
また、最適推測値算出部１３１２は、最適推測値を選択するのではなく、所定の計算式を用いて最適推測値を算出してもよい。例えば、複数の推測値に基づき、重み付きの平均値を算出し、最適推測値としてもよい。
【００５２】
このように、本実施形態では、候補値算出部１３１１により複数の推測値が算出されるが、これらは最適推測値の候補である。そして、最適推測値は、推測元期間ではなく推測先期間における状態値に基づき算出される。ゆえに、複数の状態モデルを用いて最適推測値を算出する点は同じであっても、最適推測値が推測元期間の状態値に基づき算出される実施形態よりも、本実施形態のほうが最適推測値の精度を高くすることができる。
【００５３】
このように、候補値算出部１３１１と最適推測値算出部１３１２により、推測値算出部が推測先期間の推測値を算出する。
【００５４】
パラメータ更新部１３２は、学習処理において、最適推測値算出部１３１２により算出された学習用状態値に基づく推測値を取得する。そして、当該推測値に基づき、状態推測モデルのパラメータを更新する。パラメータの更新方法としては、準ニュートン法、誤差逆伝搬法などの公知の手法を用いてよい。
【００５５】
なお、パラメータ更新部１３２が更新する前の状態推測モデルのパラメータの初期値は、記憶部１２に記憶された所定の値を用いてもよい。あるいは、外部の装置から取得してもよい。例えば、異常検出装置１とは別の異常検出装置１にて算出されたパラメータの値を流用してもよい。
【００５６】
図８は、学習処理のフローチャートの一例を示す図である。本フローは、図３に示したフローのＳ１０２の処理にあたる。なお、本フローは、状態推測モデルとしてディープラーニングが用いられる場合のものとする。
【００５７】
候補値算出部１３１１は、状態推測モデルのパラメータを初期化し（Ｓ２０１）、学習回数の上限値を取得する（Ｓ２０２）。そして、学習回数が上限値に達するまで、Ｓ２０３からＳ２０８の処理が繰り返される。
【００５８】
候補値算出部１３１１は、推測窓幅ｗを取得する（Ｓ２０３）。候補値算出部１３１１は、推測元期間内の学習用状態値に基づき、推測先期間内の学習用推測値を状態推測モデルごとに算出する（Ｓ２０４）。なお、算出は推測窓ごとに行われるため、推測元期間内の全ての推測窓に対してＳ２０４の処理が行われる。こうして、推測先期間全体に渡り、状態推測モデルごとの推測値が算出される。
【００５９】
最適推測値算出部１３１２は、推測先期間の学習用状態値に基づき、状態推測モデルごとの推測値から最適推測値を算出する（Ｓ２０５）。パラメータ更新部１３２は、推測先期間の学習用状態値および対応する最適推測値に基づき、推測誤差を算出する（Ｓ２０６）。計測番号または計測時刻が同じ学習用状態値と最適推測値とが対応する。そして、パラメータ更新部１３２は、誤差逆伝搬法などを用いて、推測誤差が減少するように状態推測モデルのパラメータを更新する（Ｓ２０７）。
【００６０】
Ｓ２０７の処理が完了すると、学習が１回終了する。学習回数が学習回数上限に達するまでＳ２０３からＳ２０７までの処理が繰り返されるため、状態推測モデルを学習回数上限まで学習することとなる。学習を繰り返すことにより、状態推測モデルのパラメータの確度が向上する。
【００６１】
なお、一般的に、学習により状態推測モデルの確度を上げるためには、十分な学習の回数が必要である。しかし、本実施形態では、複数の状態推測モデルの推測値から算出された最適推測値を用いるため推測誤差が小さく、推測誤差が収束するまでの時間が１つの状態推測モデルを用いた場合よりも短い。ゆえに、１つの状態推測モデルを用いた場合よりも学習の回数を少なくすることができる。
【００６２】
学習が学習回数上限に達したら、パラメータ更新部１３２は、記憶部１２に記憶されている状態推測モデルのパラメータを、新たに算出したパラメータに更新する（Ｓ２０８）。以上が学習処理のフローである。
【００６３】
次に、異常検出部１３の異常検出処理を行う構成要素について説明する。異常検出処理は、推測値算出部１３１と、乖離度算出部１３３と、異常度算出部１３４と、異常判定部１３５と、により行われる。
【００６４】
先に異常検出処理の流れについて説明する。図９は、異常検出処理のフローチャートの一例を示す図である。候補値算出部１３１１が、状態推測モデルの各層の、学習処理後の最新のパラメータを取得する（Ｓ３０１）。また、候補値算出部１３１１は、推測窓幅ｗを取得する（Ｓ３０２）。
【００６５】
候補値算出部１３１１は、学習処理同様に、推測値を状態推測モデルごとに算出する（Ｓ３０３）。この時、用いられる状態データは、学習用状態データではなく、評価用状態データである。それ以外は、学習処理と同じである。そして、最適推測値算出部１３１２は、推測先期間の評価用状態値に基づき、状態推測モデルごとの推測値から最適推測値を算出する（Ｓ３０４）。
【００６６】
乖離度算出部は、推測先期間の最適推測値に基づき、推測先期間の乖離度を算出する（Ｓ３０５）。異常検出部は、推測先期間の乖離度に基づき、推測先期間の異常度を算出する（Ｓ３０６）。異常判定部は、推測先期間の異常度に基づき、推測先期間において異常であるかを判定する（Ｓ３０７）。以上が、異常検出処理のフローとなる。
【００６７】
なお、上記フローチャートでは一連の処理として記載した。しかし、Ｓ３０１からＳ３０４までの処理は、推測元期間の評価用推測データがあれば行うことができる。ゆえに、推測先期間に達する前にＳ３０４までの処理を終わらせておき、推測先期間経過後にＳ３０５からＳ３０７までの処理を行うことも可能である。本実施形態は、異常発生前の状態データに基づく推測データと、異常発生後の状態データとに基づき、異常を検出する。ゆえに、異常発生前に推測データを算出しておけば、異常発生後に行われる処理が少ないため、異常を検出するまでの時間を短くすることができる。したがって、Ｓ３０４までの実効タイミングと、Ｓ３０４以降の処理の実行タイミングを分けてもよい。
【００６８】
乖離度算出部１３３と、異常度算出部１３４と、異常判定部１３５とについて説明する。乖離度算出部１３３は、推測元期間の評価用状態値に基づく推測先期間の推測値と、同推測先期間の評価用状態値と、に基づき、乖離度を算出する。
【００６９】
乖離度は、推測誤差を算出する方法として説明した方法により算出される。なお、最適推測値算出部１３１２が推測誤差を算出する方法と、乖離度算出部１３３が乖離度を算出する方法とを合わせる必要はない。乖離度は、推測先期間の推測値ごとに逐次的に算出される。
【００７０】
なお、乖離度算出部１３３が用いる推測値は、推測値算出部１３１が生成することを想定するが、乖離度算出部１３３が、学習処理により更新された状態推測モデルを用いて、算出してもよい。
【００７１】
異常度算出部１３４は、乖離度に基づき、異常度を算出する。１つの乖離度に基づいて、異常度が算出されてもよいし、複数の乖離度に基づいて、異常度が算出されてもよい。複数の乖離度に基づく場合は、例えば、中央値フィルタなどのローパスフィルタを施すことにより、異常度が算出されてもよい。これにより、外れ値である乖離度を取り除くことができる。なお、１度にフィルタリングされる乖離度の数または期間をフィルタリング窓幅ｆと記載する。また、フィルタリング窓幅ｆにより区切られた期間をフィルタリング窓と記載する。これにより、推測先期間は、複数のフィルタリング窓により区切られる。
【００７２】
なお、フィルタリング窓ごとに異常度算出部が異常度を算出する場合、フィルタリング窓内の乖離度に対する正規性検定における有意確率が、正規性検定の有意水準を超えるのに必要な最小の標本数と、フィルタリング窓内の乖離度の数とが一致するように、フィルタリング窓の窓幅ｆが調整されてもよい。これにより、フィルタリング窓内に含まれる乖離度の正規性が保証され、異常度の確度が上昇する。また、最小の標本数であるため、突出した乖離度が、他の乖離度により埋もれてしまうことを防ぐことができる。正規性の検定方法は、公知の手法でよい。あるいは、外部の装置等により正規性検定が行われ、入力部を介して、フィルタリング窓ごとに窓幅ｆが指定されてもよい。
【００７３】
図１０は、異常度を求める処理のフローチャートの一例を示す図である。異常度算出部１３４は、予測先期間の乖離度を取得する（Ｓ４０１）。異常度算出部１３４はフィルタリング窓幅ｆを取得する（Ｓ４０２）。そして、異常度算出部１３４は、フィルタリング窓に含まれる乖離度の中央値を算出し異常度とする（Ｓ４０３）。なお、算出はフィルタリング窓ごとに行われるため、推測先期間内の全てのフィルタリング窓に対してＳ４０２の処理が行われる。こうして、推測先期間全体に渡り、異常度が算出される。算出終了後、算出された異常度が記憶部１２に保存される（Ｓ４０４）。なお、異常度が異常判定部１３５に渡されてもよい。このようにして、フィルタリング窓ごとに、予測先期間の異常度が算出される。
【００７４】
異常判定部１３５は、異常度に基づき、異常を判定する。異常と判定されると、異常が検出されたことになる。異常かを判定する期間は、予測先期間以内であればよく、予測先期間と必ずしも一致しなくともよい。異常かを判定する期間を異常判定期間と記載する。また、異常判定期間は、上述のフィルタリング窓幅ｆと同じであってもよい。異常の判定方法としては、所定期間内に異常度閾値θを超えた異常度の有無に基づいて行われてもよい。あるいは、所定期間内に閾値θを超えた異常度の数または割合が、上限値を超えたか否かに基づいて行われてもよい。
【００７５】
なお、異常度算出部１３４のように、各異常判定期間を調整してもよい。つまり、異常判定期間ごとに異常度算出部が異常を判定する場合、異常判定期間内の異常度に対する正規性検定における有意確率が、正規性検定の有意水準を超えるのに必要な最小の標本数と、異常判定期間内の異常度の数とが一致するように、異常判定期間の窓幅ｆが調整されてもよい。これにより、異常判定期間内に含まれる異常度の正規性が保証され、異常判定の確度が上昇する。また、最小の標本数であるため、突出した異常度が、他の異常度により埋もれてしまうことを防ぐことができる。正規性の検定方法は、公知の手法でよい。あるいは、外部の装置等により正規性検定が行われ、入力部を介して、各異常判定期間の長さが指定されてもよい。
【００７６】
図１１は、閾値超過割合による異常判定処理のフローチャートの一例を示す図である。本フローでは、異常判定部１３５は、異常度閾値θおよび閾値超過割合上限値ｐｍａｘに基づき、異常を判定する。異常判定部１３５は、異常度判定に用いられる変数の値を取得する（Ｓ５０１）。取得される変数としては、例えば、上述のフィルタリング窓幅ｆ、異常度閾値θ、閾値超過割合上限値ｐｍａｘなどがある。また、異常判定部１３５は、異常度判定期間の異常度を取得する（Ｓ５０２）。異常度判定期間内の異常度の中で閾値を超えた割合を算出しｐとする（Ｓ５０３）。なお、フィルタリング窓ごとに算出が行われる場合は、推測先期間内の全てのフィルタリング窓に対してＳ５０３の処理が行われる。ｐが閾値超過割合上限値ｐｍａｘを超えている場合（Ｓ５０４のＹＥＳ）には、異常と判定される（Ｓ５０５）。ｐが閾値超過割合上限値ｐｍａｘを超えていない場合には、異常なし、つまり正常と判定される（Ｓ５０６）。以上が、異常判定処理のフローである。
【００７７】
異常判定に用いられる変数の値は、任意に定めてよい。例えば、異常度閾値θは、異常度の平均および標準偏差の和の定数倍としてもよい。
【００７８】
なお、評価用状態データがリアルタイムで取得されている場合、異常検出装置１はリアルタイムに監視対象の異常を検出することができるが、異常度閾値θなどの変数もリアルタイムに更新したほうが、異常判定の精度が向上する。例えば、異常度閾値θが異常度の平均および標準偏差に基づき算出されている場合、Welford法を用いることにより、リアルタイムに平均および標準偏差を更新してもよい。
【００７９】
異常判定の方法として、ＢＩＣ（Ｂａｙｅｓｉａｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｒｉｔｅｒｉｏｎ）やＭＤＬ（Ｍｉｎｉｍｕｍ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌｅｎｇｔｈ）などの情報量規準による方法を用いてもよい。例えば、異常判定部１３５は、異常度判定期間内の異常度の時系列データを、当該データの情報量に基づき、分割すべきか否かを判定する。異常度の時系列データを、異常度データと記載する。異常度データが分割すべきと判断された場合には、異常判定部１３５は異常度判定期間において異常が発生したと判定する。
【００８０】
異常度判定期間において監視対象が正常であるならば、異常度判定期間において異常度の時系列データの特徴は同じであるため、異常度判定期間において１つのグラフと判断される。一方、異常度判定期間において異常が発生した場合、異常発生前は監視対象が正常であるときの異常度の時系列データであり、異常発生後は監視対象が異常であるときの異常度の時系列データとなる。ゆえに、異常発生前後で、異常度の時系列データの特徴が異なり、２つのグラフに分割すべきと判断される。このようにして、情報量規準に基づき異常判定を行うことが可能である。
【００８１】
図１２は、情報量規準による異常判定処理のフローチャートの一例を示す図である。本フローでは、異常判定部１３５は、情報量規準の観点から、異常を判定する。異常判定部１３５は、異常度判定に用いられる変数の値を取得する（Ｓ６０１）。取得される変数としては、例えば、異常度判定期間を分割するための情報、例えば分割する時刻などがある。また、異常判定部１３５は、異常度判定期間の異常度を取得する（Ｓ６０２）。異常判定部１３５は、異常度判定期間を所定の時刻にて分割した場合の異常度データの情報量Ｉ１（分割した場合の情報量）と、異常度判定期間の異常度データの情報量Ｉ２（分割しない場合の情報量）と、を、算出する（Ｓ６０３）。分割した場合の情報量Ｉ１が分割しない場合の情報量Ｉ２よりも大きい場合（Ｓ６０４のＹＥＳ）には、異常と判定される（Ｓ６０５）。情報量Ｉ１が情報量Ｉ２以下の場合には、正常と判定される（Ｓ６０６）。
【００８２】
異常判定は、統計的検定のような手法を用いてもよい。例えば、異常度判定期間の異常度データをある時刻で分割した場合に、分割された２つの異常度データが同一な分布であるかについて統計的検定を実施する。統計的検定により得られた有意確率（Ｐ値）が有意水準を超えている場合は、異常と判定され、超えていない場合は、正常と判定される。
【００８３】
図１３は、統計的検定手法による異常判定処理のフローチャートの一例を示す図である。本フローでは、異常判定部１３５は、情報量規準の観点から、異常を判定する。異常判定部１３５は、異常度判定に用いられる変数の値を取得する（Ｓ７０１）。取得される変数としては、例えば、異常度判定期間を分割するための情報と、有意水準などがある。また、異常判定部１３５は、異常度判定期間の異常度を取得する（Ｓ７０２）。異常判定部１３５は、異常度データを２つに分割し、分割された第１の異常度データと、分割された第２の異常度データとに対し、統計的検定を行い、有意確率を算出する（Ｓ７０３）。有意確率が有意水準を超えている場合（Ｓ７０４のＹＥＳ）には、異常と判定される（Ｓ７０５）。有意確率が有意水準を超えていない場合には、正常と判定される（Ｓ７０６）。
【００８４】
以上のようにして、異常判定がなされる。異常判定の結果および各構成要素の処理結果は出力部１４により出力され、ユーザ等が異常等を認知することができる。図１４は、出力部１４の出力の一例を示す図である。図１４は、出力部１４により異常判定結果等を示す画像２がディスプレイ等に表示された例を示す。
【００８５】
画像領域２１では、状態データに関する情報、例えば、ファイル名、保存先などが表示される。画像領域２２では、推測窓とフィルタリング窓の情報、例えば、窓幅ｗおよびｆなどが表示される。画像領域２３では、異常検出部１３の処理に用いられる変数などが表示される。例えば、異常判定に用いられるＢＩＣ等の異常検出ルール、推測データ作成に用いられる推測モデルの数などが表示される。画像領域２４では、処理に関する各値のグラフが表示される。例えば、実測値、推測値、異常度などのグラフが表示される。また、推測値がいずれの推測モデルによるものかが表示されてもよい。画像領域２５には、異常判定に関する情報、例えば、異常であるか正常であるか、異常を検出した直近の時刻などが表示される。画像領域２６には、時刻に関する情報、例えば、現在時刻、処理完了時刻などが表示される。
【００８６】
なお、表示された情報をユーザが変更できるようにし、変更された情報を入力部１１が受け付けることにより、異常検出部１３の処理が行われるようにしてもよい。出力された情報を変更することにより、異常検出部１３の処理の内容、例えば、用いられる状態推測モデルの数、異常検出ルールなどを変更できるようにしてもよい。これにより、異常検出装置１のユーザの利便性を向上することができる。
【００８７】
以上のように、本実施形態によれば、推測元期間の状態値に基づき、推測先期間の複数の推測値が算出された上で、当該複数の推測値が、同推測先期間における状態値と比較されることにより、最適な推測値が算出される。そして、最適な推測値に基づき、異常が検出される。これにより、異常検出の精度が向上する。
【００８８】
（第２の実施形態）
第２の実施形態では、学習処理において、状態推測モデルのパラメータを更新する際に、最適推測値が外れ値であるかを考慮する。最適推測値が外れ値である場合は、パラメータに悪影響を及ぼすと想定される。ゆえに、外れ値である最適推測値に基づいてパラメータを更新しないようにする。これにより、外れ値の影響が軽減され、状態推測モデルの推測精度を更に高めることができる。
【００８９】
図１５は、第２の実施形態に係る異常検出装置１の概略構成の一例を示すブロック図である。第２の実施形態では、外れ値判定部１３６をさらに備える点が第１の実施形態とは異なる。第１の実施形態と同様の点は、説明を省略する。
【００９０】
外れ値判定部１３６は、外れ値を判定する条件に基づき、最適推測値が外れ値であるかを判定する。外れ値を判定する条件を、外れ値判定条件と記載する。
【００９１】
外れ値判定条件としては、最適推測値の取り得る範囲でもよい。また、取り得る範囲の境界の値は、静的な値でもよいし、動的な値でもよい。例えば、最適推測値の分布状況などに応じて、取り得る範囲を変化させてもよい。例えば、最適推測値の平均および標準偏差の和が基準値よりも大きい場合は、最適推測値の取り得る範囲を広くし、基準値以下の場合は、最適推測値の取り得る範囲を狭くするなど、変化させてもよい。外れ値判定条件に係る変数の値は指定されてもよいし、所定の算出方法により外れ値判定部１３６が算出してもよい。
【００９２】
そして、パラメータ更新部１３２は、外れ値判定部１３６により外れ値と判定されなかった最適予測値に基づき状態推測モデルのパラメータを算出する。
【００９３】
図１６は、外れ値の判定を説明する図である。図１６では、最適予測値は二乗誤差に基づき算出されるとする。また、図１６では、推測誤差が１０以上の最適予測値は外れ値と判定されるものとする。外れ値判定結果の列においてＹＥＳと示された行の最適推測値は、外れ値である。計測番号ｔ+２および計測番号ｔ+６の最適推測値は、推測誤差が１０以上であるため、外れ値と判定されている。
【００９４】
図１７は、第２の実施形態に係る状態推測モデルの学習処理のフローチャートの一例を示す図である。本フローは、図８に示したフローに対し、Ｓ８０１の処理がＳ２０５の処理に追加されている。また、Ｓ２０６の処理がＳ８０２の処理に置き代わっている。
【００９５】
Ｓ２０１からＳ２０５までの処理は、第１の実施形態と同様である。Ｓ２０５の処理の後、外れ値判定部１３６は、最適推測値が外れ値かを判定する（Ｓ８０１）。判定結果はパラメータ更新部１３２に渡される。そして、パラメータ更新部１３２は、外れ値の判定を考慮して推測誤差を算出する（Ｓ８０２）。例えば、外れ値と判定された最適推測値に対しては推測誤差が算出されないとしてもよい。また、外れ値と判定された最適推測値に対する推測誤差は０と算出してもよい。これにより、外れ値と判定されなかった最適推測値に基づき、状態推測モデルのパラメータが更新される。これにより、外れ値による影響が低減する。Ｓ２０７以降の処理についても、第１の実施形態と同様である。
【００９６】
以上のように、本実施形態によれば、外れ値の影響が軽減され、状態推測モデルの推測精度を更に高めることができる。
【００９７】
また、上記に説明した実施形態における各処理は、ソフトウェア（プログラム）により実現することが可能である。ゆえに、上記に説明した実施形態は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載された中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサにプログラムを実行させることにより、実現することが可能である。
【００９８】
図１８は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。異常検出装置１は、プロセッサ３１と、主記憶装置３２と、補助記憶装置３３と、ネットワークインタフェース３４と、デバイスインタフェース３５とを備え、これらがバス３６を介して接続されたコンピュータ装置３として実現できる。なお、異常検出装置１は、さらに入力装置と、出力装置とを備えていてもよい。
【００９９】
本実施形態における異常検出装置１は、各装置で実行されるプログラムをコンピュータ装置３に予めインストールすることで実現してもよいし、プログラムをＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワーク４を介して配布して、コンピュータ装置３に適宜インストールすることで実現してもよい。
【０１００】
なお、図１８では、コンピュータ装置は、各構成要素を１つ備えているが、同じ構成要素を複数備えていてもよい。また、図１８では、１台のコンピュータ装置が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされてもよい。当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行することにより、処理結果を生成してもよい。つまり、異常検出装置がシステムとして構成されていてもよい。
【０１０１】
プロセッサ３１は、コンピュータの制御装置および演算装置を含む電子回路である。プロセッサ３１は、コンピュータ装置３の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置等に出力する。具体的には、プロセッサ３１は、コンピュータ装置３のＯＳ（オペレーティングシステム）や、アプリケーションなどを実行し、コンピュータ装置３を構成する各装置を制御する。
【０１０２】
プロセッサ３１は、上記の処理を行うことができれば特に限られるものではない。プロセッサ３１は、例えば、汎用目的プロセッサ、中央処理装置（ＣＰＵ）、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、コントローラ、マイクロコントローラ、状態マシンなどでもよい。また、プロセッサ３１は、特定用途向け集積回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラム可能論理回路（ＰＬＤ）に組み込まれていてもよい。また、プロセッサ３１は、複数の処理装置から構成されていてもよい。例えば、ＤＳＰおよびマイクロプロセッサの組み合わせでもよいし、ＤＳＰコアと協働する１つ以上のマイクロプロセッサでもよい。
【０１０３】
主記憶装置３２は、プロセッサ３１が実行する命令および各種データ等を記憶する記憶装置であり、主記憶装置３２に記憶された情報がプロセッサ３１により直接読み出される。補助記憶装置３３は、主記憶装置３２以外の記憶装置である。なお、記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとする。主記憶装置３２として、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ等の一時的な情報の保存に用いられる揮発性メモリが主に用いられるが、本発明の実施形態において、主記憶装置３２がこれらの揮発性メモリに限られるわけではない。主記憶装置３２および補助記憶装置３３として用いられる記憶装置は、揮発性メモリでもよいし、不揮発性メモリでもよい。不揮発性メモリは、プログラム可能読み出し専用メモリ（ＰＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、フラッシュメモリ、ＭＲＡＭ等がある。また、補助記憶装置３３として磁気または光学のデータストレージが用いられてもよい。データストレージとしては、ハードディスク等の磁気ディスク、ＤＶＤ等の光ディスク、ＵＳＢ等のフラッシュメモリ、および磁気テープなどが用いられてもよい。
【０１０４】
なお、プロセッサ３１が主記憶装置３２または補助記憶装置３３に対して、直接または間接的に、情報を読み出しまたは書き込みまたはこれらの両方を行うならば、記憶装置はプロセッサと電気的に通信すると言うことができる。なお、主記憶装置３２は、プロセッサに統合されていてもよい。この場合も、主記憶装置３２は、プロセッサと電気的に通信していると言うことができる。
【０１０５】
ネットワークインタフェース３４は、無線または有線により、通信ネットワークに接続するためのインタフェースである。ネットワークインタフェース３４は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース３４により、通信ネットワーク４を介して通信接続された外部装置５に出力結果などが送信されてもよい。外部装置５は、外部記憶媒体でもよいし、表示装置でもよいし、データベースなどのストレージでもよい。
【０１０６】
デバイスインタフェース３５は、出力結果などを記録する外部記憶媒体と接続するＵＳＢなどのインタフェースである。外部記憶媒体は、ＨＤＤ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＳＡＮ（Ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）等の任意の記録媒体でよい。デバイスインタフェース３５を介して、ストレージなどと接続されていてもよい。
【０１０７】
また、コンピュータ装置３の一部または全部、つまり異常検出装置１の一部または全部は、プロセッサ３１などを実装している半導体集積回路などの専用の電子回路（すなわちハードウェア）にて構成されてもよい。専用のハードウェアは、ＲＡＭ、ＲＯＭなどの記憶装置との組み合わせで構成されてもよい。
【０１０８】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０９】
１  異常検出装置
１１  入力部
１２  記憶部
１３  異常検出部
１３１  推測値算出部
１３１１  候補値算出部
１３１２  最適推測値算出部
１３２  パラメータ更新部
１３３  乖離度算出部
１３４  異常度算出部
１３５  異常判定部
１３６  外れ値判定部
１４  出力部
３  コンピュータ装置
３１  プロセッサ
３２  主記憶装置
３３  補助記憶装置
３４  ネットワークインタフェース
３５  デバイスインタフェース
３６  バス
４  通信ネットワーク
５  外部装置
【図１】
2018124937.tif 000003
【図２】
2018124937.tif 000004
【図３】
2018124937.tif 000005
【図４】
2018124937.tif 000006
【図５】
2018124937.tif 000007
【図６】
2018124937.tif 000008
【図７】
2018124937.tif 000009
【図８】
2018124937.tif 000010
【図９】
2018124937.tif 000011
【図１０】
2018124937.tif 000012
【図１１】
2018124937.tif 000013
【図１２】
2018124937.tif 000014
【図１３】
2018124937.tif 000015
【図１４】
2018124937.tif 000016
【図１５】
2018124937.tif 000017
【図１６】
2018124937.tif 000018
【図１７】
2018124937.tif 000019
【図１８】
2018124937.tif 000020