(57)【要約】【課題】異常データを検出するための閾値を容易に設定すること。【解決手段】算出部１５ａが、複数の正常なデータと複数の異常なデータとを取得して、各データの異常スコアを算出し、導出部１５ｂが、異常スコアの値ごとに、当該値を異常と判定するための閾値とした場合の異常なデータを異常と判定する割合である異常検出率と正常なデータを異常と判定する割合である誤検知率とを算出し、該異常検出率と該誤検知率との関係を表す曲線を導出し、特定部１５ｃが、ＲＯＣ曲線上において判定の精度が最大となる点に対応する異常スコアの値を閾値として特定する。【選択図】図２
2018190128.tif 000002
【特許請求の範囲】
【請求項１】
複数の正常なデータと複数の異常なデータとを取得して、各データの異常スコアを算出する算出部と、
前記異常スコアの値ごとに、当該値を異常と判定するための閾値とした場合の異常なデータを異常と判定する割合である異常検出率と正常なデータを異常と判定する割合である誤検知率とを算出し、該異常検出率と該誤検知率との関係を表す曲線を導出する導出部と、
前記曲線上において前記判定の精度が最大となる点に対応する前記異常スコアの値を閾値として特定する特定部と、
を備えることを特徴とする設定装置。
【請求項２】
前記特定部は、前記曲線上の点のうち、点（０，１）に最も近い点、または、原点を通る傾き１の直線から最も遠い点における異常スコアの値を閾値として特定することを特徴とする請求項１に記載の設定装置。
【請求項３】
前記特定部は、前記異常検出率または前記誤検知率の指定された範囲で前記閾値を特定することを特徴とする請求項１または２に記載の設定装置。
【請求項４】
分析装置と設定装置とを有する分析システムであって、
前記分析装置は、
予測モデルを構築する際に実行される複数の処理のそれぞれに対応し、対応する処理の設定内容を順次決定するステップにおいて、設定内容が決定されるたびに、次に実行されるステップを選択する選択部と、
前記複数の処理のうち、設定内容が決定済みの処理を当該決定済みの設定内容を適用して行うとともに、前記選択部によって選択されたステップに対応する処理を設定内容の候補のそれぞれを適用して行った場合に構築される予測モデルのそれぞれについて予測精度を計算する計算部と、
前記計算部によって計算された各予測精度を比較し、前記設定内容の候補のうち予測精度が最も高くなる設定内容の候補を、前記選択部によって選択されたステップに対応する処理の設定内容に決定する決定部と、を備え、
前記設定装置は、
複数の正常なデータと複数の異常なデータとを取得して、各データの異常スコアを算出する算出部と、
前記異常スコアの値ごとに、当該値を異常と判定するための閾値とした場合の異常なデータを異常と判定する割合である異常検出率と正常なデータを異常と判定する割合である誤検知率とを算出し、該異常検出率と該誤検知率との関係を表す曲線を導出する導出部と、
前記曲線上の点のうち、点（０，１）に最も近い点、および、原点を通る傾き１の直線から最も遠い点における異常スコアの値を閾値として特定し、前記分析装置の前記設定内容の候補として出力する特定部と、を備える
ことを特徴とする分析システム。
【請求項５】
設定装置で実行される設定方法であって、
複数の正常なデータと複数の異常なデータとを取得して、各データの異常スコアを算出する算出工程と、
前記異常スコアの値ごとに、当該値を異常と判定するための閾値とした場合の異常なデータを異常と判定する割合である異常検出率と正常なデータを異常と判定する割合である誤検知率とを算出し、該異常検出率と該誤検知率との関係を表す曲線を導出する導出工程と、
前記曲線上において前記判定の精度が最大となる点に対応する前記異常スコアの値を閾値として特定する特定工程と、
を含んだことを特徴とする設定方法。
【請求項６】
複数の正常なデータと複数の異常なデータとを取得して、各データの異常スコアを算出する算出ステップと、
前記異常スコアの値ごとに、当該値を異常と判定するための閾値とした場合の異常なデータを異常と判定する割合である異常検出率と正常なデータを異常と判定する割合である誤検知率とを算出し、該異常検出率と該誤検知率との関係を表す曲線を導出する導出ステップと、
前記曲線上において前記判定の精度が最大となる点に対応する前記異常スコアの値を閾値として特定する特定ステップと、
をコンピュータに実行させることを特徴とする設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設定装置、分析システム、設定方法および設定プログラムに関する。
【背景技術】
【０００２】
近年、機械学習を用いたデータ分析の適用事例が増加している。一方、データ分析に不可欠な統計や機械学習の知識の習得には、中長期的な教育が必要となる。そこで、非専門家が、統計や機械学習の知識を習得しなくても容易にデータ分析に従事できるよう、データ分析を支援する技術が開示されている（非特許文献１，２参照）。
【０００３】
また、あるデータのまわりの密度がその他のデータのまわりの密度と比べて小さいかどうかを評価する異常スコアを算出する、ＬＯＦ（Local  Outlier  Factor）と呼ばれる機械学習のアルゴリズムが知られている。ＬＯＦによって算出された異常スコアを適用することにより、異常検知を行うことが可能となる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Matthias  Feurer，Aaron  Klein，Katharina  Eggensperger，Jost  Tobias  Springenberg，Manuel  Blum，Frank  Hutter，“Efficient  and  Robust  Automated  Machine  Learning”，NIPS'15  Proceedings  of  the  28th  International  Conference  on  Neural  Information  Processing  Systems，2015年12月，PP.2755-2763
【非特許文献２】Lisha  Li，Kevin  Jamieson，Giulia  DeSalvo，Afshin  Rostamizadeh，Ameet  Talwalkar，“Hyperband:A  Novel  Bandit-Based  Approach  to  Hyperparameter  Optimization”，2016年11月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、各データが異常か正常かを判定するための閾値は、異常スコアの算出結果を人手により分析して決定する必要があった。そのため、分析スキルと多大な作業時間とを要していた。
【０００６】
本発明は、上記に鑑みてなされたものであって、異常データを検出するための閾値を容易に設定することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る設定装置は、複数の正常なデータと複数の異常なデータとを取得して、各データの異常スコアを算出する算出部と、前記異常スコアの値ごとに、当該値を異常と判定するための閾値とした場合の異常なデータを異常と判定する割合である異常検出率と正常なデータを異常と判定する割合である誤検知率とを算出し、該異常検出率と該誤検知率との関係を表す曲線を導出する導出部と、前記曲線上において前記判定の精度が最大となる点に対応する前記異常スコアの値を閾値として特定する特定部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、異常データを検出するための閾値を容易に設定することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の一実施形態に係る設定装置を含む分析システムの処理概要を説明するための説明図である。
【図２】図２は、本実施形態の設定装置の概略構成を例示する模式図である。
【図３】図３は、導出部の処理を説明するための説明図である。
【図４】図４は、導出部の処理を説明するための説明図である。
【図５】図５は、ＲＯＣ曲線について説明するための説明図である。
【図６】図６は、ＲＯＣ曲線について説明するための説明図である。
【図７】図７は、分析装置の概略構成を例示する模式図である。
【図８】図８は、設定情報のデータ構成の一例を示す図である。
【図９】図９は、分析システムの処理を説明するための説明図である。
【図１０】図１０は、本実施形態の設定処理手順を示すフローチャートである。
【図１１】図１１は、本実施形態の設定処理の効果を説明するための説明図である。
【図１２】図１２は、本実施形態の設定処理の効果を説明するための説明図である。
【図１３】図１３は、設定プログラムを実行するコンピュータを例示する図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１１】
［分析システムの処理概要］
まず、図１を参照して、本実施形態に係る判定装置を含む分析システムの処理概要を説明する。図１に示すように、本実施形態において、分析システム１は、機械学習によるデータ分析を支援するためのシステムである。ここで、機械学習によるデータ分析を行う場合、予測モデルを構築する一連の処理であるパイプラインが決定される。例えば、パイプラインの決定は、予測モデルに関する複数の設定項目ごとの設定内容の候補を選択肢として用意しておき、選択肢の中から設定内容を順次決定することで行うことができる。
【００１２】
分析システム１は、予想モデルを構築する際に実行される複数の処理に対応するステップを順次実行することで、各設定項目の設定内容を決定する。例えば、分析システム１は、各ステップにおいて、学習に用いるデータに対する前処理等の前処理の方式と、データの学習からは決まらない予測モデルのハイパーパラメータとを逐次的に決定する。
【００１３】
ここで、前処理には、欠損値補完、正規化、特徴選択等が挙げられる。欠損値補完とは、データの欠損値補完の方式を意味し、例えば、平均値、中央値、最頻値、あるいは削除等が選択肢となる。また、正規化とは、データの正規化の方式を意味し、例えば、最大値を１、最小値を０とする最大最小方式、標準化、平均値０、標準偏差１の標準正規分布に置き換えるＺスコア方式、あるいは無処理等が選択肢となる。特徴選択とは、データの特徴を選択する際の方式を意味し、例えば、決定木、Ｌ１正則化、分散分析あるいは無処理等が選択肢となる。また、分析システム１は、前処理の後、予測モデルのハイパーパラメータの探索を行う。
【００１４】
図１には、前処理として、前処理１、前処理２、および前処理３の３ステップが例示されており、このうち、例えば、前処理１についての選択肢が、選択肢１１、選択肢１２、選択肢１３および選択肢１４となっている。また、図１には、予測モデルのハイパーパラメータ探索として、予測アルゴリズムＡのパラメータＣを対象とする１ステップが例示され、その選択肢が、０．１，１．０，１０および１００となっている。
【００１５】
分析システム１は、各ステップにおいて、データの一部を用いて学習し、残りのデータで精度を検証する交差検証を行いながら、選択肢の中から最も精度の高いものを採用する。これにより、分析システム１は、図１に実線矢印で表される採用された選択肢からなるパイプラインに従って、採用された方式で前処理を行う。
【００１６】
次に、分析システム１は、採用されたハイパーパラメータが設定された予測アルゴリズムＡを用いて学習を行って、予測モデルを構築する。これにより、分析システム１は、高精度であることが予測される予測モデルを用いて効率よくデータの学習を行って、精度の高い予測モデルを構築できる。
【００１７】
本実施形態において、分析システム１は、分析装置と設定装置とを含む。分析装置は、予測モデルを構築する際に実行される複数の処理に対応するステップを順次実行することにより、各設定項目の設定内容の決定を行う。例えば、分析装置は、各ステップにおいて、前処理の方式、予測モデルのアルゴリズムおよびハイパーパラメータ等を決定する。また、設定装置は、予測モデルのハイパーパラメータの一つとして、異常検知（Ａｎｏｍａｌｙ）モデルの異常値の判定に用いられる閾値を設定する処理を実行する。
【００１８】
［設定装置の構成］
次に、図２を参照して、本実施形態に係る設定装置の概略構成を説明する。図２に示すように、本実施形態に係る設定装置１０は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部１１と出力部１２と通信制御部１３と、記憶部１４と、制御部１５とを備える。
【００１９】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、後述する設定処理の結果等を操作者に対して出力する。
【００２０】
通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した管理サーバ等の外部の装置と制御部１５との通信を制御する。
【００２１】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１４には、設定装置１０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。
【００２２】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図２に例示するように、算出部１５ａ、導出部１５ｂおよび特定部１５ｃとして機能する。なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。
【００２３】
算出部１５ａは、複数の正常なデータと複数の異常なデータとを取得して、各データの異常スコアを算出する。具体的に、算出部１５ａは、入力部１１あるいは通信制御部１３を介して、複数の正常なデータと複数の異常なデータとを取得する。また、算出部１５ａは、正常データを用いて正常なデータの特徴量の分布を表すＡｎｏｍａｌｙモデルを構築する。また、算出部１５ａは、正常データおよび異常データに対してＡｎｏｍａｌｙ予測モデルを適用して、該正常データおよび該異常データの異常スコアを算出する。ここで、ある点の近傍に存在する点が少ない場合、すなわち、この点の周りの密度が他の点に比べて小さい場合、算出される異常スコアが大きくなる。
【００２４】
導出部１５ｂは、異常スコアの値ごとに、当該値を異常と判定するための閾値とした場合の異常なデータを異常と判定する割合である異常検出率と正常なデータを異常と判定する割合である誤検知率とを算出し、該異常検出率と該誤検知率との関係を表す曲線を導出する。
【００２５】
具体的に図３および図４を参照して、導出部１５ｂの処理について説明する。図３は、算出部１５ａが算出した異常スコアの出現頻度との関係を例示する図である。ここで、異常と判定するための閾値を設定した場合に、この閾値より異常スコアが大きいデータが異常と判定される。一方、図３に例示するように、この閾値より異常スコアが大きい正常データが存在する。そのような正常データは、異常スコアが閾値より大きいことにより、異常と誤判定される。
【００２６】
そこで、導出部１５ｂは、閾値の値を変えながら、異常データを異常と判定する異常検出率と、正常データを異常と判定する誤検知率との関係を表すＲＯＣ（Receiver  Operator  Characteristic）曲線と呼ばれる曲線を導出する。
【００２７】
図４は、ＲＯＣ曲線の導出法を例示する図である。ラベルが正常である正常データ５件と、ラベルが異常である異常データ１０件について、図４（ａ）に例示するように各データの異常スコアが算出されている場合について説明する。この場合に、閾値を１０とすれば、異常スコアが１０以下の場合には正常と判定され、異常スコアが１０を超える場合に異常と判定される。したがって、異常データが異常と正しく判定される異常検出率は、５／１０＝０．５と算出される。一方、正常データが異常と誤検知される誤検知率は、１／５＝０．２と算出される。導出部１５ｂは、この算出結果を、図４（ｂ）に星印で示すように、縦軸を異常検出率、横軸を誤検知率とする座標系にプロットする。
【００２８】
導出部１５ｂは、閾値の値を変えながら同様に異常検出率と誤検知率とを算出することにより、ＲＯＣ曲線を得ることができる。
【００２９】
ここで、図５および図６を参照して、ＲＯＣ曲線について説明する。図５（ａ）は、ＲＯＣ曲線を例示する図である。上述したように、ＲＯＣ曲線は、縦軸を異常検出率とし、横軸を誤検知率とした曲線である。ここで、ＲＯＣ曲線の下部の面積はＡＵＣ（Area  Under  the  Curve）と呼ばれ、異常検知モデルの精度の評価値として利用される。
【００３０】
また、ＲＯＣ曲線は、理想的には、完全な予測が行われる場合であって、全ての異常データを正しく異常と判定し、正常データを異常と誤判定しないことを表す点（０，１）を通る。一方、ランダムな予測が行われる場合には、ＲＯＣ曲線は、図５（ａ）および（ｂ）に破線で示す原点を通る傾き１の直線になる。
【００３１】
したがって、異常の判定の精度が最大となるのは、図６のＲＯＣ曲線上に実線の星印で示す、点（０，１）から最も近い点（１）、あるいは、図６のＲＯＣ曲線上に点線の星印で示す、原点を通る傾き１の破線の直線から最も遠い点（２）ということができる。
【００３２】
図２の説明に戻る。特定部１５ｃは、曲線上において判定の精度が最大となる点に対応する異常スコアの値を閾値として特定する。具体的に、特定部１５ｃは、ＲＯＣ曲線上で異常の判定の精度が最大となる点を特定する。ここで、異常判定の精度が最大となる点とは、上記のとおり、点（０，１）に最も近い点、または、原点を通る傾き１の直線から最も遠い点を意味する。特定部１５ｃは、ＲＯＣ曲線上の点のうち、点（０，１）に最も近い点、または、原点を通る傾き１の直線から最も遠い点における異常スコアの値を閾値として特定する。
【００３３】
なお、特定部１５ｃは、異常検出率や誤検知率の指定された範囲で閾値を特定することもできる。例えば、異常検出率の下限値が指定された場合には、特定部１５ｃは、縦軸の異常検出率を指定された下限値以上の範囲に限定したＲＯＣ曲線を用いて、上記と同様に閾値を特定する。また、誤検知率の上限値が指定された場合には、特定部１５ｃは、横軸の誤検知率を指定された上限値以下の範囲に限定したＲＯＣ曲線を用いて、上記と同様に閾値を特定する。
【００３４】
また、設定装置１０による設定処理は、分析システム１の予測モデルのハイパーパラメータデータ探索の１つとしての設定閾値探索処理に適用される。その場合に、選択肢として、例えばＲＯＣ曲線上の上記点（１）および点（２）のそれぞれに対応する閾値が設定される。そして、特定部１５ｃが、各閾値に基づいて、異常検知モデルの精度が最大となるものを採用する。
【００３５】
［分析装置の構成］
次に、図７を参照して、本実施形態に係る分析装置の概略構成を説明する。図７に示すように、本実施形態に係る分析装置２０は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部２１と出力部２２と通信制御部２３と、記憶部２４と、制御部２５とを備える。
【００３６】
入力部２１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部２５に対して各種指示情報を入力する。出力部２２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、データ分析の結果等を操作者に対して出力する。
【００３７】
通信制御部２３は、ＮＩＣ等で実現され、ＬＡＮやインターネットなどの電気通信回線を介した管理サーバ等の外部の装置と制御部２５との通信を制御する。
【００３８】
記憶部２４は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部２４には、分析装置２０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。記憶部２４は、通信制御部２３を介して制御部２５と通信する構成でもよい。また、記憶部２４は、設定情報２４ａを記憶する。
【００３９】
図８は、設定情報２４ａのデータ構成の一例を示す図である。設定情報２４ａは、ステップごとの実行順序、および設定内容候補を含む。設定内容候補は、各ステップに対応する設定項目の設定内容の候補である。本実施形態において、例えば、図１に示したステップ４に対応して、閾値探索が行われるものとする。この場合に、図８に例示するように、実行順序４のステップに「閾値探索」が設定される。また、設定内容候補として、設定装置１０が設定処理により特定したＲＯＣ曲線上の上記点（１）および点（２）のそれぞれに対応する閾値（１）および閾値（２）が設定される。
【００４０】
制御部２５は、ＣＰＵ等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図７に例示するように、選択部２５ａ、計算部２５ｂ、決定部２５ｃおよび検証部２５ｄとして機能する。なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。
【００４１】
選択部２５ａは、予測モデルを構築する際に実行される複数の処理、すなわちパイプラインのそれぞれに対応し、対応する処理の設定内容を順次決定するステップにおいて、設定内容が決定されるたびに、次に実行されるステップを選択する。決定部２５ｃは、各ステップの設定内容を、設定情報２４ａに含まれる設定内容候補の中から決定する。このとき、選択部２５ａは、設定情報２４ａに示される実行順序に従って、設定内容が決定された次のステップを選択する。なお、いずれのステップも未実行である場合、選択部２５ａは実行順序が最も早いステップを選択する。
【００４２】
計算部２５ｂは、複数の処理のうち、設定内容が決定済みの処理を当該決定済みの設定内容を適用して行う。また、計算部２５ｂは、選択部２５ａによって選択されたステップに対応する処理を設定内容の候補のそれぞれを適用して行った場合に構築される予測モデルのそれぞれについて予測精度を計算する。その際、計算部２５ｂは、所定数に分割した学習用のデータを用いた交差検証を行うことで予測精度を計算する。また、計算部２５ｂは、予測モデルで用いられる予測器が決定されていない場合、複数のアルゴリズムに対応する予測器の候補のそれぞれを用いて予測精度を計算する。
【００４３】
決定部２５ｃは、計算部２５ｂによって計算された各予測精度を比較し、設定内容の候補のうち予測精度が最も高くなる設定内容の候補を、選択部２５ａによって選択されたステップに対応する処理の設定内容に決定する。その後、選択部２５ａは、決定部２５ｃによって設定内容が決定されたステップの次に実行されるステップを選択する。
【００４４】
ここで、図９を参照して、分析システム１の処理について説明する。本実施形態において、例えば、図１に示したステップ４において、図９に例示するように、閾値探索が行われる。図９の例では、図１に示したステップ３の前処理３方式探索において決定された方式を用いてデータの前処理が行われた前処理３済みデータが生成されているものとする。
【００４５】
選択部２５ａは、ステップ４において、設定情報２４ａを参照して閾値探索を選択する。また、計算部２５ｂは、設定内容候補である閾値（１）および閾値（２）それぞれが適用された場合に構築される予測モデルのそれぞれについて、交差検証を用いて予測精度を計算する。この結果、図９に示す例では、決定部２５ｃは、予測精度が７８％と最も高くなった閾値（２）を閾値として決定する。
【００４６】
検証部２５ｄは、決定部２５ｃによって決定された設定内容が適用された一連の処理、すなわち、決定されたパイプラインに基づいて構築される予測モデルの検証を行う。これにより、本実施形態の分析システム１によれば、異常データを検出するための閾値を容易に設定して、高精度な予測モデルを効率よく構築することができる。
【００４７】
［設定処理］
次に、図１０を参照して、設定装置１０の設定処理について説明する。図１０は設定処理手順を例示するフローチャートである。図１０のフローチャートは、例えば、設定処理の対象のデータが入力されたタイミングで開始される。
【００４８】
まず、算出部１５ａが、複数の正常データと複数の異常データの入力を受け付ける（ステップＳ１）。また、算出部１５ａは、Ａｎｏｍａｌｙ予測アルゴリズムに正常データを入力して学習することにより、Ａｎｏｍａｌｙ予測モデルを構築する（ステップＳ２）。
【００４９】
そして、算出部１５ａは、学習されたＡｎｏｍａｌｙ予測モデルに正常データおよび異常データを入力することにより、各データの異常スコアを算出する（ステップＳ３）。
【００５０】
また、導出部１５ｂが、異常スコアの値ごとに、当該値を異常と判定するための閾値とした場合の異常データを異常と判定する異常検出率と、正常データを異常と判定する誤検知率とを算出し、該異常検出率と該誤検知率との関係を表すＲＯＣ曲線を算出する（ステップＳ４）。
【００５１】
次に、特定部１５ｃが、ＲＯＣ曲線上の点のうち、点（０，１）に最も近い点、または、原点を通る傾き１の直線から最も遠い点における異常スコアの値を閾値として特定する（ステップＳ５）。これにより、一連の設定処理が終了する。
【００５２】
以上、説明したように、本実施形態の設定装置１０では、算出部１５ａが、複数の正常なデータと複数の異常なデータとを取得して、各データの異常スコアを算出する。また、導出部１５ｂが、異常スコアの値ごとに、当該値を異常と判定するための閾値とした場合の異常なデータを異常と判定する割合である異常検出率と正常なデータを異常と判定する割合である誤検知率とを算出し、該異常検出率と該誤検知率との関係を表す曲線を導出する。また、特定部１５ｃが、ＲＯＣ曲線上において判定の精度が最大となる点に対応する異常スコアの値を閾値として特定する。これにより、本実施形態の設定装置１０の設定処理によれば、異常データを検出するための閾値を容易に設定することすることができる。
【００５３】
また、特定部１５ｃは、異常検出率または前記誤検知率の指定された範囲で閾値を特定してもよい。これにより、より効率よく閾値を設定することができる。
【００５４】
また、特定部１５ｃが、ＲＯＣ曲線上の点のうち、点（０，１）に最も近い点、または、原点を通る傾き１の直線から最も遠い点における異常スコアの値を閾値として特定する。これにより、複数の閾値の選択基準を予め設定することなく、入力されるデータに応じて柔軟かつ自動的に設定することが可能となる。
【００５５】
また、設定装置１０による設定処理は、本実施形態の分析システム１の予測モデルのハイパーパラメータデータ探索の１つとしての設定閾値探索処理に適用される。その場合に、分析装置２０では、選択部２５ａが、予測モデルを構築する際に実行される複数の処理のそれぞれに対応し、対応する処理の設定内容を順次決定するステップにおいて、設定内容が決定されるたびに、次に実行されるステップを選択する。また、計算部２５ｂが、複数の処理のうち、設定内容が決定済みの処理を当該決定済みの設定内容を適用して行うとともに、選択部２５ａによって選択されたステップに対応する処理を設定内容の候補のそれぞれを適用して行った場合に構築される予測モデルのそれぞれについて予測精度を計算する。また、決定部２５ｃが、計算部２５ｂによって計算された各予測精度を比較し、設定内容の候補のうち予測精度が最も高くなる設定内容の候補を、選択部２５ａによって選択されたステップに対応する処理の設定内容に決定する。
【００５６】
また、設定装置１０では、算出部１５ａが、複数の正常なデータと複数の異常なデータとを取得して、各データの異常スコアを算出する。また、導出部１５ｂが、異常スコアの値ごとに、当該値を異常と判定するための閾値とした場合の異常なデータを異常と判定する割合である異常検出率と正常なデータを異常と判定する割合である誤検知率とを算出し、該異常検出率と該誤検知率との関係を表す曲線を導出する。また、特定部１５ｃが、ＲＯＣ曲線上の点のうち、点（０，１）に最も近い点、および、原点を通る傾き１の直線から最も遠い点における異常スコアの値を閾値として特定し、分析装置２０の設定内容の候補として出力する。
【００５７】
これにより、分析システム１における予測モデルのハイパーパラメータ探索の１つとして、複数の閾値を特定して選択肢として設定し、予測モデルの精度を比較して、より精度の高い予測モデルを採用することができる。このように、本実施形態の分析システム１によれば、異常データを検出するための閾値を容易に設定して、高精度な予測モデルを効率よく構築することができる。高精度な予測モデルを効率よく構築することができる。
【００５８】
［実施例］
図１１および図１２は、本実施形態の設定処理の効果を説明するための説明図である。まず、図１１は、９５０件の教師データを用いて学習した異常判定の結果を例示する図である。図１１には、図６に示したＲＯＣ曲線上の点（１）および点（２）に対応する閾値を設定した場合が指示されている。図１１に示すように、点（１）および点（２）のいずれにおいても、異常検出率と正常を正しく判定する割合との合計が最大となり、適切な閾値が設定されていることが確認された。
【００５９】
また、点（１）すなわち点（０，１）から最も近いＲＯＣ曲線上の点に対応する閾値を設定した場合には、異常を正常と判定する見逃しが少ないことが確認された。一方、点（２）すなわち原点を通る傾き１の直線から最も遠いＲＯＣ曲線上の点に対応する閾値を設定した場合には、正常を異常と判定する誤検知率が小さいことが確認された。
【００６０】
図１２は、教師データを１００件、４００件、または９５０件として導出されたＲＯＣ曲線を用いて、異常検出率や誤検知率の範囲を指定して閾値を設定した場合の結果を例示する図である。図１２（ａ）は、異常検出率の下限値が９０％に指定された場合に、図６に示したＲＯＣ曲線上の点（１）および点（２）に対応して特定される閾値を例示している。図１２（ａ）には、例えば、教師データ１００件で導出された異常検出率が９０％以上の範囲のＲＯＣ曲線について、点（１）に対応する閾値が１．２であり、点（２）に対応する閾値が１．２であることが示されている。図１２（ａ）に例示するように、異常検出率の範囲が指定されても、適切に閾値が特定されることが確認された。
【００６１】
また、図１２（ｂ）は、誤検知率の上限値が１０％に指定された場合に、図６に示したＲＯＣ曲線上の点（１）および点（２）に対応して特定される閾値を例示している。図１２（ｂ）には、例えば、教師データ９５０件で導出された誤検知率が１０％以下の範囲のＲＯＣ曲線について、点（１）に対応する閾値が１．４、点（２）に対応する閾値が１．５であることが示されている。また、この場合に、Ｆ値がそれぞれ０．９０５７、０．９０４３であることが示されている。ここで、Ｆ値とは、正常と予測されたデータのうち、実際に正常であるものの割合を表す精度と、実際に正常であるもののうち、正常であると予測されたものの割合を表す再現率との調和平均を表す。図１２（ｂ）に例示するように、誤検知率の範囲が指定されても、適切に閾値が特定されることが確認された。
【００６２】
［プログラム］
上記実施形態に係る設定装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、設定装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の設定処理を実行する設定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の設定プログラムを情報処理装置に実行させることにより、情報処理装置を設定装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。また、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の設定処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、設定装置１０は、異常検知対象の教師データを入力とし、異常判定の閾値を出力する設定処理サービスを提供するサーバ装置として実装される。この場合、設定装置１０は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の設定処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、設定装置１０と同様の機能を実現する設定プログラムを実行するコンピュータの一例を説明する。
【００６３】
図１３に示すように、設定プログラムを実行するコンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６４】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００６５】
ここで、図１３に示すように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００６６】
また、設定プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した設定装置１０が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００６７】
また、設定プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００６８】
なお、設定プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、設定プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００６９】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００７０】
１  分析システム
１０  設定装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１５  制御部
１５ａ  算出部
１５ｂ  導出部
１５ｃ  特定部
２０  分析装置
２１  入力部
２２  出力部
２３  通信制御部
２４  記憶部
２４ａ  設定情報
２５  制御部
２５ａ  選択部
２５ｂ  計算部
２５ｃ  決定部
２５ｄ  検証部
【図１】
2018190128.tif 000003
【図２】
2018190128.tif 000004
【図３】
2018190128.tif 000005
【図４】
2018190128.tif 000006
【図５】
2018190128.tif 000007
【図６】
2018190128.tif 000008
【図７】
2018190128.tif 000009
【図８】
2018190128.tif 000010
【図９】
2018190128.tif 000011
【図１０】
2018190128.tif 000012
【図１１】
2018190128.tif 000013
【図１２】
2018190128.tif 000014
【図１３】
2018190128.tif 000015