朱振宇 ,白小眾,徐磊 ,侯磊 *,劉金海,谷文淵,孫欣
1 中國石油大學(xué)(北京)機械與儲運工程學(xué)院,北京 102249
2 中國石油天然氣集團公司油氣儲運重點實驗室,北京 102249
3 國家管網(wǎng)集團北方管道有限責(zé)任公司錦州輸油氣分公司,錦州 121000
我國長輸原油管道電耗巨大,年均電耗占管道運行成本的一半以上,降低管道電耗值是管道企業(yè)的迫切需要。為此,企業(yè)通常采用電耗預(yù)測方法對電耗值進行目標(biāo)管理,即為管道設(shè)置合理的電耗目標(biāo)值。電耗預(yù)測按時間間隔可分為短期﹑中期和長期能耗預(yù)測3 種類型。對于中期能耗預(yù)測而言,其預(yù)測周期通常為一個月。預(yù)測值與真實值之間的差距既能反映企業(yè)的運行管理水平,又能體現(xiàn)管道的節(jié)能潛力,因此對原油管道月度電耗值進行準(zhǔn)確預(yù)測成為一個亟待解決的問題。
原油管道傳統(tǒng)的能耗預(yù)測方法主要包括工藝計算法和統(tǒng)計預(yù)測法[1]。工藝計算法基于管道實際工藝流程進行能耗預(yù)測,現(xiàn)多以成熟的商業(yè)軟件進行仿真模擬。Zuo等[2]根據(jù)工藝原理建立了在給定流量下的管道最優(yōu)運行數(shù)學(xué)模型,適用于多種原油管道的能耗預(yù)測。但該方法通常涉及的站場設(shè)備和管道運行參數(shù)眾多,且理論公式在實際應(yīng)用時存在局限性;統(tǒng)計預(yù)測法基于管道多年歷史數(shù)據(jù)來建立預(yù)測模型,隋富娟等[3]利用某輸油管道5 年的輸油量和油電損耗,建立了三元非等間距的GM(1,1)模型,但原油管道影響因素眾多,各因素之間非線性聯(lián)系強,上述方法不適用于多因素影響下的管道能耗預(yù)測。近年來,人工智能技術(shù)飛速發(fā)展,機器學(xué)習(xí)方法既能擺脫完全依賴準(zhǔn)確理論知識建模的困難,又能基于過程數(shù)據(jù)對其中蘊含的潛在信息進行挖掘,因此機器學(xué)習(xí)模型已在多種能源消耗預(yù)測領(lǐng)域得到廣泛應(yīng)用。Nasr等[4]利用神經(jīng)網(wǎng)絡(luò)模型對黎巴嫩汽油需求量分別進行了單變量和多變量預(yù)測,證明多變量模型具有更好的預(yù)測效果;王小君等[5]引入基于數(shù)據(jù)挖掘理論的支持向量機模型,解決了電力系統(tǒng)負(fù)荷預(yù)測樣本選取問題;呂歡歡等[6]針對影響列車牽引能耗因素繁多問題,運用支持向量機和隨機森林兩種方法建立列車牽引能耗預(yù)測模型,有效解決了高維度和非線性難題;Zeng等[7]利用多層感知人工神經(jīng)網(wǎng)絡(luò)對某輸油管道日耗電量進行預(yù)測,證明該模型有較高的預(yù)測精度。隨著“智慧管道”構(gòu)想的提出,更加速了以大數(shù)據(jù)為依托的機器學(xué)習(xí)技術(shù)在管道業(yè)的應(yīng)用與發(fā)展,黃維和[8]﹑吳長春[9]﹑董紹華[10]等學(xué)者對此作了諸多研究與思考。
利用機器學(xué)習(xí)方法進行建模,數(shù)據(jù)的數(shù)量和質(zhì)量是關(guān)鍵[11],當(dāng)訓(xùn)練樣本數(shù)量不充足時,機器學(xué)習(xí)算法會出現(xiàn)泛化能力不足﹑預(yù)測精度不佳等問題。但由于管道運行數(shù)據(jù)獲取成本過高﹑企業(yè)重視數(shù)據(jù)安全﹑因年久失修或者工藝變化而進行管道改造等原因,往往導(dǎo)致難以獲得足夠多的樣本來進行研究。為解決樣本不足問題﹑促進管道大數(shù)據(jù)的發(fā)展,本文基于數(shù)據(jù)生成技術(shù)提出通過自取法(Bootstrap)對輸油管道運行數(shù)據(jù)小樣本集進行擴充,利用粒子群算法(PSO)優(yōu)化后的支持向量機(SVM)模型對總體樣本進行學(xué)習(xí)和預(yù)測,以此提高預(yù)測精度,并以國內(nèi)某輸油管道作為算例分析,驗證了該實驗方法的可行性與有效性。
選擇特征參數(shù)的目的是為機器學(xué)習(xí)方法識別有用和非冗余的特征子集,輸入特征參數(shù)的合理選擇直接決定了模型的預(yù)測性能。因此,有必要對管道運行過程中影響電耗的相關(guān)因素進行詳細(xì)分析,選擇合適的參數(shù)作為預(yù)測模型的輸入特征。
運行電耗主要是指長輸管道各站內(nèi)的輸油泵機組耗電量,這部分能耗是維持管道正常運行最基本﹑最關(guān)鍵的能耗,也最具有節(jié)能潛力[12],主要受原油物性參數(shù)﹑管道參數(shù)﹑環(huán)境參數(shù)和運行參數(shù)4 類參數(shù)影響,部分參數(shù)的詳細(xì)分類如表1 所示。其中,原油物性參數(shù)隨管道溫度變化而變化,在實際運輸過程中很難實時獲取,且對于同一條原油管道,當(dāng)輸送的油品種類一定時,原油物性的影響可以忽略不計。管道參數(shù)基本可以視為固定值,作為輸入?yún)?shù)的意義不大。環(huán)境參數(shù)中地溫較為重要,當(dāng)?shù)販馗邥r管道的散熱量會減少,相應(yīng)的管輸耗電量減少,反之則會增加。管道運行參數(shù)中的輸量﹑進出站溫度和壓力等參數(shù)都與泵機組耗電有著密不可分的聯(lián)系?;谏鲜龇治?,選擇輸量﹑平均進溫﹑平均出溫﹑平均進壓﹑平均出壓和地溫作為預(yù)測模型的輸入?yún)?shù),用于管道運行電耗預(yù)測。
表1 原油管道參數(shù)分類Table 1 Classification of crude oil pipeline parameters
管道A為國內(nèi)一條保溫原油管道,全線長度為361.2 km,設(shè)計輸量為900 萬~1000 萬t/a,共設(shè)有9座站場,為方便論述本文以其中2 座站場數(shù)據(jù)為例進行實驗。取2 站場2017 年1 月至2019 年6 月各30 組數(shù)據(jù),其中部分?jǐn)?shù)據(jù)如表2 所示。
由于采集的數(shù)據(jù)樣本較少,如果采用傳統(tǒng)的隨機抽樣方法劃分?jǐn)?shù)據(jù)集,通常會造成得到的訓(xùn)練集和測試集的分布規(guī)律與原始數(shù)據(jù)集的分布規(guī)律出現(xiàn)大的偏離,使預(yù)測結(jié)果缺乏可信度。因此本文采用分層抽樣來替代簡單隨機抽樣,用以避免明顯的抽樣偏差,保證預(yù)測結(jié)果的有效性。
為驗證小樣本集下使用分層抽樣的優(yōu)越性,以站場1 的輸量數(shù)據(jù)為例,按其分布規(guī)律劃分為4 個區(qū)間,分別使用分層抽樣法和隨機抽樣法對數(shù)據(jù)進行抽樣,最終的結(jié)果如圖1 所示。通過分析可得,原始數(shù)據(jù)中4 個區(qū)間所占的比例分別是6.67%﹑26.67%﹑26.67%和40.00%,分層抽樣獲得的訓(xùn)練樣本中四個區(qū)間所占的比例分別是4.76%﹑28.57%﹑28.57%和38.10%,隨機抽樣的結(jié)果分別是4.76%﹑23.81%﹑38.10%和33.33%,2 種抽樣方法的平均絕對百分誤差分別是11.90%和24.71%。由此可知分層抽樣方法在小樣本情況下能有效降低隨機抽樣帶來的抽樣偏差,能夠更好地體現(xiàn)原始數(shù)據(jù)的分布規(guī)律,有利于保證預(yù)測效果的客觀性和可靠性。
表2 站場1 部分?jǐn)?shù)據(jù)Table 2 Partial data of Station 1
表3 站場2 部分?jǐn)?shù)據(jù)展示Table 3 Partial data of Station 2
充足的訓(xùn)練樣本及其在樣本空間中的分布性決定了機器學(xué)習(xí)方法的泛化能力與預(yù)測精度,但在實際生產(chǎn)過程中,由于獲取樣本成本過高﹑數(shù)據(jù)多但重復(fù)﹑考慮數(shù)據(jù)安全等原因,往往只能獲得少量數(shù)據(jù),使得建立的預(yù)測模型難以達(dá)到精度要求。
為此,學(xué)者們提出用數(shù)據(jù)生成技術(shù)解決數(shù)據(jù)不足問題。數(shù)據(jù)生成技術(shù)的思想是利用先驗知識或樣本分布規(guī)律等潛在信息生成新的樣本[13],用于填充樣本信息間隔,提高原始樣本集的預(yù)測能力。生成的新樣本被稱為虛擬樣本或者人工樣本,是根據(jù)原始樣本內(nèi)的潛在信息而得到的一種新數(shù)據(jù)。原始小樣本﹑虛擬樣本和總體空間之間的關(guān)系如圖2 所示,原始小樣本集由少量原始數(shù)據(jù)組成,總體空間和原始小樣本集之間的信息空白則由大量虛擬樣本進行填充。因此,原始樣本中的信息間隔被縮小,添加虛擬樣本能夠提高預(yù)測模型在小樣本集下的學(xué)習(xí)能力和預(yù)測精度。
目前較為常用的生成方法有蒙特卡洛法﹑整體趨勢擴散技術(shù)(MTD)和自取法等。蒙特卡洛法原理簡單,但在數(shù)據(jù)量極少情況下會產(chǎn)生較大誤差[14];MTD通過三角隸屬函數(shù)非對稱地對數(shù)據(jù)進行擴散,但有著單模態(tài)和獨立性假設(shè)的缺陷[15]。因此,本文選用自取法作為擴充原始數(shù)據(jù)的途徑,相較于其他方法,它具有不需要對樣本分布進行假設(shè)的優(yōu)點,因此當(dāng)樣本分布未知時,該方法最為有效[16-17]。
圖1 站場1 不同抽樣方法抽樣結(jié)果圖Fig. 1 Sampling results of different sampling methods in Station 1
圖2 小樣本集、虛擬樣本 、總體空間關(guān)系圖Fig. 2 Small sample set, virtual sample, and overall spatial diagram
自取法于1979 年由統(tǒng)計學(xué)家Bradley Efron系統(tǒng)地提出,其本質(zhì)上是一種不需要樣本分布假設(shè)的非參數(shù)采樣方法,通過在原始樣本的基礎(chǔ)上進行隨機的有放回的抽樣,來構(gòu)建某個估計量的置信區(qū)間。當(dāng)可利用的樣本數(shù)量有限時,自取法不需要對經(jīng)驗分布進行過多假設(shè),能夠從采集到的新的子樣本中得到統(tǒng)計量,從而進一步研究總體樣本。該方法實現(xiàn)數(shù)據(jù)生成過程的步驟如下:
(1)假設(shè)原始小樣本集X中含有k個特征,n組數(shù)據(jù),取出某一特征x=[x1,x2,…,xn],然后使用隨機數(shù)生成器隨機生成整數(shù)l1,l2,…,ln∈[1,n];
(2)在生成的整數(shù)l1,l2,…,ln的基礎(chǔ)上,根據(jù)其所對應(yīng)的下標(biāo),從原始數(shù)據(jù)集x中進行有放回的抽樣,得到新的數(shù)據(jù)集x’=[xl1,xl2,…,xln];
(3)重復(fù)步驟(2)k次,得到擴充后的樣本集X’=[x1′,x2′ ,…,xk′ ],生成的樣本數(shù)量為k×n。
支持向量機是一種基于結(jié)構(gòu)風(fēng)險最小化的機器學(xué)習(xí)算法,相較于神經(jīng)網(wǎng)絡(luò)算法,它在處理小樣本時能夠避免“過擬合”問題,因此被廣泛應(yīng)用于回歸﹑預(yù)測﹑分類等領(lǐng)域[18-21]。支持向量機的預(yù)測精度依賴于懲罰系數(shù)C和核參數(shù)γ的選取,超參數(shù)選取不當(dāng)會影響模型的泛化能力[22]。因此,需要對這兩個超參數(shù)進行優(yōu)化,選擇合適的取值。
目前,超參數(shù)優(yōu)化工作主要通過啟發(fā)式算法來完成,而粒子群算法相較于遺傳算法(GA)﹑果蠅算法(FOA)等具有設(shè)置參數(shù)少﹑收斂快的優(yōu)點[23],因此本文選用粒子群算法對支持向量機進行超參數(shù)優(yōu)化。在該算法中,種群由粒子組成,每個粒子的特征包括一個位置向量和一個速度向量,利用個體極值pbest和全局極值gbest來更新位置和速度。每個粒子根據(jù)如下公式來更新自己的速度和位置:
式中,k為迭代次數(shù);ω為慣性權(quán)重;c1﹑c2稱為學(xué)習(xí)因子;r1(k)和r2(k)是[0,1]區(qū)間的隨機數(shù);υi(k)和xi(k)分別表示粒子i在第k次迭代的速度和位置;pbest(k)和gbest(k)分別表示粒子i在第k次迭代的個體極值的位置和全局極值的位置。
提出的PSO-SVM預(yù)測模型能夠?qū)蓚€超參數(shù)進行動態(tài)調(diào)整,然后將得到的最優(yōu)組合反饋給SVM模型,實現(xiàn)超參數(shù)的自適應(yīng)優(yōu)化,圖3 為PSO-SVM模型的超參數(shù)優(yōu)化流程。
本研究的目的是通過增加虛擬樣本到特定小數(shù)據(jù)集來提高預(yù)測模型的預(yù)測精度,主要內(nèi)容包括:根據(jù)原始小樣本集建立初始SVM預(yù)測模型;通過自取法生成虛擬樣本,對原始樣本集進行擴充;將原始樣本與虛擬樣本合并形成總樣本,以此為基礎(chǔ)展開預(yù)測;對預(yù)測結(jié)果進行誤差分析。具體實現(xiàn)步驟如下:
(1)對搜集的數(shù)據(jù)進行檢查和缺失修補,去除明顯錯誤的數(shù)據(jù)。
(2)為了避免隨機抽樣帶來的抽樣誤差,采用分層抽樣來劃分訓(xùn)練集和測試集,使得劃分的樣本與初始數(shù)據(jù)的分布規(guī)律較為接近。因為輸入值的大小存在較大差異,因此對輸入值進行歸一化,歸一化范圍通常為0~1,如式(3)所標(biāo)。
式中,x’是歸一化后的結(jié)果,xmax和xmin分別是輸入數(shù)據(jù)的最大值和最小值,x是初始值。
(3)利用PSO算法對SVM進行超參數(shù)優(yōu)化,建立初始預(yù)測模型,使用原始小樣本集中的訓(xùn)練集數(shù)據(jù)進行訓(xùn)練學(xué)習(xí),并在測試集數(shù)據(jù)上進行測試,記錄該模型的預(yù)測結(jié)果。
(4)通過自取法對訓(xùn)練集數(shù)據(jù)中的每一個輸入屬性進行擴充,生成虛擬樣本的輸入值。
(5)將得到的虛擬樣本輸入值通過已建立的SVM模型計算得到其輸出值。
圖3 PSO-SVM流程圖Fig. 3 PSO-SVM flow chart
(6)重復(fù)步驟(4)﹑(5)n次,即可得到n個虛擬樣本,將原始訓(xùn)練集數(shù)據(jù)與虛擬樣本合并,得到總樣本集。利用PSO-SVM預(yù)測模型對總樣本集數(shù)據(jù)進行訓(xùn)練,并在測試集數(shù)據(jù)上進行測試。將預(yù)測結(jié)果與步驟(3)的結(jié)果進行分析比較,評估該方法的可行性與適用性,圖4 為具體流程圖。
為了評價預(yù)測模型的精度,采用平均絕對誤差(MAE)﹑平均絕對百分誤差(MAPE)﹑相對誤差(RE)和決定系數(shù)(R2)作為性能指標(biāo)來評估各模型的預(yù)測能力。各評價指標(biāo)公式如下:
式中,yi,和分別表示初始值﹑平均值和預(yù)測值。
將所得數(shù)據(jù)按7:3 的比例進行數(shù)據(jù)集的劃分,歸一化后分別進行訓(xùn)練和測試,PSO參數(shù)設(shè)置如下:C∈[1,9000],g∈[0.01,10],最大迭代次數(shù)Kmax=100,粒子群數(shù)目M=100,粒子維度n=2,加速因子c1=c2=2,適應(yīng)度函數(shù)選擇平均絕對百分誤差。
圖4 整體流程圖Fig. 4 Overall flow chart
支持向量機和神經(jīng)網(wǎng)絡(luò)是目前應(yīng)用較廣的兩種機器學(xué)習(xí)算法,為比較二者在小樣本下的預(yù)測能力,分別利用其對管道數(shù)據(jù)進行建模和預(yù)測,計算得到不同模型預(yù)測值的3 種評價指標(biāo)值,如圖4 所示,并以站場1 為例,列舉了真實值與預(yù)測值比較結(jié)果,如表5 所示。分析比較可得,站場1 支持向量機模型的MAE﹑MAPE﹑R2值 分 別 為69.9471×103kW·h﹑4.4701%和0.9279, 相較于神經(jīng)網(wǎng)絡(luò)預(yù)測的71.2648×103kW·h﹑5.5150%和0.9113,分別優(yōu)化了1.88%﹑23.38%和1.79%,預(yù)測精度更高,得到的預(yù)測值更加貼近真實值,驗證了支持向量機在小樣本情況下能夠避免“過擬合”現(xiàn)象,預(yù)測效果要優(yōu)于神經(jīng)網(wǎng)絡(luò)算法。
為驗證添加虛擬樣本對模型預(yù)測能力的影響,向已建立的PSO-SVM模型中添加10 組虛擬樣本,將預(yù)測結(jié)果與添加虛擬樣本前的預(yù)測結(jié)果進行對比,圖5﹑圖6 展示了兩站場的測試數(shù)據(jù)和添加虛擬樣本前后的預(yù)測值,能夠發(fā)現(xiàn)添加虛擬樣本后的大部分預(yù)測值要更接近真實值。為了更清楚地展示添加虛擬樣本對預(yù)測模型性能的改善,圖7-8 分別記錄了2 組實驗測試集相對誤差的絕對值,其基準(zhǔn)設(shè)置為[0,4%],通過對比不同模型真實值與預(yù)測值之間的偏離程度,能夠直觀評價模型的預(yù)測性能。對于站場1,添加虛擬樣本前后的離散點在參考范圍內(nèi)的點數(shù)分別為3 個和7個,站場2 中添加虛擬樣本前后離散點在參考范圍內(nèi)的點數(shù)分別5 個和7 個,證明添加虛擬樣本有利于預(yù)測模型充分利用原始數(shù)據(jù)的剩余價值,相較于單純利用原始樣本集,能夠提高預(yù)測模型的學(xué)習(xí)能力,有效降低預(yù)測誤差,保證預(yù)測模型在樣本不充足時的預(yù)測精度。
表4 不同預(yù)測模型結(jié)果對比Table 4 Comparison of results of different prediction models
表5 站場1 預(yù)測結(jié)果比較Table 5 Comparison of predicted results of Station 1
圖5 站場1 預(yù)測結(jié)果對比圖Fig. 5 Comparison of forecast results of Station 1
圖6 站場2 預(yù)測結(jié)果對比圖Fig. 6 Comparison of forecast results of Station 2
為進一步驗證虛擬樣本數(shù)量對預(yù)測結(jié)果的影響,向建立好的PSO-SVM模型中依次添加10﹑20﹑30﹑40﹑50 組虛擬樣本,分別對測試數(shù)據(jù)進行預(yù)測,將預(yù)測結(jié)果與未添加虛擬樣本的結(jié)果進行比較,發(fā)現(xiàn)添加虛擬樣本后站場1 的MAE值分別下降了19.78%﹑21.17%﹑28.65%﹑30.86%和32.38%,站場2 的MAE值分別下降了12.06%﹑18.43%﹑19.63%﹑25.83%和29.74%,如圖9﹑圖10 所示。分析可得,隨著虛擬樣本數(shù)目的增加,模型的預(yù)測誤差在不斷降低,但趨勢逐漸平穩(wěn),說明在一定范圍內(nèi)虛擬樣本的加入能夠增強模型的學(xué)習(xí)能力,提高預(yù)測精度。但由于實際管道運行數(shù)據(jù)中仍不可避免的存在部分噪聲和冗余,使得模型的預(yù)測精度仍具有提升的空間。
圖7 站場1 相對誤差絕對值離散圖Fig. 7 Discrete figure of absolute relative error in station 1
圖8 站場2 相對誤差絕對值離散圖Fig. 8 Discrete figure of absolute relative error in station 2
圖9 站場1 不同數(shù)目虛擬樣本預(yù)測誤差圖Fig. 9 Prediction error graph of different number of virtual samples in Station 1
圖10 站場2 不同數(shù)目虛擬樣本預(yù)測誤差圖Fig. 10 Prediction error graph of different number of virtual samples in Station 2
(1)基于數(shù)據(jù)生成技術(shù)與機器學(xué)習(xí)理論,針對小樣本情況下長輸原油管道運行電耗中期預(yù)測問題,提出利用自取法生成虛擬樣本對原始小樣本集進行擴充,再利用PSO-SVM模型對耗電量進行預(yù)測。實驗結(jié)果表明,虛擬樣本加入后模型的平均絕對誤差分別降低了32.38%和29.74%,能夠有效降低預(yù)測誤差,滿足生產(chǎn)預(yù)測需要的精度,為管道數(shù)據(jù)獲取成本過高﹑企業(yè)重視數(shù)據(jù)安全等原因造成的可用樣本不充足問題提供了一種新的解決思路。
(2)通過對比分層抽樣法和隨機抽樣法的抽取結(jié)果,證明在小樣本情況下分層抽樣具有更低的抽樣偏差,抽取的訓(xùn)練集和測試集能夠更好地反映原始樣本數(shù)據(jù)的分布規(guī)律,有利于確保預(yù)測效果的客觀性和可靠性。
(3)通過對比支持向量機和神經(jīng)網(wǎng)絡(luò)兩種算法在小樣本集下的預(yù)測結(jié)果,證明支持向量機模型在樣本較少時能夠有效避免“過擬合”現(xiàn)象,具有更好的預(yù)測效果。
(4)通過向測試樣本中添加不同數(shù)目的虛擬樣本來確定虛擬樣本最優(yōu)添加數(shù)量,發(fā)現(xiàn)隨著虛擬樣本數(shù)目的增多,預(yù)測精度逐漸提高,但增幅漸緩,說明一定數(shù)目內(nèi)虛擬樣本的加入能夠提高模型的預(yù)測能力。
(5)提出的虛擬樣本方法能夠提高預(yù)測模型在樣本不充足時的預(yù)測能力,有利于管道企業(yè)對月度電耗值進行精確的目標(biāo)管理,以便對運行方案進行相應(yīng)調(diào)整,達(dá)到降低管道運行電耗的目的。