時系列センサデータから異常検出モデルを作成

2017.04.17::adachi

製造業の皆さまに共通の課題<時系列センサデータから異常を検出する方法>について、本記事では前処理が完了したデータセットを使ってモデルを作成する方法をご紹介します。
前処理の方法についてはこちらの記事をご覧ください。

<ビジネスケース>
ある半導体の検査装置では、製造した半導体が出荷OKの良品か出荷NGの不良品かをチェックしています。製造した半導体の多くは出荷可能な良品ですが、まれに出荷不可な不良品が混じっています。この不良品を自動的に検出するにはどうすればよいでしょうか?

ここでは、UCI Machine Learning RepositoryのSECOMデータセットを利用して前処理を進めていきます。前処理が完了したSECOMデータセットはこのような形になります。

このデータセットを使って、RapidMinerで異常検知モデルを作成していきます。

まず、「ReadCSV」オペレータを配置し、データセットを読み込みます。このとき、WIDは【id】の役割を、状態ラベルは【label】の役割を付与します。

次に、「Decision Tree」オペレータを配置します。ここでは、正常/異常を分類するため、分類モデルである決定木アルゴリズム用いています。結果を解釈しやすいため採用しました。実行パラメータはデフォルトのままにします。

作成したプロセスを実行すると、次のような結果を得られます。

異常のパターンは、期間内のセンサ1の合計値、センサ9の標準偏差に着目すればよいことが分かります。このようにして異常検出モデルを作成します。

作成したモデルを新規データに当てはめれば異常を検出できますが、その前に、更なる前処理(標準化やサンプリング)や交差検証を行い、精度を高めることが必要です。この機能もRapidMinerに備わっていますので、ぜひ試してみて下さい!

トップへ戻る