時系列での異常検知のご紹介

2020/08/19
執筆者:
· 推定読書時間 2  分

(このブログポストはIntroducing Automated Time Series Anomaly Detectionの和訳です)

これまで、DataRobot の Automated Time Series教師あり機械学習ワークフローをベースにしており、トレーニング対象のターゲット特徴量を指定することで、将来の事象を予測することができます。しかし、ターゲットを知らずに時系列データから情報を推論したい場合もあります。たとえば、機械のセンサー不良を検出したい場合や、スマートホームデバイスで異常に高いネットワークアクティビティを検出したい場合があるでしょう。異常な事象を検知するためには、異常はどこでも発生し得ることを理解した上で、データセットを全体的に見る必要があります。

時系列モデリング
DataRobot コミュニティリファレンス

DataRobot のリリース6.1では、時系列異常検知を導入しました。これは完全な教師なし機械学習ワークフローであり、ターゲット変数を指定せずに異常を検知することができます。

異常の種類

ご想像のとおり、異常はさまざまな形で発生する可能性があります。このように、平坦な領域でスパイクが1つ発生するかもしれません。

Time series data
時系列データ

また、以下のように正弦波がクラスター化する場合もあるでしょう。

Clustered sine waves
クラスター化された正弦波

さらに、複数の異なるデータ型が重なり合う可能性もあります。

layered data types
重なり合ったデータ型

DataRobot の時系列向け異常検知では、このようなさまざまな種類の異常をすぐに検知できるように、最先端の異常検知アルゴリズムを活用したブループリントのセットを新たに開発しました。

時系列異常検知

DataRobot の製品開発の根底にあるのは、データサイエンティストの生産性を加速度的に向上させるだけでなく、ビジネスアナリストをはじめとするデータサイエンティスト以外の方々を対象としたデータサイエンスの民主化に貢献しなければならないという想いです。時系列での異常検知も例外ではありません。他の製品と同じように、覚えやすく使いやすいユーザーインターフェイスになっています。

操作を始めるには、以下に示す基本ステップを実行します。

Choose a prediction targat JP
予測ターゲットの選択

1. データセットを AI カタログにアップロードするか、通常どおりプロジェクトに直接アップロードします。オートパイロット画面が表示されるので、[ターゲットなし?]を選択します。

2. 次に、通常どおり[時間認識モデルを設定]をクリックして進みます。リアルタイムで異常を検知するので、予測ウィンドウを選択する必要はありません。ここで[開始]をクリックして、オートパイロットを開始します。

3. オートパイロットが完了すると、各モデルが“合成 AUC ”でランク付けされているのがわかります。この指標は、最も一般的な値と最も一般的でない値をビニングすることで生成され、全体のうち特定の時点を異常としてラベル付けすることができます。これらのラベルは、そのモデルの合成 AUC を計算するために使用されます。

leaderboard jp new
リーダーボード

4. また、異常ラベル付きのデータセットを一部または全部アップロードして、実際の AUC 指標を生成することもできます。この機能を使用するには、モデルを選択し、[予測]タブをクリックして、ラベル付きのデータセットをアップロードします。

5. 次に[予測範囲予測]を選択し、ラベル列の名前を入力します。下図のように[予測を計算]ボタンをクリックします。

Forecast Range Prediction jp
予測範囲予測

6. 予測が計算されたら、メニューから[外部テスト列を表示]をクリックします。  指標が以下のように“合成 AUC”から“AUC”に変わることがわかります。

External text column jp
外部テスト列

7. また、[評価] > [時間の経過に伴う異常]で異常の内容をさらに調査することもできます。この機能により、複数の系列やバックテストを調べて、いつ異常が発生したかを確認することができます。さらに、各異常は0〜1で採点されますが、この点数は、実際にその時点で異常が発生したかどうかの確率を示します。

Anomaly over time chart JP
時間の経過に伴う異常チャート

8. Automated Time Series の標準機能と同様に、最小値または最大値のアンサンブルモデルを作成することも可能です。異常検知において、最大値のアンサンブルモデルでは、発生し得るすべての異常を検知することができます。これらアンサンブルモデルは、偽陽性に対する許容度が高い場合には特に有用です。

モデルに満足しているのであれば、このように簡単な数ステップで、新たな異常をリアルタイムで検知するためのモデルをデプロイする準備が整います。こうした準備は、標準の Automated Time Series でよく知られた通常の方法で行うことができます。

今すぐ異常検知を始めましょう

DataRobot では、Automated Time Series 向けの異常検知をご提供できることを誇りに思います。この新機能をぜひお試しください。ご興味をお持ちいただけましたら、直接お問い合わせも可能です。

DataRobot Automated Time Series をすでにお使いの場合は、お持ちのライセンスで異常検知をご利用いただけます。また、DataRobotコミュニティでは、異常検知について詳しくご紹介し、初めて異常検知モデルを構築する際に役立つビデオをご覧いただけます。異常検知は一般提供機能です。ぜひお試しください!

リリース6.1
エンタープライズAIの最先端

リリース6.1ではエンタープライズ AI のビジネス面にフォーカスし、ユースケースの価値を追跡する機能を導入

もっと詳しく
執筆者について
Fareya Ikram(ファリヤ・イクラム)
Fareya Ikram(ファリヤ・イクラム)

ソフトウェアエンジニア

DataRobotでソフトウェアエンジニアとしてAutomated Time Seriesを担当。ウスター・ポリテクニック・インスティテュートでコンピューターサイエンスの学位を取得後、2020年2月にDataRobot入社。プロダクトチームやマーケティングチームとの共同作業や、お客様のフィードバックから学ぶことを楽しんでいる。

Fareya Ikram(ファリヤ・イクラム) についてもっとくわしく

小幡 創(Hajime Obata)
小幡 創(Hajime Obata)

AI アーキテクト

DataRobot AI アーキテクト。2018年から DataRobot に参加。DataRobot 製品に関するフィードバック収集と新規開発計画への反映、新機能・新製品のベータプログラムやローンチ、トレーニングやマーケティングを通じた普及活動、ローカライゼーション管理、などを通じて、AI と DataRobot の価値を日本に広く広めるための業務に従事。

小幡 創(Hajime Obata) についてもっとくわしく