tft每日頭條

 > 科技

 > 時序數據缺失值填充算法

時序數據缺失值填充算法

科技 更新时间:2024-07-22 17:11:44

©作者 | 曲奇

01 概述

通常時序數據的異常值主要分為三類:

時序數據缺失值填充算法(時序數據異常點檢測技術)1

02 時序數據常用特征

時序數據常見特征

特征

描述

周期 (頻率)

數據出現周而複始的現象

趨勢

數據呈現上漲、下跌的走勢

季節性

在一年或者更短的時期内在一個趨勢線上重複性和可預測的變動

自相關

代表數據之間的相關依賴

非線性

時間序列中包含了非線性模型表示的複雜數據集

偏态

測量對稱性,或更加明确地說,缺乏對稱性

峰度

如果數據相對于正常分布達到峰值或平坦,則采取措施

林中小丘

衡量時間序列的長期記憶

李亞普諾夫指數

衡量附近軌迹的發散速度

用于建模實驗的常見指标,衡量模型好壞

指标

描述

Bias

誤差的算術平均值

MAD

平均絕對偏差,也稱為 MAE

MAPE

平均絕對百分比誤差

MSE

誤差的均方

SAE

絕對錯誤的總和

ME

平均誤差

MASE

平均絕對比例誤差

MPE

平均百分比誤差

03 異常檢測方法

主要分為三大類:

  1. 基于統計模型基于統計模型的異常點檢測技術将所有數據構建成一個數據模型,其認為異常點是那些與模型不能完美拟合的對象。
  2. 基于鄰近度通常可以在對象之間定義鄰近性度量。異常對象是那些遠離大部分其他對象的對象。
  3. 基于密度的技術對象的密度估計可以相對直接計算,特别是當對象之間存在鄰近性度量時。當一個點的局部密度顯著低于它的大部分近鄰時,可能會被看作是異常的。

基于統計模型的異常點檢測

基于數據,構建一個概率分布模型,得出模 型的概率密度函數。通常,異常點的概率是很低的。

基于正泰分布的一元異常點檢測

時序數據缺失值填充算法(時序數據異常點檢測技術)2

多元正态分布的異常點檢測

對于多元高斯分布檢測,我們希望使用類似于一元高斯分布的方法。例如,如果點關于估計的數據具有低概率,那麼就把它們分類為異常點。

實際上馬氏距離也是統計算法,點到基礎分布的Mahalanobis距離與點的概率直接相關

綜上所述,兩種基于統計模型的異常點檢測方法,需要建立在标準的統計學技術(如分布 參數的估計)之上。這類方法對于低維數據效果可能較好,但是對于高維數據,數據分布非常 複雜,基于統計模型的檢測效果會比較差。

基于鄰近度的異常點檢測

馬氏距離

時序數據缺失值填充算法(時序數據異常點檢測技術)3

容易證明:點到數據均值的Mahalanobis距離與點的概率直接相關,等于點的概率密度的對數加上一個常數。因此,可以對Mahalanobis距離進行排序,距離大的,就可以認為是異常點。

KNN

時序數據缺失值填充算法(時序數據異常點檢測技術)4

基于密度的異常點檢測

從基于密度的觀點來說,異常點是低密度區域中的對象。

定義密度的方法有以下三種。

逆距離

一個對象的密度為該對象周圍k個最近鄰的平均距離的倒數。

時序數據缺失值填充算法(時序數據異常點檢測技術)5

時序數據缺失值填充算法(時序數據異常點檢測技術)6

半徑 d 内的個數

即一個對象周圍的密度等于該對象指定半徑 d 内對象的個數。d是人為選擇的,那麼這個d的選擇就很重要了。

相對密度

即用點 x 的密度與它最近鄰 y 的平均密度之比作為相對密度。

時序數據缺失值填充算法(時序數據異常點檢測技術)7

時序數據缺失值填充算法(時序數據異常點檢測技術)8

獨立森林 Isolation Forest

首先,要理解獨立森林,就必須了解什麼是獨立樹,下文簡稱 iTree 。iTree 是一種随機二 叉樹,每個節點要麼有兩個子節點(稱為左子樹和右子樹),要麼沒有子節點(稱為葉子節點)。給定數據集D,這裡 D 的所有屬性都是連續型變量, iTree 的構成如下:

  1. 随機選擇一個屬性 A。
  2. 随機選擇該屬性的一個值 value 。
  3. 根據 A對每條記錄進行分類,把 A 小于 value 的記錄放在左子樹上,把大于或等于 value 的記錄放在右子樹上。
  4. 遞歸構造左子樹和右子樹,直到滿足條件:①傳入的數據集隻有一條或多條一樣的記錄;②樹的高度達到了高度闊值。

iTree 構造完成後,接下來對數據進行預測。預測的過程就是把測試記錄從 iTree 根結點開始搜索,确定測試記錄落在哪個葉子節點上。iTree 能檢測異常的假設是:異常點一般都是非常稀有的,在 iTree 中很快會被分到葉子節點上。也就是說,在 iTree 中,異常值一般表現為葉子節點到根節點的路徑 h(x) 很短。因此,可以用 h(x) 來判斷一條記錄是否屬于異常值。

時序數據缺失值填充算法(時序數據異常點檢測技術)9

實現中還有注意的點:

  • 随機樹是不穩定的,但是把多棵 iTree 結合起來,形成 iForest 就變得強大了
  • 構建iForest 的方法與構建随機森林的方法類似,都是随機采樣一部分數據集來構造每一棵樹,保證不同樹之間的差異。但不同的是,我們需要限制采樣樣本的大小。采樣前正常值和異常值有重疊,采樣後可以有效區分正常值和異常值。

時序數據缺失值填充算法(時序數據異常點檢測技術)10

  • 需要限制 iTree 的最大高度,因為異常值記錄比較少,其路徑長度也比較小。樹太深了增加無意義的計算消耗。

綜上所述,獨立森林本質上是一種非監督算法,不需要先驗的類标簽。在處理高維數據時,不是把所有的屬性都用上,而是通過峰度系數(峰度小,長尾太長了,比較難判斷異常;峰度大,則大部分數據集中,方便判斷)挑選一些有價值的屬性,然後再進行 iForest 的構造,算法效果會更好。

顔色越深代表異常值得分越高, 顔色越淺代表異常值得分越低。可以看出,模型預測效果不錯,顔色分布規律與 test 和 outlier 數據集完全吻合。

時序數據缺失值填充算法(時序數據異常點檢測技術)11

04 業界實踐

常見的開源的異常監測系統

時序數據缺失值填充算法(時序數據異常點檢測技術)12

時序數據缺失值填充算法(時序數據異常點檢測技術)13

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved