こんにちは。ブレインズテクノロジーの柴田です。
今回はImpulseを使った時系列データ分析:初級編ということで、単純な時系列データを使ってImpulseでモデルを作成する手順を紹介していきます。機械学習の知識は必要ありません(Impulseに関連する機械学習の用語説明等は今後本ブログで紹介していく予定です)。この記事でImpulseの使い方のイメージを掴んでいただけたら幸いです。
使用するデータは乱数を使って分析用に作成した時系列データになります。データ項目は以下の4つです。
またcolumn1, 2には上記の数値を少し加工した以下の異常を含ませています。
それでは分析を始めていきましょう。
データセットタブの「+作成」ボタンからデータセットを作成します。
まずデータセット名を入力します。今回は「data_demo」としました。データセット名は後から変更可能です。
次にデータセットタイプ(CSV/画像/動画)を選択します。時系列異常検知ではCSVを選択します。
タグは任意項目で付けても付けなくても構いません。タグ付けするとタグでデータセットを絞り込む等ができます。
そしてファイルを選択します。
「作成」ボタンを押せばデータセットの作成は完了です。
作成したデータセットを選択するとデータを確認することができます。プレビュータブでは各データ項目の具体的な数値を確認することができ、可視化タブでは折れ線グラフと散布図でデータを可視化して確認することができます。折れ線グラフで可視化してデータを確認してみます。
異常を挿入した10月と12月でデータ傾向が違うことが確認できました。
モデルはプロジェクト単位で管理されます。プロジェクトが既にある場合は該当のプロジェクトを選択、ない場合は「+作成」ボタンで作成します。今回は「project_demo」という名前でプロジェクトを作成しました。
プロジェクトを選択し、「+作成」ボタンを押してモデルを作成します。モデル名を入力し、アプリケーションを選択します。アプリケーションは実行したい分析の種類に合わせて、「外観検査」または「時系列異常検知」から選択します。
モデル作成は以下のフローで進みます。
特性分析はデータ選択後に自動的に実行されます。特性分析が完了すると、学習タブから以下の学習設定を行うことができるようになります。
また、学習タブの横のラベルタブではデータが正常か異常かどうかのラベル付けが可能です。デフォルトでは全データに正常ラベルが付いています。異常期間を指定し、「「異常期間」として設定」ボタンを押すことで異常ラベルを付与できます。下図は10月と12月に異常ラベル付与後のグラフです。
学習タブに戻り、「学習実行」ボタンを押すとモデル作成が始まります。
モデル作成が完了すると、評価タブから分析結果を確認することができます。
パイプラインを選択することで各前処理・推論方法での分析結果を確認することができます。デフォルトでは性能が一番良いモデルが選択されています。選択されたパイプラインの具体的な前処理・推論方法やパラメータ等はパイプライン構成から確認できます。
判定結果としきい値調整の項目では、以下を確認することができます。
今回の結果を確認してみましょう。まず混同行列を確認すると、正常データを異常と判断した件数(過検出)が2件だけありますが、異常データを全て異常と判定しています。グラフを確認すると、確かに異常1と異常2の期間でスコアが大きくなっており、正常データと明確な違いがあります。判定結果に不満がある場合、しきい値を変更することで結果を改善することができる可能性があります(例えば今回の結果で、正常データを異常データと判断する件数を0件にしたい場合はしきい値を大きくする)。しきい調整では精度が向上しない場合は精度改善アクションを取ります(今後ブログで紹介予定であるので、今回は省略します)。今回の場合、2件の過検出はしきい値調整で改善できませんが、異常を漏らさず検知しているため、精度は十分と判断しました。以上でモデル作成は完了となります。
今回は初級編として簡単なデータを使用して時系列データの分析を行いました。画面に従って進めていくことで簡単に分析できることがお分かりいただけたでしょうか。一般的なしきい値ベースでは異常検知の難しい異常(今回の異常2のようなデータ)も簡単な手順で見つけることができました。Impulseでは今回紹介した時系列異常検知の他にも機械学習アプリケーションを提供しています。今後本ブログで紹介していきますのでお楽しみに(時系列データ分析:上級編もあるかも…?)。