常益浩,李慶云,李克文
(中國(guó)石油大學(xué)(華東)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,青島 266580)
油井在開(kāi)發(fā)和采油過(guò)程中會(huì)出現(xiàn)某些對(duì)油井的常規(guī)生產(chǎn)造成干預(yù)的現(xiàn)象,這種現(xiàn)象被稱(chēng)作油井結(jié)蠟,嚴(yán)重時(shí)其會(huì)造成油流道堵塞,導(dǎo)致油井開(kāi)采過(guò)程中出油量降低.更為嚴(yán)重時(shí),會(huì)造成井筒路徑被卡死等生產(chǎn)性問(wèn)題,甚至?xí)斐捎途耐.a(chǎn).隨著油田信息化的提高,數(shù)據(jù)采集傳感器被廣泛應(yīng)用于油井中,因此對(duì)于每個(gè)油井都會(huì)產(chǎn)出和記錄海量的實(shí)時(shí)相關(guān)數(shù)據(jù),而目前這些數(shù)據(jù)沒(méi)有真正利用起來(lái).影響井筒結(jié)蠟的因素很多,例如原油含蠟系數(shù)、載荷、位移、油溫、壓力等數(shù)據(jù),目前的方法主要依靠示功圖等方法對(duì)結(jié)蠟進(jìn)行監(jiān)測(cè)分析,而生成示功圖的數(shù)據(jù)會(huì)有大量間接誤差導(dǎo)致圖形畸變、不正確,同時(shí)人工對(duì)示功圖的判斷和解讀會(huì)不夠全面和精準(zhǔn),造成對(duì)結(jié)蠟情況產(chǎn)生較大誤判.所以建立一個(gè)以石油專(zhuān)業(yè)知識(shí)為背景的科學(xué)與智能化的油井結(jié)蠟預(yù)測(cè)模型,提前準(zhǔn)確地識(shí)別結(jié)蠟現(xiàn)象,降低油田的風(fēng)險(xiǎn)和損失擁有顯而易見(jiàn)的價(jià)值.
目前大量學(xué)者通過(guò)現(xiàn)場(chǎng)的操作以及應(yīng)用,在對(duì)于井筒中結(jié)蠟情況的預(yù)測(cè)模型的構(gòu)建方面取得了不錯(cuò)的成績(jī),并將其順利應(yīng)用于油田的生產(chǎn)中.王利中[1]將數(shù)學(xué)與石油知識(shí)結(jié)合,實(shí)現(xiàn)了對(duì)于油井結(jié)蠟快慢和結(jié)蠟形成周期長(zhǎng)短的計(jì)算;另外對(duì)于實(shí)際工作的油井還需要考慮其他現(xiàn)實(shí)因素如管內(nèi)側(cè)本身就沉淀過(guò)的結(jié)蠟和抽油桿上經(jīng)過(guò)長(zhǎng)期工作挺溜的蠟.孫百超等[2]在石蠟沉積機(jī)理的基礎(chǔ)上,結(jié)合實(shí)際生產(chǎn)中石油油溫高、粘度小、熱流強(qiáng)度大等特點(diǎn),將熱、動(dòng)力學(xué)結(jié)合,模擬出了管線(xiàn)長(zhǎng)度與結(jié)蠟厚度的分布關(guān)系模型.但此模型采用的許多常數(shù)僅對(duì)個(gè)別油管有效,而對(duì)與不同的油流和油井,參數(shù)需要重新進(jìn)行計(jì)算,不具有普適性.Gawas等提出了單相湍流條件下的沉積預(yù)測(cè)模型,對(duì)動(dòng)態(tài)循環(huán)沉積數(shù)據(jù)進(jìn)行了分析之后提出了新的剪切效應(yīng)關(guān)系[3].最近幾年,人工智能技術(shù)如火箭般突破,使其迅速成各行業(yè)各領(lǐng)域應(yīng)用的焦點(diǎn),在油田領(lǐng)域,段友祥等[4]利用人工智能的分類(lèi)算法,建立了異常工況診斷模型,對(duì)油井工況中的結(jié)蠟行為進(jìn)行判別和診斷;Manshad等[5]利用人工智能預(yù)測(cè)算法,建立了儲(chǔ)層流體結(jié)蠟量預(yù)測(cè)模型.然而,石油行業(yè)的數(shù)據(jù)集一般是不平衡數(shù)據(jù).針對(duì)油井結(jié)蠟的問(wèn)題,在這種不平衡數(shù)據(jù)集中,各類(lèi)基礎(chǔ)以及傳統(tǒng)的機(jī)器學(xué)習(xí)算法大多仍局限于均衡的樣本訓(xùn)練,會(huì)導(dǎo)致算法將更多的精力用于多數(shù)類(lèi)分類(lèi),從而使得少數(shù)類(lèi)分類(lèi)錯(cuò)誤率較高,此時(shí)即使模型整體的分類(lèi)結(jié)果較好,但是實(shí)際上的結(jié)蠟分析效果不理想.
針對(duì)類(lèi)似上述問(wèn)題,在機(jī)器學(xué)習(xí)相關(guān)的領(lǐng)域出現(xiàn)了許多針對(duì)不平衡數(shù)據(jù)處理的研究方法.解決不平衡數(shù)據(jù)的分類(lèi)問(wèn)題,大抵可以歸類(lèi)于兩種辦法,一種方法是基于數(shù)據(jù)集的數(shù)據(jù)本身,另一種方法是脫離數(shù)據(jù)集,嘗試對(duì)算法進(jìn)行創(chuàng)新.對(duì)于數(shù)據(jù)本身的方法,大多是采取對(duì)不平衡數(shù)據(jù)中的少數(shù)類(lèi)或多數(shù)類(lèi)樣本分別實(shí)現(xiàn)過(guò)采樣或欠采樣,去提升數(shù)據(jù)集的均衡水平,使分類(lèi)器可以在相對(duì)平衡的數(shù)據(jù)集上進(jìn)行學(xué)習(xí).Chawla 等[6]突破性得提出了一種SMOTE的方法,計(jì)算所有的少數(shù)類(lèi)樣本情況,據(jù)此再構(gòu)造一定數(shù)量的相似的少數(shù)類(lèi)樣本,完成過(guò)采樣擴(kuò)充數(shù)據(jù)集.而SMOTE 算法所暗藏的問(wèn)題是沒(méi)有對(duì)少數(shù)類(lèi)樣本之間鄰近樣本的不同進(jìn)行思索,對(duì)它們以同樣的權(quán)重進(jìn)行合成,可能會(huì)造成較大重復(fù).Kermanidis 等[7]對(duì)于數(shù)據(jù)不平衡問(wèn)題采取了一種單邊抽樣的方法,并利用抽樣技術(shù)使得樣本分類(lèi)變得更加準(zhǔn)確.Gong 等[8]使用一種新的循環(huán)神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)少數(shù)類(lèi)樣本進(jìn)行過(guò)采樣,使得最后的分類(lèi)成果十分出色.Giraldo-Forero 等提出了基于距離度量的SMOTE 類(lèi)算法[9].de Souto 等[10]提出了一種新的多數(shù)類(lèi)樣本欠采樣方法,通過(guò)對(duì)兩種算法Tomek links和CNN 進(jìn)行結(jié)合,最終對(duì)分類(lèi)結(jié)果產(chǎn)生了不錯(cuò)的提升.Laurikkala[11]提出了范圍清算NCL (Neighborhood CLeaning rule)的欠采樣算法.算法層面主要通過(guò)將自己所提出的創(chuàng)新或結(jié)合融會(huì)于一些基礎(chǔ)和傳統(tǒng)的機(jī)器學(xué)習(xí)的方法及分類(lèi)模型,從而對(duì)不均衡數(shù)據(jù)的分類(lèi)從另一層面產(chǎn)生提高和進(jìn)步.Thanathamathee 等[12]將自己提出的處理邊界數(shù)據(jù)的方法與傳統(tǒng)的AdaBoost 算法融會(huì),此措施同樣屬于樣本的過(guò)采樣方法的一種.Liang 等[13]通過(guò)在不平衡數(shù)據(jù)中使用bagging 算法,對(duì)多個(gè)底層的分類(lèi)器進(jìn)行屢次采樣,提高了二分類(lèi)模型的預(yù)測(cè)效果,也相當(dāng)有效地提高了模型的分類(lèi)效果.徐麗麗等提出了一種基于集成學(xué)習(xí)的不平衡數(shù)據(jù)處理方法,通過(guò)將各類(lèi)別以不同比例進(jìn)行加權(quán)并且將模糊聚類(lèi)和加權(quán)支持向量機(jī)模型WSVM 結(jié)合.但此方法的缺點(diǎn)是降低不平衡數(shù)據(jù)集誤分類(lèi)的損失相對(duì)較大[14].
基于上述問(wèn)題,本文引入ADASYN 來(lái)代替SMOTE算法的過(guò)采樣作用,并改善了SMOTE 算法生成新樣本中的“傻瓜”操作;引入ENN 進(jìn)行欠采樣來(lái)刪除大部分鄰居中的樣本都和自己本身不屬于一類(lèi)的多數(shù)類(lèi)樣本,刪除了少部分非常相似的多數(shù)類(lèi)樣本,并將新的采樣算法與隨機(jī)森林算法相結(jié)合,提出ADASYN-ENNRF (AERF)算法模型來(lái)預(yù)測(cè)油井的結(jié)蠟情況.多組實(shí)驗(yàn)結(jié)果表明,本文采樣后的樣本更能代表數(shù)據(jù)集,本文提出的采樣算法與所選分類(lèi)算法的結(jié)合對(duì)現(xiàn)有的算法進(jìn)行了提升,具有更好的分類(lèi)效果,證明了此算法的可行和提升.
ADASYN 算法又叫自適應(yīng)合成采樣算法[15].ADASYN專(zhuān)門(mén)針對(duì)了SMOTE的缺點(diǎn)并加以改進(jìn),它對(duì)少數(shù)類(lèi)樣本不再同權(quán)重對(duì)待,并利用少數(shù)類(lèi)樣本的密度分布來(lái)計(jì)算少數(shù)類(lèi)樣本生成的數(shù)量,使學(xué)習(xí)困難的少數(shù)類(lèi)樣本生成更多的合成樣本;它能根據(jù)樣本的分布來(lái)進(jìn)行采樣,從而提高了少數(shù)類(lèi)樣本在邊緣區(qū)域的比例,可以緩解邊緣區(qū)域類(lèi)分布不平衡的問(wèn)題,來(lái)增強(qiáng)分類(lèi)模型的學(xué)習(xí)能力.既能有效地克服SMOTE在生成少數(shù)類(lèi)樣本中的盲目性,又能較好地改善 SMOTE在處理邊緣區(qū)域?qū)ο笊系木窒扌?從而合理的使樣本比例達(dá)到相對(duì)均衡的效果,緩解數(shù)據(jù)不平衡的問(wèn)題.因而在提升不平衡樣本學(xué)習(xí)能力上具有非常顯著的優(yōu)勢(shì).ADASYN的重點(diǎn)是取得一個(gè)概率分布ri,然后根據(jù)ri計(jì)算需要構(gòu)造的樣本個(gè)數(shù).
對(duì)于訓(xùn)練集T包含p個(gè)樣本{xi,yi},i=1,2,3,…,p,其中xi是n維特征空間X的一個(gè)樣本,yi∈Y={0,1}代表不同類(lèi)別,其中y=1 代表多數(shù)類(lèi)樣本,y=0 代表少數(shù)類(lèi)樣本.它們的數(shù)量分別用pl和ps表示.所以有ps≤pl且pl+ps=p.
算法流程如算法1.
算法1.ADASYN 算法1) 計(jì)算不平衡度d=ps/ pl,d∈(0,1];A=(pl-ps)×β 2) 計(jì)算應(yīng)該構(gòu)造的樣本個(gè)數(shù),β∈[0,1],當(dāng)β=1 時(shí),即A 等于兩大類(lèi)樣本個(gè)數(shù)的差值,經(jīng)過(guò)新的構(gòu)造,它們的樣本個(gè)數(shù)正好相等;3)使用歐式距離計(jì)算所有少數(shù)類(lèi)樣本的鄰近樣本數(shù)量,設(shè)鄰近樣本為m 個(gè),△i為m 個(gè)鄰近樣本中多數(shù)類(lèi)樣本的個(gè)數(shù),設(shè)比值ri為ri=△i/ m,ri∈[0,1];ri=ri/∑ps i=1 ri 4)在3)中獲得所有少數(shù)類(lèi)樣本的概率分布ri,用運(yùn)算獲得所有少數(shù)類(lèi)樣本的鄰近樣本的構(gòu)成情況;ai=ri×A 5)通過(guò)公式獲得所有少數(shù)類(lèi)樣本需要構(gòu)造的樣本個(gè)數(shù):;6)在任何一個(gè)需要構(gòu)造的少數(shù)類(lèi)樣本周?chē)加衜 個(gè)鄰居,選取其中一個(gè),新樣本構(gòu)造計(jì)算如下:;7)持續(xù)步驟6)構(gòu)造樣本,當(dāng)達(dá)到步驟5)所要求構(gòu)造的樣本數(shù)量即可停止.si=xi+(xzi-xi)×λ
ENN 算法即最近鄰規(guī)則欠采樣算法[16],該算法根據(jù)多數(shù)類(lèi)樣本的鄰近樣本是否大部分和其本身一致來(lái)對(duì)其判斷是否進(jìn)行欠采樣,當(dāng)它周?chē)臉颖局泻退?lèi)別不同的樣本占據(jù)主導(dǎo)地位時(shí),就可以判定此樣本點(diǎn)是存在問(wèn)題的樣本,處理方法為刪除.以鄰近樣本數(shù)量K=5為例子,具體的ENN 步驟如下:
設(shè)少數(shù)類(lèi)為S,多數(shù)類(lèi)為L(zhǎng),多數(shù)類(lèi)樣本點(diǎn)記為p.
算法2.ENN 算法1)從p的鄰近樣本中,計(jì)算找出5 個(gè)最近的樣本;2)對(duì)于每個(gè)點(diǎn)p,如果5 個(gè)最近樣本中有3 個(gè)或3 個(gè)以上的樣本點(diǎn)不是多數(shù)類(lèi)樣本L,就刪除該樣本點(diǎn),反之即無(wú)操作;3)遍歷計(jì)算,直到?jīng)]有此種多數(shù)類(lèi)樣本即可停止.
ADASYN是基于SMOTE 算法的一種改進(jìn)的算法,改進(jìn)了SMOTE在生成少數(shù)類(lèi)樣本中的盲目性,又能較好的改善 SMOTE在處理邊緣區(qū)域?qū)ο笊系木窒扌?但只基于ADASYN的RF 算法,利用的是已經(jīng)存在的少數(shù)類(lèi)樣本信息來(lái)增加樣本數(shù)量,沒(méi)有產(chǎn)生任何新的不同的知識(shí),在訓(xùn)練樣本嚴(yán)重不平衡時(shí),可能會(huì)因?yàn)樯贁?shù)類(lèi)樣本欠缺空間代表性導(dǎo)致分類(lèi)器學(xué)習(xí)的決策域變小,從而出現(xiàn)過(guò)學(xué)習(xí).ENN 算法改善了隨機(jī)欠采樣不考慮每個(gè)多數(shù)類(lèi)樣本不同且獨(dú)立的近鄰分布,造成可能會(huì)誤刪某些重要的多數(shù)類(lèi)樣本信息的問(wèn)題.但只基于ENN的RF 算法因?yàn)槎鄶?shù)類(lèi)樣本本身遠(yuǎn)多于其他,它們之間往往也互相緊鄰,所以?xún)H能刪除非常有限的多數(shù)類(lèi)樣本,并且可能會(huì)忽略掉許多多數(shù)類(lèi)樣本中的有用信息,對(duì)不平衡數(shù)據(jù)集提升有限.所以,本文將上述兩種采樣方法相結(jié)合實(shí)現(xiàn)數(shù)據(jù)均衡,并提出一種基于ADASYN-ENN和Random Forest 相結(jié)合的算法(AERF).
算法的主要思想是:
1)將不平衡數(shù)據(jù)集通過(guò)ADASYN 算法增加少數(shù)類(lèi)樣本,調(diào)整ADASYN 算法中的β值來(lái)確定合成后的新數(shù)據(jù)集的樣本平衡度,β=1 時(shí),代表多數(shù)類(lèi)樣本和少數(shù)類(lèi)樣本數(shù)量一樣,本文中取β=0.5.
2)將1)步中生成的新的數(shù)據(jù)集,通過(guò)ENN 算法減少多數(shù)類(lèi)樣本,最終生成一個(gè)多數(shù)類(lèi)樣本和少數(shù)類(lèi)樣本數(shù)量一樣的新數(shù)據(jù)集.
3)將處理完的數(shù)據(jù)集利用隨機(jī)森林算法來(lái)進(jìn)行分類(lèi),調(diào)整參數(shù)使其分類(lèi)性能達(dá)到最佳.
基于AERF的算法如圖1所示.
圖1 基于AERF的算法流程
算法描述:
對(duì)于訓(xùn)練集T包含p個(gè)樣本{xi,yi},i=1,2,3,···,p,其中xi是n維特征空間X的一個(gè)樣本,yi∈Y={0,1}代表不同類(lèi)別,其中y=0為少數(shù)類(lèi)樣本即結(jié)蠟數(shù)據(jù),y=1為多數(shù)類(lèi)樣本即非結(jié)蠟數(shù)據(jù).它們的數(shù)量分別用ps和pl表示.所以有ps≤pl且pl+ps=p.
算法步驟如算法3.
算法3.AERF 算法1)計(jì)算不平衡度d=ps/ pl,d∈(0,1];A=(pl-ps)×β 2)計(jì)算應(yīng)該構(gòu)造的結(jié)蠟樣本個(gè)數(shù),β∈[0,1],當(dāng)β=1 時(shí),即A 等于非結(jié)蠟樣本減去結(jié)蠟樣本的樣本數(shù)量,經(jīng)過(guò)新的構(gòu)造,結(jié)蠟樣本個(gè)數(shù)等于非結(jié)蠟樣本個(gè)數(shù);3)使用歐式距離計(jì)算所有結(jié)蠟樣本的鄰近樣本數(shù)量,設(shè)鄰近樣本為m 個(gè),△i為m 個(gè)鄰近樣本中屬于非結(jié)蠟樣本的個(gè)數(shù),記比例為ri為ri=△i/ m,ri∈[0,1];ri=ri/∑ps i=1 riri∑4)對(duì)ri 進(jìn)行標(biāo)準(zhǔn)化:,應(yīng)滿(mǎn)足式:;ai=ri×A i 1ri=1 5)計(jì)算出所有結(jié)蠟樣本需要合成的數(shù)據(jù)樣本:;si=xi+(xzi-xi)×λ λ 6)對(duì)結(jié)蠟樣本生成的數(shù)據(jù)樣本 其中xzi是xi的一個(gè)近鄰樣本,xzi-xi為全部屬性差值,∈[0,1],直到滿(mǎn)足數(shù)量G為止;7)使用ENN 算法對(duì)處理過(guò)的樣本集進(jìn)行處理.找出新樣本集中的每個(gè)非結(jié)蠟樣本的距它最近的5 個(gè)樣本點(diǎn).當(dāng)在5 個(gè)最近樣本中有3 個(gè)及其以上為結(jié)蠟樣本,則可判斷此樣本與周?chē)蟛糠纸彉颖静煌?視該非結(jié)蠟樣本為噪聲樣本,從數(shù)據(jù)集中刪除;8)調(diào)用RF 算法對(duì)平衡數(shù)據(jù)集進(jìn)行分類(lèi).
本文使用的數(shù)據(jù)集來(lái)源于勝利油田某采油廠的一百多萬(wàn)條抽油井生產(chǎn)數(shù)據(jù).原始的數(shù)據(jù)包括單井基礎(chǔ)信息、示功圖采集數(shù)據(jù)、示功圖分析數(shù)據(jù)、油井實(shí)時(shí)數(shù)據(jù)、結(jié)蠟數(shù)據(jù)信息、油水分析數(shù)據(jù),數(shù)據(jù)時(shí)間范圍是2018年至2019年,其中單井基礎(chǔ)數(shù)據(jù)主要存儲(chǔ)井名、所屬區(qū)域等信息,示功圖采集數(shù)據(jù)、示功圖分析數(shù)據(jù)、油井實(shí)時(shí)數(shù)據(jù)主要記錄各井每個(gè)時(shí)間點(diǎn)的示功圖、油井實(shí)時(shí)參數(shù),結(jié)蠟數(shù)據(jù)信息主要對(duì)油井出現(xiàn)結(jié)蠟異常的情況進(jìn)行了標(biāo)記.
盡管以上數(shù)據(jù)時(shí)間跨度大、涵蓋油井?dāng)?shù)量多、數(shù)據(jù)資源豐富,但現(xiàn)實(shí)情況下提取和記錄的數(shù)據(jù)依然存在以下缺陷:(1)數(shù)據(jù)存在空缺值;(2)數(shù)據(jù)存在無(wú)效值;(3)數(shù)據(jù)收集的時(shí)間有中斷,存在沒(méi)有采集到數(shù)據(jù)的時(shí)間;(4)不同數(shù)據(jù)庫(kù)字段命名不一致;(5)數(shù)據(jù)表中存在屬性冗余等現(xiàn)象.
因此,為提高抽油井結(jié)蠟預(yù)測(cè)的準(zhǔn)確度,在建立油井結(jié)蠟預(yù)測(cè)模型之前需要進(jìn)行數(shù)據(jù)預(yù)處理.
3.2.1 數(shù)據(jù)清洗
當(dāng)示功圖或油井?dāng)?shù)據(jù)中某一屬性即某一列全部為空時(shí),對(duì)整列進(jìn)行刪除.當(dāng)示功圖或油井?dāng)?shù)據(jù)中某時(shí)間一條數(shù)據(jù)全部為空時(shí),對(duì)該時(shí)間段記錄進(jìn)行刪除.對(duì)空缺值使用整個(gè)屬性的平均值進(jìn)行填補(bǔ).
3.2.2 數(shù)據(jù)歸一化
在模型訓(xùn)練與分類(lèi)時(shí),其中的連續(xù)變量如果維度不同有可能影響到整個(gè)模型的精度.所以在此之前,需要對(duì)這些變量進(jìn)行規(guī)范化的歸一化處理,將他們?nèi)坑成涞?~1 中.對(duì)于分類(lèi)變量,同樣需要對(duì)其做規(guī)范化的離散化處理,將它們?nèi)坑成涞?,1的向量空間中.
設(shè)xi為來(lái)自于總體X的一個(gè)樣本,通過(guò)式(1)解決歸一化,生成新樣本.
對(duì)數(shù)據(jù)進(jìn)行預(yù)處理過(guò)后,數(shù)據(jù)集依然有178 個(gè)特征.許多冗余特征對(duì)模型的分類(lèi)不能提供幫助甚至產(chǎn)生了干擾.因此,我們使用mutual_info_classif 方法來(lái)對(duì)數(shù)據(jù)集進(jìn)行特征選擇,選取15 個(gè)對(duì)模型分類(lèi)影響最大的特征.最終我們將提供的結(jié)蠟數(shù)據(jù)信息中所標(biāo)記為結(jié)蠟的時(shí)間,在油井及示功圖數(shù)據(jù)中將對(duì)應(yīng)時(shí)間段的數(shù)據(jù)標(biāo)記為1,其他數(shù)據(jù)標(biāo)記為0.如表1所示,繁雜的數(shù)據(jù)通過(guò)預(yù)處理過(guò)程,構(gòu)成了樣本數(shù)據(jù)集,我們從中挑選了5 口井來(lái)進(jìn)行實(shí)驗(yàn).
表1 數(shù)據(jù)集基本信息
本文對(duì)樣本數(shù)據(jù)集采取分區(qū)實(shí)驗(yàn),所用數(shù)據(jù)集如上表所示.實(shí)驗(yàn)在4 核CPU、1.60 GHz 主頻、16 GB內(nèi)存的PC 機(jī)上進(jìn)行,使用Python 完成了所有算法.本文選擇使用RF,SMOTE-RF,ADASYN+RF,ADASYNENN-KNN,ADASYN-ENN-AdaBoost,ADASYN-ENNRF 六種算法對(duì)相同的數(shù)據(jù)集進(jìn)行測(cè)試,采用十折交叉運(yùn)算進(jìn)行預(yù)測(cè).SMOTE、ADASYN算法中領(lǐng)域值K值取5,ADASYN 算法中β取0.5.在不平衡數(shù)據(jù)集中,采用Accuracy 作為評(píng)價(jià)指標(biāo)不能客觀的展示出模型的分類(lèi)效果,會(huì)傾向于多數(shù)類(lèi)樣本.所以針對(duì)不平衡數(shù)據(jù)集,我們采用評(píng)價(jià)指標(biāo)F-value、G-mean和recall來(lái)對(duì)分類(lèi)模型做出評(píng)價(jià).
在分類(lèi)問(wèn)題中,使用Accuracy 作為分類(lèi)的評(píng)價(jià)指標(biāo)的多是一般的平衡數(shù)據(jù)集,但當(dāng)碰到不平衡數(shù)據(jù)集[17]時(shí),它的多數(shù)類(lèi)少數(shù)類(lèi)樣本數(shù)量之差比較夸張,所以使用Accuracy 判斷此類(lèi)分類(lèi)器的性能是不精準(zhǔn)的.因此,本文采用不平衡分類(lèi)中常用的評(píng)價(jià)指標(biāo)F-value、G-mean和recall進(jìn)行評(píng)估(本文中定義少數(shù)類(lèi)為正類(lèi),多數(shù)類(lèi)為負(fù)類(lèi)).而這3 種指標(biāo)均由混淆矩陣計(jì)算得出.混淆矩陣如表2所示.
表2 二分類(lèi)的混淆矩陣
表2中,TP是指樣本預(yù)測(cè)和實(shí)際特征均為正;TN是指樣本預(yù)測(cè)和實(shí)際特征均為負(fù);FN是指樣本實(shí)際是正預(yù)測(cè)是負(fù);FP則與FN相反.
Recall、F-value、G-mean計(jì)算公式如下:
(1)召回率(recall)的計(jì)算公式為:
(2)精確率(precision)的計(jì)算公式為:
(3)F-value值為precision和recall的調(diào)和平均值,計(jì)算公式為:
參數(shù)β設(shè)置為1,如果precision和recall都高時(shí),很明顯F-value值也會(huì)隨之提升.
(4)G-mean表示算法在正確正類(lèi)和正確負(fù)類(lèi)的平均性能:
其值越大分類(lèi)性能越好,只有當(dāng)正、負(fù)類(lèi)樣本的分類(lèi)效果都比較好時(shí),G-mean值才會(huì)高.
使用RF,SMOTE-RF,ADASYN+RF,ADASYNENN-KNN,ADASYN-ENN-RF,ADASYN-ENNAdaBoost 六種算法進(jìn)行分類(lèi),得到分類(lèi)后的F1、recall和G-mean值,從而對(duì)不平衡數(shù)據(jù)采樣方法的處理效果以及分類(lèi)模型的分類(lèi)效果進(jìn)行比較.結(jié)果如表3~表5所數(shù)據(jù)集進(jìn)行處理的RF 算法,ADASYN-ENN-RF 算法在5 個(gè)數(shù)據(jù)集上的3 個(gè)指標(biāo)均擁有5%以上的提升.對(duì)比僅使用了單一過(guò)采樣算法處理數(shù)據(jù)集的SMOTERF、ADASYN-RF 算法,ADASYN-ENN-RF 算法同樣在5 個(gè)數(shù)據(jù)集上的3 個(gè)指標(biāo)均產(chǎn)生至少0.1%以上的提升.對(duì)比ADASYN-ENN-KNN,ADASYN-ENNAdaBoost,ADASYN-ENN-RF 三種算法,ADASYNENN-RF 算法在5 個(gè)數(shù)據(jù)集上最終跑出的F1 值,均至少高出了0.05%;在5 個(gè)數(shù)據(jù)集上最終跑出的recall值,均至少高出了0.01%;在5 個(gè)數(shù)據(jù)集上最終跑出的G-mean值,均持平或高出.結(jié)果如圖2至圖4所示.
圖2 各個(gè)模型在5 個(gè)數(shù)據(jù)集上的F1 值對(duì)比
圖3 各個(gè)模型在5 個(gè)數(shù)據(jù)集上的recall 值對(duì)比
圖4 各個(gè)模型在5 個(gè)數(shù)據(jù)集上的G-mean 值對(duì)比
表3 各個(gè)模型在5 個(gè)數(shù)據(jù)集上的F1 值
表4 各個(gè)模型在5 個(gè)數(shù)據(jù)集上的recall 值
表5 各個(gè)模型在5 個(gè)數(shù)據(jù)集上的G-mean 值
所以綜合對(duì)比F1、recall、G-mean值這3 個(gè)指標(biāo)發(fā)現(xiàn),AERF 算法能夠有效地處理不平衡數(shù)據(jù)集并且在分類(lèi)性能上有顯著的提高.
油井的運(yùn)行過(guò)程中,它的各項(xiàng)數(shù)據(jù)往往是極度不均衡的.在絕大多數(shù)時(shí)間產(chǎn)生的都是運(yùn)行正常時(shí)的樣本,而它出現(xiàn)問(wèn)題造成結(jié)蠟的樣本甚至幾個(gè)月才有一次.這很大程度增加了現(xiàn)在主流分類(lèi)預(yù)測(cè)算法對(duì)其應(yīng)用的難度.主流算法以總體的準(zhǔn)確性作為提升目標(biāo),總會(huì)偏向于占比較大的類(lèi),反而導(dǎo)致重要樣本被忽視.從而致使結(jié)蠟情況的出現(xiàn)難以被預(yù)測(cè).
本文針對(duì)油井結(jié)蠟數(shù)據(jù)類(lèi)別不平衡、判斷結(jié)蠟情況不準(zhǔn)確等問(wèn)題,提出一種AERF 算法,即使用ADASYN算法和ENN 算法相結(jié)合的方法處理不平衡數(shù)據(jù)集,再配合隨機(jī)森林算法在平衡樣本集中進(jìn)行訓(xùn)練和學(xué)習(xí),從而得到效果優(yōu)異的模型.實(shí)驗(yàn)結(jié)果表明,該算法在構(gòu)造平衡數(shù)據(jù)集時(shí)更加合理,特別是明顯地提升了本來(lái)處于絕對(duì)弱勢(shì)的少數(shù)類(lèi)樣本的影響力.本文沒(méi)有對(duì)ADASYN算法中β參數(shù)對(duì)于算法性能的影響并且沒(méi)有對(duì)更加多元化的采樣方式的組合來(lái)進(jìn)行研究和實(shí)驗(yàn),這是下一步的研究方向.