本發明涉及數據監控技術領域,具體涉及一種定位毛刺異常點的方法、裝置及計算設備。
背景技術:
監控系統在對業務數據的監控中應用較廣,監控系統通過對業務監控項進行數據采樣,可對采樣數據進行分析,判斷出業務是否發生故障,從而在業務故障時輸出告警;監控系統如用于監控部門網管業務的部門網管業務監控告警系統等;監控系統所采樣的數據中常會存在毛刺異常點,毛刺異常點為采樣數據中出現脫離總體數據趨勢的采樣點,但毛刺異常點持續時間較短,并不是由于業務故障引起的,因此在采樣到毛刺異常點時,并不能認定業務故障而輸出告警;可見,為保證監控系統的正常運行,從所采樣的數據中定位出毛刺異常點,顯得尤為重要。
目前毛刺異常點的定位方式主要有基于小波分析法的毛刺異常點定位、采用固定長度滑動窗口檢測毛刺異常點等;在基于小波分析法定位毛刺異常點時,小波系數比較難控制,且算法需要依賴于ARMA(自回歸滑動平均模型)、GARCH(廣義自回歸條件異方差模型)等經濟學模型,這使得毛刺異常點的定位算法難度和復雜度均較大,并不適用于在監控系統中進行毛刺異常點的定位;采用固定長度滑動窗口檢測毛刺異常點時,需要依賴適用于分段線性模型的FKD(Kernel Fisher Discriminant)算法,而監控系統中絕大部分的業務的采樣數據都不是分段線性模型,這使得采用固定長度滑動窗口檢測毛刺異常點的方式,在監控系統的適用受到限制。
可以看出,目前毛刺異常點的定位方式并無法很好的適用于監控系統,因此提供一種新的能夠在監控系統中定位毛刺異常點的方法,以在監控系統中實現毛刺異常點的定位,成為本領域技術人員需要考慮的問題。
技術實現要素:
有鑒于此,本發明實施例提供一種定位毛刺異常點的方法、裝置及計算設備,以在監控系統中實現毛刺異常點的定位。
為實現上述目的,本發明實施例提供如下技術方案:
一種定位毛刺異常點的方法,包括:
確定采樣點序列,所述采樣點序列具有多個采樣點及各采樣點的采樣值;
根據所述采樣點序列的采樣值確定對應的絕對差分序列;
根據所述絕對差分序列確定整體差分置信區間;
將采樣點序列輸入滑動窗口,由滑動窗口從首個掃描點開始逐個掃描采樣點,以根據采樣點的絕對差分確定絕對差分不在所述整體差分置信區間內的突變判斷點;
判斷滑動窗口掃描的當前采樣點的采樣值,是否在突變判斷局部置信區間內,所述突變判斷局部置信區間根據突變判斷點前或前后的第一數量個點的采樣值確定;
若當前采樣點的采樣值不在所述突變判斷局部置信區間內,則確定當前采樣點為突變點;
滑動窗口繼續掃描采樣點,根據突變點的差分正負,確定采樣值回落到異常判斷局部置信區間內的第一個回落點,所述異常判斷局部置信區間根據突變判斷點前或前后的第二數量個點的采樣值確定;
如果突變點至所述第一回落點之間的采樣點個數不大于預置數量條件,則確定突變點至所述第一個回落點前的點是毛刺異常點。
本發明實施例還提供一種定位毛刺異常點的裝置,包括:
采樣點序列確定模塊,用于確定采樣點序列,所述采樣點序列具有多個采樣點及各采樣點的采樣值;
絕對差分序列確定模塊,用于根據所述采樣點序列的采樣值確定對應的絕對差分序列;
整體差分置信區間確定模塊,用于根據所述絕對差分序列確定整體差分置信區間;
突變判斷點確定模塊,用于將采樣點序列輸入滑動窗口,由滑動窗口從首個掃描點開始逐個掃描采樣點,以根據采樣點的絕對差分確定絕對差分不在所述整體差分置信區間內的突變判斷點;
突變點判斷模塊,用于判斷滑動窗口掃描的當前采樣點的采樣值,是否在突變判斷局部置信區間內,所述突變判斷局部置信區間根據突變判斷點前或前后的第一數量個點的采樣值確定;
突變點確定模塊,用于若當前采樣點的采樣值不在所述突變判斷局部置信區間內,則確定當前采樣點為突變點;
回落點確定模塊,用于滑動窗口繼續掃描采樣點,根據突變點的差分正負,確定采樣值回落到異常判斷局部置信區間內的第一個回落點,所述異常判斷局部置信區間根據突變判斷點前或前后的第二數量個點的采樣值確定;
毛刺異常點確定模塊,用于如果突變點至所述第一回落點之間的采樣點個數不大于預置數量條件,則確定突變點至所述第一個回落點前的點是毛刺異常點。
本發明實施例還提供一種計算設備,包括上述所述的定位毛刺異常點的裝置。
基于上述技術方案,本發明實施例提供的定位毛刺異常點的方法,通過確定采樣點序列的絕對差分序列,整體差分置信區間;通過滑動窗口動態的掃描采樣點,根據整體差分置信區間和突變判斷局部置信區間,可先從局部搜索出可能存在毛刺異常的局部毛刺異常區間(突變點所在區間),進而再通過異常判斷局部置信區間定位出整個采樣序列中的所有毛刺異常時間區間,實現對采樣點序列中的毛刺異常點的定位。本發明實施例提供的定位毛刺異常點的方法,可基于監控系統提供的采樣點序列分析定位出毛刺異常點,不需引入其他定位毛刺異常點的模型,由直接對采樣點序列的處理,定位出毛刺異常點,方法的限制條件較少,可實現在監控系統中的適用。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發明實施例提供的定位毛刺異常點的方法的流程圖;
圖2為本發明實施例提供的確定絕對差分為上一絕對差分的至少m0倍的突變判斷點c的方法流程圖;
圖3為本發明實施例提供的突變判斷局部置信區間的確定方法的流程圖;
圖4為本發明實施例提供的回落點e的確定方法的流程圖;
圖5為本發明實施例提供的定位毛刺異常點的方法的另一流程圖;
圖6為本發明實施例提供的突變判斷局部置信區間的確定方法的另一流程圖;
圖7為本發明實施例提供的確定回落點e的方法的另一流程圖;
圖8為本發明實施例提供的定位毛刺異常點的方法的再一流程圖;
圖9為本發明實施例提供的定位毛刺異常點的裝置的結構框圖;
圖10為本發明實施例提供的計算設備的硬件結構框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
圖1為本發明實施例提供的定位毛刺異常點的方法的流程圖,該方法可應用于具有數據處理能力的計算設備,該計算設備可以為監控系統所在的服務器,也可以是與監控系統所在的服務器能夠進行數據交互的其他服務器或終端設備;
參照圖1,本發明實施例提供的定位毛刺異常點的方法可以包括如下步驟:
步驟S100、確定采樣點序列,所述采樣點序列具有多個采樣點及各采樣點的采樣值;
監控系統可在一個采樣時間點采樣到一個采樣點(采樣數據),采樣點 的采樣狀況以采樣值表示,通過分析采樣值可確定業務的故障情況,從而在業務故障時,發出告警;在監控系統得到由多個采樣點構成的序列后,本發明實施例可確定出采樣點序列(多個采樣點按照采樣時間排序組成的序列);
采樣點序列中的各個采樣點對應有采樣值;采樣點以i表示,i=1,2…,n,采樣點的采樣值以x(i)表示;
可選的,在監控系統中由于業務故障,機器故障等原因,會導致某些采樣時間點的采樣數據無法正常上報,從而導致數據缺失;因此本發明實施例可從監控系統原始提供的采樣數據中,查找缺失數據的約定符號,確定出未上報的采樣時間點(未上報采樣數據的采樣時間點);從而在原始的采樣點序列中,通過向前移動平均的方法,對未上報的采樣時間點所對應的采樣值進行補充,從而確定出采樣點序列;所確定的采樣點序列具有完整的采樣時間點所對應的采樣值,包含未上報的采樣時間點所對應的采樣值,和上報的采樣時間點所對應的采樣值。
步驟S110、根據所述采樣點序列的采樣值確定對應的絕對差分序列{Δi};
可選的,可根據公式{Δi}={Δi|Δi=|x(i+1)-x(i)|}計算采樣點序列對應的絕對差分序列{Δi};公式中,Δi表示絕對差分,各采樣點對應的絕對差分組成絕對差分序列{Δi};而采樣點i+1的絕對差分Δi,由i+1的采樣值x(i+1)減去上一采樣點的采樣值x(i)后,取絕對值得到;采樣點i+1的絕對差分為Δi。
步驟S120、根據所述絕對差分序列{Δi}確定整體差分置信區間;
可選的,整體差分置信區間表示絕對差分序列的總體正常區間;整體差分置信區間,可根據絕對差分序列{Δi}的均值miuabs與n倍標準差doutaabsn組成的區間確定;可選的,n可取2、3等,相應的可計算2倍標準差doutaabs2,或3倍標準差doutaabs3等。
步驟S130、將采樣點序列輸入滑動窗口,由滑動窗口從首個掃描點開始逐個掃描采樣點,以根據采樣點的絕對差分確定絕對差分Δc-1不在所述整體差分置信區間內的突變判斷點c,c∈i;
突變判斷點c為用于判斷采樣點序列中的突變點的點(突變點表示采樣點相比其前面的采樣點發生很大變化的點,比如突然變大或突然變小的點);
可選的,確定突變判斷點c有兩種方式:
第一種方式、突變判斷點c的絕對差分Δc-1為上一絕對差分Δc-2的至少m0 倍,m0為突變倍數閾值;或者,突變判斷點c的絕對差分Δc-1不在整體差分置信區間內(適用于監控系統所監控的業務數據為平緩變化的場景,如網絡流量、用戶請求量等帶有趨勢性的平緩變化的監控場景);
第二種方式、突變判斷點c的絕對差分Δc-1不在所述整體差分置信區間內,且突變判斷點c的采樣值大于所述采樣點序列的采樣值均值m0d(適用于監控系統所監控的業務數據為比率數據的場景,如采樣數據保持在一定的波動范圍之內,且變化帶有類似于正弦曲線的周期性質)。
步驟S140、判斷滑動窗口掃描的當前采樣點i+1的采樣值x(i+1),是否在突變判斷局部置信區間內,所述突變判斷局部置信區間根據突變判斷點c前或前后的第一數量個點的采樣值確定;
可選的,本發明實施例可根據突變判斷點c前或前后的M1個(第一數量個)點的均值及標準差(3倍標準差等),形成突變判斷局部置信區間;突變判斷點c前的M1個點的均值及標準差,可根據變判斷點c前的M1個點的采樣值確定;突變判斷點c前后的M1個點的均值及標準差,可根據變判斷點c前后的M1個點的采樣值確定;
具體的,突變判斷點c前的M1個點的均值及標準差可以為,突變判斷點c前的所有點的均值及標準差,也可以是突變判斷點c前的n0個點(n0為預置的毛刺點數閾值)的均值及標準差;突變判斷點c前后的M1個點的均值及標準差可以為,突變判斷點c前后各n0個采樣點的均值及標準差等;具體M1的選取可以根據突變判斷點是否在滑動窗口首位、當前滑動窗口的長度而定;
值得注意的是,采用突變判斷點c前或前后的第一數量個點的均值及標準差形成突變判斷局部置信區間,僅為一種可選形式;本發明實施例也可采用蒙特卡洛(Monte Carlo)方法確定突變判斷局部置信區間,蒙特卡洛方法作為獲得置信區間估計值分布的一種方法,可對置信區間的所有估計值樣本進行排序,則置信區間下限:可以為排序后設定下限百分位的值,置信區間上限可以為排序后設定上限百分位的值;設定下限百分位和設定上限百分位可根據置信區間所要求的樣本介于置信區間下限和置信區間上限的概率設定。
步驟S150、若當前采樣點i+1的采樣值x(i+1)不在所述突變判斷局部置信區間內,則確定當前采樣點為突變點;
可選的,若當前采樣點i+1的值x(i+1)在所述突變判斷局部置信區間內, 則可確定當前采樣點不為突變點,滑動窗口可掃描下一個采樣點。
步驟S160、滑動窗口繼續掃描采樣點,根據突變點的差分正負,確定采樣值回落到異常判斷局部置信區間內的第一個回落點e,所述異常判斷局部置信區間根據突變判斷點c前或前后的第二數量個點的采樣值確定;
可選的,本發明實施例可根據突變判斷點c前或前后的第二數量個點的均值及標準差,形成所述異常判斷局部置信區間;突變判斷點c前的第二數量個點的均值及標準差,可根據突變判斷點c前的第二數量個點的采樣值確定;突變判斷點c前后的第二數量個點的均值及標準差,可根據突變判斷點c前后的第二數量個點的采樣值確定;
具體的,突變判斷點c前的第二數量個點的均值及標準差可以為,突變判斷點c前的n0個點的均值及標準差;突變判斷點c前后的第二數量個點的均值及標準差形可以為,突變判斷點c前后各n0個采樣點等;具體第二數量的選取可以根據突變判斷點是否在滑動窗口首位、當前滑動窗口的長度而定;第二數量和第一數量可能不等。
顯然,本發明實施例也可根據蒙特卡洛方法確定異常判斷局部置信區間。
步驟S170、如果突變點至回落點e之間的采樣點個數不大于預置數量條件,則確定突變點至回落點e前的點是毛刺異常點。
可選的,本發明實施例可設置n0(毛刺點數閾值),置信水平α等;若突變點至回落點e之間的采樣點個數不大于n0,或不大于αn0c,則確定突變點至回落點e前的點是毛刺異常點;n0c為滑動窗口的首個掃描點至突變點的長度;
可選的,由于回落點e已回落,因此屬于毛刺異常點的突變點至回落點e前的點,包含突變點但不包含回落點e。
本發明實施例提供的定位毛刺異常點的方法,通過確定采樣點序列的絕對差分序列,整體差分置信區間;通過滑動窗口動態的掃描采樣點,根據整體差分置信區間和突變判斷局部置信區間,可先從局部搜索出可能存在毛刺異常的局部毛刺異常區間(突變點所在區間),進而再通過異常判斷局部置信區間定位出整個采樣序列中的所有毛刺異常時間區間,實現對采樣點序列中的毛刺異常點的定位。本發明實施例提供的定位毛刺異常點的方法,可基于監控系統提供的采樣點序列分析定位出毛刺異常點,不需引入其他定位毛刺異常點的模型,由直接對采樣點序列的處理,定位出毛刺異常點,方法的 限制條件較少,可實現在監控系統中的適用。
可選的,本發明實施例提供的定位毛刺異常點的方法可適用于監控系統所監控的業務數據為平緩變化的場景,也可適用于監控系統所監控的業務數據為比率數據的場景;在這兩個場景下,進行毛刺異常點的定位原理與圖1所示類似,但在具體實行時可存在一些區別;下面將就這兩個場景下的具體毛刺異常點的定位過程進行介紹。
可選的,本發明實施例提供的定位毛刺異常點的方法,可適用于監控系統所監控的業務數據為平緩變化的場景;
可選的,整體差分置信區間可以由絕對差分序列{Δi}的均值miuabs與n倍標準差doutaabsn確定(n可取2或3等,相應的可以是2倍標準差doutaabs2,或3倍標準差doutaabs3等);具體的,本發明實施例在確定絕對差分序列{Δi}后,可計算絕對差分序列{Δi}的均值miuabs與n倍標準差doutaabs,n從而根據miuabs與doutaabsn組成所述整體差分置信區間;可選的,整體差分置信區間用[miuabs-doutaabsn,miuabs+doutaabsn]表示。
可選的,在圖1所示方法的基礎上,本發明實施例還可根據采樣點序列對應的絕對差分序列{Δi}計算突變倍數閾值m0,突變倍數閾值表示業務正常情況下,最大能接受的采樣點突變程度(采樣點突變程度是指采樣點的值與前面的采樣點的值相比的變化程度);
具體的,本發明實施例可在確定絕對差分序列{Δi}后,去掉絕對差分序列{Δi}中的最大值和0值,計算去掉最大值和0值的絕對差分序列{Δi}的平均值,從而得到突變倍數閾值,突變倍數閾值可以m0表示;
基于此,圖1所示步驟S130中確定突變判斷點c的方式可以為:確定絕對差分Δc-1為上一絕對差分Δc-2的至少m0倍,或者,絕對差分Δc-1不在所述整體差分置信區間內的突變判斷點c;
突變判斷點c為用于判斷采樣點序列中的突變點的點,在本發明實施例中,一個點可認為是采樣點序列中的一個采樣點;突變判斷點c滿足下述兩個條件:
點c的絕對差分Δc-1為上一絕對差分Δc-2的至少m0倍;或者,突變判斷點c的絕對差分不在整體差分置信區間內;
可選的,圖2示出了本發明實施例提供的確定絕對差分Δc為上一絕對差分Δc-1的至少m0倍的突變判斷點c的方法流程圖,參照圖2,該方法可以包括:
步驟S200、如果上一絕對差分Δc-2不為0,則將絕對差分Δc-1除以Δc-2,若得到不小于m0的結果,則確定點c為突變判斷點;
步驟S210、如果上一絕對差分Δc-2為0,則確定點c前n0個點的絕對差分均值將點c的絕對差分Δc-1除以若得到不小于m0的結果,則確定點c為突變判斷點;其中,n0為預置的毛刺異常點數閾值;
步驟S220、如果上一絕對差分Δc-2為0,且也為0,則確定所述滑動窗口的首個掃描點至點c的絕對差分均值將點c的絕對差分Δc-1除以若得到不小于m0的結果,則點c為突變判斷點;其中t0為滑動窗口的首個掃描點;
步驟S230、如果上一絕對差分Δc-2為0,為0,且也為0,則比較點c的絕對差分Δc-1與m0,如果Δc-1大于m0,則確定點c為突變判斷點。
可選的,圖2所示步驟為4種不同分支情況的處理,步驟S210~步驟230間可以沒有明顯順序。
可選的,本發明實施例可通過滑動窗口逐個掃描采樣點;滑動窗口每掃描一個采樣點,則滑動窗口自增一個單位長度,當前滑動窗口達到最大的窗口長度時,則開始一個新的滑動窗口繼續掃描,從而實現對采樣點的動態掃描;可選的,最大的窗口長度可以l0表示;可選的,滑動窗口的一個單位長度可以是采樣的一個采樣時間點;具體采樣時間可由采樣點x(i)攜帶,對應的是下標i。
可選的,突變判斷局部置信區間的確定方法可以如圖3所示,參照圖3,該方法可以包括:
步驟S300、如果突變判斷點c不是滑動窗口的首個掃描點,則可確定首個掃描點至突變判斷點c間所有點的均值μ1,及n倍標準差nδ1,根據μ1和nδ1確定出突變判斷局部置信區間;
可選的,n可以取2或3等;均值μ1可以認為是滑動窗口首個掃描點至突變判斷點c間所有點的采樣值的均值,n倍標準差nδ1可以認為是滑動窗口首個掃描點至突變判斷點c間所有點的采樣值的n倍標準差;下文μ2、nδ2,μ3、nδ3等的含義同理;
可選的,[μ1-nδ1,μ1+nδ1]可以視為是突變判斷局部置信區間;
步驟S310、如果突變判斷點c是滑動窗口的首個掃描點,則判斷所述采樣點序列的采樣時間是否超過突變判斷點c之后的kn0長度,若是,執行步驟S320,若否,執行步驟S330;
可選的,k為預置數值,可取2,顯然也可根據實際情況設定。
步驟S320、回溯突變判斷點c前后各n0個采樣點,確定前后n0個采樣點的均值μ2,及前后n0個采樣點的n倍標準差nδ2,根據μ2和nδ2確定出突變判斷局部置信區間;
可選的,n可以取2或3等;可將[μ2-nδ2,μ2+nδ2]視為突變判斷局部置信區間;
步驟S330、確定突變判斷點c前n0個采樣點的均值μ3,及n倍標準差nδ3,根據μ3和nδ3確定出突變判斷局部置信區間;
可選的,n可以取2或3等;[μ3-nδ3,μ3+nδ3]可以視為是突變判斷局部置信區間。
可選的,步驟S300~步驟S330為不同的處理分支,可以認為沒有明顯先后順序。
可選的,突變點的差分為正值時,說明突變點為上凸點,突變點的差分為負值時,說明突變點為下凹點;本發明實施例可根據突變點為上凸點還是下凹點進行回落點e的定位;圖4示出了本發明實施例提供的回落點e的確定方法流程圖,參照圖4,該方法可以包括:
步驟S400、如果所確定的突變點為上凸點,則繼續掃描采樣點,確定采樣值下降到異常判斷局部置信區間的第一個回落點e;
采樣值下降到異常判斷局部置信區間的第一個回落點e可以認為是,采樣值回落到異常判斷局部置信區間的回落點;
可選的,步驟S400中異常判斷局部置信區間的確定過程可以如下:
如果突變點為滑動窗口的首個掃描點,且所述采樣點序列的采樣時間超過突變判斷點c之后的kn0(如2n0等)長度,則回溯突變點前后各n0個采樣點,確定前后n0個采樣點的均值μ4,及前后n0個采樣點的n倍標準差nδ4,根據μ4和nδ4確定出異常判斷局部置信區間;
可選的,n可以取2或3等;[μ4-nδ4,μ4+nδ4]可以視為是異常判斷局部置信區間;
如果突變點不為滑動窗口的首個掃描點,或者,所述采樣點序列的采樣時間未超過突變判斷點c之后的kn0(如2n0等)長度,則確定突變點前n0個采樣點的均值μ5,及n倍標準差nδ5,根據μ5和nδ5確定出異常判斷局部置信區間;
可選的,n可以取2或3等;[μ5-nδ5,μ5+nδ5]可以視為是異常判斷局部置信區間。
步驟S410、如果所確定的突變點為下凹點,則繼續掃描采樣點,確定采樣值上升到異常判斷局部置信區間的第一個回落點e。
采樣值上升到異常判斷局部置信區間的第一個回落點e可以認為是采樣值回落到異常判斷局部置信區間的回落點;
可選的,步驟S410中異常判斷局部置信區間的確定過程可以如下:
如果突變點為滑動窗口的首個掃描點,則回溯突變點前后各n0個采樣點,確定前后n0個采樣點的均值μ4,及前后n0個采樣點的n倍標準差nδ4,根據μ4和nδ4確定出異常判斷局部置信區間;
可選的,n可以取2或3等;[μ4-nδ4,μ4+nδ4]可以視為是異常判斷局部置信區間;
如果突變點不為滑動窗口的首個掃描點,則以圖3所確定的突變判斷局部置信區間視為異常判斷局部置信區間。
可選的,在定位到突變點和回落點e后,本發明實施例可根據突變點至回落點e之間的采樣點個數進行毛刺異常點的判斷;
具體的,如果突變點至回落點e之間的采樣點個數大于n0,且大于αn0c,則確定突變點至回落點e前的點不是毛刺異常點;n0c為滑動窗口的首個掃描點至突變點的長度;其中,由于回落點e已回落,突變點至回落點e之間的采樣點個數不包含回落點e;
如果突變點至回落點e之間的采樣點個數不大于n0,或不大于αn0c,則確定突變點至回落點e前的點是毛刺異常點;其中,由于回落點e已回落,因此毛刺異常點包含突變點,但不包含回落點e。
可選的,在上述定位毛刺異常點的過程中可能存在漏檢的刺異常點,因此本發明實施例還可設置漏檢的刺異常點的機制;具體的,本發明實施例可由所確定的連續的毛刺異常點構成毛刺異常點區間,如果任兩個毛刺異常點 區間僅相差一個采樣點,則兩個毛刺異常點區間所相差的一個采樣點為漏檢的毛刺異常點;
可選的,毛刺異常點區間為由連續的毛刺異常點構成的一個區間,如果毛刺異常點之間存在斷續的點,則不能集合到一個區間中,集合到一個區間的毛刺異常點應是連續的。
進一步,在查找到漏檢的毛刺異常點,本發明實施例可根據漏檢的毛刺異常點,匯聚連續的毛刺異常點區間,從而確定出連續的毛刺異常點個數;如果連續的毛刺異常點個數大于n0,則可確定輸出提示信息;
通過上述方式,本發明實施例提供的定位毛刺異常點的方法可輸出采樣點序列中毛刺異常點所在的區間點(時間區間點)。
優選的,圖5示出了本發明實施例提供的定位毛刺異常點的方法的另一流程圖,參照圖5,該方法可以包括如下步驟:
步驟S10、確定采樣點序列,所述采樣點序列具有多個采樣點,采樣點以i表示,采樣點的采樣值以x(i)表示;
可選的,i=1,2…,n。
步驟S11、根據公式{Δi}={Δi|Δi=|x(i+1)-x(i)|},計算采樣點序列對應的絕對差分序列{Δi};
可選的,Δi表示絕對差分,各采樣點對應的絕對差分組成絕對差分序列{Δi},而采樣點i+1的絕對差分Δi,由采樣點i+1的值x(i+1)減去上一采樣點的值x(i)后,取絕對值得到。
步驟S12、根據所述絕對差分序列確定突變倍數閾值m0,及整體差分置信區間;
可選的,本發明實施例可在確定絕對差分序列{Δi}后,去掉絕對差分序列{Δi}中的最大值和0值,計算去掉最大值和0值的掉絕對差分序列{Δi}的平均值,從而得到突變倍數閾值,突變倍數閾值可以m0表示;
可選的,本發明實施例在確定絕對差分序列{Δi}后,可計算絕對差分序列{Δi}的均值miuabs與n倍標準差doutaabsn,從而根據miuabs與doutaabsn組成所述整體差分置信區間,用[miuabs-doutaabsn,miuabs+doutaabsn]表示。
步驟S13、將采樣點序列輸入滑動窗口,由滑動窗口從首個掃描點開始逐個掃描采樣點,確定絕對差分Δc-1為上一絕對差分Δc-2的至少m0倍,或者絕對 差分Δc-1不在所述整體差分置信區間內的突變判斷點c,c∈i;
在本發明實施例中,一個點可認為是采樣點序列中的一個采樣點;突變判斷點c滿足下述條件:
點c的絕對差分Δc-1為上一絕對差分Δc-2的至少m0倍;或者,突變判斷點c的絕對差分不在整體差分置信區間內。
可選的,確定絕對差分Δc-1為上一絕對差分Δc-2的至少m0倍的突變判斷點c的過程可以如下:
如果上一絕對差分Δc-2不為0,則將絕對差分Δc-1除以Δc-2,若得到不小于m0的結果,則點c為突變判斷點;
如果上一絕對差分Δc-2為0,則確定點c前至多n0個點的絕對差分均值將點c的絕對差分Δc-1除以若得到不小于m0的結果,則點c為突變判斷點;其中,n0為預置的毛刺異常點數閾值;
如果上一絕對差分Δc-2為0,且也為0,則確定所述滑動窗口的首個掃描點至點c的絕對差分均值將點c的絕對差分Δc-1除以若得到不小于m0的結果,則點c為突變判斷點;其中t0為滑動窗口的首個掃描點;
如果上一絕對差分Δc-2為0,為0,且也為0,則比較點c的絕對差分Δc-1與m0,如果Δc-1大于m0,則確定點c為突變判斷點c。
步驟S14、判斷滑動窗口掃描的當前采樣點i+1的值x(i+1),是否在突變判斷局部置信區間內,所述突變判斷局部置信區間根據突變判斷點c前或前后的第一數量個點的均值及標準差形成;
可選的,確定突變判斷局部置信區間的過程可以如下:
如果突變判斷點c不是滑動窗口的首個掃描點,則可確定首個掃描點至突變判斷點c間所有點的均值μ1,及n倍標準差nδ1,根據均值μ1和nδ1確定出突變判斷局部置信區間;
如果突變判斷點c是滑動窗口的首個掃描點,則判斷所述采樣點序列的采樣時間是否超過突變判斷點c之后的kn0長度;若是,則回溯突變判斷點c前后各n0個采樣點,確定前后n0個采樣點的均值μ2,及前后n0個采樣點的n倍標準差nδ2,從而根據均值μ2和nδ2確定出突變判斷局部置信區間,可將[μ2-nδ2,μ2+nδ2]視為突變判斷局部置信區間;若否,則確定突變判斷點c前至多n0個采樣點的均值μ3,及n倍標準差nδ3,從而根據均值μ3和nδ3確定出 突變判斷局部置信區間,可選的,[μ3-nδ3,μ3+nδ3]可以視為是突變判斷局部置信區間;
顯然,步驟S14也可替換為采用蒙特卡洛方法確定突變判斷局部置信區間。
步驟S15、若判斷當前采樣點不在所述突變判斷局部置信區間內,則確定采樣點為突變點;
當前采樣點不在所述突變判斷局部置信區間內,可以認為是當前采樣點的采樣值不在所述突變判斷局部置信區間內;
可選的,若判斷當前采樣點的采樣值x(i+1)在所述突變判斷局部置信區間內,則循環至下一個采樣點進行判斷;
可選的,如果找不到突變點,且滑動窗口的長度達到最大的窗口長度,則可更新滑動窗口,以新的滑動窗口進行掃描。
步驟S16、如果所確定的突變點為上凸點,則繼續掃描采樣點,確定采樣值下降到異常判斷局部置信區間的第一個回落點e;
可選的,在找到回落點e后,可停止掃描,或者在滑動窗口達到最大的窗口長度時,停止掃描;
可選的,采樣點的差分值大于0可認為是上凸點,小于0可認為是下凹點;
采樣值下降到異常判斷局部置信區間的第一個回落點e可以認為是采樣值回落到異常判斷局部置信區間的回落點;
可選的,異常判斷局部置信區間的確定過程可以如下:
如果突變點為滑動窗口的首個掃描點,且所述采樣點序列的采樣時間超過突變判斷點c之后的kn0長度,則回溯突變點前后各n0個采樣點,確定前后n0個采樣點的均值μ4,及前后n0個采樣點的n倍標準差nδ4,根據均值μ4和nδ4確定出異常判斷局部置信區間;可選的,[μ4-nδ4,μ4+nδ4]可以視為是異常判斷局部置信區間;
如果突變點不為滑動窗口的首個掃描點,或者,所述采樣點序列的采樣時間未超過突變判斷點c之后的kn0長度,則確定突變點前至少n0個采樣點的均值μ5,及n倍標準差nδ5,根據均值μ5和nδ5確定出異常判斷局部置信區間;可選的,[μ5-nδ5,μ5+nδ5]可以視為是異常判斷局部置信區間。
步驟S17、如果所確定的突變點為下凹點,則繼續掃描采樣點,確定采樣 值上升到異常判斷局部置信區間的第一個回落點e;
可選的,在找到回落點e后,可停止掃描,或者在滑動窗口達到最大的窗口長度時,停止掃描;
可選的,采樣值上升到第三局部置信區間的第一個回落點e可以認為是采樣值回落到異常判斷局部置信區間的回落點;
可選的,步驟S170中的異常判斷局部置信區間的確定過程可以如下:
如果突變點為滑動窗口的首個掃描點,則回溯突變點前后各n0個采樣點,確定前后n0個采樣點的均值μ4,及前后n0個采樣點的n倍標準差nδ4,根據均值μ4和nδ4確定出異常判斷局部置信區間;可選的,[μ4-nδ4,μ4+nδ4]可以視為是異常判斷局部置信區間;
如果突變點不為滑動窗口的首個掃描點,則以突變判斷局部置信區間視為異常判斷局部置信區間。
步驟S18、如果突變點至回落點e之間的采樣點個數大于n0,且大于αn0c,則確定突變點至回落點e前的點不是毛刺異常點;n0c為滑動窗口的首個掃描點至突變點的長度;
由于回落點e已回落,突變點至回落點e之間的采樣點不包含回落點e。
步驟S19、如果突變點至回落點e之間的采樣點個數不大于n0,或不大于αn0c,則確定突變點至回落點e前的點是毛刺異常點;
由于回落點e已回落,因此毛刺異常點包含突變點,但不包含回落點e。
步驟S20、由所確定的連續的毛刺異常點構成毛刺異常點區間,如果任兩個毛刺異常點區間僅相差一個采樣點,則兩個毛刺異常點區間所相差的一個采樣點為漏檢的毛刺異常點;
毛刺異常點區間為由連續的毛刺異常點構成的一個區間,如果毛刺異常點之間存在斷續的點,則不能集合到一個區間中,集合到一個區間的毛刺異常點應是連續的。
步驟S21、根據漏檢的毛刺異常點,匯聚連續的毛刺異常點區間,確定連續的毛刺異常點個數;如果連續的毛刺異常點個數大于n0,則輸出提示信息。
值得注意的是,可適用于監控系統所監控的業務數據為平緩變化的場景,但也可適用于監控系統所監控的業務數據為比率數據的場景。
可選的,在監控系統所監控的業務數據為比率數據的場景下,本發明實施例可直接采用采樣點序列的絕對差分序列值來尋找突變點,而不再計算突變倍數閾值m0。
基于此,可選的,本發明實施例在確定采樣點序列后,還可根據采樣點序列的采樣值計算出采樣值均值m0d;
可選的,整體差分置信區間可以由絕對差分序列{Δi}中的非0部分的均值miuabs,及3倍標準差doutaabs3形成;具體的,本發明實施例可在確定絕對差分序列{Δi}后,去除{Δi}的0值,計算去除0值的{Δi}的均值miuabs,及n倍標準差doutaabsn;可選的,n可取2、3等,相應的可計算2倍標準差doutaabs2,或3倍標準差doutaabs3等;從而根據miuabs和doutaabsn確定整體差分置信區間;可選的,[miuabs-doutaabsn,miuabs+doutaabsn]可以視為整體差分置信區間;
可選的,突變判斷點c的確定條件需滿足:
絕對差分不在所述整體差分置信區間內,且采樣值大于m0d;
可選的,圖6示出了本發明實施例提供的突變判斷局部置信區間的確定方法流程圖,參照圖6,該方法可以包括:
步驟S500、如果突變判斷點c不是滑動窗口的首個掃描點,則確定首個掃描點至突變判斷點c間的所有點的均值μ5,及n倍標準差nδ5;根據μ5和nδ5確定出突變判斷局部置信區間;
可選的,[μ5-nδ5,μ5+nδ5]可以視為是突變判斷局部置信區間。
步驟S510、如果突變判斷點c是滑動窗口的首個掃描點,則確定突變判斷點c前的n0個點的均值μ6,及n倍標準差nδ6;根據μ6和nδ6確定出突變判斷局部置信區間。
可選的,[μ6-nδ6,μ6+nδ6]可以視為是突變判斷局部置信區間。
進一步,在滑動窗口掃描采樣點的過程中,如果滑動窗口的長度達到最大的窗口長度,則本發明實施例可采用首個掃描點至突變判斷點c之間的非0值的點的絕對差分序列更新m0值;可選的,可計算首個掃描點至突變判斷點c之間的非0值的點的絕對差分均值及3倍標準差,從而更新m0值。
可選的,圖7示出了本發明實施例提供的確定回落點e的方法流程圖,參照圖7,該方法可以包括:
步驟S600、如果突變點為上凸點,則滑動窗口繼續掃描采樣點,確定采 樣值下降到異常判斷局部置信區間的第一個回落點e;
可選的,步驟S600中異常判斷局部置信區間的確定方式可以如下:
如果突變點為滑動窗口的首個掃描點,則確定突變判斷點c前的n0個點的均值μ7及n倍標準差nδ7;根據μ7和nδ7確定出異常判斷局部置信區間;
可選的,[μ7-nδ7,μ7+nδ7]可以視為是異常判斷局部置信區間。
步驟S610、如果突變點為下凹點,則滑動窗口繼續掃描采樣點,確定采樣值上升到異常判斷局部置信區間的第一個回落點e。
可選的,步驟S610中的異常判斷局部置信區間可與步驟S600中的一致。
可選的,本發明實施例可設置毛刺點數閾值n0、波動閾值threshrate,從而在查找到漏檢的毛刺異常點,并匯聚毛刺異常點區間后,根據毛刺點數閾值n0、波動閾值threshrate從匯聚的毛刺異常點區間中過濾非故障告警區間,定位得到故障告警事件的區間,從而便于輸出告警。
優選的,圖8示出了本發明實施例提供的定位毛刺異常點的方法的再一流程圖,參照圖8,該方法可以包括:
步驟S30、確定采樣點序列,所述采樣點序列具有多個采樣點,采樣點以i表示,采樣點的采樣值以x(i)表示;
步驟S31、根據所述采樣點序列的采樣值計算采樣值均值m0d;及根據公式{Δi}={Δi|Δi=|x(i+1)-x(i)|},計算采樣點序列對應的絕對差分序列{Δi};
可選的,Δi表示絕對差分,各采樣點對應的絕對差分組成絕對差分序列{Δi},而采樣點i+1的絕對差分Δi,由i+1的采樣值x(i+1)減去上一采樣點的值x(i)得到。
步驟S32、根據所述絕對差分序列確定整體差分置信區間;
可選的,本發明實施例可在確定絕對差分序列{Δi}后,去除{Δi}的0值,計算去除0值的{Δi}的均值miuabs,及n倍標準差doutaabsn,從而根據miuabs和doutaabsn確定整體差分置信區間;可選的,[miuabs-doutaabsn,miuabs+doutaabsn]可以視為整體差分置信區間。
步驟S33、將采樣點序列輸入滑動窗口,由滑動窗口從首個掃描點開始逐個掃描采樣點,確定絕對差分不在所述整體差分置信區間內,且采樣值大于m0d的突變判斷點c;
步驟S34、判斷滑動窗口掃描的當前采樣點i+1的值x(i+1),是否在突變判 斷局部置信區間內;
可選的,突變判斷局部置信區間的確定過程可以如下:
如果突變判斷點c不是滑動窗口的首個掃描點,則確定首個掃描點至突變判斷點c間的所有點的均值μ5,及n倍標準差nδ5;根據均值μ5和nδ5確定出突變判斷局部置信區間;可選的,[μ5-nδ5,μ5+nδ5]可以視為是突變判斷局部置信區間;
如果突變判斷點c是滑動窗口的首個掃描點,則確定突變判斷點c前的n0個點的均值μ6,及n倍標準差nδ6;根據均值μ6和nδ6確定出突變判斷局部置信區間;可選的,[μ6-nδ6,μ6+nδ6]可以視為是突變判斷局部置信區間。
可選的,如果滑動窗口的長度達到最大的窗口長度,則本發明實施例可采用首個掃描點至突變判斷點c之間的非0值的點的絕對差分序列更新m0值;可選的,可計算首個掃描點至突變判斷點c之間的非0值的點的絕對差分均值及3倍標準差,從而更新m0值。
步驟S35、如果當前采樣點i+1的值x(i+1)不在突變判斷局部置信區間內,則確定當前采樣點為突變點;
可選的,如果當前采樣點i+1的值x(i+1)在突變判斷局部置信區間內,則繼續掃描下一個采樣點。
步驟S36、如果突變點為上凸點,則滑動窗口繼續掃描采樣點,確定采樣值下降到異常判斷局部置信區間的第一個回落點e;
可選的,異常判斷局部置信區間的確定過程可以如下:
如果突變點為滑動窗口的首個掃描點,則確定突變判斷點c前的n0個點的均值μ7及n倍標準差nδ7;根據μ7和nδ7確定出異常判斷局部置信區間;可選的,[μ7-nδ7,μ7+nδ7]可以視為是異常判斷局部置信區間;
在找到回落點e后,滑動窗口可停止滑動掃描。
步驟S37、如果突變點為下凹點,則滑動窗口繼續掃描采樣點,確定采樣值上升到異常判斷局部置信區間的第一個回落點e;
步驟S38、如果突變點至回落點e之間的采樣點個數大于n0,且大于αn0c,則確定突變點至回落點e前的點不是毛刺異常點;n0c為滑動窗口的首個掃描點至突變點的長度;
可選的,還可以滑動窗口首個掃描點至突變點間值為非0的點的絕對差分 序列,更新m0值。
步驟S39、如果突變點至回落點e之間的采樣點個數不大于n0,或不大于αn0c,則確定突變點至回落點e前的點是毛刺異常點;
可選的,還可以滑動窗口首個掃描點至突變點間值為非0的點的絕對差分序列,更新m0值;同時,還可更新滑動窗口。
步驟S40、由所確定的連續的毛刺異常點構成毛刺異常點區間,如果任兩個毛刺異常點區間僅相差一個采樣點,則兩個毛刺異常點區間所相差的一個采樣點為漏檢的毛刺異常點;
可選的,可采用漏檢的毛刺異常點修正已構成的毛刺異常點區間。
步驟S41、對于各毛刺異常點區間,根據毛刺點數閾值n0、波動閾值threshrate從匯聚的毛刺異常點區間中過濾非故障告警區間,定位得到故障告警事件的區間,輸出故障告警事件的區間,以告警。
可選的,本發明實施例可逐個毛刺異常點區間進行循環判斷,若所判斷的毛刺異常點區間的采樣點個數小于n0,則認為該區間是毛刺區間,被過濾掉;進入下一個毛刺異常點區間的判斷;若所判斷的毛刺異常點區間的采樣點個數大于n0,則再判斷該區間內的最大(上凸波形用最大,下凹波形用最小)采樣值,若最大采樣值小于閾值threshrate(上凸波形),或者最小采樣值大于閾值threshrate(下凹波形),則該異常區間為非故障區間,被過濾掉,進入下一個異常區間的判斷。
經過區間過濾后,剩下的區間就是故障告警事件區間;假如所有區間都被過濾掉,則代表沒有發生故障,此時輸出空值。
可選的,圖8所示方法可適用于監控系統所監控的數據是百分比性質的業務數據,比如回源率、失敗率等監控數據的場景;除此之外,對于在線采樣數據,在線監控系統中告警時間點的定位均可適用。
本發明實施例中采用動態滑動窗口來掃描采樣點,從全局開始初始化,動態掃描采樣點,兼顧局部特性,滑動窗口根據時間特性向前、向后在小的區間內回溯搜索突變點與回落點,從而尋找到局部毛刺異常區間;在本發明實施例中,滑動窗口只需掃描完一遍數據,所有的局部毛刺異常點都能被定位到,進而達到從局部到全局的異常區間定位,解決了監控系統中難以定位毛刺異常現象的問題。
下面對本發明實施例提供的定位毛刺異常點的裝置進行介紹,下文描述的定位毛刺異常點的裝置可與上文描述的定位毛刺異常點的方法相互對應參照。
圖9為本發明實施例提供的定位毛刺異常點的裝置的結構框圖,該裝置可應用于具有數據處理能力的計算設備;參照圖9,該裝置可以包括:
采樣點序列確定模塊100,用于確定采樣點序列,所述采樣點序列具有多個采樣點及各采樣點的采樣值;
絕對差分序列確定模塊200,用于根據所述采樣點序列的采樣值確定對應的絕對差分序列;
整體差分置信區間確定模塊300,用于根據所述絕對差分序列確定整體差分置信區間;
突變判斷點確定模塊400,用于將采樣點序列輸入滑動窗口,由滑動窗口從首個掃描點開始逐個掃描采樣點,以根據采樣點的絕對差分確定絕對差分不在所述整體差分置信區間內的突變判斷點;
突變點判斷模塊500,用于判斷滑動窗口掃描的當前采樣點的采樣值,是否在突變判斷局部置信區間內,所述突變判斷局部置信區間根據突變判斷點前或前后的第一數量個點的采樣值確定;
突變點確定模塊600,用于若當前采樣點的采樣值不在所述突變判斷局部置信區間內,則確定當前采樣點為突變點;
回落點確定模塊700,用于滑動窗口繼續掃描采樣點,根據突變點的差分正負,確定采樣值回落到異常判斷局部置信區間內的第一個回落點,所述異常判斷局部置信區間根據突變判斷點前或前后的第二數量個點的采樣值確定;
毛刺異常點確定模塊800,用于如果突變點至所述第一回落點之間的采樣點個數不大于預置數量條件,則確定突變點至所述第一個回落點前的點是毛刺異常點。
可選的,本發明實施例可由突變判斷點前或前后的第一數量個點的均值及標準差形成所述突變判斷局部置信區間,由突變判斷點前或前后的第二數量個點的均值及標準差形成所述異常判斷局部置信區間;顯然,本發明實施 例也采用蒙特卡洛方法確定突變判斷局部置信區間,和異常判斷局部置信區間。
可選的,采樣點可以以i表示,采樣點的采樣值可以以x(i)表示;相應的,所述絕對差分序列確定模塊,具體用于根據公式{Δi}={Δi|Δi=|x(i+1)-x(i)|}計算采樣點序列對應的絕對差分序列{Δi},其中Δi表示絕對差分,各采樣點對應的絕對差分組成絕對差分序列{Δi},采樣點i+1的絕對差分Δi,由i+1的采樣值x(i+1)減去上一采樣點的采樣值x(i)后,取絕對值得到。
本發明實施例還提供一種計算設備,該計算設備可以包括上述所述的定位毛刺異常點的裝置。
本發明實施例提供的計算設備可以為監控系統所在的服務器,也可以是與監控系統所在的服務器能夠進行數據交互的其他服務器或終端設備;圖10示出了本發明實施例提供的計算設備的硬件結構框圖,參照圖10,該計算設備可以包括:處理器1,通信接口2,存儲器3和通信總線4;
其中處理器1、通信接口2、存儲器3通過通信總線4完成相互間的通信;
可選的,通信接口2可以為通信模塊的接口,如GSM模塊的接口;
處理器1,用于執行程序;
存儲器3,用于存放程序;
程序可以包括程序代碼,所述程序代碼包括計算機操作指令。
處理器1可能是一個中央處理器CPU,或者是特定集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實施本發明實施例的一個或多個集成電路。
存儲器3可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。
其中,程序可具體用于:
確定采樣點序列,所述采樣點序列具有多個采樣點及各采樣點的采樣值;
根據所述采樣點序列的采樣值確定對應的絕對差分序列;
根據所述絕對差分序列確定整體差分置信區間;
將采樣點序列輸入滑動窗口,由滑動窗口從首個掃描點開始逐個掃描采樣點,以根據采樣點的絕對差分確定絕對差分不在所述整體差分置信區間內的突變判斷點;
判斷滑動窗口掃描的當前采樣點的采樣值,是否在突變判斷局部置信區間內,所述突變判斷局部置信區間根據突變判斷點前或前后的第一數量個點的采樣值確定;
若當前采樣點的采樣值不在所述突變判斷局部置信區間內,則確定當前采樣點為突變點;
滑動窗口繼續掃描采樣點,根據突變點的差分正負,確定采樣值回落到異常判斷局部置信區間內的第一個回落點,所述異常判斷局部置信區間根據突變判斷點前或前后的第二數量個點的采樣值確定;
如果突變點至所述第一回落點之間的采樣點個數不大于預置數量條件,則確定突變點至所述第一個回落點前的點是毛刺異常點。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
專業人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內所公知的任意其它形式的存儲介質中。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例, 而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。