• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于ARIMA-SVR的水文時間序列異常值檢測?

    2018-03-20 07:08:22孫建樹婁淵勝陳???/span>
    計算機與數(shù)字工程 2018年2期
    關(guān)鍵詞:置信區(qū)間水文預(yù)測

    孫建樹 婁淵勝 陳裕俊

    (河海大學計算機與信息學院 南京 211100)

    1 引言

    時間序列作為數(shù)據(jù)挖掘技術(shù)在實際應(yīng)用中的一個重要方面,已經(jīng)受到廣泛的關(guān)注,但是目前大多數(shù)的研究都集中在相似性挖掘、時間序列預(yù)測等方面,異常值檢測通常被忽略。異常值檢測作為數(shù)據(jù)預(yù)處理中一個必不可少的環(huán)節(jié),而預(yù)處理又在整個數(shù)據(jù)挖掘過程中占據(jù)了40%左右,應(yīng)當引起關(guān)注。水文時間序列表示某種水文數(shù)據(jù)(如水文、流量等)隨時間變化的實測值,對水文時間序列來說,異常值通常是與一般規(guī)律相差較大的數(shù)值。通過檢測出這些異常值,可以分析出更多隱藏在數(shù)據(jù)背后的信息,對分析決策有著重要幫助,所以異常值檢測顯得尤為重要。

    本文采用基于自回歸積分滑動平均模型[1](ARIMA)和支持向量回歸[2](Support Vector Regres?sion)的組合預(yù)測方法檢測水文時間序列中的異常值。算法采用ARIMA模型預(yù)測水文時間序列中的線性部分,使用SVR預(yù)測殘差部分即非線性部分,然后判斷實際數(shù)據(jù)是否在預(yù)測值的置信區(qū)間內(nèi)從而確定異常值。并以六合實測數(shù)據(jù)作為驗證,實驗表明本文所提出的算法比單一模型算法更加有效,為水文時間序列分析提供理論基礎(chǔ)。

    2 相關(guān)研究

    異常檢測也叫做異常挖掘[3],是指從大量數(shù)據(jù)中找出其行為明顯不同于預(yù)期對象的過程。一般將時間序列中的異常分為三種:點異常、序列異常和模式異常。在本文中主要研究的是點異常,它表示序列上和大部分對象存在明顯差異的點。

    當前對時間序列的異常值檢測主要有以下幾種:

    1)基于模型的異常檢測。牛麗肖[4]等使用ARIMA模型對短期電價進行擬合,同時可以檢測到其中的突變點,但該算法沒有考慮到序列的非線性部分。單偉等[5]采用自相關(guān)系數(shù)和偏自相關(guān)系數(shù)的拖尾建立AIRMA模型,并用于網(wǎng)絡(luò)流量的預(yù)測和異常檢測?;谀P偷姆椒ㄖ饕毕菔鞘孪纫俣〝?shù)據(jù)集符合特定的分布模型,針對大量分布特征未知數(shù)據(jù)時,這種先驗假設(shè)存在很大的局限性。

    2)基于支持向量機的異常檢測。任勛益[6]等先用主元分析對初始數(shù)據(jù)進行降維,再使用SVM建模并檢測出異常數(shù)據(jù),但當數(shù)據(jù)中異常種類較多時,效果不佳。張昭[7]等提出一種基于特征選擇和SVM的異常檢測算法,能準確地檢測出異常數(shù)據(jù)?;赟VM方法對非線性數(shù)據(jù)有較好的擬合效果,但依賴于不敏感損失函數(shù)和核函數(shù)的選擇,對操作人員的專業(yè)知識要求較高。

    3)基于距離的異常值檢測[8~9]。該方法優(yōu)點是便于用戶使用,時間復雜度相對較小,但對局部異常點不敏感。

    4)基于密度的異常值檢測[10]。從密度的角度來說,密度較低的區(qū)域出現(xiàn)異常值的可能性較大。該算法的檢測準確率較高,對局部異常點有不錯效果,但總體時間復雜度過高。

    5)基于聚類的異常值檢測[11]。異常值的概念和簇的概念高度相關(guān),基于聚類的方法通過考察對象與簇之間的關(guān)系檢測異常值。因此,使用聚類算法檢測異常點嚴重依賴于生成簇的質(zhì)量,在實際應(yīng)用中不太容易控制聚類產(chǎn)生的簇。

    水文時間序列受多種因素影響其中存在較多異常值,劉千[12]等提出一種基于擴展符號聚集近似的水文時間序列異常檢測方法,該方法效率較高,但它只能對指定的時間段數(shù)據(jù)進行檢測。余宇峰[13]等提出用基于滑動窗口預(yù)測的水文時間序列異常檢測,但計算復雜度高。綜上所述,水文序列其中既含有線性自相關(guān)部分又含有非線性部分的問題,使用單一方法都會導致異常檢測的結(jié)果不全面。受到基于模型的方法和支持向量機方法的啟發(fā),本文提出了使用ARIMA-SVR組合模型來預(yù)測置信區(qū)間,再判斷實際值是否落在置信區(qū)間內(nèi)進行異常值檢測,不僅保證了挖掘結(jié)果的全面,還有效提升了異常值檢測的靈敏度。

    3 基于ARIMA-SVR的時間序列異常值檢測

    3.1 ARIMA模型

    ARIMA模型全稱為自回歸積分滑動平均模型(Autoregressive Integrated Moving Average Model)。ARIMA模型的基本思想是用過去和現(xiàn)在的值去預(yù)測將來,它將時間序列看成一個隨機序列,并尋找最優(yōu)的函數(shù)去擬合它。以p,d,q為參數(shù)的ARIMA模型可以表示為

    其中p是自回歸的階數(shù),d是序列差分的階數(shù),q為移動平均階數(shù),yt為時間t時的觀測值,et為白噪聲序列,φi、θi分別為 yt-i和 et-i的系數(shù)。

    水文時間序列的ARIMA模型建立流程如下:

    1)首先對水文時間序列進行平穩(wěn)性檢驗,如果通過,進入下一步;如果不通過,對序列持續(xù)差分直到差分后的序列滿足平穩(wěn)性檢驗;

    2)確定模型的差分階數(shù)d;以AIC信息準則為準,限定p和q的范圍,將(p,q)組合遍歷,找出具有最小AIC值的(p,q)組合;

    3)將上述步驟中確定的最優(yōu)p,d,q應(yīng)用于ARIMA模型進行預(yù)測,得到置信度為α的置信區(qū)間。

    3.2 支持向量回歸

    支持向量回歸是將傳統(tǒng)線性方程中的線性項替換為核函數(shù),并在高維空間中構(gòu)建一個線性決策函數(shù),達到預(yù)測的目的。SVR的核心是ε-不敏感損失函數(shù)和核函數(shù),不同的函數(shù)組合對模型的魯棒性有較大影響。

    給定訓練樣本:

    針對非線性回歸問題,先使用非線性函數(shù)把訓練數(shù)據(jù)映射到一個高維特征空間,并在這個高維特征空間進行線性回歸。訓練樣本xi滿足如下條件

    其中ξi稱為松弛變量,且滿足ξi≥0 ,i=1,2,3…n。

    定義ε-不敏感損失函數(shù)如下

    它表示對偏差小于?的項不進行任何懲罰,對回歸的容錯性有所提升。

    求最大化支持向量回歸的邊界等價于如下問題

    其中 ξi≥0,i=1,2,3…n ,c是懲罰參數(shù)又稱作正則化參數(shù),其主要作用是用來調(diào)節(jié)優(yōu)化松弛變量和分類準確度的偏好權(quán)重。通過上述推導得到最終的SVR函數(shù):

    其中κ(x,xi)是滿足Mercer條件的核函數(shù),因為經(jīng)過ARIMA函數(shù)擬合的殘差序列總體平穩(wěn)且線性不可分。因此本文選用徑向基函數(shù)為核函數(shù),與其他核函數(shù)相比,參數(shù)較少,易于使用。

    水文序列中殘差序列的支持向量回歸步驟如下:

    1)得到ARIMA模型的殘差,作為訓練集輸入到SVR;

    2)采用10折交叉驗證的方法,尋找出最佳的gamma、cost和核函數(shù)的組合。

    3)利用第二步中得到的最佳參數(shù)構(gòu)建SVR模型,然后預(yù)測出殘差。

    3.3 基于ARIMA-SVR的時間序列異常值檢測

    在檢測水文時間序列中的異常值時,首先要給出定義,什么樣的值是異常值。借助于離群點的定義,下面給出了水文時間序列中異常值的定義。

    定義1 水文時間序列中的異常值。在一維水文時間序列 X=<(y1,t1) ,(y2,t2),…,(yn,tn)> 中,(yi,ti)代表ti時刻的觀測值,使用ti時刻前的m個連續(xù)實際值來預(yù)測ti時刻的值。如果實際值不在預(yù)測的范圍內(nèi),那么該時刻的值為異常值。

    水文時間數(shù)據(jù)受到季節(jié)、地形、天氣等自然條件的影響,這種關(guān)系很難依靠單一的線性或者非線性關(guān)系來解釋,其既有時間維度上的相關(guān)性,又有非線性關(guān)系的存在。ARIMA適用于平穩(wěn)或差分后平穩(wěn)的時間序列,但當序列不平穩(wěn)時,擬合誤差較大,實際預(yù)測效果較差。SVR是一種面向小樣本的機器學習算法,其泛化能力強,對非線性時間序列預(yù)測有不錯的效果。

    因此,本文將ARIMA模型和SVR模型組合進行預(yù)測,再判斷實際值與置信區(qū)間的關(guān)系,達到異常檢測的目的。本文把水文時間序列看作線性自相關(guān)部分Li與非線性部分Ni組成,即yi=Li+Ni。首先通過ARIMA對水文時間序列建立初始模型,用于對數(shù)據(jù)中線性自相關(guān)部分的預(yù)測,得到置信度為α的置信區(qū)間;其次通過支持向量回歸對初始模型中產(chǎn)生的殘差序列進行訓練,并將支持向量回歸的預(yù)測結(jié)果對ARIMA模型進行修正,最后得到最終的置信區(qū)間;判斷實際值與置信區(qū)間的關(guān)系,若實際值不在置信區(qū)間內(nèi),那么該值為異常值。

    算法具體步驟如下:

    輸入:水文時間序列X、置信度 p和訓練數(shù)據(jù)大小m。

    輸出:水文時間序列中的異常值。

    步驟1:使用ti時刻前m個連續(xù)值建立ARIMA模型,并預(yù)測ti時刻的值,得到預(yù)測值,同時計算出預(yù)測值的置信度為α的置信區(qū)間,即±ε。

    步驟2:計算步驟1中模型擬合的殘差,殘差序列{ei}為水文時間序列中的非線性部分,其中ei=f(ei-1,ei-2,…,ei-m)+ε,使用 SVR 對殘差序列{ei}進行預(yù)測,得到預(yù)測殘差值。

    步驟3:將步驟1和步驟2中的預(yù)測值相加得到最終的預(yù)測值,結(jié)果是。同時得到置信度為α的置信區(qū)間±ε。

    步驟4:比較ti時刻的實際值 yi與置信區(qū)間的關(guān)系,如果實際值 yi在置信區(qū)間±ε之外,那么點(yi,ti)為異常值,否則的話為正常值。

    步驟5:循環(huán)步驟1~4直至序列結(jié)束,最終輸出所有的異常值。

    算法的總體流程如圖1所示。

    圖1 算法的總體流程

    4 實驗分析

    4.1 實驗準備

    本文所采用的數(shù)據(jù)集是滁河流域六合測站點從2013年1月1日至2014年12月22日的日平均水位實測數(shù)據(jù),該站點為滁河流域上的重要水文站點,對滁河的防洪調(diào)度、生態(tài)環(huán)境調(diào)節(jié)有著重要作用。實驗的軟件環(huán)境為R 3.2.3,Windows 10旗艦版操作系統(tǒng),硬件環(huán)境為2.6GHz CPU、8GB內(nèi)存的筆記本電腦。圖2為六合水文站的日平均水位圖,從圖中可以看出數(shù)據(jù)存在一定的周期性,但也明顯存在一些異常點。

    圖2 六合水文站日平均水位圖

    圖3 一階差分圖

    4.2 結(jié)果分析

    首先本文對數(shù)據(jù)進行一階差分,其結(jié)果如圖3所示。從圖中可以看出差分后的數(shù)據(jù)大體平穩(wěn),使用adf檢驗一階差分后的數(shù)據(jù)得到p-value=0.01<0.05,通過檢驗,確定ARIMA模型中d的值(d=1)。在本文中選用待測點之前的90個數(shù)據(jù)進行預(yù)測,使用R語言forecast包中的auto.Arima函數(shù)來自適應(yīng)計算出最優(yōu)的p和q,從而預(yù)測出待測點置信度α=95%的置信區(qū)間。然后用SVR對殘差序列進行預(yù)測,其中核函數(shù)為徑向基函數(shù),cost=100,gamma=0.1。將兩部分預(yù)測值相加并得到最終的置信區(qū)間。圖4給出了異常檢測的結(jié)果。

    圖4 異常檢測結(jié)果

    圖4中給出了水文時間序列的實際值和服從置信度為95%的置信區(qū)間以及檢測出的異常值。從圖中可以發(fā)現(xiàn),大部分的實際值都在置信區(qū)間內(nèi),僅有小部分的值不在范圍內(nèi)。檢測出的異常值多出現(xiàn)在序列發(fā)生“劇烈”變化的地方,與實際情況相符。

    4.3 實驗評價與對比

    為了驗證算法的有效性與準確性,下面給出在分類和異常值檢測方面常用的評價標準,本文將實驗結(jié)果分為四類,如表1所示。從表中可以看出,數(shù)據(jù)都被歸為TP(True Positive),即異常值都被檢測出來是最理想的情況,同時盡量少的誤判。本文還定義了算法的靈敏度(Sensitivity)和特異度(Specificity),靈敏度表示正確檢測出的異常樣本比例,即Sensitivity=。特異度為正確檢測出的正常樣本比例,即Specificity=。

    表1 異常檢測結(jié)果分類

    本文使用ARIMA、SVR與ARIMA-SVR組合模型分別在六合實測數(shù)據(jù)上進行異常檢測,得到的靈敏度和特異度對比如表2所示。其中使用基于ARIMA-SVR的水文時間序列異常值檢測算法共檢測出60個異常數(shù)據(jù),53個為TP,7個FP,另外還有5個異常值未能檢測出來。

    表2 不同模型的靈敏度和特異度

    從上述對比發(fā)現(xiàn),本文算法的靈敏度和特異度均顯著高于使用單個預(yù)測模型進行異常檢測,這表明本文算法具有較高的可靠性,同時能有效地檢測出水文時間序列中的異常值。

    在統(tǒng)計學中,常用接受者操作特性曲線[14](re?ceiver operating characteristic curve,ROC)也稱為感受性曲線(sensitivity curve)來評價異常檢測算法的性能。圖5比較了本文算法、ARIMA算法和k-近鄰算法[15]在本文數(shù)據(jù)集上的ROC曲線,并繪制出接受者操作特性曲線,橫軸表示誤報率,縱軸表檢測率。判斷某個算法的優(yōu)劣主要是看ROC曲線下方的面積大小,面積越大,異常檢測效果越好。從ROC曲線對比圖可知,本文所提算法的明顯優(yōu)于其他兩種算法,且較為穩(wěn)定。

    圖5 3種算法ROC曲線對比圖

    5 結(jié)語

    為了解決水文時間序列中存在較多異常值的問題,本文提出了基于ARIMA-SVR組合模型的異常值檢測算法。由于水文時間序列受多種復合因素的影響,既有線性自相關(guān)部分也有非線性部分。首先,使用ARIMA-SVR組合模型預(yù)測出95%的置信區(qū)間,然后判斷實際值是否在置信區(qū)間內(nèi),從而確定水文序列中的異常值。本文采用滁河流域六合測站點的實測數(shù)據(jù)進行實驗,實驗結(jié)果表明該算法能有效的檢測出異常值。與其他算法對比,本文算法的靈敏度和特異度均保持較高水平,達到在實際水文數(shù)據(jù)中應(yīng)用的要求。

    [1]Contreras J,Espinola R,Nogales F J,et al.ARIMA mod?els to predict next-day electricity prices[J].IEEE Trans?actions on Power Systems,2002,18(3):1014-1020.

    [2]Vapnik V N.The nature of statistical learning theory[J].Technometrics,1996,8(4):1564.

    [3]Jiawei Han,Micheline Kamber,Jian Pei.數(shù)據(jù)挖掘概念與藝術(shù)[M].北京:機械工業(yè)出版社,2012:351.

    Jiawei Han,Micheline Kamber,Jian Pei.Data Mining:Concepts and Techniques[M].Beijing:China Machine Press,2012:351.

    [4]牛麗肖,王正方,臧傳治,等.一種基于小波變換和ARI?MA的短期電價混合預(yù)測模型[J].計算機應(yīng)用研究,2014,31(3):688-691.

    NIU Lixiao,WANG Zhengfang,ZANG Chuanzhi,et al.Hy?brid model based on wavelet and ARIMA for short-term electricity price forecasting[J].Application Research of Computers,2014,31(3):688-691.

    [5]單偉,何群.基于非線性時間序列的預(yù)測模型檢驗與優(yōu)化的研究[J].電子學報,2008,36(12):2485-2489.

    SHAN Wei,HE Qun.Research of the Optimizing and Test?ing of Forecasting Model Based on the Non-linear Time Series[J].Chinese Journal of Electronics,2008,36(12):2485-2489.

    [6]任勛益,王汝傳,孔強.基于主元分析和支持向量機的異 常 檢 測[J].計 算 機 應(yīng) 用 研 究 ,2009,26(7):2719-2721.

    REN Xunyi,WANG Ruchuan,KONG Qiang.Principal component analysis and support vector machine based on anomaly detection[J].Application Research of Comput?ers,2009,26(7):2719-2721.

    [7]張昭,張潤蓮,蔣曉鴿,等.基于特征選擇和支持向量機的異常檢測方法[J].計算機工程與設(shè)計,2013,34(9):3046-3049.

    ZHANG Zhao,ZHANG Runlian,JIANG Xiaoge,et al.Anomaly detection method based on feature selection and support vector machine[J].Computer Engineering and De?sign,2013,34(9):3046-3049.

    [8]Knorr E M,Ng R T.A Unified Notion of Outliers:Proper?ties and Computation[C]//International Conference on Knowledge Discovery&Data Mining.1997:219-222.

    [9]Vy N D K,Anh D T.Detecting Variable Length Anomaly Patterns in Time Series Data[C]//International Conference on Data Mining and Big Data.Springer,Cham,2016:279-287.

    [10]Breunig M M,Kriegel H P,Ng R T,et al.LOF:identi?fying density-based local outliers[J].Acm Sigmod Re?cord,2000,29(2):93-104.

    [11]Truong C D,Anh D T.An efficient method for motif and anomaly detection in time series based on clustering[J].International Journal of Business Intelligence&Data Mining,2015,10(4):356-377.

    [12]劉千,朱躍龍,張鵬程.基于擴展符號聚集近似的水文時間序列異常挖掘[J].計算機應(yīng)用研究,2012,29(12):4479-4481.

    LIU Qian,ZHU Yuelong,ZHANG Pengcheng.Extended symbolic aggregate approximation based anomaly mining of hydrological time series[J].Application Research of Computers,2012,29(12):4479-4481.

    [13]余宇峰,朱躍龍,萬定生,等.基于滑動窗口預(yù)測的水文時間序列異常檢測[J].計算機應(yīng)用,2014,34(8):2217-2220.

    YU Yufeng,ZHU Yuelong,WAN Dingsheng.Time series outlier detection based on sliding window prediction[J].Journal of Computer Applications,2014,34(8):2217-2220.

    [14]鄒洪俠,秦鋒,程澤凱,等.二類分類器的ROC曲線生成算法[J].計算機技術(shù)與發(fā)展,2009,19(6):109-112.

    ZOU Hongxia,QIN Feng,CHENG Zekai,et al.Algo?rithm for Generating ROC Curve of Two-Classifier[J].Computer Technology and Development,2009,19(6):109-112.

    [15]Pokrajac D,Lazarevic A,Latecki L J.Incremental Local Outlier Detection for Data Streams[C].Computational In?telligence and Data Mining,2007.CIDM 2007.IEEE Symposium on.IEEE,2007:504-515.

    猜你喜歡
    置信區(qū)間水文預(yù)測
    2022年《中國水文年報》發(fā)布
    無可預(yù)測
    黃河之聲(2022年10期)2022-09-27 13:59:46
    選修2-2期中考試預(yù)測卷(A卷)
    選修2-2期中考試預(yù)測卷(B卷)
    定數(shù)截尾場合三參數(shù)pareto分布參數(shù)的最優(yōu)置信區(qū)間
    p-范分布中參數(shù)的置信區(qū)間
    多個偏正態(tài)總體共同位置參數(shù)的Bootstrap置信區(qū)間
    水文
    水文水資源管理
    列車定位中置信區(qū)間的確定方法
    宿迁市| 三河市| 田阳县| 兰州市| 烟台市| 漳平市| 佛冈县| 平凉市| 略阳县| 定兴县| 东乌珠穆沁旗| 弋阳县| 阳朔县| 双牌县| 玉山县| 湘潭县| 交口县| 巫溪县| 永靖县| 贵州省| 扬中市| 达拉特旗| 启东市| 中牟县| 肇州县| 女性| 牟定县| 哈尔滨市| 房产| 石楼县| 巧家县| 宜兰市| 娱乐| 莱阳市| 松桃| 阜阳市| 寿阳县| 罗山县| 牙克石市| 雅安市| 大同县|