杉原データサイエンス事務所のロゴ トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

異常検知

異常検知 は、 予測とシミュレーション の発展的な技術です。

機械学習時系列解析 の分野で、異常検知が盛んに議論されるようになったのは、2000年以降です。

品質管理のための異常検知には、約100年の歴史があります。「 SPC(統計的工程管理) 」と呼ばれ、様々な 管理図 が開発されて来ています。

もともとの目的が異常検知ではなかったとしても、予測の結果が異常を示しているかどうかに気付くための知識は、知っていた方が良いです。

過去・現在・未来 3種類の異常検知 

一口に「異常検知」と言っても、検知したいことが、過去、現在、未来のいつのことなのかによって、 アプローチが違って来ます。 ちなみに、世の中で「異常検知」をタイトルにしている文献は、以下で「現在の異常検知」に分類した話題が紹介されていることが多いです。
異常検知

異常検知は、モデリングでほとんどが決まる

異常検知の解説書では、様々な方法が紹介されているので、それらを使いこなせるようになると、異常検知ができるようになるような気持ちになります。

しかし、異常検知で一番やらないといけないのは、「異常と考えていることが、どのような現象で、それがデータにどのように表れているのか」ということの確認です。 そうしたことは千差万別なので、解説書では扱っていないです。

機械学習のアプローチでは、「正常の時と、異常の時のデータを用意して、正常と異常が区別できる方法を採用する」となりますが、「正常時・異常時」というようにデータが分かれていなければ、このアプローチは使えません。 自分が取り組んでいる現象について、現象とデータの関係を確認するところからになります。

例えば、異常が 欠損値 として表れていることがあります。 欠損する理由や、欠損の表れ方を調べないと、異常検知の仕組みが作れないです。

正常状態の定義の難しさ

すでに起こった異常状態と比べながら、 正常状態を定義するのは、比較的簡単です。

一方、過去に起こった事のない異常の場合は、大変です。 正常状態として定義したものの延長で起こる異常なら良いのですが、 延長ではないものの時は、どうしようもありません。 機械学習 による異常検知は、正常状態として定義したものの延長で起こる異常を対象としています。

機械やITシステムの異常検知では、あらゆる異常状態を想定して、それを検知する方法を準備する必要があります。 信頼性工学のFMEAやFTA は、異常状態を網羅的に把握しようとする手法です。



参考文献

異常検知の専門書 

入門 機械学習による異常検知」 井手剛 著 コロナ社 2015
機械学習 によって異常の検知をします。
異常検知の基本的な流れは、
ステップ1 : 分布の推定
ステップ2 : 異常度の定義
ステップ3 : 閾値の設定
としています。
異常を検知できると、次に異常の原因を知りたくなりますが、 それができるシステムを作るよりも、どの変数がどれだけおかしいのかをエンジニアに伝えられるシステムを作る方が現実的、とのことです。
正規分布に従う分布として MT法 など、非正規分布に従う分布として、k近傍法やクラスター分析を使う方法、 主成分分析 を使う方法、回帰分析を使う方法、時系列モデル(ARモデルや状態空間モデル)を使う方法の順です。


Pythonではじめる異常検知入門 基礎から実践まで」 江崎剛史・李鍾賛 著 科学情報出版 2023
時系列ではないデータについては、 ホテリング理論k近傍法One-Class SVM
時系列データについては、 ARIMAモデル による予測値からの逸脱度を測る方法。


Pythonによる異常検知」 曽我部東馬 著、曽我部完 監修 オーム社 2021
時系列ではないデータについては、 MT法k近傍法、 時系列データについては、 SARIMAモデル を説明しています。その後で、 サポートベクターマシン や、 ディープラーニング(深層学習) などの、機械学習の使い方です。


まるごと学べる 異常検知の実践知」  中村謙太 著 技術評論社 2025
ホテリング理論 を基本として、分布が異なる場合に広げる方向と、入出力がある場合として回帰分析に広げる方向、さらにそれをベイズ統計で扱う方向で、異常検知の方法の説明を展開しています。
それらを実際の実務で使う時に出て来る諸問題も紹介しています。


異常検知と変化検知」 井手剛、杉山将 著 講談社 2015
k近傍法 やネットワークの変化、密度比を使う方法があります。


Control Charts and Machine Learning for Anomaly Detection in Manufacturing」 Kim Phuc Tran 編 Springer 2021
異常検知として、 機械学習管理図 を説明しています。
管理図は、CUSUMやEWMAの他、DEWAMA、カテゴリデータ用の管理図などがあります。
機械学習は、 IsolationForest や、 オートエンコーダー に、それぞれひとつの章で詳しく説明しています。


Anomaly Detection Principles and Algorithms」 Kishan G. Mehrotra, Chilukuri K. Mohan , HuaMing Huang 著 Springer 2018
距離や密度を使う方法から、時系列データまで、外れ値検知の様々な方法を紹介しています。


異常検知の専門書(IT分野向け)

データマイニングによる異常検知」 山西健司 著 共立出版 2009
ITネットワークで起こる、ウィルス、異常行動、Web攻撃などの異常検知の本です。
ステップ1 : 既存のデータから、確率モデルを学習
ステップ2 : モデルを使って、データの異常度合い、または、モデルの異常変化の度合いをスコアリング
としています。
この本は、「外れ値検出」、「変化点検出」、「異常行動検出」の3手法を扱っています。
これらは、「独立モデル」、「時系列モデル」、「行動モデル」にそれぞれが対応して、よりダイナミックなモデルになっています。


異常検知からリスク管理へ」  山西健司 他 著 サイエンス社 2022
第1章は基礎として、外れ値検知、変化検知(パラメータが変わる)、潜在構造変化検知(パラメータの数や、クラスターの数などが変わる)、ネットワーク異常検知の順で、段階的に複雑な方法を説明しています。
第2章以降が事例で、株式所有ネットワーク。デジタル教材、ビットコインを扱っています。


異常検知を紹介している本

ProVision No.78」 日本アイ・ビー・エム 2010
「スパース構造学習によるセンサー・データの変化点検出と異常解析」という題名で井手剛氏の記事があります。
時間軸上で、範囲を区切って、相関関係の ネットワーク 構造の変化を見ていき、相関関係の変化の仕方から異常を見つける方法が紹介されています。


ProVision No.65」 日本アイ・ビー・エム 2013
「センサーデータによる状態監視技術」という題名で井手剛氏の記事があります。
MT法 は、値が一定値になるようなシステムには有効ですが、 平均値にあたる量が動的に変わるシステムに使えない、としています。
MT法に代わるものとして、 ANACONDA(IBM Anomaly Analyzer for Correlational Data)を紹介しています。 グラフィカル・ガウシアンモデル(GGM)という古くからあるモデルを、 近年の技術革新で実用化したもの、とのことです。


時系列解析 自己回帰型モデル・状態空間モデル・異常検知」 島田直希 著 共立出版 2019
4章で構成されている中の最後の章が、異常検知になっています。 ChangeFinderによる変化点検知と、LSTMによる異常検知の事例を紹介しています。


識別・予測・異常検知 Pythonと実例で学ぶ機械学習」  福井健一 著 オーム社 2018
機械の振動データに対して、正常と異常を区別する事例があります。
区間で特徴量を計算して、それに対して、 LOFOne-Class SVMIsolationForestを適用しています。


フリーソフトではじめる機械学習入門」 荒木雅弘 著 森北出版 2014
機械学習 全般の本です。
異常(外れ値)かどうかを判断する方法として、 LOF が紹介されています。


日本型“AI(人工知能)”ビジネスモデル」 大野治 著 日刊工業新聞社 2017
MT法 の紹介の後に、MT法の弱点として正常状態が単純な分布ではいけないことを挙げ、ノンパラメトリックな方法を紹介をしています。 しかし、ノンパラメトリックな異常検知の方法には、一般的や弱点として、計算時間が長い事と、学習データがたくさん必要な事があります。 ただし、局所部分空間法(LSC)はこの弱点をあまり気にしなくて良いそうです。


生き物の異常検知

センシングの基礎」 山崎弘郎 著 岩波書店 2005
センサーそのものの原理の話もありますが、センサーのデータがどのようなもので、どのように扱うのかの話も多いです。
さらに勉強するための文献の中に、「生体内の分散監視・防衛システム」(免疫システム」の文献があります。
現在の異常検出システムは、「予測できる異常しか検出できない」、という弱点がある。これが知能化の限界。 一方、人体は免疫システムは、未知の異常を「異常」と細胞レベルで検出して、排除する。 この判断では、分子レベルで自分と同じかどうかで、異常かどうかが判断される。
このような免疫システムを、センシングシステムの観点から述べています。


生体内の分散監視・防衛システム 電気学会論文誌 107(11)」 藤田 博之. 合原 一幸 著 電気学会論文誌 1987
免疫には、多重性、分散性、記憶能力、自己組織化能力がある事を解説した後に、工学に応用するアイデアが解説されています。
「怪しげな音源の付近に群がっていく習性をもった、微小で自走できるセンサ」
「運転期間中、ずっと学習しながら、事故を引き起こす原因を予測し続けるシステム(事故は、さまざまな要因の組み合わせと仮定している)」


量子状態の異常検知

機械学習を用いた量子状態異常検知 量子統計モデリングのための基盤構築」 京都大学数理解析研究所 2017
原聡氏の記事で、密度行列の異常検知の方法として、ED3(Erroneous Deviation Detector for Density matrices)が紹介されています。


人工知能」 人工知能学会 2015
「機械学習による情報論的量子状態の異常検知」という、鷲尾隆氏の記事があります。
量子を情報論的に表現するところから始まり、平均値法より、ED3が良いという話になっています。




順路 次は 異常の探索(過去の異常検知)


杉原データサイエンス事務所のロゴ
杉原データサイエンス事務所によるコンサルティングとセミナー