プラントのセンサーデータからプラントの状態異常を検知するモデルを検討できます。またモデルの適用範囲 (Applicability Domain, AD) の検討にも活用することができます。
異常検知
データファイル読み込みにて、学習データと予測データをそれぞれ表示させます。※予測データがない場合は、学習データのみでも実行可能です。データセットの作成については、「サンプルデータセットおよびデータセット作成手順」をご参照ください。

異常検知タブにて以下の項目を設定し、「作成」をクリックすると、異常検知の結果が表示されます。学習データにおける異常検出指標の時系列プロットや、予測データにおける異常検出指標の時系列プロット(予測データがある場合) を確認します。なお赤線が閾値を表し、閾値を超えたときに異常が検出されます。


説明変数X
温度・圧力などのセンサーデータの特徴量を選択します。
オートスケーリング
「MIモデル最適化」のオートスケーリングと同様です。通常はチェックを入れます。
正常データ割合
トレーニングデータのサンプルの内、正常データとみなすサンプル数の割合を設定します。その割合のサンプルのみが正常データに含まれるように、モデルの閾値が決定されます。
最大時間遅れ、時間遅れ幅
目的変数Y に対する説明変数 X の時間遅れを設定します。前者で最大の時間遅れを、後者で時間遅れの幅を設定します。例えば、最大時間遅れが 10、時間遅れ幅が 2 のときには、Y に対して 0, 2, 4, 6, 8, 10 だけ遅れた X の変数を使用することになります。(0 は時間遅れなしです)
モデル選択
PCA (Principal Component Analysis)、OCSVM(One-Class Support Vector Machine, ガウシアンカーネル使用)、k-NN(k-Nearest Neighbor)、LOF(Local Outlier Factor)の手法の中から異常検知モデルを選択します。
PCA:
T2統計量・Q統計量それぞれ、「正常データ割合」のトレーニングデータのサンプルのみ正常データになるように閾値を設定します。そして、それぞれ閾値で割ることで閾値が 1 になるように変換します (scaled T2, scaled Q)。最後に、scaled T2 と scaled Q の最大値を異常検知のための指標 (statistics) にして、この値が 1 を超えたときに異常と診断します。本質的には T2統計量か Q 統計量のどちらかが閾値を超えたときに異常と診断することと同じです。なお、PCA後に全成分が選択された際は、Q統計量の計算ができないため、値はすべて 0 となります。
OCSVM:
OCSVM モデルを構築した後、OCSVM モデルの出力に対して −1 をかけることで、(PCA と合わせて) 値が大きいほど異常になるようにします。そして、トレーニグデータの最小値を引くことで、値が 0 以上になるように変換しています (adjusted inverse OCSVM)。adjusted inverse OCSVM に対して、「正常データ割合」のトレーニングデータのサンプルのみ正常データになるように閾値を設定します。そして、adjusted inverse OCSVM を閾値で割ることで閾値が 1 になるように変換し、これを異常検知のための指標 (statistics) にしています。
k-NN, LOF:
kNN, LOFの値に対し、「正常データ割合」のトレーニングデータのサンプルのみ正常データになるように閾値を設定し、それぞれ閾値で割ることで閾値が 1 になるように変換します(statistics)。この値が 1 を超えたときに異常と診断します。
(PCAは下記「T2統計量・Q統計量」技術資料参照、OCSVM, k-NN, LOFは「MI予測・回帰分析」技術資料参照)
選択した手法に応じて、下記ハイパーパラメータを入力します。
PCA:累積寄与率 OCSVM:Nu(ν), Gamma(γ)(Autoにチェックを入れると γ は自動最適化 [ガウシアンカーネルの分散最大化]) k-NN, LOF:k の値
出力される結果は以下の通りです。