多変量状態推定法 - 逐次確率比検定について
多変量状態推定法 - 逐次確率比検定(MSET-SPRT)は、異常検出および統計的検定のためのアルゴリズムです。
MSETは、監視対象シグナルの通常の操作シーケンスからの履歴データに基づいて、予期されるシステム動作を調整する、非線形の、ノンパラメトリックな、異常検出の機械学習手法です。これは、学習したシステム動作を、推定した正常動作を表す永続モデルに組み込みます。このモデルをデプロイすることで、Oracle Machine Learning for SQLスコアリング関数を使用してライブ・シグナル・ベクターの後続のストリームを評価できます。システムの全体的な正常性について仮説を立てるために、これらの関数では、推定したシグナル値と実際のシグナル値(残差)との差が計算され、SPRT計算を使用して、シグナルのいずれかが低減したかどうかが判断されます。
優れたモデルを作成するために、MSETには、システムの正常動作をすべて適切に取得している、十分な履歴データが必要となります。データが不十分な場合は、履歴データで十分に表されていなかった動作モードになると、不適切アラートが生成されます。MSETでは、監視対象となるデータの特性が時間の経過とともに変化しないことが前提となっています。MSETは、デプロイ後は、変化しないモデルであり、データ・ストリームを監視するにつれて変化することはありません。
MSETとSPRTはどちらも、連続的な時系列のセンサー・データを対象としています。生データ・ストリームを事前処理またはサンプリングする必要がある場合は、そのデータをMSET-SPRTモデルに渡す前に、それを行う必要があります。
ALGO_MSET_SPRT
アルゴリズムは、分類の機械学習手法として指定されます。これにより、各データ行に正常または異常のラベルが付けられたモデルが生成されます。異常な予測の場合、予測の詳細には異常および重みを示すセンサーのリストが示されます。
DBMS_DATA_MINING.CREATE_MODEL
関数を使用してMSET-SPRTモデルを作成する場合は、case_id
引数を使用して、そのアルゴリズムに必要な時系列データについて、一意の行識別子を指定します。その後、その構造でトレーニング・データをソートすることや、サンプリングおよび分散推定の期間を作成することができます。case_id
を指定しないと、例外が発生します。
MSET-SPRTでは、数値データのみがサポートされています。作成データに他の列型がある場合は、例外が発生します。
センサーの数が非常に多い場合、MSET-SPRTでは、ランダム投影を活用してアルゴリズムのスケーラビリティと堅牢性を向上させます。ランダム投影は、組の距離を維持したままディメンション性を低下させる手法です。センサー・データをランダムに投影することで、問題は、距離が維持されている、より低いディメンション領域で解決されます。MSETの仮説検定手法は、それらの投影されたデータに適用されます。その際には、各ランダム投影をシステム状態のモンテカルロ・シミュレーションとして表示できます。異常の全体的確率は、試行数としては投影数を、成功数としてはアラートが発生した投影の数を使用する、2項分布に従います。
ノート:
ランダム投影を使用するMSET-SPRTモデルでは、予測詳細は生成されません。ランダム投影を採用した場合は、予測出力の特性が変わります。その予測ではシステムのグローバルな正常性が取得されるため、原因となる個々の属性を突き止めることはできません。そのため、PREDICTION_DETAILS
では空のリストが返されます。
参照:
使用可能なモデル設定のリストおよび説明は、DBMS_DATA_MINING - アルゴリズム設定: 多変量状態推定技術 - 逐次確率比検定を参照してください。ノート:
モデル設定と同じ意味でハイパーパラメータという用語も使用されます。