障害を予測する異常の検出について学びます
アセット・メンテナンスの確立されたメソッドは、リアクティブ(障害時に置換)または規定の(使用または時間に基づいて置換)のいずれかです。組織は、資産の交換または修理の実際のコストに加えて、信頼性、ダウンタイムおよびサプライ・チェーン・バックログに関連するコストも負担する必要があります。差し迫った障害を早期に警告する異常検出サービスにより、これらのコストを削減できます。
Oracle Cloud Infrastructureの異常検出サービスは、統計学者や機械学習の専門家を必要とせずに、時系列データの異常を検出するのに役立ちます。事前構築済みのアルゴリズムを提供し、データの問題に自動的に対処します。REST APIを介してアクセスできるクラウドネイティブ・サービスで、多くのデータ・ソースに接続できます。OCIコンソール、CLI、およびSDKにより、エンドツーエンド・ソリューションで簡単に使用できます。
アーキテクチャ
このアーキテクチャは、ワークフローで異常検出サービスがどの位置に達するかを示します。
要件に応じて、データはOCI Streaming、OCI Data Integrationサービス、またはその両方を使用して取得されます。システムは、バッチ・ワークロードとストリーミング・ワークロードの両方を処理できます。
ワークフローには、トレーニングと検出という2つの主なフェーズがあります。トレーニング・フェーズでは、データがクレンジングされ、トレーニングの準備が完了した後、モデルがトレーニングおよびデプロイされます。検出フェーズでは、異常検出によって本番データの異常が検出されます。異常が報告され、予測に基づいてアクションが実行されます。

図Overview.pngの説明
次に、このプロセスについて説明します。
- データは1つ以上のデータ・ソースから取り込まれ、Object Storageに格納されます。
- 1つ以上のツールを使用して、トレーニング・フェーズ中にモデルをトレーニングするためのデータを準備し、本番フェーズに必要な前処理を行います。結果はObject Storageに格納されます(表示されません)。
- 異常検出サービスは、トレーニング・フェーズ中にモデルを作成し、本番フェーズで異常検出アルゴリズムを実行します。
- 異常検出プロセスの結果は、データを消費し、エンド・ユーザーに公開するために準備する1つ以上のアプリケーションに送信されます。
概要
異常検出サービスのコア・アルゴリズムは、MSETと呼ばれるOracleに特化した多変量時系列異常検出アルゴリズムです。
MSETは、監視対象シグナルの通常の操作シーケンスからの履歴データに基づいて、予期されるシステム動作を調整する、ノンリニアの、ノンパラメトリックな異常検出の機械学習手法です。これは、学習したシステム動作を、推定した正常動作を表す永続モデルに組み込みます。当初はOracle Labsによって開発され、いくつかの業界で予後分析に使用されました。
異常検出サービスの概念
- プロジェクト:プロジェクトは、データ・アセット、モデル、デプロイメントおよび検出ポータルを編成するためのコラボレーション・ワークスペースです。
- データ・アセット:データ・アセットは、データ・ソースの抽象化されたデータ表現です。データ・アセットはオブジェクト・ストレージにあります。モデル・トレーニング・フェーズに対してクリーンで準備されたトレーニング・データです。これは、モデルのトレーニングとデプロイ後に異常検出サービスに表示される本番データです。
- モデル:トレーニング・データ・アセットから作成される機械学習モデル。
- デプロイメント:モデル・トレーニングが完了すると、デプロイされます。これにより、異常検出プロセスで使用できるようになります。
- 検出:本番データ内の異常を検出するために、デプロイ済のモデルに本番データを提示するプロセスです。
異常検出プロセス
概要レベルでは、異常検出サービスを使用する完全なサイクルを完了するプロセスを次に示します。
- プロジェクトの作成。プロジェクトは、同じワークスペース内の様々なアセット、モデルおよびデプロイメントを収集して編成する場所です。
- データ・アセットを作成します。これは、分析のために異常検出サービスに表示される生産データです。
- モデルをトレーニングします。研修データ・アセットと研修パラメータを指定した後、異常検出モデルをトレーニングします。トレーニングは、データ・アセットのサイズおよび選択した誤認確率に応じて、5分以上かかる場合があります。
- モデルのデプロイ。モデルのトレーニング後、デプロイします。
- 新しいデータとの検出トレーニング・データと同じ属性を持つ本番データをデプロイメント・エンドポイントに送信するか、デプロイメントUIにアップロードします。
1つのプロジェクトは、複数のデータ・アセット、複数のモデル、複数のデプロイメントを持つことができます。