時序數據分析——異常檢測

      網友投稿 1087 2025-03-31

      時序數據的異常點是指序列中存在模式不一致的點(如時序數據超出正常范圍的上/下界,突然的上升或下降,趨勢改變)。時序數據的異常檢測旨在快速準確的找到這些異常點。


      代碼塊導入

      在NAIE訓練平臺的JupyterLab界面操作,不需要手動添加這一部分,因為在新創建的特征工程下已經包含了導入代碼。

      import os os.chdir("/home/ma-user/work/test_anomaly_detection_noah") from naie.context import Context as context from naie.datasets import data_reference from naie.feature_processing import data_flow from naie.feature_analysis import data_analysis from naie.feature_processing.expression import col, cols, cond, f_and, f_not, f_or from naie.common.data.typedefinition import StepType, ColumnRelationship, JoinType, ColumnSelector,DynamicColumnsSelectorDetails, StaticColumnsSelectorDetails, ColumnsSelectorDetails, DataProcessMode

      數據準備 - 選擇數據1

      在NAIE平臺上,點擊菜單欄中“數據集”下的“選擇數據”生成,然后填寫對應數據集和數據集實例參數即可。

      也可以直接調用提供的生成樣例數據的代碼來生成突變類異常樣例數據。

      dataset = 'air' dataset_entity = 'ts_data_analysis' datareference = data_reference.get_data_reference(dataset, dataset_entity) dataflow = data_flow.create_data_flow(datareference)

      1. 超出正常范圍上/下界

      檢測平穩的時序數據時序數據是否異常,給出異常判斷參考區間

      參數:

      data: 時序數據,可以是dataframe,數據路徑或者dataflow

      columns: 待進行時序數據分析的目標列,list類型

      id_column: 代表時序數據id列,沒有id列則使用默認值None,即認為整個數據為同一個id下的數據

      time_column: 時序數據的時間列,用來對數據進行排序的列。沒有時間列則使用默認值None. 如果不為None,則會根據給定的時間列對時序數據排序

      時序數據分析——異常檢測

      method: 獲取用于判斷時序數據異常的上/下界的方法,'boxplot', '3sigma’, 'and', 'or'可選;其中'and', 'or'分別表示前面二者獲取區間的交集,并集

      返回:

      時序數據的參考正常范圍

      from naie.ts_data_analysis import AnomalyDetection

      ad = AnomalyDetection(data=dataflow, columns=['col_1', 'col_2', 'col_3', 'col_4', 'col_5'], id_column='id', time_column=None) result = ad.fit(method='boxplot') # result = ad.anomaly_detection(method='3sigma') # result = ad.anomaly_detection(method='and') # result = ad.anomaly_detection(method='or') print('Anomaly detection: ') result

      Anomaly detection:

      Out[5]:

      數據準備 - 選擇數據2

      dataset = 'ts_data' dataset_entity = 'ts_anomaly' datareference = data_reference.get_data_reference(dataset, dataset_entity) dataflow = data_flow.create_data_flow(datareference)

      # 獲取數據的另一方法,生成突變類異常樣例數據 from naie.feature_analysis.data_generator import generate_mutation_data df = generate_mutation_data()

      2. 突然的上升或下降

      檢測平穩的時序數據中突增或突降的點

      參數:

      top_n: 指定需要找到多少個突變點(結果可能少于這個值),整型,默認5

      period_decomposition: 如果是周期數據,是否進行周期分解,增強數據的差異性, True或False,默認False

      length_per_period: 如果進行周期分解,則需輸入此參數,即一個周期內的數據量,整型,默認None

      threshold_filtering: 是否對篩選出的top n個點進行二次過濾,True或False, 默認False即不過濾

      threshold: 如果對篩選出的top n個點進行二次過濾,則需輸入此參數作為過濾閾值,小于閾值的即認為是突變點,浮點型,默認None

      返回:

      最可能是突變的點的索引

      from naie.ts_data_analysis import MutationAnomalyDetection

      mad = MutationAnomalyDetection(df, columns=['F_x'], id_column='id', time_column=None) res = mad.fit(top_n=5, period_decomposition=False, length_per_period=None, threshold_filtering=False, threshold=None) print("Mutation anomaly detection: ") res

      Mutation anomaly detection:

      import matplotlib %matplotlib inline

      mad._plot_mutation_anomaly(res)

      NAIE SDK幫助文檔匯總請參考:

      數據挖掘

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel萬(excel萬元轉換成元)
      下一篇:如何快速刪除Excel中的所有命名范圍?
      相關文章
      亚洲精品无码av天堂| 亚洲av纯肉无码精品动漫| 亚洲一区二区三区国产精品| 最新亚洲人成无码网www电影| 国产精品亚洲自在线播放页码| 亚洲国产精品张柏芝在线观看| 亚洲色图古典武侠| 亚洲国产精品日韩在线| 久久久久亚洲AV无码永不| 老汉色老汉首页a亚洲| 亚洲日本中文字幕| 亚洲第一页在线播放| 亚洲日本香蕉视频观看视频| 亚洲最大免费视频网| 国产成人精品亚洲日本在线 | 亚洲中文字幕无码亚洲成A人片| 中文文字幕文字幕亚洲色| 亚洲中文无码mv| 亚洲高清毛片一区二区| 丰满亚洲大尺度无码无码专线| 在线亚洲精品视频| 国产精品亚洲二区在线观看| 亚洲精品狼友在线播放| 久久精品国产亚洲av四虎| 中文字幕亚洲色图| 激情综合亚洲色婷婷五月| 亚洲欧洲精品成人久久曰| 国产精品亚洲а∨无码播放麻豆| 亚洲精品国产日韩无码AV永久免费网| 亚洲精品高清在线| 久久久久亚洲爆乳少妇无| 亚洲第一AAAAA片| 亚洲精品视频在线免费| 亚洲五月丁香综合视频| 亚洲av无码专区国产不乱码| 亚洲精品在线视频| 亚洲av无码潮喷在线观看| 亚洲欧洲日产专区| 亚洲欧美自偷自拍另类视| 亚洲人妻av伦理| 亚洲av色影在线|