(57)【要約】【課題】実際の生産現場への予知保全の適用に適した判定基準を柔軟に設定したいというニーズがある。【解決手段】第１異常検知部は、異常検知用パラメータに従って、監視対象に関連する状態値から算出される特徴量を用いてスコアを算出する算出部と、算出部により算出されるスコアと異常検知用パラメータに含まれる第１判定基準および第２判定基準を用いてそれぞれ判定することで、第１判定基準に合致している場合には第１判定結果を出力し、第２判定基準に合致している場合には第２判定結果を出力する判定部とを含む。【選択図】図１
2019179395.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御するための制御演算を実行する制御演算部と、
前記制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第１異常検知部とを備え、
前記第１異常検知部は、
前記異常検知用パラメータに従って、前記監視対象に関連する状態値から算出される特徴量を用いてスコアを算出する算出部と、
前記算出部により算出されるスコアと前記異常検知用パラメータに含まれる第１判定基準および第２判定基準を用いてそれぞれ判定することで、前記第１判定基準に合致している場合には第１判定結果を出力し、前記第２判定基準に合致している場合には第２判定結果を出力する判定部とを含む、異常検知システム。
【請求項２】
前記第１判定基準は、前記第２判定基準に比較して、前記スコアがより高い値を示す場合に合致するように設定されており、
前記第１判定基準に対応する前記第１判定結果は、前記第２判定基準に対応する前記第２判定結果に比較して、異常の度合いがより高いことを示す、請求項１に記載の異常検知システム。
【請求項３】
前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部と、
前記状態値格納部から提供される前記状態値を用いて、前記第１異常検知部と実質的に同一の検知処理を実行する第２異常検知部と、
前記第２異常検知部による検知結果に基づいて、前記第１異常検知部に対して設定される、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部とをさらに備える、請求項１または２に記載の異常検知システム。
【請求項４】
前記モデル生成部は、
前記状態値格納部から提供される前記状態値から生成される１または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、
前記第１判定基準および前記第２判定基準として、前記スコアのデータ系列に対する２つのしきい値の設定を受付ける手段とを含む、請求項３に記載の異常検知システム。
【請求項５】
前記モデル生成部は、前記スコアのデータ系列に含まれる各要素に付与されたラベルと、前記スコアのデータ系列に対してユーザにより指定された判定基準を適用したときの判定結果とに基づいて、検知精度を示す指標値を算出する手段を含む、請求項４に記載の異常検知システム。
【請求項６】
前記検知精度を示す指標値は、
異常のラベルが付与された要素を正常と判定した確率である見逃し率と、
正常のラベルが付与された要素を異常と判定した確率である見過ぎ率と、
要素に付与されたラベルどおりの判定がなされた確率である正答率と、
のうち少なくとも１つを含む、請求項５に記載の異常検知システム。
【請求項７】
前記モデル生成部は、設定されるしきい値が変更されると、前記検知精度を示す指標値を更新する、請求項５または６に記載の異常検知システム。
【請求項８】
前記判定部からの判定結果に応じた形態で報知動作を行う報知装置をさらに備える、請求項１〜７のいずれか１項に記載の異常検知システム。
【請求項９】
制御対象を制御するための制御装置に接続されるサポート装置であって、前記制御装置は、前記制御対象を制御するための制御演算を実行する制御演算部と、前記制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第１異常検知部と、前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部とを含み、前記サポート装置は、
前記状態値格納部から提供される前記状態値を用いて、前記第１異常検知部と実質的に同一の検知処理を実行する第２異常検知部と、
前記第２異常検知部による検知結果に基づいて、前記第１異常検知部に対して設定される、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部とを備え、
前記モデル生成部は、
前記状態値格納部から提供される前記状態値から生成される１または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、
前記スコアのデータ系列に対して、第１判定基準および第２判定基準の設定を受付ける手段とを含む、サポート装置。
【請求項１０】
制御対象を制御するための制御演算を実行するステップと、
前記制御演算に関して収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知するステップとを備え、
前記異常を検知するステップは、
前記異常検知用パラメータに従って、前記監視対象に関連する状態値から算出される特徴量を用いてスコアを算出するステップと、
前記算出されるスコアと前記異常検知用パラメータに含まれる第１判定基準および第２判定基準を用いてそれぞれ判定するステップと、
前記算出されるスコアが前記第１判定基準に合致している場合には第１判定結果を出力し、前記第２判定基準に合致している場合には第２判定結果を出力するステップとを含む、異常検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、監視対象に生じ得る異常を検知するための異常検知システム、異常検知システムに接続されるサポート装置、および異常検知システムで用いられる異常検知方法に関する。
【背景技術】
【０００２】
様々な生産現場において、機械や装置に対する予知保全により設備稼働率を向上させたいというニーズが存在する。予知保全とは、機械や装置に生じる何らかの異常を検知して、設備を停止しなければ状態になる前に、整備や交換などの保守作業を行うような保全形態を意味する。
【０００３】
このような予知保全を実現するために、機械や装置の状態値を収集するとともに、収集された状態値に基づいて、当該機械や装置に何らかの異常が生じているか否かを判断するような仕組みが提案されている。
【０００４】
例えば、特開平０７−０４３３５２号公報（特許文献１）は、性状が正常なものと異常なものとに分けられた診断対象群に対して複数の診断用パラメータに関する値を測定し、この測定値に統計的処理を施し、この処理結果から有効なパラメータと予測される診断用パラメータを抽出し、抽出した有効な診断用パラメータについての測定値に基づいて判定レベルを決定し、さらに、有効パラメータの組み合わせ並びに判定レベルを目標正解率が得られるまで逐次更新する方法を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０７−０４３３５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
実際の生産現場への予知保全の適用を考えると、特開平０７−０４３３５２号公報（特許文献１）に開示されるように、診断対象群の性状を「正常」および「異常」のいずれかに区分することは難しい。現実の機械や装置は徐々に劣化していくことも多く、どの程度の劣化を「異常」とすべきかという判定基準は、対象の機械や装置の特性や重要度、および、要求される保全レベルに応じて任意にされ得るからである。
【０００７】
実際の生産現場への予知保全の適用に適した判定基準を柔軟に設定したいというニーズがある。本技術の一つの目的は、このようなニーズを満たすことである。
【課題を解決するための手段】
【０００８】
本開示の一例に従う異常検知システムは、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第１異常検知部とを含む。第１異常検知部は、異常検知用パラメータに従って、監視対象に関連する状態値から算出される特徴量を用いてスコアを算出する算出部と、算出部により算出されるスコアと異常検知用パラメータに含まれる第１判定基準および第２判定基準を用いてそれぞれ判定することで、第１判定基準に合致している場合には第１判定結果を出力し、第２判定基準に合致している場合には第２判定結果を出力する判定部とを含む。
【０００９】
この開示によれば、スコアに対して、複数の判定基準を適用して、それぞれの判定結果を出力できるので、実際の生産現場への予知保全の適用を柔軟に行うことができる。
【００１０】
上述の開示において、第１判定基準は、第２判定基準に比較して、スコアがより高い値を示す場合に合致するように設定されていてもよい。第１判定基準に対応する第１判定結果は、第２判定基準に対応する第２判定結果に比較して、異常の度合いがより高いことを示すようにしてもよい。
【００１１】
この開示によれば、異常の度合いに応じて、それぞれ判定結果を得ることができるので、保全員などは、何らかの判定結果が出力された場合に、その判定結果の内容に応じた優先順位で保全作業を実施できる。
【００１２】
上述の開示において、異常検知システムは、制御演算部により収集される状態値のうち少なくとも監視対象に関連する状態値を格納する状態値格納部と、状態値格納部から提供される状態値を用いて、第１異常検知部と実質的に同一の検知処理を実行する第２異常検知部と、第２異常検知部による検知結果に基づいて、第１異常検知部に対して設定される、異常検知用パラメータおよび学習データセットを決定するモデル生成部とをさらに含んでいてもよい。
【００１３】
この開示によれば、第１異常検知部と実質的に同一の検知処理を実行する第２異常検知部を用いて、オフラインで異常検知を実行するモデルを生成できる。
【００１４】
上述の開示において、モデル生成部は、状態値格納部から提供される状態値から生成される１または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、第１判定基準および第２判定基準として、スコアのデータ系列に対する２つのしきい値の設定を受付ける手段とを含んでいてもよい。
【００１５】
この開示によれば、ユーザは、スコアのデータ系列を参照しながら、適切な複数のしきい値をそれぞれ判定基準として設定できる。
【００１６】
上述の開示において、モデル生成部は、スコアのデータ系列に含まれる各要素に付与されたラベルと、スコアのデータ系列に対してユーザにより指定された判定基準を適用したときの判定結果とに基づいて、検知精度を示す指標値を算出する手段を含んでいてもよい。
【００１７】
この開示によれば、ユーザは、自身が指定した判定基準を設定した場合に、当該設定した判定基準による検知精度を客観的に把握できる。
【００１８】
上述の開示において、検知精度を示す指標値は、異常のラベルが付与された要素を正常と判定した確率である見逃し率と、正常のラベルが付与された要素を異常と判定した確率である見過ぎ率と、要素に付与されたラベルどおりの判定がなされた確率である正答率と、のうち少なくとも１つを含むようにしてもよい。
【００１９】
この開示によれば、ユーザは、検知精度を定量的に把握できる。
上述の開示において、モデル生成部は、設定されるしきい値が変更されると、検知精度を示す指標値を更新するようにしてもよい。
【００２０】
この開示によれば、ユーザがしきい値を試行錯誤的に変更させる毎に、そのときの検知精度を都度知ることができるため、しきい値の設定作業を効率化できる。
【００２１】
上述の開示において、異常検知システムは、判定部からの判定結果に応じた形態で報知動作を行う報知装置をさらに含んでいてもよい。
【００２２】
この開示によれば、複数の判定基準のうち、いずれの判定基準により報知されているのかを一見して把握できる。
【００２３】
本開示の別の一例に従えば、制御対象を制御するための制御装置に接続されるサポート装置が提供される。制御装置は、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第１異常検知部と、制御演算部により収集される状態値のうち少なくとも監視対象に関連する状態値を格納する状態値格納部とを含む。サポート装置は、状態値格納部から提供される状態値を用いて、第１異常検知部と実質的に同一の検知処理を実行する第２異常検知部と、第２異常検知部による検知結果に基づいて、第１異常検知部に対して設定される、異常検知用パラメータおよび学習データセットを決定するモデル生成部とを含む。モデル生成部は、状態値格納部から提供される状態値から生成される１または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、スコアのデータ系列に対して、第１判定基準および第２判定基準の設定を受付ける手段とを含む。
【００２４】
この開示によれば、スコアに対して、複数の判定基準を適用して、それぞれの判定結果を出力できるので、実際の生産現場への予知保全の適用を柔軟に行うことができる。
【００２５】
本開示のさらに別の一例に従う異常検知方法は、制御対象を制御するための制御演算を実行するステップと、制御演算に関して収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知するステップとを含む。異常を検知するステップは、異常検知用パラメータに従って、監視対象に関連する状態値から算出される特徴量を用いてスコアを算出するステップと、算出されるスコアと異常検知用パラメータに含まれる第１判定基準および第２判定基準を用いてそれぞれ判定するステップと、算出されるスコアが第１判定基準に合致している場合には第１判定結果を出力し、第２判定基準に合致している場合には第２判定結果を出力するステップとを含む。
【００２６】
この開示によれば、スコアに対して、複数の判定基準を適用して、それぞれの判定結果を出力できるので、実際の生産現場への予知保全の適用を柔軟に行うことができる。
【発明の効果】
【００２７】
本技術によれば、実際の生産現場での予知保全のニーズに応じて、複数の判定基準を柔軟に設定できる。
【図面の簡単な説明】
【００２８】
【図１】本実施の形態に係る異常検知システムの機能的な構成例を示す模式図である。
【図２】本実施の形態に係る異常検知システムの全体構成例を示す模式図である。
【図３】本実施の形態に係る異常検知システムを運用するための処理手順の概要を示す模式図である。
【図４】本実施の形態に係る異常検知システムを構成する制御装置のハードウェア構成例を示すブロック図である。
【図５】本実施の形態に係る異常検知システムを構成するサポート装置のハードウェア構成例を示すブロック図である。
【図６】本実施の形態に係る異常検知システムのソフトウェア構成例を示すブロック図である。
【図７】図６に示す解析ツールに含まれる機能モジュールの概要を示すブロック図である。
【図８】本実施の形態に係る異常検知システムの異常検知処理の基本的な考え方を説明するための模式図である。
【図９】本実施の形態に係る異常検知システムの異常検知処理における処理手順を概略した模式図である。
【図１０】本実施の形態に係る制御装置において実行される異常検知処理の処理手順を示すフローチャートである。
【図１１】図３に示す処理手順に含まれる解析処理（ＳＴ２）の内容を示す模式図である。
【図１２】図１１に示される（ａ）〜（ｅ）の処理の概要を視覚的に示す模式図である。
【図１３】本実施の形態に係るモデル生成処理におけるユーザによる設定操作の手順例を示すフローチャートである。
【図１４】図１３のステップＳ１０においてユーザに提供されるユーザインターフェイス画面の一例を示す模式図である。
【図１５】図１３のステップＳ１２〜Ｓ１６においてユーザに提供されるユーザインターフェイス画面の一例を示す模式図である。
【図１６】本実施の形態に係るサポート装置の解析ツールが実行する処理手順を示すフローチャートである。
【図１７】本実施の形態に係るサポート装置の解析ツールが実行する特徴量の重要度を評価する処理を説明するための模式図である。
【図１８】本実施の形態に係るサポート装置の解析ツールによる学習データセットへの仮想データを追加する処理を説明するための模式図である。
【図１９】本実施の形態に係るサポート装置の解析ツールにより生成される仮想データの一例を示す模式図である。
【図２０】本実施の形態に係る異常検知処理において算出される検知精度を算出するための指標値の一例を示す模式図である。
【図２１】本実施の形態に係る異常検知処理におけるＡＵＣの算出処理を説明するための模式図である。
【図２２】本実施の形態に係る異常検知処理におけるしきい値の自動設定に係る処理を説明するための模式図である。
【図２３】図１６に示すフローチャートのステップＳ１４０に示されるしきい値の自動設定に係るより詳細な処理手順を示すフローチャートである。
【図２４】検知精度を示す指標値の表示例を示す模式図である。
【図２５】検知精度を示す指標値の表示例を示す模式図である。
【発明を実施するための形態】
【００２９】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００３０】
＜Ａ．適用例＞
まず、本発明が適用される場面の一例について説明する。
【００３１】
本実施の形態に係る異常検知機能を有する制御システムの機能的な構成例について説明する。以下の説明においては、主として、制御システムが有している異常検知機能に注目して説明するので、制御システム全体を「異常検知システム」とも称する。
【００３２】
図１は、本実施の形態に係る異常検知システム１の機能的な構成例を示す模式図である。図１を参照して、異常検知システム１は、制御演算部１０と、異常検知部２０とを含む。これらの構成は、基本的には、ＰＬＣ（プログラマブルコントローラ）などの制御装置に実装される。
【００３３】
制御演算部１０は、制御対象を制御するための制御演算を実行する。異常検知部２０は、制御演算部１０により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する。
【００３４】
本明細書において、「状態値」は、任意の制御対象（含む：監視対象）にて観測できる値を包含する用語であり、例えば、任意のセンサにより測定できる物理値や、リレーやスイッチなどのＯＮ／ＯＦＦ状態、ＰＬＣがサーボドライバに与える位置、速度、トルクなどの指令値、ＰＬＣが演算に用いる変数値などを含み得る。
【００３５】
本明細書において、「異常検知用パラメータ」および「学習データセット」は、監視対象に生じ得る異常を検知するためのモデルの定義を含む。典型的には、異常検知用パラメータおよび学習データセットは、サポート装置において生成され、その生成された異常検知用パラメータおよび学習データセットがサポート装置から制御装置へ与えられる。異常検知用パラメータおよび学習データセットの生成に係る詳細な手順および処理については後述する。
【００３６】
異常検知部２０は、異常検知用パラメータに従って、監視対象に関連する状態値から算出される特徴量を用いてスコアを算出する算出部２２を含む。
【００３７】
本明細書において、「スコア」は、評価対象の１または複数の特徴量の組が、外れ値または異常値である可能性の度合いを示す値を意味する。スコアは、その値が大きいほど異常値である可能性が高いように算出される（但し、異常値である可能性が高くなるほどスコアが小さな値を示すようにしてもよい）。算出部２２によるスコアの算出方法については、後に詳述する。
【００３８】
異常検知部２０は、さらに、算出部２２により算出されるスコアと異常検知用パラメータに含まれる第１判定基準および第２判定基準を用いてそれぞれ判定することで、第１判定基準に合致している場合には第１判定結果を出力し、第２判定基準に合致している場合には第２判定結果を出力する判定部２４とを含む。
【００３９】
このように、本実施の形態に係る異常検知システムは、スコアに対して、複数の判定基準を適用して、各判定基準での異常の有無を評価できる。それぞれの判定基準を適切に設定することで、監視対象に生じる異常のレベル（例えば、劣化の進行状態など）を推定できる。このような機能を採用することで、実際の生産現場への予知保全の適用に適した判定基準を柔軟に設定できる。
【００４０】
＜Ｂ．システムの全体構成例＞
まず、本実施の形態に係る異常検知システム１の全体構成例について説明する。図２は、本実施の形態に係る異常検知システム１の全体構成例を示す模式図である。
【００４１】
図２を参照して、本実施の形態に係る異常検知システム１は、主たる構成要素として、制御対象を制御する制御装置１００と、制御装置１００に接続されるサポート装置２００とを含む。図２には、異常検知システム１が包装機６００を異常検知の対象（以下、「監視対象」とも称す。）とする構成例を示す。
【００４２】
制御装置１００は、ＰＬＣなどの、一種のコンピュータとして具現化されてもよい。制御装置１００は、フィールドネットワーク２を介して制御対象に配置された１または複数のフィールドデバイスと接続されるとともに、別のフィールドネットワーク４を介して１または複数の操作表示装置４００と接続される。
【００４３】
制御装置１００は、さらに、上位ネットワーク６を介してデータベースサーバ３００に接続されてもよい。制御装置１００は、それぞれのネットワークを介して、接続された装置との間でデータを遣り取りする。なお、データベースサーバ３００および操作表示装置４００はオプショナルな構成であり、異常検知システム１の必須の構成ではない。
【００４４】
フィールドネットワーク２およびフィールドネットワーク４は、産業用ネットワークを採用することが好ましい。このような産業用ネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが知られている。
【００４５】
制御装置１００は、制御対象を制御するための制御演算を実行する制御演算部（以下、「ＰＬＣエンジン１３０」とも称す。）に加えて、任意の監視対象について異常の有無を監視する処理部（以下、「異常検知エンジン１５０」とも称す。）を有している。異常検知エンジン１５０に関して、制御装置１００は、（１）監視対象から状態値を収集する処理、（２）収集した状態値から１または複数の特徴量を生成する処理、（３）生成した特徴量に基づいて異常検知する処理、を実行する。
【００４６】
制御装置１００の異常検知エンジン１５０が何らかの異常を検知すると、その検知内容を任意の方法で報知してもよい。図２に示す構成においては、Ｉ／Ｏユニット１６を介して接続される報知装置１８を点滅および／または鳴動させることで報知する例を示す。報知方法としては、報知装置１８に限らず、任意のインジケータ、音声出力装置、音声合成装置、電子メール、任意の端末への通知、などを用いることができる。
【００４７】
制御装置１００において検知精度の高い異常検知エンジン１５０を実現するためには、監視対象の特性に応じた特徴量や判定基準（典型的には、しきい値）などを適切に設定する必要がある。本実施の形態に係る異常検知システム１では、統計的な手法を用いて、収集された状態値が通常とは異なる特徴を示すと判断されるときに、監視対象が異常であると検知する。
【００４８】
このような異常検知エンジン１５０を実現するために、（１）異常検知に用いる特徴量および異常であるか否かを判断するための判定基準（典型的には、しきい値）を含む異常検知用パラメータと、（２）監視対象が正常であるときに現れる１または複数の状態値および／または特徴量を含む学習データセットとが用意される。これにより、異常検知エンジン１５０は、ＰＬＣエンジン１３０により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する。
【００４９】
なお、以下の説明においては、判定基準の典型例として、１または複数のしきい値を用いる形態について例示するが、判定基準としては、しきい値に限られず、任意の幅を有する許容範囲や、複数の値により規定される条件であってもよい。
【００５０】
異常検知用パラメータおよび学習データセットの用意は、いずれの装置で実施してもよいが、図２に示す構成においては、制御装置１００により収集された状態値（収集データ）がサポート装置２００に与えられ、サポート装置２００が後述するような解析処理を実行することで、異常検知用パラメータおよび学習データセットを決定する。
【００５１】
後述するように、本実施の形態に係る異常検知システム１においては、異常検知のための、１または複数のしきい値を決定できる。決定されたそれぞれのしきい値を用いて、異常の有無が監視される。例えば、２段階のしきい値（注意レベルおよび警告レベル、あるいは、ｃａｕｔｉｏｎレベルおよびｄａｍａｇｅレベル）を設定することが実用的である。
【００５２】
このように、少なくとも第１判定基準および第２判定基準を設定した場合には、第１判定基準は、第２判定基準に比較して、スコアがより高い値を示す場合に合致するように設定されていてもよい。その場合、第１判定基準に対応する第１判定結果（例えば、警告レベル）は、第２判定基準に対応する第２判定結果（注意レベル）に比較して、異常の度合いがより高いことを示すようにしてもよい。
【００５３】
上述したように、異常検知システム１は、報知動作を行う報知装置１８を含んでいてもよい。この場合、制御装置１００の異常検知エンジン１５０による判定結果に応じた形態で報知動作を行うようにしてもよい。すなわち、報知装置１８において、注意レベルの報知形態と、警告レベルの報知形態とを異ならせてもよい。例えば、複数の報知形態が可能な報知装置１８を用いる場合には、注意レベルのしきい値に到達した場合には「黄色」で点灯表示または点滅表示を行い、警告レベルのしきい値に到達した場合には「赤色」で点灯表示または点滅表示を行うようにしてもよい。
【００５４】
一方、サポート装置２００は、決定された異常検知用パラメータおよび学習データセットを制御装置１００の異常検知エンジン１５０に設定する。具体的には、サポート装置２００から制御装置１００に対して、異常検知用パラメータ（１または複数のしきい値を含む）および学習データセットが与えられる。
【００５５】
なお、制御装置１００およびサポート装置２００を一体化した構成を採用してもよく、その場合には、単一の装置において異常検知用パラメータおよび学習データセットの決定、ならびに、異常検知処理の両方が実行されることになる。
【００５６】
図３は、本実施の形態に係る異常検知システム１を運用するための処理手順の概要を示す模式図である。図３を参照して、まず、制御装置１００において生データを収集する処理が実行される（ＳＴ１）。以下の説明において、「生データ」は、監視対象から収集された状態値の時系列データを意味する。基本的に、「生データ」は、監視対象から収集されたそのままの状態値を含むものであり、状態値から生成される特徴量などは含まれない。この生データの収集は、制御装置１００に実装される時系列データベース（以下、「ＴＳＤＢ」とも略称する。）に状態値を順次書込むことで実現される。
【００５７】
収集された生データは、サポート装置２００へ与えられ、解析処理が実行される（ＳＴ２）。この解析処理においては、異常検知用パラメータおよび学習データセットが生成される。以下の説明においては、監視対象に応じた異常検知用パラメータおよび学習データセットを生成する処理を「モデル生成処理」と称することもある。
【００５８】
生成された異常検知用パラメータおよび学習データセットは、制御装置１００へ与えられる。制御装置１００は、サポート装置２００からの異常検知用パラメータおよび学習データセットに基づいて、異常検知の運用を開始する（ＳＴ３）。このとき、制御装置１００（異常検知エンジン１５０）は、与えられた異常検知用パラメータに従って、監視対象から収集される状態値に基づいて特徴量を生成し、生成した特徴量に基づいて異常検知を実行する。
【００５９】
以上のような異常検知に係るより詳細な処理および機能などについては後述する。
再度図２を参照して、図２に示す構成における監視対象である包装機６００は、所定の搬送方向に搬送される包装体６０４に対するシール処理および／または切断処理を実行する。包装機６００は、同期して回転する一対のロータ６１０，６２０を有している。各ロータは、包装体６０４に接する位置での外周の接線方向が搬送方向と一致するように配置されており、ロータの表面が包装体６０４に接触することで、包装体６０４をシールおよび／または切断する。
【００６０】
包装機６００のロータ６１０，６２０は、サーボモータ６１８，６２８によって、それぞれ回転軸６１２，６２２を中心に同期して回転駆動される。ロータ６１０，６２０の表面には、それぞれ処理機構６１４，６２４が設けられており、処理機構６１４は、円周方向（回転方向）に前後して配置されたヒータ６１５，６１６と、ヒータ６１５とヒータ６１６との間に配置されたカッター６１７とを含む。同様に、処理機構６２４は、円周方向に前後して配置されたヒータ６２５，６２６と、ヒータ６２５とヒータ６２６との間に配置されたカッター６２７とを含む。ロータ６１０，６２０は、その外周面上に配置された、包装体６０４を切断するためのカッター６１７，６２７を含む。
【００６１】
ロータ６１０，６２０が包装体６０４の搬送速度と同期して回転することで、ヒータ６１５とヒータ６２５とによって、包装体６０４の紙面右側の位置において対向する面同士（上面と下面）がシール（接着）されるとともに、ヒータ６１６とヒータ６２６とによって、包装体６０４の紙面左側の位置において対向する面同士（上面と下面）がシール（接着）される。これらのシール処理と並行して、カッター６１７とカッター６２７とによって包装体６０４が切断される。このような一連の処理が繰返されることで、被包装物６０５を含む包装体６０４に対して、シールおよび切断が繰返し実行されて、個別包装体６０６が順次生成される。
【００６２】
ロータ６１０，６２０を回転駆動するサーボモータ６１８，６２８は、ドライバ（駆動装置）の一例である、サーボドライバ６１９，６２９によって回転速度やトルクなどが制御される。制御装置１００は、サーボドライバ６１９，６２９ならびにＩ／Ｏユニット１６から、包装機６００の状態値を収集できる。包装機６００の状態値としては、（１）ロータ６１０，６２０の回転位置（位相／回転角度）、（２）ロータ６１０，６２０の速度、（３）ロータ６１０，６２０の加速度、（４）サーボモータ６１８，６２８のトルク値、（５）サーボドライバ６１９，６２９の電流値、（６）サーボドライバ６１９，６２９の電圧値、などを含む。
【００６３】
制御装置１００は、包装機６００からの状態値に基づいて、包装機６００に対する異常検知を行う。異常検知を実行するにあたって、包装機６００からは複数の状態値を収集可能であり、いずれの状態値を用いるべきかを事前に決定する必要がある。また、各収集される状態値（時系列データ）をそのまま用いることも可能であるし、状態値の時系列データから何らかの特徴量を抽出して用いることも可能である。
【００６４】
本実施の形態に係るモデル生成処理においては、監視対象から収集される１または複数の状態値のうち、いずれの状態値を用いるのか、および／または、収集される状態値のどのような特徴量を用いるのか、といった内容を異常検知用パラメータとして決定する。
【００６５】
＜Ｃ．ハードウェア構成例＞
次に、本実施の形態に係る異常検知システム１を構成する主要な装置のハードウェア構成例について説明する。
【００６６】
（ｃ１：制御装置１００のハードウェア構成例）
図４は、本実施の形態に係る異常検知システム１を構成する制御装置１００のハードウェア構成例を示すブロック図である。図４を参照して、制御装置１００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ１０２と、チップセット１０４と、主記憶装置１０６と、二次記憶装置１０８と、上位ネットワークコントローラ１１０と、ＵＳＢ（Universal Serial Bus）コントローラ１１２と、メモリカードインターフェイス１１４と、内部バスコントローラ１２２と、フィールドバスコントローラ１１８，１２０と、Ｉ／Ｏユニット１２４−１，１２４−２，…とを含む。
【００６７】
プロセッサ１０２は、二次記憶装置１０８に格納された各種プログラムを読み出して、主記憶装置１０６に展開して実行することで、ＰＬＣエンジン１３０および異常検知エンジン１５０を実現する。チップセット１０４は、プロセッサ１０２と各コンポーネントとの間のデータ伝送などを制御する。
【００６８】
二次記憶装置１０８には、ＰＬＣエンジン１３０を実現するためのシステムプログラムに加えて、ＰＬＣエンジン１３０を利用して実行されるユーザプログラムが格納される。さらに、二次記憶装置１０８には、異常検知エンジン１５０を実現するためのプログラムも格納される。
【００６９】
上位ネットワークコントローラ１１０は、上位ネットワーク６を介した他の装置との間のデータの遣り取りを制御する。ＵＳＢコントローラ１１２は、ＵＳＢ接続を介してサポート装置２００との間のデータの遣り取りを制御する。
【００７０】
メモリカードインターフェイス１１４は、メモリカード１１６を着脱可能に構成されており、メモリカード１１６に対してデータを書込み、メモリカード１１６から各種データ（ユーザプログラムやトレースデータなど）を読出すことが可能になっている。
【００７１】
内部バスコントローラ１２２は、制御装置１００に搭載されるＩ／Ｏユニット１２４−１，１２４−２，…との間でデータを遣り取りするインターフェイスである。
【００７２】
フィールドバスコントローラ１１８は、フィールドネットワーク２を介した他の装置との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ１２０は、フィールドネットワーク４を介した他の装置との間のデータの遣り取りを制御する。
【００７３】
図４には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。あるいは、制御装置１００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００７４】
（ｃ２：サポート装置２００のハードウェア構成例）
本実施の形態に係るサポート装置２００は、一例として、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコン）を用いてプログラムを実行することで実現される。
【００７５】
図５は、本実施の形態に係る異常検知システム１を構成するサポート装置２００のハードウェア構成例を示すブロック図である。図５を参照して、サポート装置２００は、ＣＰＵやＭＰＵなどのプロセッサ２０２と、光学ドライブ２０４と、主記憶装置２０６と、二次記憶装置２０８と、ＵＳＢコントローラ２１２と、上位ネットワークコントローラ２１４と、入力部２１６と、表示部２１８とを含む。これらのコンポーネントはバス２２０を介して接続される。
【００７６】
プロセッサ２０２は、二次記憶装置２０８に格納された各種プログラムを読み出して、主記憶装置２０６に展開して実行することで、後述するようなモデル生成処理を含む各種処理を実現する。
【００７７】
二次記憶装置２０８は、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Flash Solid State Drive）などで構成される。二次記憶装置２０８には、典型的には、サポート装置２００において実行されるユーザプログラムの作成、作成したユーザプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うための開発プログラム２２２と、制御装置１００との間で異常検知機能に関するデータを遣り取りするためのＰＬＣインターフェイスプログラム２２４と、本実施の形態に係るモデル生成処理を実現するための解析プログラム２２６と、ＯＳ２２８とが格納される。二次記憶装置２０８には、図５に示すプログラム以外の必要なプログラムが格納されてもよい。
【００７８】
サポート装置２００は、光学ドライブ２０４を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体２０５（例えば、ＤＶＤ（Digital Versatile Disc）などの光学記録媒体）から、その中に格納されたプログラムが読取られて二次記憶装置２０８などにインストールされる。
【００７９】
サポート装置２００で実行される各種プログラムは、コンピュータ読取可能な記録媒体２０５を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置２００が提供する機能は、ＯＳが提供するモジュールの一部を利用する形で実現される場合もある。
【００８０】
ＵＳＢコントローラ２１２は、ＵＳＢ接続を介して制御装置１００との間のデータの遣り取りを制御する。上位ネットワークコントローラ２１４は、任意のネットワークを介した他の装置との間のデータの遣り取りを制御する。
【００８１】
入力部２１６は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。表示部２１８は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ２０２からの処理結果などを出力する。
【００８２】
図５には、プロセッサ２０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００８３】
＜Ｄ．ソフトウェア構成例／機能構成例＞
次に、本実施の形態に係る異常検知システム１を構成する主要な装置のソフトウェア構成例および機能構成例について説明する。図６は、本実施の形態に係る異常検知システム１のソフトウェア構成例を示すブロック図である。
【００８４】
図６を参照して、制御装置１００は、主要な機能構成として、ＰＬＣエンジン１３０と、時系列データベース（ＴＳＤＢ：Time Series Data Base）１４０と、異常検知エンジン１５０とを含む。
【００８５】
ＰＬＣエンジン１３０は、ユーザプログラム１３２を逐次解釈して、指定された制御演算を実行する。ＰＬＣエンジン１３０は、フィールドから収集される状態値を変数１３８の形で管理しており、変数１３８は予め定められた周期で更新される。ＰＬＣエンジン１３０は、制御装置１００のプロセッサ１０２がシステムプログラムを実行することで実現されてもよい。
【００８６】
本実施の形態に係る異常検知システム１を実現するにあたって、ユーザプログラム１３２は、特徴量生成命令１３４および書込命令１３６を含む。
【００８７】
特徴量生成命令１３４は、予め定められた状態値について、予め定められた処理に従って特徴量（例えば、所定時間に亘る平均値、最大値、最小値など）を生成する命令を含む。生成された特徴量が異常検知エンジン１５０における異常検知処理に用いられる。
【００８８】
書込命令１３６は、収集された状態値（変数１３８）を時系列データベース１４０に書込む命令を含む。
【００８９】
時系列データベース１４０に順次書込まれる状態値が生データ１４２として出力される。後述するように、時系列データベース１４０に格納される生データ１４２の一部は、サポート装置２００におけるモデル生成処理においても利用される。このように、時系列データベース１４０は、ＰＬＣエンジン１３０により収集される状態値のうち少なくとも監視対象に関連する状態値を格納する状態値格納部に相当する。
【００９０】
異常検知エンジン１５０は、予め与えられた学習データセット１６０を、監視対象を示すモデルとして用いて、異常検知用パラメータ１６２に従って、監視対象の異常の有無を監視する。より具体的には、異常検知エンジン１５０は、異常検知用パラメータ１６２に含まれる各しきい値と、収集される状態値から算出される異常の可能性を示す値（後述するような、スコア）とを比較する（しきい値判定）。
【００９１】
異常検知エンジン１５０において、監視対象に何らかの異常が発生したと判断されると（すなわち、スコアが予め定められたしきい値を上回る、あるいは、下回ると）、異常の発生をＰＬＣエンジン１３０へ通知し（異常検知イベントの発生）、あるいは、予め定められた変数１３８に異常を示す値に更新する。
【００９２】
一方、サポート装置２００は、主要な機能構成として、解析ツール２３０と、ＰＬＣインターフェイス２３２と、可視化モジュール２３４と、イベント管理モジュール２３６とを含む。
【００９３】
解析ツール２３０は、制御装置１００において収集された状態値からなる生データ１４２を解析して、学習データセット１６０および異常検知用パラメータ１６２を決定する。解析ツール２３０は、典型的には、サポート装置２００のプロセッサ２０２が解析プログラム２２６を実行することで実現される。
【００９４】
ＰＬＣインターフェイス２３２は、制御装置１００から生データ１４２を取得する処理、および、決定した学習データセット１６０および異常検知用パラメータ１６２を制御装置１００へ送信する処理などを担当する。ＰＬＣインターフェイス２３２は、典型的には、サポート装置２００のプロセッサ２０２が解析プログラム２２６を実行することで実現される。
【００９５】
可視化モジュール２３４は、解析ツール２３０により提供される情報を画面ユーザインターフェイスとして可視化するとともに、ユーザからの操作を受付ける。
【００９６】
イベント管理モジュール２３６は、サポート装置２００の内部または外部で発生するイベントに応じて、各モジュールに必要な処理を実行させる。
【００９７】
可視化モジュール２３４およびイベント管理モジュール２３６は、典型的には、ＯＳに含まれる機能として提供される。
【００９８】
図７は、図６に示す解析ツール２３０に含まれる機能モジュールの概要を示すブロック図である。図７を参照して、サポート装置２００の解析ツール２３０は、主要な機能構成として、ユーザインターフェイス２４０と、ファイル管理モジュール２５０と、画面生成モジュール２６０と、解析モジュール２７０と、解析ライブラリ２８０とを含む。
【００９９】
ユーザインターフェイス２４０は、ユーザからの設定を受付けるとともに、ユーザに対して各種情報を提供するための統括的な処理を実行する。具体的な実装形態として、ユーザインターフェイス２４０は、スクリプトエンジン２４２を有しており、必要な処理を記述したスクリプトを含む設定ファイル２４４を読込んで、設定された処理を実行する。
【０１００】
ファイル管理モジュール２５０は、指定されたファイルなどからデータを読込むデータ入力機能２５２と、生成したデータなどを含むファイルを生成するデータ生成機能２５４とを含む。
【０１０１】
画面生成モジュール２６０は、入力されたデータなどに基づいて折れ線グラフを生成する折れ線グラフ生成機能２６２、および、ユーザの操作を受けて各種パラメータを変更するパラメータ調整機能２６４を含む。パラメータの変更に伴って、折れ線グラフ生成機能２６２は折れ線を更新することもある。折れ線グラフ生成機能２６２およびパラメータ調整機能２６４は、グラフライブラリ２６６を参照して必要な処理を実行する。
【０１０２】
解析モジュール２７０は、解析ツール２３０の主要な処理を実現するモジュールであり、特徴量生成機能２７２と、特徴量選択機能２７４と、パラメータ決定機能２７６とを有している。
【０１０３】
特徴量生成機能２７２は、生データ１４２に含まれる任意の状態値の時系列データから特徴量を生成する。特徴量選択機能２７４は、異常検知処理に用いる特徴量を選択する処理および特徴量の選択を受付ける処理を実行する。パラメータ決定機能２７６は、異常検知処理に必要なパラメータを決定する処理を実行する。
【０１０４】
解析ライブラリ２８０は、解析モジュール２７０に含まれる各機能が処理を実行するためのライブラリを含む。より具体的には、解析ライブラリ２８０は、特徴量生成機能２７２が利用する特徴量生成ライブラリ２８２と、特徴量選択機能２７４が利用する特徴量選択ライブラリ２８４と、パラメータ決定機能２７６が利用する異常検知エンジン２８６とを含む。
【０１０５】
解析モジュール２７０に含まれる特徴量生成機能２７２が実行する処理は、制御装置１００のユーザプログラム１３２に記述される特徴量生成命令１３４（図６参照）に従って実行される処理と実質的に同一である。また、解析ライブラリ２８０に含まれる異常検知エンジン２８６は、制御装置１００の異常検知エンジン１５０（図６参照）が実行する処理と実質的に同一である。
【０１０６】
このように、サポート装置２００の異常検知エンジン２８６は、制御装置１００の時系列データベース１４０から提供される状態値（生データ１４２）を用いて、制御装置１００の異常検知エンジン１５０と実質的に同一の検知処理を実行する異常検知部に相当する。
【０１０７】
本実施の形態に係る異常検知システム１には、制御装置１００とサポート装置２００との両方において、同一の異常検知処理を実現できる環境が提供されている。このような環境によって、制御装置１００における異常検知処理をサポート装置２００において再現することができ、この結果、制御装置１００で実行させるべき異常検知処理を、サポート装置２００において事前に決定できる。
【０１０８】
より具体的には、サポート装置２００の解析モジュール２７０は、モデル生成部に相当し、解析ライブラリ２８０に含まれる異常検知エンジン２８６による検知結果に基づいて、異常検知用パラメータ１６２および学習データセット１６０を決定する。
【０１０９】
＜Ｅ．異常検知処理の概要＞
次に、本実施の形態に係る異常検知システム１が採用する異常検知処理の概要について説明する。
【０１１０】
本実施の形態においては、統計的に得られるデータ集合に対して、監視対象のデータが外れ値であると評価される場合に、異常値として検知する。
【０１１１】
図８は、本実施の形態に係る異常検知システム１の異常検知処理の基本的な考え方を説明するための模式図である。図８を参照して、まず、監視対象から収集される１または複数の状態値（監視対象は「正常」のラベルが付与されているとする）から特徴量１，２，３，・・・，ｎを生成し、生成された各特徴量を次元とする超空間上の対応する位置を順次プロットする。監視対象は「正常」のラベルが付与された状態値に対応する座標値群を正常値群として予め規定する。
【０１１２】
そして、任意のサンプリングタイミングで監視対象から収集された１または複数の状態値から対応する特徴量１，２，３，・・・，ｎを生成し、当該生成されたそれぞれの特徴量に対応する座標（図８の「入力値」に相当する。）を設定する。
【０１１３】
最終的に、超空間上における正常値群に対する入力値の外れ度合いに基づいて、当該入力値に対応するサンプリングタイミングにおける監視対象の異常の有無を判断する。図８の正常値群が、監視対象を示す「モデル」に相当する。
【０１１４】
このような外れ度合いに基づく異常検知の手法としては、各点から正常値群までの最短距離に基づいて異常を検知する手法（ｋ近傍法）、正常値群を含むクラスタを含めて距離を評価する局所外れ値因子（ＬｏＦ：local outlier factor）法、パス長さから算出されるスコアを用いるｉＦｏｒｅｓｔ（isolation forest）法などが知られている。
【０１１５】
図９は、本実施の形態に係る異常検知システム１の異常検知処理における処理手順を概略した模式図である。図９に示す処理手順は、典型的には、制御装置１００の異常検知エンジン１５０によって実行される。
【０１１６】
図９を参照して、任意のサンプリングタイミングにおいて監視対象から状態値のセットを収集したとする。このサンプリングタイミングにおける監視対象の異常の有無を判断することになる。
【０１１７】
まず、監視対象から収集可能な複数の状態値のうち、予め定められた状態値１，２，３，・・・ｎを用いて、特徴量１，２，３，・・・，ｎを生成する。
【０１１８】
なお、同一の状態値から複数の特徴量が生成されることもある。説明の便宜上、少なくとも４個の特徴量を用いる構成を示すが、本実施の形態に係る異常検知処理においては、少なくとも１つの特徴量があればよい。
【０１１９】
続いて、１または複数の特徴量からスコアが算出される。そして、算出されたスコアと予め定められた１または複数のしきい値（しきい値１，しきい値２，・・・）とを比較して、監視対象に異常が生じているか否か、および／または、発生している異常のレベルを判断する。
【０１２０】
本実施の形態に係る異常検知処理においては、予め定められた期間（以下、「フレーム」とも称す。）に亘る状態値の時系列データから状態値を算出し、算出される状態値の１または複数を用いてスコアを算出する。そして、算出されるスコアと予め設定された１または複数のしきい値とを比較することで、複数のレベルでの異常の検知を実現する。
【０１２１】
図１０は、本実施の形態に係る制御装置１００において実行される異常検知処理の処理手順を示すフローチャートである。図１０に示す各ステップは、典型的には、制御装置１００のプロセッサ１０２がプログラム（システムプログラムおよびユーザプログラムなど）を実行することで実現される。
【０１２２】
図１０に示す異常検知処理においては、２種類のしきい値（第１しきい値および第２しきい値（＜第１しきい値））が設定されているものとする。
【０１２３】
図１０を参照して、制御装置１００は、予め定められたフレームの開始条件が成立すると（ステップＳ５０においてＹＥＳ）、予め定められた１または複数の状態値の収集を開始する（ステップＳ５２）。その後、予め定められたフレームの終了条件が成立すると（ステップＳ５４においてＹＥＳ）、制御装置１００は、当該フレームの期間において収集された状態値の時系列データの各々から予め定められた種類の特徴量を算出する（ステップＳ５６）。そして、制御装置１００は、算出された１または複数の特徴量に基づいてスコアを算出する（ステップＳ５８）。
【０１２４】
より具体的には、スコアは、制御装置１００の異常検知エンジン１５０により、異常検知用パラメータに従って、監視対象に関連する状態値から算出される特徴量を用いて算出される。
【０１２５】
続いて、制御装置１００は、算出したスコアが第１しきい値を上回っているか否かを判断する（ステップＳ６０）。算出したスコアが第１しきい値を上回っていれば（ステップＳ６０においてＹＥＳの場合）、制御装置１００は、第１しきい値に対応するレベルの異常を報知する（ステップＳ６２）。例えば、第１しきい値に対応するレベルの異常は、例えば、異常の度合いがより高いと推定される警告レベルに相当する。
【０１２６】
算出したスコアが第１しきい値を上回っていなければ（ステップＳ６０においてＮＯの場合）、制御装置１００は、算出したスコアが第２しきい値を上回っているか否かを判断する（ステップＳ６４）。算出したスコアが第２しきい値を上回っていれば（ステップＳ６４においてＹＥＳの場合）、制御装置１００は、第２しきい値に対応するレベルの異常を報知する（ステップＳ６６）。例えば、第２しきい値に対応するレベルの異常は、例えば、異常の度合いがより高いと推定される注意レベルに相当する。
【０１２７】
このように、制御装置１００の異常検知エンジン１５０は、算出されるスコアと異常検知用パラメータに含まれる第１判定基準（第１しきい値）および第２判定基準（第２しきい値）を用いてそれぞれ判定することで、第１判定基準に合致している場合には第１判定結果（例えば、警告レベル）を出力し、第２判定基準に合致している場合には第２判定結果（例えば、異常レベル）を出力する判定機能を有している。
【０１２８】
算出したスコアが第２しきい値を上回っていなければ（ステップＳ６４においてＮＯの場合）、制御装置１００は、監視対象が正常であると判定する（ステップＳ６８）。そして、ステップＳ５０以下の処理が繰返される。
【０１２９】
以上のように、本実施の形態に係る異常検知処理においては、１または複数の異常レベルで発生の有無を検知できる。
【０１３０】
＜Ｆ．モデル生成処理の概略手順＞
次に、本実施の形態に係るモデル生成処理の概略手順について説明する。本実施の形態に係るモデル生成処理は、スコアの算出に用いる特徴量の選択処理、および、当該選択によって算出されるスコアに対するしきい値の決定処理を含む。
【０１３１】
図１１は、図３に示す処理手順に含まれる解析処理（ＳＴ２）の内容を示す模式図である。図１２は、図１１に示される（ａ）〜（ｅ）の処理の概要を視覚的に示す模式図である。
【０１３２】
図１１を参照して、本実施の形態に係るモデル生成処理に相当する解析処理（ＳＴ２）は、主として、（ａ）データ入力処理、（ｂ）特徴量生成処理、（ｃ）可視化・ラベル付け処理、（ｄ）特徴量選択処理、（ｅ）しきい値決定処理の計５つを含む。
【０１３３】
図１２を参照して、制御装置１００にて収集された状態値の時系列データである生データ１４２がサポート装置２００へ与えられる（（ａ）データ入力処理）。生データ１４２は、サンプリングタイミング毎に１または複数の状態値を含む。図１２に示す例では、生データ１４２は、包装機６００での処理の回数を示すサイクルカウントと、状態値の一例として、軸１トルク、軸１速度、シリンダ１オンオフ状態とを含む。
【０１３４】
サポート装置２００は、入力された生データ１４２を用いて、１または複数の特徴量を生成する（（ｂ）特徴量生成）。図１２に示す例では、特徴量は、軸１トルクに関する特徴量として、軸１トルク平均、軸１トルク標準偏差、軸１トルク最大、軸１トルク最小を含み、軸１速度に関する特徴量として、軸１速度平均、軸１速度標準偏差、軸１速度最大、軸１速度最小を含む。また、生成される特徴量には、シリンダ１動作時間を含む。
【０１３５】
続いて、サポート装置２００では、特徴量の可視化および各サンプリングタイミングの特徴量の組に対するラベル付けが実施される（（ｃ）可視化・ラベル付け処理）。特徴量の可視化は、基本的には、サポート装置２００によって実行され、ラベル付けの全部または一部はユーザが実行してもよい。
【０１３６】
より具体的な一例として、ユーザは、グラフなどの形で可視化された特徴量を参照しつつ、監視対象の状態が「正常」および「異常」のいずれであるかを、サンプリングタイミング毎に設定する。なお、現実の監視対象が異常な状態になることは少ないと考えられ、多くの場合には、「正常」のラベルが付与されることになる。
【０１３７】
続いて、収集された状態値から生成される複数の特徴量のうち、異常検知に用いる１または複数の特徴量を選択する（（ｄ）特徴量選択）。図１２に示す例では、軸１トルク平均、軸１速度平均、軸１速度最大、シリンダ１動作時間の４つが選択されている。
【０１３８】
上述のように選択された１または複数の特徴量に基づいてスコアを算出するとともに、算出されたスコアを参照して、異常と判断するための１または複数のしきい値を決定する（（ｅ）しきい値決定）。
【０１３９】
以上のような手順によって、学習データセット１６０および異常検知用パラメータ１６２が生成される。生成された学習データセット１６０および異常検知用パラメータ１６２は、サポート装置２００から制御装置１００へ与えられ、制御装置１００は、サポート装置２００からの設定に従って異常検知処理を実行する。
【０１４０】
図１２に示す（ａ）〜（ｅ）の処理は、適宜繰返し実行することが可能であり、監視対象を示すモデルを順次更新することも可能である。
【０１４１】
＜Ｇ．モデル生成処理におけるユーザ設定操作の手順例＞
次に、本実施の形態に係るモデル生成処理におけるユーザによる設定操作の手順例について説明する。
【０１４２】
図１３は、本実施の形態に係るモデル生成処理におけるユーザによる設定操作の手順例を示すフローチャートである。図１３を参照して、まず、ユーザは、サポート装置２００上で解析ツール２３０を起動させ（ステップＳ２）、サポート装置２００上で実行されている解析ツール２３０に生データ１４２を読込ませる（ステップＳ４）。
【０１４３】
続いて、ユーザは、読込んだ生データ１４２に対するデータクレンジングを実行する（ステップＳ６）。データクレンジングは、生データ１４２に含まれるモデル生成に不要なデータを削除する処理である。例えば、生データ１４２に含まれる時系列データのうち、分散がゼロである状態値（すなわち、何ら変動していない状態値）を削除する。データクレンジングの処理は、解析ツール２３０が自動的に実行してもよいし、解析ツール２３０が削除対象の状態値の候補を提示し、ユーザが明示的に削除対象を選択するようにしてもよい。
【０１４４】
さらに、可視化された状態値などを参照して、ユーザが不要または不正なデータであると判断した状態値を手動で削除できるようにしてもよい。すなわち、サポート装置２００には、制御装置１００の時系列データベース１４０から提供される状態値（生データ１４２）のうち特徴量の生成から除外すべき状態値の選択を受付けるようにしてもよい。
【０１４５】
その後、解析ツール２３０は、データクレンジング後の生データ１４２に含まれる状態値に基づいて、１または複数の特徴量を生成する（ステップＳ８）。より具体的には、解析ツール２３０の特徴量生成機能２７２が、制御装置１００の時系列データベース１４０から提供される状態値（生データ１４２）から複数の特徴量を生成する。ステップＳ８においては、可能な限り多くの種類の特徴量が生成されるようにしてもよい（図１２の（ｂ）特徴量生成に対応）。
【０１４６】
続いて、解析ツール２３０は、ユーザの選択操作に応じて特徴量の変化を可視化するとともに、ユーザは、可視化された特徴量の変化に対して正常範囲および／または異常範囲を設定する（ステップＳ１０）（図１２の（ｃ）可視化・ラベル付け処理に対応）。
【０１４７】
図１４は、図１３のステップＳ１０においてユーザに提供されるユーザインターフェイス画面５００の一例を示す模式図である。図１４を参照して、ユーザインターフェイス画面５００は、ステップＳ８において生成された特徴量の変化を可視化する。典型的には、ユーザインターフェイス画面５００においては、特徴量の時間的な変化がグラフ化されており、ユーザは、このグラフを参照することで、各特徴量の優位性を評価する。さらに、ユーザは、ユーザインターフェイス画面５００に表示される特徴量の変化に対して、異常範囲および正常範囲を設定する。なお、ユーザが設定する異常範囲および正常範囲は、監視対象が実際に異常になっているか、正常に動作しているかの情報に基づいて設定してもよいし、ユーザが異常として検知したい特徴量の変化を任意に設定するようにしてもよい。すなわち、ユーザインターフェイス画面５００において設定される異常範囲および正常範囲は、本実施の形態に係る異常検知処理が出力する「異常」または「正常」である状態を規定するものであり、監視対象が実際に異常であるか正常であるかとは、必ずしも一致しなくてもよい。
【０１４８】
より具体的には、ユーザインターフェイス画面５００は、特徴量に対する選択受付エリア５０２と、グラフ表示エリア５０６と、ヒストグラム表示エリア５１２とを含む。
【０１４９】
選択受付エリア５０２には、予め生成された特徴量の内容を示すリストが表示されており、ユーザは、選択受付エリア５０２に表示されたリスト上で任意の特徴量を選択する。
【０１５０】
グラフ表示エリア５０６には、選択受付エリア５０２においてユーザが選択した特徴量の変化を示すグラフ５０８が表示される。グラフ５０８は、サンプリング毎の時系列データ、あるいは、監視対象の処理単位（例えば、処理ワーク単位）などで区切られてもよい。
【０１５１】
ヒストグラム表示エリア５１２には、選択受付エリア５０２においてユーザが選択した特徴量の変化の分布を示すヒストグラムが表示される。ヒストグラム表示エリア５１２に表示されるヒストグラムを確認することで、選択した特徴量の主たる範囲などを知ることができる。
【０１５２】
ユーザは、グラフ表示エリア５０６に表示される特徴量の変化（グラフ５０８）に対して、データの正常範囲および／または異常範囲を設定できる。より具体的には、ユーザインターフェイス画面５００は、ラベル付与ツール５１４を含む。ラベル付与ツール５１４は、正常ラベル設定ボタン５１６と、異常ラベル設定ボタン５１７と、ラベル設定範囲指定ボタン５１８とを含む。
【０１５３】
ユーザは、付与するラベルが正常または異常のいずれであるかに応じて、正常ラベル設定ボタン５１６または異常ラベル設定ボタン５１７を選択した後、ラベル設定範囲指定ボタン５１８を選択し、続けて、グラフ表示エリア５０６の対象となる領域を指定する操作（例えば、ドラッグ操作）を行う。これによって、指定された領域に対して、設定されたラベルが付与される。
【０１５４】
図１４には、異常範囲５１０が設定されている例を示す。異常範囲５１０に含まれるサンプリングタイミングの特徴量に対しては、「異常」のラベルが付与され、それ以外の特徴量に対しては、「正常」のラベルが付与される。このように、解析ツール２３０は、ユーザ操作に従って、生成された複数の特徴量のデータ系列のうち特定範囲に対して、「正常」および「異常」の少なくとも一方のラベルを付与する機能を有していてもよい。
【０１５５】
なお、ヒストグラム表示エリア５１２に表示されるヒストグラムに対しても、データの正常範囲および／または異常範囲を設定できるようにしてもよい。
【０１５６】
再度図１３を参照して、次に、解析ツール２３０は、ユーザ操作に従って、異常検知用パラメータの決定処理を実行する（ステップＳ１２）。ステップＳ１２の処理は、図１２に示す（ｄ）特徴量選択処理および（ｅ）しきい値決定処理に対応する。
【０１５７】
このステップＳ１２においては、解析ツール２３０の特徴量選択機能２７４（図７参照）によって、デフォルトのパラメータ（使用される特徴量およびしきい値など）が予め設定されている。このとき、検知精度を示す指標値も算出される。
【０１５８】
ユーザがしきい値を変更すると（ステップＳ１４においてＹＥＳ）、検知精度を示す指標値が更新される（ステップＳ１６）。ユーザは、表示される検知精度を示す指標値などを確認しながら、必要なパラメータ（使用される特徴量およびしきい値など）を調整する。
【０１５９】
図１５は、図１３のステップＳ１２〜Ｓ１６においてユーザに提供されるユーザインターフェイス画面５２０の一例を示す模式図である。図１５を参照して、ユーザインターフェイス画面５２０は、主として、異常検知処理に用いる１または複数の特徴量の選択を受付けるとともに、異常検知処理に用いるしきい値の選択を受付ける。また、ユーザインターフェイス画面５２０は、検知精度を示す指標値を表示する。
【０１６０】
より具体的には、ユーザインターフェイス画面５２０は、特徴量に対する選択受付エリア５２２と、グラフ表示エリア５２６と、ヒストグラム表示エリア５５０とを含む。
【０１６１】
ユーザインターフェイス画面５２０の選択受付エリア５２２は、生成された複数の特徴量のうち、異常検知用パラメータおよび学習データセットの決定に用いられる１または複数の特徴量の選択を受付けるユーザインターフェイスに相当する。より具体的には、選択受付エリア５２２には、予め生成された特徴量の内容を示すリストが表示されており、ユーザは、表示されたリスト上で任意の特徴量に対応するチェックボックス５２４をチェックすることで、スコアの算出に用いる特徴量を決定する。
【０１６２】
選択受付エリア５２２に表示される特徴量は、解析ツール２３０の特徴量選択機能２７４（図７参照）によって事前に解析された結果に基づいて、重要度が高いと推定されるものがより上位になるようにリストされていてもよい。すなわち、選択受付エリア５２２には、後述するような手順で決定されたランクに従って、生成された複数の特徴量の表示順序が決定されてもよい。
【０１６３】
また、初期の選択受付エリア５２２には、解析ツール２３０の特徴量選択機能２７４（図７参照）によって予め選択された特徴量が、デフォルト値として選択されていてもよい。すなわち、選択受付エリア５２２においては、決定されたランクに従って、生成された複数の特徴量のうち予め定められた数の特徴量が選択された状態で表示されてもよい。図１５には、スコアの算出に２つの特徴量が使用されることが選択されている状態を示す。「有効変数選択」との説明が付与されている変数選択数表示５４２は、選択されている特徴量の数を示す。図１５に示すユーザインターフェイス画面５２０においては、最大で１０個の特徴量を用いてスコアを算出でき、そのうち２個の特徴量が選択されている例を示す。
【０１６４】
グラフ表示エリア５２６には、選択受付エリア５２２のチェックボックス５２４に対するチェックによって選択された１または複数の特徴量に基づいて算出されたスコアの変化を示すグラフ５２８が表示される。このように、グラフ表示エリア５２６には、選択された１または複数の特徴量のデータ系列に基づいて算出されるスコアのデータ系列が表示される。このように、サポート装置２００の解析モジュール２７０は、制御装置１００の時系列データベース１４０から提供される状態値（生データ１４２）から生成される１または複数の特徴量により算出されるスコアのデータ系列を表示する。
【０１６５】
グラフ５２８を構成する各要素は、ラベルに応じた形状を用いて表現されている。図１５に示す例では、「正常」のラベルが付与された要素５７０は「〇」で表現され、「異常」のラベルが付与された要素５７２は「×」で表現されている。
【０１６６】
グラフ表示エリア５２６に関連付けて、しきい値設定スライダ５３４が配置されている。しきい値設定スライダ５３４に対するユーザ操作に連動して、設定されている第１しきい値が更新されるとともに、グラフ表示エリア５２６に表示される第１しきい値表示ライン５５６の位置が変動する。このように、しきい値設定スライダ５３４は、グラフ表示エリア５２６に表示されたスコアに対するしきい値の設定を受付ける。
【０１６７】
しきい値設定スライダ５３４により設定される第１しきい値の数値は、数値表示５３２に示される。しきい値設定スライダ５３４に対するユーザ操作に連動して、数値表示５３２の値も更新される。また、第１しきい値のデフォルト値として、解析ツール２３０の特徴量選択機能２７４およびパラメータ決定機能２７６（図７参照）によって予め算出される初期値が設定されてもよい。
【０１６８】
グラフ表示エリア５２６には、第１しきい値を示す第１しきい値表示ライン５５６に加えて、第２しきい値を示す第２しきい値表示ライン５５８も表示される。このように、図１５に示すユーザインターフェイス画面５２０においては、２つのしきい値の設定が可能になっている。
【０１６９】
ユーザインターフェイス画面５２０においては、より具体的には、第２しきい値は、「警告の差」との説明が付与されているしきい値差設定ボックス５４０に設定される数値に基づいて決定される。すなわち、第１しきい値からしきい値差設定ボックス５４０に設定される数値が差し引かれた値が第２しきい値として算出される。グラフ表示エリア５２６における、第１しきい値表示ライン５５６と第２しきい値表示ライン５５８との距離差５６０が、しきい値差設定ボックス５４０に設定される数値に相当する。
【０１７０】
なお、第１しきい値および第２しきい値に対して、それぞれスライダを配置してもよく、さらに、第１しきい値および第２しきい値をそれぞれ設定するための任意の方法を採用できる。
【０１７１】
このように、サポート装置２００の解析モジュール２７０は、第１判定基準および第２判定基準として、スコアのデータ系列に対する２つのしきい値の設定を受付ける。
【０１７２】
ヒストグラム表示エリア５５０には、グラフ表示エリア５２６に表示されるスコアの変化を示すグラフ５２８に含まれる要素の分布を示すヒストグラムが表示される。ヒストグラム表示エリア５５０においては、「正常」のラベルが付与されている状態値に対応するスコアについてのヒストグラム５５２と、「異常」のラベルが付与されている状態値に対応するスコアについてのヒストグラム５５４とが異なる表示態様で示されている。ヒストグラム表示エリア５５０に表示されるヒストグラムを確認することで、選択した各ラベルの付与されたスコアの分布状態や分布の差を確認できる。
【０１７３】
図１５に示すユーザインターフェイス画面５２０には、さらに、検知精度を示す１または複数の指標値が表示される。具体的な一例として、ユーザインターフェイス画面５２０には、正答率を示す数値表示５３０と、見逃し率を示す数値表示５４４と、見過ぎ率を示す数値表示５４６と、異常確率を示す数値表示５４８とが配置されている。各数値表示が示す指標値の意味については、後述する。
【０１７４】
なお、検知精度を示す指標値としては、図１５に示されるものに限られず、ユーザが検知精度を確認できる指標値であれば、任意の指標値を表示するようにしてもよい。
【０１７５】
ユーザインターフェイス画面５２０のリセットボタン５３６が選択されると、解析ツール２３０の特徴量選択機能２７４によって予め選択された特徴量が選択されている状態（デフォルト状態）にリセットされる。
【０１７６】
ユーザインターフェイス画面５２０の学習データ生成ボタン５３８が選択されると、当該時点において設定されている内容に従って、学習データセット１６０および異常検知用パラメータ１６２が生成される。
【０１７７】
再度図１３を参照して、ユーザは、図１４に示すユーザインターフェイス画面５００、および、図１５に示すユーザインターフェイス画面５２０を適宜操作して、ユーザインターフェイス画面５２０の学習データ生成ボタン５３８が選択すると（ステップＳ１８においてＹＥＳ）、解析ツール２３０は、監視対象を示すモデル（学習データセット１６０および異常検知用パラメータ１６２）を生成する（ステップＳ２０）。すなわち、解析ツール２３０は、ユーザが調整したパラメータに基づいて、監視対象についてのモデルを生成する。
【０１７８】
そして、サポート装置２００から制御装置１００に対して、ステップＳ２０において生成されたモデル（学習データセット１６０および異常検知用パラメータ１６２）が送信され（ステップＳ２２）、実運用が開始される（ステップＳ２４）。
【０１７９】
なお、実運用開始後に、実運用における検知率などを定期的に確認し、検知率が悪い（監視対象が正常な状態であるのに異常と検知してしまった頻度が相対的に多い、および／または、正常と検知したのに監視対象が正常な状態ではなかった頻度が相対的に多い）場合には、制御装置１００において収集された状態値を用いて、再度モデル生成を行ってもよい。
【０１８０】
＜Ｈ．解析ツール２３０の機能および処理＞
次に、本実施の形態に係るサポート装置２００に含まれる解析ツール２３０が提供する機能および処理について説明する。以下に説明する機能および処理は、図１４および図１５に示されるユーザインターフェイス画面が表示される前段階で実行される。すなわち、解析ツール２３０による処理結果を用いて、図１４および図１５に示されるユーザインターフェイス画面が提供される。
【０１８１】
図１６は、本実施の形態に係るサポート装置２００の解析ツール２３０が実行する処理手順を示すフローチャートである。図１６のフローチャートに含まれる処理は、解析ツール２３０の特徴量生成機能２７２、特徴量選択機能２７４およびパラメータ決定機能２７６（図７参照）によって実行される。図１６には、各機能が担当するステップを示す。
【０１８２】
図１６を参照して、サポート装置２００は、入力された生データ１４２に基づいて特徴量を生成する（ステップＳ１００）。この特徴量の生成は、解析ツール２３０の特徴量生成機能２７２を用いて実現される。通常、複数種類の特徴量が生成される。
【０１８３】
続いて、サポート装置２００は、ステップＳ１０２〜Ｓ１０６，Ｓ１２４およびＳ１２６の処理を実行する。これらの処理は、解析ツール２３０の特徴量選択機能２７４を用いて実現される。図１６のステップＳ１０２〜Ｓ１０６，Ｓ１２４およびＳ１２６の処理は、特徴量選択機能２７４による変数重要度の推定機能に相当する。
【０１８４】
具体的には、サポート装置２００は、生成された特徴量は「正常」のラベルが付与されたもののみであるか否かを判断する（ステップＳ１０２）。
【０１８５】
生成された特徴量が「正常」のラベルが付与されたもののみであれば（ステップＳ１０２においてＹＥＳ）、ステップＳ１２４およびＳ１２６の処理が実行される。これに対して、生成された特徴量が、「正常」のラベルが付与されたもの、および「異常」のラベルが付与されたもの、を含めば（ステップＳ１０２においてＮＯ）、ステップＳ１０２〜Ｓ１０６の処理が実行される。
【０１８６】
ステップＳ１０２において、サポート装置２００は、ステップＳ１００において生成された各特徴量の重要度を複数の手法でそれぞれ算出する（ステップＳ１０４）。そして、サポート装置２００は、各特徴量について、それぞれの手法で算出された重要度を統合してランク付けする（ステップＳ１０６）。
【０１８７】
ステップＳ１２４において、サポート装置２００は、ステップＳ１００において生成された各特徴量の重要度を複数の手法でそれぞれ算出する（ステップＳ１２４）。そして、サポート装置２００は、各特徴量について、それぞれの手法で算出された重要度を統合してランク付けする（ステップＳ１２６）。
【０１８８】
ステップＳ１０６およびステップＳ１２６においては、いずれも特徴量の重要度が算出されるが、「異常」のラベルが付与された特徴量が存在しないステップＳ１２６においては、算出できる重要度に制限がある。そのため、ステップＳ１０６およびＳ１２６においては、状況においては、生成された特徴量の各々について、一つの手法でのみ重要度を算出するようにしてもよい。
【０１８９】
以上のような処理によって、ステップＳ１００において生成された複数の特徴量について、重要度の高い順にランク付けされる。
【０１９０】
上述したステップＳ１０２〜Ｓ１０６，Ｓ１２４およびＳ１２６の処理は、解析ツール２３０の特徴量選択機能２７４が担当する。より具体的には、ステップＳ１０４およびＳ１２４において、解析ツール２３０の特徴量選択機能２７４は、生成された複数の特徴量の各々について、複数の手法に従って、それぞれ異常検知に有効な度合いを示す重要度をそれぞれ算出する。そして、ステップＳ１０６において、解析ツール２３０の特徴量選択機能２７４は、生成された複数の特徴量の各々について、複数の手法に従ってそれぞれ算出された複数の重要度を統合して、生成された複数の特徴量間の重要度のランクを決定する。これらの詳細については、後述する。
【０１９１】
続いて、サポート装置２００は、ステップＳ１０８〜Ｓ１１８またはステップＳ１２８，Ｓ１３０の処理を実行する。これらの処理は、解析ツール２３０のパラメータ決定機能２７６を用いて実現される。図１６のステップＳ１０８〜Ｓ１１８（ステップＳ１１０を除く）またはステップＳ１２８，Ｓ１３０の処理は、特徴量選択機能２７４による異常検知適用（スコア算出）の機能に相当し、図１６のステップＳ１１０の処理は、特徴量選択機能２７４による仮想データ生成の機能に相当する。
【０１９２】
まず、ステップＳ１０６の実行後、サポート装置２００は、ランクの高い順に特徴量をスコアの算出対象に追加する（ステップＳ１０８）。すなわち、重要度の高い特徴量が優先的に選択されてもよい。
【０１９３】
ここで、サポート装置２００は、学習データセットに仮想データを追加する（ステップＳ１１０）。ステップＳ１１０の学習データセットに仮想データを追加する処理の詳細については、後述する。
【０１９４】
続いて、サポート装置２００は、仮想データが追加された学習データセットを用いて、ステップＳ１０８において追加された特徴量を含む１または複数の特徴量に基づいて、スコアを算出する（ステップＳ１１２）。そして、サポート装置２００は、算出したスコアに基づいて、異常の検知精度を算出する（ステップＳ１１４）。サポート装置２００は、ステップＳ１１４において算出した異常の検知精度が前回算出された異常の検知精度より向上しているか否かを判断する（ステップＳ１１６）。前回算出された異常の検知精度より向上していれば（ステップＳ１１６においてＹＥＳ）、今回の処理において追加した特徴量を異常検知に用いる特徴量として登録する（ステップＳ１１８）。一方、前回算出された異常の検知精度より向上していなければ（ステップＳ１１６においてＮＯ）、今回の処理において追加した特徴量は、異常検知に用いる特徴量としては登録されない。
【０１９５】
ステップＳ１１０〜Ｓ１１８の処理は、異常検知に用いる特徴量として登録された特徴量の数が予め定められた数に到達するまで繰返される。
【０１９６】
一方、ステップＳ１２８の実行後、サポート装置２００は、ランクの高い順に予め定められた数の特徴量を、異常検知に用いる特徴量として登録する（ステップＳ１２８）。そして、サポート装置２００は、ステップＳ１２８において登録された、予め定められた数の特徴量に基づいてスコアを算出する（ステップＳ１３０）。
【０１９７】
最終的に、サポート装置２００は、いずれの場合であっても、算出されたスコアに基づいて、しきい値を自動設定する（ステップＳ１４０）。そして、処理は終了する。
【０１９８】
上述のステップＳ１０８およびＳ１２８において、解析ツール２３０のパラメータ決定機能２７６は、生成された複数の特徴量のうち１または複数の特徴量の組合せを選択する。
【０１９９】
ステップＳ１１０において、解析ツール２３０の特徴量選択機能２７４（仮想データ生成機能）は、選択された組合せの特徴量のデータ系列のうち少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成する。なお、追加学習データセットの生成に加えて、解析ツール２３０の特徴量選択機能２７４（仮想データ生成機能）は、評価データセットに統計的に生成された仮想の特徴量のデータ系列を追加して追加評価データセットを生成してもよい。
【０２００】
ここで、「評価データセット」は、学習データセットを用いて生成したモデルの異常検知能力、検知精度、識別能力などの評価に用いられるデータ系列を意味する。そのため、「評価データセット」は、予めラベルが付与されているデータ系列が好ましい。
【０２０１】
ステップＳ１１２，Ｓ１１４において、解析ツール２３０のパラメータ決定機能２７６は、ステップＳ１１０において生成された追加学習データセットを用いて、選択された組合せの特徴量に対応するモデルの検知精度を評価する。そして、ステップＳ１１６，Ｓ１１８において、解析ツール２３０のパラメータ決定機能２７６は、任意の特徴量が追加で選択されることで、検知精度が向上すると、当該任意の特徴量をモデルとして登録する。
【０２０２】
＜Ｉ．特徴量の重要度の算出およびランク付け＞
次に、図１６に示す解析ツール２３０の特徴量選択機能２７４が担当する処理（ステップＳ１０４，Ｓ１０６およびステップＳ１２４，Ｓ１２６）の詳細について説明する。
【０２０３】
図１７は、本実施の形態に係るサポート装置２００の解析ツール２３０が実行する特徴量の重要度を評価する処理を説明するための模式図である。図１７を参照して、解析ツール２３０の特徴量選択機能２７４は、各特徴量の重要度を複数の手法でそれぞれ算出する。図１７には、一例として、尖度、ロジスティック回帰、決定木の３つの手法でそれぞれ評価する例を示す。
【０２０４】
評価値コラム７０２に格納される尖度は、対象の特徴量７００のデータ系列についての頻度分布の鋭さを評価した値である。尖度が大きいほど、頻度分布のピークが鋭く、分布の裾が広いことを示す。異常検知に用いる統計量としては、尖度が大きいほど有益、すなわち重要であるとみなすことができる。
【０２０５】
また、対象の特徴量のデータ系列についての頻度分布の標準偏差を評価値として用いてもよい。この場合、標準偏差が大きいほど、特徴量に変化があり異常検知の能力が高い（すなわち、重要である）と判断できる。
【０２０６】
評価値コラム７０４に格納されるロジスティック回帰は、任意のロジスティック関数を対象の特徴量のデータ系列に適用して、尤度を最大化するロジスティック関数を規定するパラメータを探索する。最終的に探索されたパラメータに対応する尤度を重要度とみなす。すなわち、任意のロジスティック関数でより精度の高い推定ができる特徴量ほど、優先度が高いとみなすことができる。
【０２０７】
典型的には、ロジスティック回帰は、特徴量毎にパラメータの探索および尤度の算出を行うことができる。
【０２０８】
評価値コラム７０６に格納される決定木は、対象の特徴量のデータ系列に対して分類木を適用し、その分類能力を重要度として用いるものである。決定木のアルゴリズムとしては、ＣＡＲＴ、Ｃ４．５，ＩＤ３などが知られており、いずれのアルゴリズムを用いてもよい。
【０２０９】
このように、典型例としては、重要度は、少なくとも、特徴量のデータ系列についての尖度、特徴量のデータ系列に対してロジスティック回帰の実行によって得られる尤度、決定木のアルゴリズムに従って算出される重要度を含む。
【０２１０】
以上のように、各特徴量について重要度を示す値を複数の手法でそれぞれ算出し、それぞれの結果を統合した結果が評価値コラム７０８に格納される。評価値コラム７０８に格納される各評価値に基づいて、それぞれの特徴量に対するランク付けがなされる（ランクコラム７１０）。
【０２１１】
図１６のステップＳ１０６およびＳ１２６においては、図１７の評価値コラム７０８に格納されるそれぞれの評価値に基づいて、特徴量に対するランク付けが実施される。
【０２１２】
図１６のステップＳ１０２においては、「正常」および「異常」のラベルが付与された状態値が得られるので、図１７に示す、尖度、ロジスティック回帰、決定木の各手法を適用できる。一方、図１６のステップＳ１２２においては、「正常」のラベルが付与された状態値のみが存在する状態であるので、図１７に示すロジスティック回帰および決定木の適用は難しく、尖度および標準偏差の手法が適用される。
【０２１３】
以上のような処理手順によって決定される各特徴量についてのランクに基づいて、図１６に示すステップＳ１０８以下の処理、および／または、ステップＳ１２８以下の処理が実行される。
【０２１４】
上述したように、本実施の形態に係る異常検知システム１においては、複数の手法を用いて各特徴量の重要度をそれぞれ算出した上で、複数の手法におけるそれぞれの特徴量を統合して、各特徴量を重要度の観点からランク付けする。
【０２１５】
＜Ｊ．学習データセットへの仮想データの追加＞
次に、図１６に示す解析ツール２３０のパラメータ決定機能２７６が担当する処理（ステップＳ１１０）の詳細について説明する。
【０２１６】
学習データセットに含まれるデータの分布が歪んでいる（あるいは、偏っている）場合には、異常検知の精度を高めることが難しい。このような場合において、学習データセットに仮想データを追加することで、異常検知の精度を高める。
【０２１７】
図１８は、本実施の形態に係るサポート装置２００の解析ツール２３０による学習データセットへの仮想データを追加する処理を説明するための模式図である。図１８（Ａ）には、オリジナルの学習データセットの一例を示し、図１８（Ｂ）には、仮想データを追加した学習データセットの一例を示す。
【０２１８】
図１８（Ａ）には、オリジナルの学習データ８００を用いて生成したモデルに対して、評価データセット８０２を適用した場合に算出されるスコア８０４を示す。
【０２１９】
評価データセット８０２は、ラベル付けされた特徴量のデータセットの一部を学習データ８００として採用し、残りを評価データセット８０２として採用することで作成してもよい。すなわち、モデル生成の際に選択された組合せの特徴量のデータ系列のうち一部が学習データセットとして用いられるとともに、当該データ系列の残りが評価データセット８０２として用いられてもよい。
【０２２０】
図１８（Ａ）に示すスコア８０４の変化が示すように、学習データ８００のデータの分布が歪んでいる場合には、異常検知の精度を高めることが難しい。また、図１８（Ａ）に示すように、異常領域８０６，８０８において、スコア８０４の値に変化がなく、分解能を得られない。
【０２２１】
図１８（Ｂ）には、オリジナルの学習データ８１０にノイズ８１１を仮想データとして追加した学習データセットを用いて生成したモデルに対して、評価データセット８１２を適用した場合に算出されるスコア８１４を示す。
【０２２２】
図１８（Ｂ）に示すスコア８１４によれば、正常点（すなわち、学習データ）から離れるほど、より高いスコアを示すようになっており、学習データセットに含まれるデータの分布が歪んでいる（あるいは、偏っている）場合であっても、十分な異常検知できることが分かる。また、図１８（Ａ）と比較して、異常領域８１６，８１８においてスコア８１４の値に変化が大きく、分解能が増加していることが分かる。
【０２２３】
このように、スコア８０４としては、学習データセットに仮想データを追加した追加学習データセットからなるモデルに評価データセット８１２を適用したときの誤検知の確率に相当する。
【０２２４】
なお、評価データセット８１２についても、同様に仮想データを追加することができる。この場合には、評価データセット８１２に仮想データを追加した追加評価データセットを用いてスコア８０４（誤検知の確率）が算出されることになる。
【０２２５】
次に、学習データ８１０に追加する仮想データの生成方法の一例について説明する。
仮想データとしては、ある範囲の一様分布から生成するノイズなどを用いることが好ましい。このような仮想データを生成する手順としては、以下のようになる。
【０２２６】
（１）追加すべき仮想データの分布範囲を決定する（例えば、生成された特徴量のデータセットの最小値から最大値までの範囲に対して、最小値から任意のオフセットを減じた下限値から最大値に任意のオフセットを加えた上限値までの範囲などに設定できる。）。
【０２２７】
（２）追加すべき仮想データのデータ点数Ｎを決定する（例えば、Ｎ＝学習データセットに含まれるデータ点数×５％など。）。
【０２２８】
（３）追加すべき仮想データの１次元（１つの特徴量）あたりのデータ点数Ｍを決定する（すなわち、追加すべきデータ点数Ｎ＝データ点数Ｍ＾次元数となる。）。
【０２２９】
（４）追加すべき仮想データの刻み幅Ｌを算出する（（１）で決定した仮想データの分布範囲をデータ点数Ｍで割った幅に相当する。）。
【０２３０】
（５）最終的に、１次元（１つの特徴量）あたりの仮想データを生成する（（１）で決定した仮想データの分布範囲で刻み幅Ｌ毎にデータを生成する。）。
【０２３１】
（６）各次元の仮想データ（１次元あたりＮ個）の順列組合せにより、Ｍ個の全次元の要素を含む仮想データを生成する。
【０２３２】
図１９は、本実施の形態に係るサポート装置２００の解析ツール２３０により生成される仮想データの一例を示す模式図である。図１９には、２次元の仮想データを生成する例を示す。各次元（特徴量１および特徴量２）は、それぞれ３つの要素を有している。すなわち、特徴量１＝［１０，２０，３０］、特徴量２＝［−２０，０，２０］である場合、組合せにより生成された仮想データは、図１９に示すようになる。
【０２３３】
このように生成された仮想データは、生データから生成された特徴量のデータセットに対して付加されることで、学習データセットおよび評価データセットの両方または一部に仮想データを追加できる。なお、追加すべき仮想データの分布範囲、および、追加すべき仮想データの数を適宜変更できるようにしてもよい。
【０２３４】
以上のような処理手順によって、仮想データが生成される。
＜Ｋ．特徴量の重要度の算出およびランク付け＞
次に、図１６に示す解析ツール２３０のパラメータ決定機能２７６が担当する処理（ステップＳ１１２，Ｓ１１４，Ｓ１３０）の詳細について説明する。
【０２３５】
本実施の形態に係る異常検知システム１においては、例えば、ｉＦｏｒｅｓｔ法を用いた異常検知を実施する。ｉＦｏｒｅｓｔ法においては、モデル生成段階においては、学習データセットをランダムに設定されるパーティションで分割し、各パーティションをノードとする木構造を構成する。異常検知は、入力されたデータが予め作成されたモデルのルートノードまでの深さ（パス長さ、あるいは、経路上のパーティションの数）に基づいて、異常であるか否かを判断する。
【０２３６】
ｉＦｏｒｅｓｔ法を用いる場合には、ステップＳ１１２およびＳ１３０において算出されるスコアは、学習データセットをパーティションに分割した場合のパス長さに基づいて算出できる。さらに、ステップＳ１１４における異常の検知精度の算出方法としては、False Positive軸とTrue Positive軸とにより規定されるＲＯＣ（Receiver Operating Characteristic）曲線に基づいて、ＡＵＣ（Under Area the Curve）を算出することで実現できる。
【０２３７】
ＡＵＣは、ＲＯＣ曲線の下側面積を意味し、判別アルゴリズムの性能の良さを表す指標である。ＡＵＣは、０から１までの値をとり、完全な分類が可能なときの面積は１となる。
【０２３８】
図２０は、本実施の形態に係る異常検知処理において算出される検知精度を算出するための指標値の一例を示す模式図である。図２０を参照して、真陽性（ＴＰ：True Positive）は、「異常」のラベルが付与されている状態値に対して、「異常」と判断したサンプル数を意味する。偽陽性（ＦＰ：False Positive）は、「正常」のラベルが付与されている状態値に対して、「異常」と判断（第１種の過誤）したサンプル数を意味する。真陰性（ＴＮ：True Negative）は、「正常」のラベルが付与されている状態値に対して、「正常」と判断したサンプル数を意味する。偽陰性（ＦＮ：False Negative）は、「異常」のラベルが付与されている状態値に対して、「正常」と判断（第２種の過誤）したサンプル数を意味する。
【０２３９】
ＲＯＣ曲線は、横軸が偽陽性（ＦＰ）の割合であるＦＰＲ（False Positive Rate）（False Positive軸と）であり、縦軸が真陽性（ＴＰ）の割合であるＴＰＲ（True Positive Rate）（True Positive軸）である座標系において、しきい値を順次変化させた結果をプロットしたものである。ここで、ＦＰＲ＝ＦＰ／（ＦＰ＋ＴＮ）、ＴＰＲ＝ＴＰ／（ＴＰ＋ＦＮ）である。
【０２４０】
図２１は、本実施の形態に係る異常検知処理におけるＡＵＣの算出処理を説明するための模式図である。図２１に示すＲＯＣ曲線において、ステップ的に変化している各部が設定された各しきい値に対応する。ＲＯＣ曲線より下側の領域の面積がＡＵＣに相当する。しきい値をより細かく変化させることで、検知精度をより正確に算出できる。
【０２４１】
上述の図１６のステップＳ１１４に示される異常の検知精度の算出処理においては、例えば、ステップＳ１１２において算出されるサイクル毎のスコアの集合を、ＡＵＣを算出するためのしきい値リストとして採用することができる。しきい値リストに含まれるしきい値毎に、真陽性（ＴＰ）、偽陽性（ＦＰ）、真陰性（ＴＮ）、偽陰性（ＦＮ）をそれぞれ算出するとともに、対応するＴＰＲおよびＦＰＲを算出する。そして、しきい値毎に算出されるＴＰＲとＦＰＲとの組をプロットすることでＲＯＣ曲線を決定し、決定されたＲＯＣ曲線からＡＵＣ（ＲＯＣ曲線の下側の面積）を算出する。
【０２４２】
このように、サポート装置２００の解析モジュール２７０は、スコアのデータ系列に含まれる各要素に付与されたラベルと、スコアのデータ系列に対してユーザにより指定された判定基準を適用したときの判定結果とに基づいて、検知精度を示す指標値を算出する。
【０２４３】
より具体的には、学習データセットに含まれる、「正常」のラベルが付与されているデータと、「異常」のラベルが付与されているデータとを用いて、誤検知（「正常」のラベルが付与されているデータを「異常」と判断する、あるいは、「異常」のラベルが付与されているデータを「正常」と判断する）する確率を評価する。
【０２４４】
＜Ｌ．しきい値の自動設定および検知精度を示す指標値の算出＞
次に、図１６に示す解析ツール２３０のパラメータ決定機能２７６が担当する処理（ステップＳ１４０）の詳細について説明する。
【０２４５】
先に、検知精度を示す指標値の一例について説明する。図１５に示すユーザインターフェイス画面５２０に示される、見逃し率（ＦＮＲ）、見過ぎ率（ＦＰＲ）、および、正答率（Accuracy）の算出には、真陽性（ＴＰ）、偽陽性（ＦＰ）、真陰性（ＴＮ）、および、偽陰性（ＦＮ）が用いられる。
【０２４６】
見逃し率（図１５の見逃し率を示す数値表示５４４に対応）は、異常のラベルが付与されたサンプル数のうち、誤って正常と判定されたサンプルの確率を示す。すなわち、見逃し率は、異常のラベルが付与された要素を正常と判定した確率を意味する。具体的には、以下のような式で示される。
【０２４７】
見逃し率（ＦＮＲ）＝ＦＮ／（ＴＰ＋ＦＮ）＝１−感度（Sensitivity）
見過ぎ率（図１５の見過ぎ率を示す数値表示５４６に対応）は、正常のラベルが付与されたサンプル数のうち、誤って異常と判定されたサンプルの確率を示す。すなわち、見過ぎ率は、正常のラベルが付与された要素を異常と判定した確率を意味する。具体的には、以下のような式で示される。
【０２４８】
見過ぎ率（ＦＰＲ）＝ＦＰ／（ＦＰ＋ＴＮ）＝１−特異度（Specificity）
正答率は、全サンプルのうち、正常のラベルが付与されたサンプルを正常と判断し、異常のラベルが付与されたサンプルを異常と判断した確率を示す。すなわち、正答率は、要素に付与されたラベルどおりの判定がなされた確率を意味する。具体的には、以下のような式で示される。
【０２４９】
正答率＝（ＴＰ＋ＴＮ）／総サンプル数
異常確率（図１５の異常確率を示す数値表示５４８に対応）は、サンプルの分布に占める、「異常」と判断される領域（＝しきい値を超える領域）の割合を示す。
【０２５０】
なお、検知精度を示す指標値としては、上述した、見逃し率、見過ぎ率、正答率、異常確率のすべてを採用する必要はなく、これらのうち少なくとも１つを含んでいればよい。
【０２５１】
次に、しきい値の自動設定処理について説明する。
図２２は、本実施の形態に係る異常検知処理におけるしきい値の自動設定に係る処理を説明するための模式図である。図２２を参照して、サイクル毎の１または複数の特徴量９００、ならびに、対応するラベル９０２に対して、スコア９０４がそれぞれ算出される。スコア９０４の算出に用いられる特徴量９００は、先の処理によって決定されている。スコア９０４は、各サイクルの特徴量９００を異常検知エンジン２８６（図７）に与えることで算出される。
【０２５２】
各サイクルについて算出されたスコア９０４に対して、複数のしきい値を用いて評価が繰返し実施される。図２２には、あるしきい値が設定されたときに出力される、判定結果９０６および評価９０８の例を示す。
【０２５３】
判定結果９０６は、各サイクルについて算出されたスコア９０４が設定されているしきい値を超えているか否かに基づいて、「正常」および「異常」のいずれであるかを判断した結果である。
【０２５４】
さらに、各サイクルについて出力された判定結果９０６と、対応するラベル９０２とを比較して、評価９０８が決定される。評価９０８は、ラベル９０２と判定結果９０６との結果に基づいて決定される、真陽性（ＴＰ）、偽陽性（ＦＰ）、真陰性（ＴＮ）、偽陰性（ＦＮ）のいずれかを示す。
【０２５５】
あるしきい値について出力された評価９０８の内容に基づいて、正答率、見逃し率、見過ぎ率がそれぞれ算出できる。判定結果９０６および評価９０８は、しきい値が変更される毎に更新されるため、検知精度を示す指標値（正答率、見逃し率、見過ぎ率）が好ましい状態になるしきい値が再帰的に決定される。
【０２５６】
検知精度を示す指標値が好ましい状態とは、典型的には、正答率が最大値を示し、見逃し率および見過ぎ率がいずれも最小値を示す状態である。
【０２５７】
なお、異常確率は、各サイクルについて算出されたスコア９０４をＢｏｘ−Ｃｏｘ変換（すなわち、データの分布を正規分布に近付ける変換）して、ユーザが指定する任意の統計的な指標（例えば、３σや５σなど）をしきい値として用いることで、算出してもよい。
【０２５８】
以上のような処理によって、初期のしきい値が自動的に設定される。さらに、ユーザが初期のしきい値を変更した場合には、検知精度を示す指標値が再度算出されて、ユーザに提示される。ユーザは、しきい値に応じて変化する検知精度を示す指標値を確認しながら、最適なしきい値を設定する。上述したように、本実施の形態に係る異常検知システム１においては、複数のしきい値（例えば、第１しきい値および第２しきい値など）の設定が可能である。ユーザが複数のしきい値を設定した場合には、その設定されたそれぞれのしきい値が異常検知用パラメータの一部として出力される。
【０２５９】
図２３は、図１６に示すフローチャートのステップＳ１４０に示されるしきい値の自動設定に係るより詳細な処理手順を示すフローチャートである。図２３を参照して、サポート装置２００は、しきい値を任意の初期値に設定し（ステップＳ１４０１）、図１６のＳ１１２またはＳ１３０において算出されたサイクル毎のスコアに対して、現在設定されているしきい値を用いて異常検知処理を実行することで、各サイクルについての判定結果を出力する（ステップＳ１４０２）。続いて、サポート装置２００は、各サイクルに付与されたラベルと、ステップＳ１４０２において出力された各サイクルについての判定結果とに基づいて、評価（真陽性（ＴＰ）、偽陽性（ＦＰ）、真陰性（ＴＮ）、偽陰性（ＦＮ）のいずれか）を出力する（ステップＳ１４０３）。そして、サポート装置２００は、検知精度を示す指標値（正答率、見逃し率、見過ぎ率）を算出する（ステップＳ１４０４）。
【０２６０】
続いて、サポート装置２００は、ステップＳ１４０４において算出された検知精度を示す指標値（正答率、見逃し率、見過ぎ率）が収束条件を満たしているか否かを判断する（ステップＳ１４０５）。収束条件は、検知精度を示す指標値が好ましい状態であると判断するための条件である。
【０２６１】
収束条件が満たされていなければ（ステップＳ１４０５においてＮＯ）、サポート装置２００は、現在のしきい値を新たなしきい値に変更し（ステップＳ１４０６）、ステップＳ１４０２以下の処理を繰返す。
【０２６２】
収束条件が満たされていれば（ステップＳ１４０５においてＹＥＳ）、サポート装置２００は、現在のしきい値を初期値として決定する（ステップＳ１４０７）。この決定されたしきい値の初期値は、図１５に示されるユーザインターフェイス画面５２０に反映される。
【０２６３】
その後、サポート装置２００は、しきい値を変更するためのユーザ操作が与えられたか否かを判断する（ステップＳ１４０８）。しきい値を変更するためのユーザ操作が与えられると（ステップＳ１４０８においてＹＥＳ）、サポート装置２００は、図１６のＳ１１２またはＳ１３０において算出されたサイクル毎のスコアに対して、変更後のしきい値を用いて異常検知処理を実行することで、各サイクルについての判定結果を出力する（ステップＳ１４０９）。
【０２６４】
続いて、サポート装置２００は、各サイクルに付与されたラベルと、ステップＳ１４０９において出力された各サイクルについての判定結果とに基づいて、評価（真陽性（ＴＰ）、偽陽性（ＦＰ）、真陰性（ＴＮ）、偽陰性（ＦＮ）のいずれか）を出力する（ステップＳ１４１０）。そして、サポート装置２００は、検知精度を示す指標値（正答率、見逃し率、見過ぎ率）を算出する（ステップＳ１４１１）。算出された検知精度を示す指標値は、図１５に示されるユーザインターフェイス画面５２０に反映される。
【０２６５】
このように、サポート装置２００は、設定されるしきい値が変更されると、検知精度を示す指標値も更新する。
【０２６６】
続いて、サポート装置２００は、図１５に示されるユーザインターフェイス画面５２０の学習データ生成ボタン５３８が選択されるまで（ステップＳ１４１２においてＹＥＳ）、ステップＳ１４０８以下の処理を繰返す。
【０２６７】
以上のような処理手順によって、しきい値が自動設定されるとともに、検知精度を示す指標値（正答率、見逃し率、見過ぎ率）が適宜算出される。
【０２６８】
＜Ｍ．検知精度を示す指標値の表示例＞
次に、上述したような検知精度を示す指標値の表示例について説明する。
【０２６９】
再度図１５を参照して、検知精度を示す指標値の一例として、正答率を示す数値表示５３０と、見逃し率を示す数値表示５４４と、見過ぎ率を示す数値表示５４６と、異常確率を示す数値表示５４８とが配置されている。さらに、見逃しおよび見過ぎが発生している要素を視覚化してもよい。
【０２７０】
図２４および図２５は、検知精度を示す指標値の表示例を示す模式図である。図２４および図２５に示すユーザインターフェイス画面５２０においては、見逃し率を示す数値表示５４４と、見過ぎ率を示す数値表示５４６と、異常確率を示す数値表示５４８とがユーザ選択可能になっている。ユーザがいずれかの数値表示を選択すると、選択した指標に対応する要素が強調表示される。
【０２７１】
図２４に示されるユーザインターフェイス画面５２０においては、見逃し率を示す数値表示５４４が選択されており、見逃しが発生している要素５８０が他の要素とは異なる態様で、強調して表示されている。見逃しが発生している要素５８０は、正常のラベルが付与されているものの、異常と判定された要素である。すなわち、正常のラベルが付与された要素のうち、第１しきい値表示ライン５５６の下側に位置する要素が強調表示されている。
【０２７２】
図２５に示されるユーザインターフェイス画面５２０においては、見過ぎ率を示す数値表示５４６が選択されており、見過ぎが発生している要素５８２が他の要素とは異なる態様で、強調して表示されている。見過ぎが発生している要素５８２は、異常のラベルが付与されているものの、正常と判定された要素である。すなわち、異常のラベルが付与された要素のうち、第１しきい値表示ライン５５６の上側に位置する要素が強調表示されている。
【０２７３】
なお、異常確率を示す数値表示５４８が選択されると、異常確率として算出された統計的な指標（スコア分布の３σなど）を超えている要素を強調表示してもよい。
【０２７４】
図２４および図２５に示すようなユーザインターフェイス画面５２０を提供することで、ユーザは、設定したしきい値が妥当な評価結果（判定結果）を生じるかを容易に予測できる。
【０２７５】
＜Ｎ．変形例＞
図２に示す異常検知システム１においては、制御装置１００とサポート装置２００とがそれぞれ独立した構成となっているが、サポート装置２００の機能の全部または一部を制御装置１００に組み入れるようにしてもよい。例えば、サポート装置２００に実装される解析ツール２３０を、制御装置１００に実装することで、生データの伝送やモデル生成処理の繰返し実行をより容易に実現できる。
【０２７６】
上述の図６および図７に示すモジュール構成は一例であり、上述したような機能を提供できる限り、どのような実装を採用してもよい。例えば、ハードウェア上の制約や、プログラミング上の制約などによって、図６および図７に示す機能モジュールを複数の機能モジュールの集合として実装してもよいし、図６および図７に示す複数の機能モジュールを単一のモジュールとして実装してもよい。
【０２７７】
＜Ｏ．付記＞
上述したような本実施の形態は、以下のような技術思想を含む。
［構成１］
制御対象を制御するための制御演算を実行する制御演算部（１０；１３０）と、
前記制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第１異常検知部（２０；１５０）とを備え、
前記第１異常検知部は、
前記異常検知用パラメータに従って、前記監視対象に関連する状態値から算出される特徴量を用いてスコアを算出する算出部（２２）と、
前記算出部により算出されるスコアと前記異常検知用パラメータに含まれる第１判定基準および第２判定基準を用いてそれぞれ判定することで、前記第１判定基準に合致している場合には第１判定結果を出力し、前記第２判定基準に合致している場合には第２判定結果を出力する判定部（２４）とを含む、異常検知システム。
［構成２］
前記第１判定基準は、前記第２判定基準に比較して、前記スコアがより高い値を示す場合に合致するように設定されており、
前記第１判定基準に対応する前記第１判定結果は、前記第２判定基準に対応する前記第２判定結果に比較して、異常の度合いがより高いことを示す、構成１に記載の異常検知システム。
［構成３］
前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部（１４０）と、
前記状態値格納部から提供される前記状態値を用いて、前記第１異常検知部と実質的に同一の検知処理を実行する第２異常検知部（２８６）と、
前記第２異常検知部による検知結果に基づいて、前記第１異常検知部に対して設定される、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部（２７０）とをさらに備える、構成１または２に記載の異常検知システム。
［構成４］
前記モデル生成部は、
前記状態値格納部から提供される前記状態値から生成される１または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、
前記第１判定基準および前記第２判定基準として、前記スコアのデータ系列に対する２つのしきい値の設定を受付ける手段とを含む、構成３に記載の異常検知システム。
［構成５］
前記モデル生成部は、前記スコアのデータ系列に含まれる各要素に付与されたラベルと、前記スコアのデータ系列に対してユーザにより指定された判定基準を適用したときの判定結果とに基づいて、検知精度を示す指標値を算出する手段を含む、構成４に記載の異常検知システム。
［構成６］
前記検知精度を示す指標値は、
異常のラベルが付与された要素を正常と判定した確率である見逃し率と、
正常のラベルが付与された要素を異常と判定した確率である見過ぎ率と、
要素に付与されたラベルどおりの判定がなされた確率である正答率と、
のうち少なくとも１つを含む、構成５に記載の異常検知システム。
［構成７］
前記モデル生成部は、設定されるしきい値が変更されると、前記検知精度を示す指標値を更新する、構成５または６に記載の異常検知システム。
［構成８］
前記判定部からの判定結果に応じた形態で報知動作を行う報知装置（１８）をさらに備える、構成１〜７のいずれか１項に記載の異常検知システム。
［構成９］
制御対象を制御するための制御装置（１００）に接続されるサポート装置（２００）であって、前記制御装置は、前記制御対象を制御するための制御演算を実行する制御演算部（１３０）と、前記制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第１異常検知部（１５０）と、前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部（１４０）とを含み、前記サポート装置は、
前記状態値格納部から提供される前記状態値を用いて、前記第１異常検知部と実質的に同一の検知処理を実行する第２異常検知部（２８６）と、
前記第２異常検知部による検知結果に基づいて、前記第１異常検知部に対して設定される、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部（２７０）とを備え、
前記モデル生成部は、
前記状態値格納部から提供される前記状態値から生成される１または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、
前記スコアのデータ系列に対して、第１判定基準および第２判定基準の設定を受付ける手段とを含む、サポート装置。
［構成１０］
制御対象を制御するための制御演算を実行するステップ（１０；１３０）と、
前記制御演算に関して収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知するステップ（Ｓ５０〜Ｓ６８）とを備え、
前記異常を検知するステップは、
前記異常検知用パラメータに従って、前記監視対象に関連する状態値から算出される特徴量を用いてスコアを算出するステップ（Ｓ５８）と、
前記算出されるスコアと前記異常検知用パラメータに含まれる第１判定基準および第２判定基準を用いてそれぞれ判定するステップ（Ｓ６０，Ｓ６４）と、
前記算出されるスコアが前記第１判定基準に合致している場合には第１判定結果を出力し、前記第２判定基準に合致している場合には第２判定結果を出力するステップ（Ｓ６２，Ｓ６６）とを含む、異常検知方法。
【０２７８】
＜Ｐ．利点＞
本実施の形態に係る異常検知システムにおいては、監視対象に関連する状態値から生成される１または複数の特徴量から算出されるスコアに対して、１または複数の判定基準（典型的には、しきい値）を任意に設定可能である。設定された各判定基準に応じた異なる報知動作なども可能である。
【０２７９】
このような異常検知の表現の種類を豊富化することによって、保全員などは、どのような判定基準を設定すべきかを判断するための知見をより容易に得ることができる。また、保全員などは、それぞれの判定基準に応じて、優先順次をつけて、監視対象の設備などの保全作業を行うことができる。さらに、製造現場などで多数配置されている信号灯などの報知装置への適用も容易である。
【０２８０】
また、本実施の形態に係る異常検知システムにおいては、検知精度を示す１または複数の指標値が提供される。保全員などのユーザは、検知精度を示す指標値を参照することで、各監視対象に対して設定すべき判定基準を最適化できる。このような検知精度を示す指標値を参照することで、実際に機械や装置において何らかの異常が発生してから、判定基準を変更するといった、予知保全からは外れる業務を低減できる。また、判定基準を設定するための試行錯誤的な検証などを行う必要がなく、保全業務を効率化できる。
【０２８１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２８２】
１  異常検知システム、２，４  フィールドネットワーク、６  上位ネットワーク、１０  制御演算部、１６，１２４  Ｉ／Ｏユニット、１８  報知装置、２０  異常検知部、２２  算出部、２４  判定部、１００  制御装置、１０２，２０２  プロセッサ、１０４  チップセット、１０６，２０６  主記憶装置、１０８，２０８  二次記憶装置、１１０，２１４  上位ネットワークコントローラ、１１２，２１２  ＵＳＢコントローラ、１１４  メモリカードインターフェイス、１１６  メモリカード、１１８，１２０  フィールドバスコントローラ、１２２  内部バスコントローラ、１３０  ＰＬＣエンジン、１３２  ユーザプログラム、１３４  特徴量生成命令、１３６  書込命令、１３８  変数、１４０  時系列データベース、１４２  生データ、１５０，２８６  異常検知エンジン、１６０  学習データセット、１６２  異常検知用パラメータ、２００  サポート装置、２０４  光学ドライブ、２０５  記録媒体、２１６  入力部、２１８  表示部、２２０  バス、２２２  開発プログラム、２２４  ＰＬＣインターフェイスプログラム、２２６  解析プログラム、２２８  ＯＳ、２３０  解析ツール、２３２  ＰＬＣインターフェイス、２３４  可視化モジュール、２３６  イベント管理モジュール、２４０  ユーザインターフェイス、２４２  スクリプトエンジン、２４４  設定ファイル、２５０  ファイル管理モジュール、２５２  データ入力機能、２５４  データ生成機能、２６０  画面生成モジュール、２６２  折れ線グラフ生成機能、２６４  パラメータ調整機能、２６６  グラフライブラリ、２７０  解析モジュール、２７２  特徴量生成機能、２７４  特徴量選択機能、２７６  パラメータ決定機能、２８０  解析ライブラリ、２８２  特徴量生成ライブラリ、２８４  特徴量選択ライブラリ、３００  データベースサーバ、４００  操作表示装置、５００，５２０  ユーザインターフェイス画面、５０２，５２２  選択受付エリア、５０６，５２６  グラフ表示エリア、５０８，５２８  グラフ、５１０  異常範囲、５１２，５５０  ヒストグラム表示エリア、５１４  ラベル付与ツール、５１６  正常ラベル設定ボタン、５１７  異常ラベル設定ボタン、５１８  ラベル設定範囲指定ボタン、５２４  チェックボックス、５３０，５３２，５４４，５４６，５４８  数値表示、５３４  値設定スライダ、５３６  リセットボタン、５３８  学習データ生成ボタン、５４０  しきい値差設定ボックス、５４２  変数選択数表示、５５２，５５４  ヒストグラム、５５６，５５８  値表示ライン、５６０  距離差、５７０，５７２，５８０，５８２  要素、６００  包装機、６０４  包装体、６０５  被包装物、６０６  個別包装体、６１０，６２０  ロータ、６１２，６２２  回転軸、６１４，６２４  処理機構、６１５，６１６，６２５，６２６  ヒータ、６１７，６２７  カッター、６１８，６２８  サーボモータ、６１９，６２９  サーボドライバ、７００，９００  特徴量、７０２，７０４，７０６，７０８  評価値コラム、７１０  ランクコラム、８００，８１０  学習データ、８０２，８１２  評価データセット、８０４，８１４，９０４  スコア、８０６，８０８，８１６，８１８  異常領域、８１１  ノイズ、９０２  ラベル、９０６  判定結果、９０８  評価。
【図１】
2019179395.tif 000003
【図２】
2019179395.tif 000004
【図３】
2019179395.tif 000005
【図４】
2019179395.tif 000006
【図５】
2019179395.tif 000007
【図６】
2019179395.tif 000008
【図７】
2019179395.tif 000009
【図８】
2019179395.tif 000010
【図９】
2019179395.tif 000011
【図１０】
2019179395.tif 000012
【図１１】
2019179395.tif 000013
【図１２】
2019179395.tif 000014
【図１３】
2019179395.tif 000015
【図１４】
2019179395.tif 000016
【図１５】
2019179395.tif 000017
【図１６】
2019179395.tif 000018
【図１７】
2019179395.tif 000019
【図１８】
2019179395.tif 000020
【図１９】
2019179395.tif 000021
【図２０】
2019179395.tif 000022
【図２１】
2019179395.tif 000023
【図２２】
2019179395.tif 000024
【図２３】
2019179395.tif 000025
【図２４】
2019179395.tif 000026
【図２５】
2019179395.tif 000027