2019年12月20日 星期五

Anomaly Detection Model(異常偵測模型)

此篇是介紹我的Anomaly Detection Model(異常偵測模型)的資料結構,用來計算新的資料的正常值(越大越正常),資料結構主要是用Table,這樣就不需要每次都從原始資料抓取相關資料來計算正常值,加快計算速度。



模型的Table如下表所示,第一欄是時間塊,將資料的時間以區塊的方式aggregate(去除日期,只保留一天的哪個時間區塊),下表是1分鐘一個區塊,例00:05:23 歸類在5。

第二欄是資料值區塊,值相同的越多越正常,但通常會有點差距,我們實驗的時候,值是浮點數,故將其整數相同的aggregate在一起。通常有很多不同的資料屬性(身高、體重、顏色 等),這裡簡化到一個值。

第三欄Count是發生次數,同Time Block及同Value Block出現幾次。

Time BlockValue BlockCount
0
5222
5253
1440



計算時,依以下公式,將表中每列,根據和新資料的差距,加權Count值再合併,成為Normal Score(正常程度),v0和t0是新資料的值區塊和時間區塊,Reduce是一個自訂陣列,依t0-t的差距,給序衰減值,差距越大,衰減越多。




Reduce陣列的內容通常像,1, 0.9, 0.8, 0.7, 0, ...., 0, 0.7, 0.8, 0.9,以上表的例子,Reduce陣列長度是1440,同時間區塊的數量。如此的內容,也代表遇到Reduce[t0-t]==0的情況不用計算。





















沒有留言:

張貼留言

IKEA吊櫃廚櫃

 好不容易裝好IKEA買來的吊櫃,花了三天。 從組裝,鑽牆,上牆調水平,累死我了。