旗下產(chǎn)業(yè): A產(chǎn)業(yè)/?A實習(xí)/?A計劃
全國統(tǒng)一咨詢熱線:010-5367 2995
首頁 > 熱門文章 > 大數(shù)據(jù)分析 > tsmoothie:以向量化方式進行時序平滑和異常檢測的Python庫

tsmoothie:以向量化方式進行時序平滑和異常檢測的Python庫

時間:2020-11-09來源:lb577.com點擊量:作者:Sissi
時間:2020-11-09點擊量:作者:Sissi


  tsmoothie
 

  一個用于以向量化方式進行時間序列平滑和離群值檢測的python庫。
 

  總覽
 

  tsmoothie以快速有效的方式計算單個或多個時間序列的平滑度。
 

  可用的平滑技術(shù)是:
 

  1)指數(shù)平滑

  2)具有各種窗口類型(常量,漢寧,漢明,巴特利特,布萊克曼)的卷積平滑

  3)多項式平滑

  4)各種樣條平滑(線性,三次,自然三次)

  5)高斯平滑

  6)Binner平滑

  7)低價

  8)各種季節(jié)性分解平滑(卷積,最低,自然三次樣條)

  9)帶有可自定義組件(水平,趨勢,季節(jié)性,長期季節(jié)性)的卡爾曼平滑
 

  tsmoothie提供了平滑處理結(jié)果的間隔計算。這對于識別時間序列中的異常值和異??赡芎苡杏谩?br />  

  可用的間隔類型為:
 

  1)sigma間隔

  2)置信區(qū)間

  3)預(yù)測間隔

  4)卡爾曼區(qū)間
 

  采用這種類型的間隔取決于所使用的平滑方法。
 

  tsmoothie還可以執(zhí)行滑動平滑方法。可以將時間序列分成相等大小的片段,并分別進行平滑處理。與往常一樣,此功能通過WindowWrapper類以矢量化方式實現(xiàn)。
 

  安裝

  點安裝tsmoothie
 

  該模塊僅取決于NumPy,SciPy和simdkalman。支持Python 3.6或更高版本。
 

  用法
 

  下面是tsmoothie如何工作的幾個示例。筆記本文件夾中提供了完整的示例。
 

  #導(dǎo)入庫
 

  將 numpy 導(dǎo)入為 np
 

  import matplotlib。pyplot 如 PLT
 

  從 tsmoothie。utils_func 進口 sim_randomwalk
 

  從 tsmoothie。進口順暢 LowessSmoother
 

  #產(chǎn)生3次長度為200
 

  np的隨機游走。隨機的。種子(123)
 

  數(shù)據(jù) = sim_randomwalk(n_series = 3,時間步長= 200,
 

  process_noise = 10,measure_noise = 30)
 

  #操作平滑
 

  平滑 = LowessSmoother(smooth_fraction = 0.1,迭代= 1)
 

  更光滑。順利(數(shù)據(jù))
 

  #生成
 

  低間隔,向上 = 更平滑。get_intervals('prediction_interval')
 

  #繪制間隔為
 

  plt的平滑時間序列。圖(figsize =(18,5))
 

  對于 我 在 范圍(3):
 

  PLT。副區(qū)(1,3,我+ 1)
 

  PLT。積(平滑。smooth_data [我],線寬= 3,顏色= '藍色')
 

  PLT。繪制(更平滑的數(shù)據(jù)[ i ],' . k ')
 

  plt。標(biāo)題(f“時間序列{ i + 1 } ”); PLT。xlabel('時間')
 

  PLT。fill_between(范圍(len個(更平滑。數(shù)據(jù)[我])),低[我],向上[我],阿爾法= 0.3)
 

tsmoothie:以向量化方式進行時序平滑和異常檢測的Python庫
 

  #導(dǎo)入庫
 

  將 numpy 導(dǎo)入為 np
 

  import matplotlib。pyplot 如 PLT
 

  從 tsmoothie。utils_func 進口 sim_seasonal_data
 

  從 tsmoothie。導(dǎo)入更順暢 DecomposeSmoother
 

  #生成3個長度為300
 

  np的周期性時間序列。隨機的。種子(123)
 

  數(shù)據(jù) = sim_seasonal_data(n_series = 3,時間步長= 300,
 

  頻率= 24,measure_noise = 30)
 

  #
 

  更平滑地 進行平滑操作= DecomposeSmoother(smooth_type = 'lowess',周期= 24,
 

  smooth_fraction = 0.3)
 

  更平滑。順利(數(shù)據(jù))
 

  #生成
 

  低間隔,向上 = 更平滑。get_intervals('sigma_interval')
 

  #繪制間隔為
 

  plt的平滑時間序列。圖(figsize =(18,5))
 

  對于 我 在 范圍(3):
 

  PLT。副區(qū)(1,3,我+ 1)
 

  PLT。積(平滑。smooth_data [我],線寬= 3,顏色= '藍色')
 

  PLT。繪制(更平滑的數(shù)據(jù)[ i ],' . k ')
 

  plt。標(biāo)題(f“時間序列{ i + 1 } ”); PLT。xlabel('時間')
 

  PLT。fill_between(范圍(len個(更平滑。數(shù)據(jù)[我])),低[我],向上[我],阿爾法= 0.3)

tsmoothie:以向量化方式進行時序平滑和異常檢測的Python庫




預(yù)約申請免費試聽課

填寫下面表單即可預(yù)約申請免費試聽!怕錢不夠?可先就業(yè)掙錢后再付學(xué)費! 怕學(xué)不會?助教全程陪讀,隨時解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可推薦就業(yè)!

?2007-2021/北京漫動者教育科技有限公司版權(quán)所有
備案號:京ICP備12034770號

?2007-2022/ lb577.com 北京漫動者數(shù)字科技有限公司 備案號: 京ICP備12034770號 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc

京公網(wǎng)安備 11010802035704號

網(wǎng)站地圖