2019年10月13日Pythonの異常検知ライブラリPyOD(その3)前回のプログラム事例の発展型として、PyODライブラリ付属のデモ描画システムを利用することができる。以下の2つのライブラリのインポートを追加する。visualizeそして異常検知手法のループの部分を以下に置き換える。save_figure=True)そうすると以下のようなデモバージョンのグラフが描かれる。2019年10月6日Pythonの異常検知ライブラリPyOD(その2)前回の補足。以下はテストデータのグラフである。次は主成分分析、ヒストグラムベース異常検知、k-近傍法の図である。以下、各手法について簡単に解説する。主成分分析:変数間の連関性をもとに多変数を少数の主成分に縮約する。k-近傍法:任意のデータ点について、そのk番目に近い近傍との距離を異常度として用いる。この手法では、木の集合を用いてデータの区分けが行われる。Forestは、その点が構造の中でいかに孤立しているかを示す異常度スコアを与える。それゆえ異常度スコアは正常なデータ点から外れた点を識別するために用いられる。Forestは多次元データで高い性能を発揮する。ヒストグラムに基づく異常検知法:効率的な教師なし学習手法である。特徴間の独立を仮定し、ヒストグラムを構築することにより異常スコアを計算する。多変量アプローチよりも高速であるが、精度は落ちる。データセットのさまざまなサブサンプル上でいくつかのベース検出モデルをあてはめる。予測精度を向上させるために平均化や他の組み合わせ手法を用いる。Baggingでは最初にランダムに選ばれた特性変数の部分集合によりn個のサブサンプルが構成される。これはベース尺度の多様性をもたらす。最後に全てのベース尺度の平均または最大をとることにより予測スコアが生成される。クラスタリングに基づく局所外れ値因子法:データを大きなクラスターと小さなクラスターに分類する。異常度スコアはその点が属するクラスターのサイズと、最も近い大型クラスターとの距離で計算される。2019年10月8日Pythonの異常検知ライブラリPyOD(その1)昨年より仕事のデータ解析のためにPythonプログラムを書いている。昨年はデータ前処理と作図が殆どだったが、今年から統計手法のライブラリを使い始めた。最近、異常検知のためのPythonライブラリを探していたら、PyODというライブラリを見つけた。PyODは、多変量の観測データの異常検知が行えるライブラリで、提供されている手法は、統計モデルや機械学習など20に及ぶ。多様な異常検知手法を統一したインタフェースで適用して結果を相互比較できるという優れものである。リリースされてから日が浅く、日本語の解説記事はまだ殆どないようである。今回は、英語のチュートリアル記事を参考に、PyODのデータ生成機能で作った人工データを用いて、教師なし学習の8つの手法を適用してみた。PyODライブラリ利用のためにはインストールが必要です。【ライブラリのインポート】PyODライブラリは、各手法毎にインポートする。PCA【人工データの生成】変数の数、異常データの出現割合(ここではデフォルト0.1)を指定して、分析用の人工データ(観測データ、正常/異常データ)を生成することができる。show()【手法の記述】分析に用いる手法を辞書型変数として記述する。KNN(contamination=outliers_fraction),}【各手法のデータへの当てはめと異常判定】ここでは辞書リストの要素についてのループを組んでいる。930)を得意としています。