在Web應用程序中,每次發生事件時都會觸發一次觸發器。我想檢測'暴力'頻率高峯,這可能會轉化爲異常行爲。實時檢測事件頻率峯值
我能想到的實現這兩個天真的方式:
固定閾值 - 「如果在一分鐘內發生超過500個事件,某事可能是錯誤的」。除非應用程序可以定期調整閾值,否則此方法無法處理平滑閾值泄漏或穩步增加的流量。
與窗口相關的啓發式方法 - 將窗口劃分爲N個相等(?)間隔。當N> 0時,計算在[now-(N * interval_length),現在]中發生的事件的頻率。將它保存在一個列表中。將N減少1.重複。檢測列表異常值。如果有一個離羣比[現已window_length,現]的平均頻率較大,某事可能是錯的。」
我想知道是否有作此問題或公共/標準溶液如果你能想到的任何東西更有效或優雅
預先感謝您
編輯 - 另一項建議
我的一個朋友建議的異常行爲檢測霍爾特 - 溫特斯預測。您可以在下面的鏈接找到有關此方法的詳細信息:
http://www.hpl.hp.com/news/events/csc/2005/jake_slides.pdf
http://www.usenix.org/events/lisa00/full_papers/brutlag/brutlag_html/
Tx for answering =)這裏有一些問題.. a)最近的事件,它得到的權重越多,對吧? b)'a'表示什麼?我不能只調整T以避免'n'乘法? – sawidis
良好的觀察。我已經忘記'α_i'的索引了。如果你想要一個特殊的重量。對於每個'i',它可以是'a_i = 1'。如果你的意思是把T移到右邊並添加新的x_n值,那你是對的。 –
是的,更近期==>更重要。 –