RapidMiner
時系列センサデータから異常検出モデルを作成
製造業の皆さまに共通の課題<時系列センサデータから異常を検出する方法>について、 本記事では前処理が完了したデータセットを使ってモデルを作成する方法をご紹介します。 前処理の方法についてはこちらの記事をご覧ください。 <ビジネスケース> ある半導体の検査装置では、製造した半導体が出荷OKの良品か出荷NGの不良品かをチェックしています。 製造した半導体の多くは出荷可能な良品ですが、まれに出荷不可な不良品が混じっています。 この不良品を自動的に検出するにはどうすればよいでしょうか? ここでは、UCI Machine Learning RepositoryのSECOMデータセットを利用して前処理を進めていきます。 前処理が完了したSECOMデータセットはこのような形になります。このデータセットを使って、RapidMinerで異常検知モデルを作成していきます。
まず、「ReadCSV」オペレータを配置し、データセットを読み込みます。 このとき、WIDは【id】の役割を、状態ラベルは【label】の役割を付与します。
次に、「Decision Tree」オペレータを配置します。 ここでは、正常/異常を分類するため、分類モデルである決定木アルゴリズムを用いています。 結果を解釈しやすいため採用しました。 実行パラメータはデフォルトのままにします。 作成したプロセスを実行すると、次のような結果を得られます。
異常のパターンは、期間内のセンサ1の合計値、センサ9の標準偏差に着目すればよいことが分かります。 このようにして異常検出モデルを作成します。 作成したモデルを新規データに当てはめれば異常を検出できますが、 その前に、更なる前処理(標準化やサンプリング)や交差検証を行い、 精度を高めることが必要です。 この機能もRapidMinerに備わっていますので、ぜひ試してみて下さい!