要件とデータ準備

oracle MSETアルゴリズムは、温度異常や振動プロファイルの変化など、障害の早期症状を検出できます。

早期の症状を効果的に検出するには、データ・プロファイルが特定の基準を満たす必要があります。基準については、後で詳しく説明しますが、簡単に、センサの読み取りは連続している必要があります。タイムスタンプは必須ではありませんが、センサーの読み取りは厳密な日付順にする必要があり、すべて数値である必要があります。また、トレーニング・データは、異常がなく通常の動作パラメータ内にあるセンサー読取りで構成されている必要があります。

要件は、センサーから生データを異常検出モデルに挿入する前に処理する必要があることを意味します。

サービス要件

サービスから有効な結果を得るには、適切なトレーニングおよびテスト・データを準備する必要があります。

トレーニングおよびテスト・データには、タイムスタンプおよびその他の数値属性のみを含める必要があります。データは通常、センサーと信号の読み取りから得られます。カテゴリ・フィールドは現在のバージョンではサポートされていません。

概要レベルでは、このサービスにはトレーニング・データに関する3つの主要なデータ品質要件があります。

  • トレーニング・データは異常がなく、外れ値もありません。通常の動作状態からの観測のみを含めるようにしてください。
  • トレーニング・データは、すべての属性の全値の範囲を含む通常のビジネス・シナリオをすべて網羅する必要があります。
  • データの属性は、適切に関連しているか、同じシステムまたはアセットに属している必要があります。属性が異なるシステムからのものである場合は、個別のモデルをトレーニングすることをお薦めします。

検出データには、研修データと同じ属性を指定する必要があります。また、研修データと同じシステムまたは資産から取得する必要があります。検出データには異常データ・ポイントを設定できます。

データ品質

モデル・トレーニングおよびテスト・データは、年代順に記録されたシグナルやセンサーなど、複数の属性の値を表す必要があります。

高品質モデルを作成するには、トレーニング・セットのデータが次の要件リストに準拠していることを確認してください。

タイムスタンプ
タイムスタンプ列はオプションです。ただし、存在する場合は、表の最初の列である必要があります。
  • タイムスタンプ列には「timestamp」というラベルを付け、すべて小文字でスペースは使用できません。
  • タイムスタンプは昇順でソートする必要があります。
  • 重複するタイムスタンプはありません。
  • タイムスタンプの頻度は可変です。たとえば、1時間の50観測と、次の1時間の200観測などです。
  • タイムスタンプ列がない場合、データは時間順にソートされます。
属性
データの各行は、指定されたタイムスタンプにおける単一の監視です。
  • 属性値は数値である必要があります。ブール値の場合、Trueには1、Falseには0を使用します。
  • 欠落している値は、JSONファイルのnullとCSVファイルの空のフィールドで表されます。
  • 各行には、欠落している属性が少なくとも1つ含まれている必要があります。つまり、タイムスタンプのみの行を持つことはできません。
  • データには少なくとも3つの高度な相関属性が必要です。
  • 各属性名は一意である必要があります。
  • 属性の数は300以下にする必要があります。
トレーニング
トレーニング・セットに必要な行数を決定するには、属性の数を8で乗算します。研修セットには最低40行が必要です。
たとえば、100個のセンサーがある場合、行数は8000になります。センサーが4つのみの場合、行数は40です。
検出
バッチ処理を使用する場合、バッチ内のデータ・ポイントの最大数は30,000です。データ・ポイントの数は、シグナルの数に行数を加えた値です。
たとえば、センサーが50個ある場合、最大30,000/50 = 600行が1つのバッチで許可されます。
その他の考慮事項
将来ある時点で1つ以上の属性を追加する場合、トレーニング・セット内の新しい属性でモデルを再トレーニングする必要があります。
トレーニング中、フラット信号、モノトニック信号、低相関信号または重複信号として決定された属性は、異常検出サービスによって自動的に削除されます。削除した属性は検出データに存在できますが、無視されます。

データ・スキーマ

異常検出サービスは、CSVおよびJSONの2つのデータ・フォーマットを受け入れます。

CSVファイルの場合、各列はセンサー・データを表します。各行は、特定の時点の各センサーに対応する値を表します。

タイムスタンプ値はISO 8601形式である必要があります。研修データの重複を避けるために、できるだけ正確な時間を使用します。

CSV形式のデータには、カンマで区切られた行が必要です。最初の行はヘッダー、その他の行はデータです。最初の列はタイムスタンプ列です。CSV形式データの例を次に示します。

timestamp,sensor1,sensor2,sensor3,sensor4,sensor5
2020-07-13T14:03:46Z,,0.6459,-0.0016,-0.6792,0
2020-07-13T14:04:46Z,0.1756,-0.5364,-0.1524,-0.6792,1
2020-07-13T14:05:46Z,0.4132,-0.029,,0.679,0

ノート:

CSVファイルには、最終行を含む空白行を含めることはできません。

JSON形式を除いて、同じデータを次に示します。

{
    "requestType": "INLINE",
    "signalNames": ["sensor1", "sensor2", "sensor3", "sensor4", "sensor5"],
    "data": [{
            "timestamp": "2020-07-13T14:03:46Z",
            "values": [null, 0.6459, -0.0016, -0.6792, 0]
        },
        {
            "timestamp": "2020-07-13T14:04:46Z",
            "values": [0.1756, -0.5364, -0.1524, -0.6792, 1]
        },
        {
            "timestamp": "2020-07-13T14:05:46Z",
            "values": [0.4132, -0.029, null, 0.679, 0]
        }
    ]
}