鐘 原,張 泰,李 平,楊緒華
西南石油大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,四川 成都 610500
井控技術(shù)是石油鉆井過(guò)程中防止溢流、井涌、井噴、著火等事件發(fā)生的重要安全技術(shù)之一。井口壓力控制的核心是及時(shí)發(fā)現(xiàn)溢流,并在井底壓力和地層壓力維持相對(duì)穩(wěn)定的條件下有效地控制和排除溢流險(xiǎn)情。當(dāng)溢流發(fā)生時(shí),傳統(tǒng)作業(yè)方法需要現(xiàn)場(chǎng)施工人員在較短時(shí)間內(nèi),根據(jù)不同的井下?tīng)顩r,如井底壓力、地層環(huán)境以及硫化氫含量等因素,及時(shí)判斷使用何種壓井方法進(jìn)行作業(yè),控制住溢流的趨勢(shì),排除安全風(fēng)險(xiǎn),使得井底壓力處于微平衡狀態(tài),確保安全生產(chǎn)。
實(shí)際作業(yè)過(guò)程中,存在多種壓井方法,根據(jù)不同的井況和工況,使用合適的壓井方法可以更好地應(yīng)對(duì)溢流的險(xiǎn)情,及時(shí)解決井口作業(yè)風(fēng)險(xiǎn)。針對(duì)常規(guī)井況而言,普通的壓井方法主要是循環(huán)法,如工程師法、司鉆法等。在特殊井況下可采用的壓井方法,如壓回法,根據(jù)壓力倍數(shù)不同,壓回法又可分為全壓回法和部分壓回法。
在傳統(tǒng)的作業(yè)方法中,井口壓力控制需要結(jié)合專(zhuān)家經(jīng)驗(yàn)和根據(jù)電液比建模的數(shù)學(xué)模型實(shí)施[1-3],這種方法運(yùn)算復(fù)雜,需要考慮多種因素,往往效率較低。因此,本文使用集成了隨機(jī)森林算法[4-5]的融合模型對(duì)壓井方法進(jìn)行分類(lèi)判斷。
本文將隨機(jī)森林算法作為主要模型,同時(shí)加入多個(gè)其他模型進(jìn)行層次組合,通過(guò)Stacking 集成方式得到最終的融合模型。經(jīng)實(shí)驗(yàn)驗(yàn)證,該方法可以在使用少量運(yùn)算資源的同時(shí),快速獲得準(zhǔn)確率較高的判斷結(jié)果,其預(yù)測(cè)結(jié)果相較于其他單一模型而言,具有更高準(zhǔn)確率。本文的貢獻(xiàn)主要包含以下幾點(diǎn):(1)將壓井方法的專(zhuān)家經(jīng)驗(yàn)和油氣井相關(guān)參數(shù)進(jìn)行歸納總結(jié),將其轉(zhuǎn)化為符合機(jī)器學(xué)習(xí)算法需要的數(shù)據(jù)格式,并通過(guò)特征工程進(jìn)行了特征處理;(2)使用隨機(jī)森林和Stacking 集成方式提升了壓井方法分類(lèi)預(yù)測(cè)的性能。
決策樹(shù)[6]方法是一種重要的數(shù)據(jù)分類(lèi)技術(shù),在分類(lèi)任務(wù)中,通過(guò)學(xué)習(xí)訓(xùn)練集中的訓(xùn)練數(shù)據(jù)構(gòu)造一個(gè)分類(lèi)函數(shù)或分類(lèi)模型,該函數(shù)或模型能夠把數(shù)據(jù)記錄映射成某一個(gè)指定類(lèi)別,實(shí)現(xiàn)未標(biāo)注數(shù)據(jù)的類(lèi)別預(yù)測(cè)[6]。決策樹(shù)的基本結(jié)構(gòu)如圖1所示。
圖1 決策樹(shù)基本結(jié)構(gòu)Fig.1 Decision tree structure
例如針對(duì)一個(gè)混合顏色的色塊,可以使用決策樹(shù)劃分為4 種純粹的顏色。目前,決策樹(shù)具有多種形式,從Quinlan[7]在1986 年提出了ID3 決策樹(shù)算法時(shí)開(kāi)始統(tǒng)計(jì),決策樹(shù)算法提出了至少7 種以上的衍生算法[6],如ID3、C4.5、EC4.5、CART、SLIQ、SPRINT 和PUBULIC。其中,分類(lèi)與回歸樹(shù)(Classification and Regression Tree,CART)[8-9]是一種常用的構(gòu)建決策樹(shù)的算法,常使用代表信息復(fù)雜程度的Gini 指數(shù)[10]進(jìn)行節(jié)點(diǎn)劃分。該決策樹(shù)算法適用于樣本數(shù)據(jù)量大且特征之間關(guān)系較復(fù)雜的情況,并且在實(shí)際操作中,數(shù)據(jù)的分布往往呈現(xiàn)非線(xiàn)性的形態(tài),難以使用全局線(xiàn)性模型來(lái)擬合。但通過(guò)決策樹(shù)模型,可以很好地區(qū)分特征間的差異性,將數(shù)據(jù)分割成多個(gè)易于擬合線(xiàn)性模型的數(shù)據(jù)子集合。但當(dāng)數(shù)據(jù)分布發(fā)生變化時(shí),以單棵決策樹(shù)很難構(gòu)建全局模型,因此,可考慮包含多棵決策樹(shù)作為基學(xué)習(xí)器的隨機(jī)森林模型。
隨機(jī)森林是通過(guò)Bagging(Bootstrap aggregating)有放回抽樣方法[11],從初始樣本中抽取不同樣本組合,并對(duì)每組樣本構(gòu)建不同的決策樹(shù)形成的一種集成模型。由于有放回采樣機(jī)制對(duì)產(chǎn)生決策樹(shù)的數(shù)據(jù)進(jìn)行擾動(dòng),使構(gòu)建的決策樹(shù)各不相同,具有較大差異性,提高了整體模型的泛化性。在分類(lèi)任務(wù)中,通常通過(guò)投票法(Voting)[12]對(duì)多個(gè)基模型的預(yù)測(cè)結(jié)果進(jìn)行投票決策,確定最后的預(yù)測(cè)結(jié)果。其中,投票法可以根據(jù)投票方式分為3 類(lèi):(1)限制標(biāo)簽得票數(shù)必須大于半數(shù)的絕對(duì)多數(shù)投票法;(2)簡(jiǎn)單根據(jù)得票多少?zèng)Q定取值的相對(duì)多數(shù)投票法;(3)類(lèi)似于加權(quán)平均法的加權(quán)投票法。合適的投票機(jī)制可使預(yù)測(cè)結(jié)果更為準(zhǔn)確。
隨機(jī)森林綜合了多棵差異較大的決策樹(shù)預(yù)測(cè)結(jié)果,使其具有預(yù)測(cè)精度高,收斂速度快,調(diào)節(jié)參數(shù)少的優(yōu)點(diǎn)。經(jīng)過(guò)Sridhar 等[13]的研究,隨機(jī)森林方法在當(dāng)前主流的分類(lèi)器和集成器中是最為優(yōu)秀的模型之一。
結(jié)合本文應(yīng)用場(chǎng)景,隨機(jī)森林算法的運(yùn)作流程如圖2 所示。
圖2 隨機(jī)森林運(yùn)作流程Fig.2 Random forest operation process
Stacking[14-15]是一種用于組合多種基學(xué)習(xí)器的疊加方法,意在從眾多結(jié)果中挑選精度更高的結(jié)果進(jìn)行再組合,從而產(chǎn)生更好結(jié)果。構(gòu)造基于多學(xué)習(xí)器的組合模型有許多方法,常用的包括投票法、混合法和Stacking??傮w而言,Stacking 可以使融合模型的預(yù)測(cè)結(jié)果得到進(jìn)一步提升[16],此方法是一種表示學(xué)習(xí)計(jì)算方法,也是一種可擴(kuò)展和分析性框架。類(lèi)似于前饋神經(jīng)網(wǎng)絡(luò)的多層結(jié)構(gòu),可在多個(gè)級(jí)別上使用Wolpert[17]的堆疊泛化來(lái)提高預(yù)測(cè)準(zhǔn)確性。與前饋神經(jīng)網(wǎng)絡(luò)相反的是,Stacking 不通過(guò)反向傳播對(duì)其進(jìn)行訓(xùn)練,而是通過(guò)一次次迭代來(lái)構(gòu)建多層結(jié)構(gòu)。
在鉆井作業(yè)時(shí),通常由經(jīng)驗(yàn)豐富的現(xiàn)場(chǎng)工程師根據(jù)現(xiàn)場(chǎng)所采集到的相關(guān)數(shù)據(jù),結(jié)合數(shù)學(xué)方法構(gòu)建模型指導(dǎo)作業(yè)過(guò)程,并計(jì)算具體操作數(shù)值來(lái)確定壓井方法。時(shí)效上有一定滯后性,準(zhǔn)確性上也有一定風(fēng)險(xiǎn)。因此,需要一種快速而精確的方式來(lái)協(xié)助甚至替代專(zhuān)家進(jìn)行決策?;谏鲜鲂枨?,本文提出將隨機(jī)森林算法和Stacking 疊加方法應(yīng)用于壓井方法的分類(lèi)判斷中,能夠快速準(zhǔn)確地判斷出在特定井況和工況條件下所采取的壓井作業(yè)方法。
采用Stacking 疊加方法將融合模型分為兩層結(jié)構(gòu):第一層是包含多個(gè)分類(lèi)器的基模型層。在該層中,特征數(shù)據(jù)會(huì)在進(jìn)行交叉驗(yàn)證之后進(jìn)入不同的分類(lèi)器訓(xùn)練。第二層是僅包含一個(gè)分類(lèi)器的次模型層,在該層中,挑選一個(gè)精度較高的分類(lèi)器來(lái)進(jìn)行最終訓(xùn)練。構(gòu)建的Stacking 兩層融合模型總體結(jié)構(gòu)如圖3 所示。
圖3 Stacking 兩層模型總體結(jié)構(gòu)Fig.3 The overall structure of Stacking two-tier model
Stacking 具體操作時(shí),首先,將數(shù)據(jù)集合進(jìn)行隨機(jī)分割,將80% 數(shù)據(jù)劃為訓(xùn)練數(shù)據(jù)集,20% 數(shù)據(jù)劃為測(cè)試數(shù)據(jù)集;然后,將訓(xùn)練數(shù)據(jù)通過(guò)交叉驗(yàn)證[11],將訓(xùn)練數(shù)據(jù)分割后每一折中的部分?jǐn)?shù)據(jù)進(jìn)行矩陣堆疊,構(gòu)成新的訓(xùn)練數(shù)據(jù)集合;最后,使用整合后數(shù)據(jù)進(jìn)行模型訓(xùn)練與預(yù)測(cè)。具體的操作示意如圖4所示。
圖4 Stacking 數(shù)據(jù)流向圖Fig.4 Data stream of Stacking
設(shè)計(jì)融合模型的過(guò)程包含兩部分:首先,特征工程進(jìn)行特征數(shù)據(jù)處理,然后,進(jìn)行融合模型訓(xùn)練。
如圖5 所示,油井相關(guān)的參數(shù)和工況等原始數(shù)據(jù)在進(jìn)行特征工程處理后,進(jìn)入基模型層。本文在該層使用了在結(jié)構(gòu)和算法流程上具有較大的差異5 種基學(xué)習(xí)器,分別是支持向量機(jī)分類(lèi)算法[18]、隨機(jī)森林算法、自適應(yīng)增強(qiáng)算法[19]、嶺回歸分類(lèi)算法以及隨機(jī)梯度下降分類(lèi)算法。這些模型分別根據(jù)訓(xùn)練樣本進(jìn)行訓(xùn)練,再將其預(yù)測(cè)結(jié)果構(gòu)造成新的訓(xùn)練數(shù)據(jù),交由次模型層的分類(lèi)器進(jìn)行訓(xùn)練。本文在基模型層的預(yù)測(cè)時(shí),使用了加權(quán)平均法,通過(guò)經(jīng)驗(yàn)權(quán)重分配,得到更高準(zhǔn)確性的預(yù)測(cè)結(jié)果作為次模型層的訓(xùn)練數(shù)據(jù)。次模型層僅包含一個(gè)分類(lèi)器,由于該分類(lèi)器會(huì)對(duì)最終結(jié)果產(chǎn)生較大影響。因此,使用了隨機(jī)森林集成算法作為次模型層的唯一分類(lèi)器。
圖5 整體操作流程圖Fig.5 Overall operation flowchart
如2.1 和2.2 節(jié)所述,本文在Stacking 兩層模型中都使用了隨機(jī)森林,兩者的運(yùn)行流程相同,但在使用時(shí)存在不同。不同之處在于輸入數(shù)據(jù)和權(quán)重的分配,嵌入Stacking 基模型層中的隨機(jī)森林的輸入數(shù)據(jù)是通過(guò)Bagging 方式采樣得到的特征數(shù)據(jù),而次模型層中隨機(jī)森林的輸入數(shù)據(jù)是將基模型層中的輸出結(jié)果作為輸入數(shù)據(jù)。
由于Stacking 方式和隨機(jī)森林在運(yùn)算過(guò)程中會(huì)產(chǎn)生不小的消耗[20],因此,再進(jìn)行組合時(shí),運(yùn)算量可能會(huì)增大。但本文構(gòu)建的模型主要是針對(duì)壓井方法分類(lèi)的特定場(chǎng)景,其特征數(shù)據(jù)來(lái)自于3 部分:歸納總結(jié)的經(jīng)驗(yàn)數(shù)據(jù)、井相關(guān)的重要參數(shù)以及部分工況參數(shù),經(jīng)過(guò)特征工程處理后再用于融合模型訓(xùn)練和預(yù)測(cè),因此,整體上而言,由于限制了特征空間維度和范圍,融合模型的運(yùn)算量相對(duì)于單模型而言,不會(huì)存在較明顯的差異。
在基模型層中完成初次訓(xùn)練后,會(huì)將單個(gè)分類(lèi)器的輸出結(jié)果進(jìn)行加權(quán)平均預(yù)測(cè)得到次模型層的訓(xùn)練數(shù)據(jù)。每個(gè)分類(lèi)器具有一個(gè)經(jīng)驗(yàn)權(quán)重,該權(quán)重是根據(jù)單個(gè)分類(lèi)器針對(duì)相同測(cè)試數(shù)據(jù)的預(yù)測(cè)準(zhǔn)確率進(jìn)行歸一化處理得到,準(zhǔn)確率越高的模型所設(shè)經(jīng)驗(yàn)權(quán)重越大。通過(guò)實(shí)驗(yàn)測(cè)試和分析,經(jīng)驗(yàn)權(quán)重如表1 所示。
表1 基模型層中單個(gè)分類(lèi)器的經(jīng)驗(yàn)權(quán)重值Tab.1 Empirical weight value of a single classifier in base model layer
根據(jù)前文介紹的隨機(jī)森林和Stacking 模型融合方法,結(jié)合壓井方法分類(lèi)預(yù)測(cè)的目標(biāo),對(duì)采集的原始數(shù)據(jù)進(jìn)行特征工程,包括特征篩選、特征編碼和特征選擇3 個(gè)流程。
3.1.1 特征篩選
在壓井作業(yè)過(guò)程中,通過(guò)對(duì)井相關(guān)數(shù)據(jù)進(jìn)行總結(jié),得到與井控施工方法相關(guān)的影響因素,即信息含量(影響程度)較高的多項(xiàng)指標(biāo),從而構(gòu)建了壓井控制的特征表達(dá),其中主要影響因素如表2所示。
表2 壓井方法判斷的主要影響因素Tab.2 Main factors to consider in determining the killing method
根據(jù)已有工程經(jīng)驗(yàn)[21],在常規(guī)的油氣井鉆井過(guò)程中,地層壓力可能不高,需要在井涌發(fā)生之前或井涌前期及時(shí)檢測(cè),可采用工程師法(一次循環(huán)法)和司鉆法(二次循環(huán)法)等常規(guī)壓井方法。而在高壓井等非常規(guī)井作業(yè)中,可采用置換法,壓回法等相對(duì)特殊的壓井方法,在保證安全的前提下進(jìn)行壓井操作。
結(jié)合表1 中描述的相關(guān)信息和現(xiàn)場(chǎng)工程經(jīng)驗(yàn),本文選擇了4 種適用面較為廣泛的壓井方法作為壓井施工方法,即壓井方法分類(lèi)的目標(biāo)對(duì)象,分別為工程師法、2~3 倍壓回法、全壓回法、置換法。
3.1.2 特征編碼
由于原始數(shù)據(jù)基本都是文本型數(shù)據(jù),本文將原始數(shù)據(jù)編碼為數(shù)值型數(shù)據(jù),以便模型訓(xùn)練和預(yù)測(cè)。在這一步中,為了減少數(shù)據(jù)中的噪聲干擾,同時(shí)對(duì)數(shù)據(jù)進(jìn)行了去空,去重和標(biāo)準(zhǔn)化等操作。
首先,將壓井施工方法按照工程師法、2~3 倍壓回法、全壓回法、置換法順序依次編碼為0、1、2、3 的數(shù)字格式。然后,針對(duì)特征數(shù)據(jù)中的離散值與連續(xù)值的差異問(wèn)題,采用了獨(dú)熱編碼(One-hot)[22]的方法進(jìn)行轉(zhuǎn)換,這是一種常見(jiàn)的文本表示方法,比如存在特征集合SSS={“蘋(píng)果”,“西瓜”,“葡萄”},則獨(dú)熱編碼形式集合SSS′={{1,0,0},{0,1,0},{0,0,1}}。如表3 顯示了“能否配置鉆進(jìn)液”、“是否會(huì)壓破套管鞋”兩項(xiàng)特征的轉(zhuǎn)換結(jié)果。
表3 特征獨(dú)熱編碼轉(zhuǎn)換形式Tab.3 Feature one-hot encoding conversion form
經(jīng)轉(zhuǎn)換過(guò)后的數(shù)據(jù)將文字信息轉(zhuǎn)化為數(shù)字形式的多個(gè)特征相結(jié)合的形式。這種形式使得類(lèi)別之間的距離是相同的,可有效避免人工導(dǎo)致的類(lèi)別差異化[23]。
3.1.3 特征選擇
上述編碼操作增加信息量,但也增加了信息維度,增大了運(yùn)算量。在保證預(yù)測(cè)精度的前提下,為了提高運(yùn)算效率,本文對(duì)原始特征進(jìn)行了特征選擇。使用了決策樹(shù)算法中計(jì)算最優(yōu)分割點(diǎn)的方式來(lái)實(shí)現(xiàn)[24],這是一種集合封裝式和過(guò)濾式[25]混合評(píng)價(jià)策略的特征選擇方法,其工作原理是決策樹(shù)構(gòu)建過(guò)程中,即節(jié)點(diǎn)分裂時(shí)會(huì)對(duì)信息熵增益最大的特征進(jìn)行優(yōu)先分割[26],即表示這些特征是更重要的特征表達(dá)。本文統(tǒng)計(jì)了多棵決策樹(shù)構(gòu)建過(guò)程中,節(jié)點(diǎn)分裂使用頻率最高的前6 項(xiàng)特征作為融合模型的訓(xùn)練特征,并根據(jù)實(shí)際情況和經(jīng)驗(yàn)值確定了其取值范圍,最終選擇的特征如表4 所示。
表4 選擇的特征信息Tab.4 Extracted feature information
進(jìn)行特征工程后的特征數(shù)據(jù)首先投入基模型層作為輸入特征,得到輸出結(jié)果為壓井方法;多個(gè)輸出結(jié)果進(jìn)行加權(quán)構(gòu)造后,再投入次模型層作為輸入數(shù)據(jù)?;P蛯铀褂玫牟糠州斎胩卣骱洼敵鼋Y(jié)果如表5 所示。
表5 基模型層的輸入特征和輸出結(jié)果Tab.5 Input characteristics and output results of base model layer
表6 為次模型層所使用的部分輸入數(shù)據(jù)和輸出結(jié)果。分類(lèi)結(jié)果1 表示基模型層的分類(lèi)器1 所產(chǎn)生的分類(lèi)結(jié)果,由于本文使用了5 種基分類(lèi)器,因此,共包含5 種分類(lèi)結(jié)果作為次分類(lèi)器的輸入數(shù)據(jù),最后的輸出結(jié)果為最終選擇的壓井方法。在對(duì)5 種分類(lèi)結(jié)果進(jìn)行加權(quán)平均操作時(shí),使用分類(lèi)概率和權(quán)重相乘的結(jié)合策略,這樣可以避免因人為編碼導(dǎo)致的各種分類(lèi)距離不合理的問(wèn)題。
表6 次模型層的預(yù)輸入數(shù)據(jù)和分類(lèi)結(jié)果(無(wú)權(quán)重)Tab.6 Input data and prediction results of sub-model layer(without weighting)
由于目前沒(méi)有開(kāi)放的井控作業(yè)數(shù)據(jù)集,本文通過(guò)人工方式構(gòu)建了井控作業(yè)數(shù)據(jù)集,并選用80%樣本的數(shù)據(jù)作為訓(xùn)練集,20%作為測(cè)試集。
同時(shí),本文在訓(xùn)練模型過(guò)程中,在保持所有模型同類(lèi)參數(shù)一致的前提下,盡量通過(guò)參數(shù)調(diào)整將每個(gè)模型的性能最優(yōu)化。并通過(guò)3 種量化指標(biāo)對(duì)融合模型進(jìn)行調(diào)參指導(dǎo)和性能評(píng)估。這3 個(gè)指標(biāo)分別是準(zhǔn)確率(A)、召回率(R)、F-Score(F)[23,27-29]。其中,準(zhǔn)確率計(jì)算方式為[23]
而召回率則是根據(jù)分類(lèi)的4 種情況進(jìn)行的第二步運(yùn)算。具體分類(lèi)情況如表7 所示。
表7 類(lèi)別預(yù)測(cè)情況解釋Tab.7 Category predictions explained
召回率的定義為[23]
F值定義為[23]
本文將所構(gòu)建的融合模型與其他常用分類(lèi)模型進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果如表8 所示。
表8 多種方法的對(duì)比實(shí)驗(yàn)結(jié)果Tab.8 Comparative experimental results of various methods
由表8 可以看出,本文構(gòu)建的融合模型相較于原始隨機(jī)森林算法在A(yíng)指標(biāo)上高出約2%,在F和R值上分別有約4%和8%的提升,相比于其他單個(gè)模型具有最高約30%的提升。綜上,在壓井方法分類(lèi)預(yù)測(cè)的場(chǎng)景下,本文構(gòu)建的融合模型方法相比于其他方法,具有更好的預(yù)測(cè)性能。
(1)結(jié)合壓井作業(yè)現(xiàn)場(chǎng)工程經(jīng)驗(yàn),井的基礎(chǔ)數(shù)據(jù)以及工況數(shù)據(jù),采用特征工程篩選出更重要的特征數(shù)據(jù),簡(jiǎn)化了壓井方法分類(lèi)預(yù)測(cè)的特征維度,適度壓縮了特征空間。從而構(gòu)建了基于隨機(jī)森林的Stacking 兩層融合模型,基模型層中挑選了多種分類(lèi)器做基學(xué)習(xí)器,次模型層中采用了隨機(jī)森林集成算法。由于重要特征的篩選壓縮了特征空間,相對(duì)于傳統(tǒng)的專(zhuān)家系統(tǒng)和單模型預(yù)測(cè),本文構(gòu)建的兩層融合模型可獲得更高的預(yù)測(cè)準(zhǔn)確率,同時(shí),也能實(shí)現(xiàn)對(duì)壓井方法的快速分類(lèi)預(yù)測(cè)。
(2)由于數(shù)據(jù)采集上的限制,沒(méi)有實(shí)現(xiàn)對(duì)壓井方法中某些重要的壓力數(shù)值(如套管壓力)的預(yù)測(cè),下一步的研究將進(jìn)一步完善井控作業(yè)數(shù)據(jù)集,實(shí)現(xiàn)壓井方法對(duì)應(yīng)的壓力曲線(xiàn)的回歸預(yù)測(cè)。