準備需求與資料
oracle MSET 演算法可以偵測早期的失敗徵兆,例如溫度異常和振動設定檔的變更。
為了有效地偵測早期徵兆,資料設定檔必須符合特定準則。準則會在稍後更詳細地加以說明,但是簡短的感應器讀數必須是連續的。時間戳記不是必要的,但感應器讀數必須以嚴格的時間順序排列,且必須全部為數值。此外,訓練資料也應該包含無異常且位於一般作業參數內的感應器讀數。
這些需求表示在將感應器饋送至異常偵測模型之前,您可能需要先處理感應器的原始資料。
服務需求
若要從服務取得有效的結果,您必須準備適當的訓練和測試資料。
訓練和測試資料只能包含時戳和其他數值屬性。資料通常來自感應器和訊號讀數。目前的版本不支援類別欄位。
此服務在高階有三項訓練資料的主要資料品質要求:
- 訓練資料應為異常且不含極端值。它應該只包含來自一般作業條件的觀察。
- 訓練資料應涵蓋所有屬性包含完整值範圍的一般業務方案。
- 資料中的屬性應該正確相關,或屬於相同的系統或資產。如果屬性來自不同系統,建議您採用不同的訓練模式。
偵測資料的屬性應與訓練資料相同。此外,它也應該來自與訓練資料相同的系統或資產。偵測資料可能有異常的資料點。
資料品質
模型訓練和測試資料必須代表多個屬性的值,例如依時間順序記錄的訊號和感應器。
若要建立高品質模型,請確定訓練集中的資料符合下列需求清單。
- 時戳
- 時戳資料欄是選擇性的。不過,如果存在,它就必須是表格中的第一個資料欄。
- 時戳資料欄的標籤必須是 "timestamp",而且全部小寫且不含空格。
- 時戳必須以遞增順序排序。
- 不得有重複的時戳。
- 時戳可以有變動頻率。例如,一小時 50 次監測項目,下小時 200 次監測項目。
- 如果沒有時戳資料欄,則會假設資料依時間順序排序。
- 屬性
- 每個資料列的指定時戳都是單一監測項目。
- 屬性值必須為數值。對於布林值,請使用 1 表示 True,使用 0 表示 False。
- 遺漏值在 JSON 檔案中會以
null
表示,在 CSV 檔案中會以空白欄位表示。 - 每個資料列必須至少有一個未遺漏的屬性。也就是說,您不能有只含時戳的資料列。
- 資料應至少有三個高度關聯的屬性。
- 每個屬性名稱必須是唯一的。
- 屬性數目不能超過 300 個。
- 教育訓練
- 若要決定訓練集中應有的資料列數,請將屬性數乘以八。訓練集中至少必須有 40 列。
- 偵測
- 使用批次處理時,批次中的資料點數目上限為 30,000。資料點數目是訊號數目乘以資料列數目。
- 其他注意事項
- 如果在未來的某個時間點新增一或多個屬性,則必須使用訓練集中的新屬性重新擷取模型。
資料綱要
「異常偵測服務」接受兩種資料格式:CSV 和 JSON。
若為 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]
}
]
}