【論文筆記】MIDAS:Microcluster-Based Detector of Anomalies in Edge Streams

MIDAS: Microcluster-Based Detector of Anomalies in Edge Streams

0 前言

基於動態圖譜 dynamic graph 來做異常偵測 anomaly detection,像是財務詐欺、網路入侵或是社群垃圾郵件。至2020年止,現有的方法大多專注於 individually surprising edges,但是這種方式將可能錯失大量可疑活動。因此,在本篇中提出MIDAS,主要專注於microcluster anomalies(後續將詳細解說何為microcluster),像是DNS attack, lockstep behavior。而本篇的三大貢獻在於:

  1. 提出False Positive probability的理論上限與下限
  2. 在合理的記憶體與時間內,較 sota(state-of-the-art)快上108 - 505倍
  3. 能夠提升比 sota 高出 46 ~ 52% 的準確度(AUC)

以下將由問題定義出發,解說MIDAS演算法,最後講解實驗與結論。

1 問題

Comparison of relevant edge stream anomaly detection approaches.

1.1 三大目標

相較於上圖中的前兩篇論文,除了先前研究就已經能達到在洽當的記憶體使用量與運算時間達成異常偵測,更多了microcluster detection 和 False positive probability,以下有詳細定義。

  1. Microcluster Detection: 這裡的 microcluster 定義為短時間內爆量的活動,含有重複的 edge / node。
  2. Guarantees on False Positive Probability(提出偽陽性的範圍): 給予任何一個使用者定義的probability level ϵ {ϵ} ϵ (e.g. 1%)。
  3. Constant Memory and Update Time: 記憶體的使用量和計算時間,不可隨拓樸的node 或 edge 漸多而增加。

1.2 符號定義

首先,會有一個隨時間演進的 graph 記作 G \mathcal{G} G, 所有 node 的集合記作 ν {\nu} ν ,至於 stream edges 記作 ξ = { e 1 , e 2 , e 3 , . . . } {\xi =\{e_1, e_2, e_3, ...\}} ξ={ e1,e2,e3,...} ,而每個 edge 記作 e i = ( u i , v i , t i ) {e_i = (u_i, v_i, t_i)} ei=(ui,vi,ti) u ∈ ν {u \in {\nu}} uν 表示source node, v ∈ ν {v \in {\nu}} vν 表示destination node, t {t} t 則表示這個 edge 加入的時間。因此這個 ν {\nu} ν 並非事先就定義好的,有可能因為後續有新的 node 或是 edge 加入而擴增。

若是要實作的話,可以實作於 directed graph,undirected graph 以及 multigraph。只是套用在undirected graph 必須先自行將一條 edge 生成雙向的資料,而這裡的 multigraph 指的是 edge可以被同一個 pair 的 sourceIp 和 destinationIp 多次生成。另外,在不同時間點的 edge 是可以同時給予的,因為在很多應用中時間都是以離散方式處理的。

2 MIDAS演算法

2.0 三大前提

  1. 假設使用的都是 streaming 資料且是 hypothesis testing based
  2. 事先定義好什麼樣算是 anomalous,並且設定 probability level ϵ {ϵ} ϵ
  3. 除了上述兩點,額外考量Incorporating Relations 像是:時序關係 (temporally) 與空間關係(spatially) 在此稱作:MIDAS-R。其中空間關係指的是相鄰的nodes

基於 MIDAS: Streaming Hypothesis Testing Approach,以下舉例一個microcluster的例子
Microcluster舉例
上圖中觀察單一的 edge,可以看到在 t = 10 {t=10} t=10 出現一個較大型短時間內暴增的活動量。以上圖為例子,當時間到達 t = 10 {t=10} t=10 時,以 S u v {S_{uv}} Suv 來表示 t < = 10 t<=10 t<=10 之前所累積的 edge 內容,另外以 a u v {a_{uv}} auv 紀錄每一個單一時刻的 edge,像是 t = 10 t=10 t=10 這一時間點的 edge內容,並且在下一個時間點重置 a u v {a_{uv}}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: DCC-MIDAS-X模型构建方法是一种基于时间序列数据的动态相关性模型,通过将MIDAS(Mixed Data Sampling)方法与DCC(Dynamic Conditional Correlation)模型相结合,可以对不同频率的数据进行联合建模,从而更准确地捕捉它们之间的动态相关性。具体构建方法可以参考相关献和资料。 ### 回答2: DCC-MIDAS-X模型是一种用于预测金融市场波动率的方法。该模型结合了动态条件相关(DCC)模型和多标准插值动态自回归(MIDAS-X)模型的特点。 首先,我们需要采集相关的金融时间序列数据,如股票收益率数据、指数数据等。这些数据通常包括短期和长期的信息,以考虑市场的不同变动趋势。 然后,我们根据时间序列数据计算各个变量的波动率。这可以通过计算收益率的方差或标准差来实现。在这个过程中,我们需要考虑波动率的滞后效应。 接下来,我们使用MIDAS-X模型来捕捉不同变动趋势的影响。MIDAS-X模型使用滞后变量来描述长期和短期的关系。具体而言,该模型使用不同滞后期的权重来衡量这种关系。 最后,我们使用DCC模型来建立相关变量之间的条件相关性。DCC模型可以捕捉到变量之间的时间变化和波动性的相关性。通过这种方式,我们可以考虑到不同时间点的相关性变化。 综上所述,DCC-MIDAS-X模型通过结合DCC模型和MIDAS-X模型的特点,能够有效地预测金融市场的波动率。该模型可以适应不同时间尺度的市场变动趋势,并考虑到不同变量之间的相关性变化。这使得该模型在金融市场波动率预测中具有广泛应用的潜力。 ### 回答3: DCC-MIDAS-X模型是一种用于建模金融时间序列数据的方法。它的构建方法包括以下几个步骤。 首先,DCC-MIDAS-X模型是基于两个核心模型:DCC模型和MIDAS模型。DCC模型用于建模多元时间序列数据的条件方差,而MIDAS模型则用于处理不同频率的时间序列数据。因此,构建DCC-MIDAS-X模型的第一步是根据数据性质选择相应的DCC和MIDAS模型。 第二步是确定数据的频率。DCC-MIDAS-X模型能够处理不同频率的时间序列数据,但需要对数据进行相应的处理。常见的频率包括日频、周频和月频。根据数据的特点和研究目的,选择适当的频率。 第三步是设定模型的参数。DCC-MIDAS-X模型的参数包括条件方差模型和时间延迟模型的参数。条件方差模型用于估计和预测时间序列数据的条件方差,时间延迟模型用于处理不同频率的数据之间的关系。根据实际情况,设定合适的参数。 第四步是估计模型。根据设定的参数,使用合适的估计方法对模型进行估计。常见的估计方法包括极大似然估计和贝叶斯估计。 最后一步是模型的检验和评估。根据数据的拟合情况、参数的显著性以及模型的表现,评估模型的拟合度和预测性能。如果模型不符合要求,可以进行相应的调整和改进。 总之,DCC-MIDAS-X模型的构建方法包括选择核心模型、确定数据频率、设定参数、估计模型以及模型的检验和评估。这些步骤能够帮助研究人员建立可靠的金融时间序列模型,并进行相应的数据分析和预测。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值