黃鑫 ,張芮菡 ,張烈輝 ,魯友常 ,袁山 ,敬曉鋒
(1.油氣藏地質(zhì)及開發(fā)工程國家重點實驗室,四川 成都 610500;2.四川頁巖氣勘探開發(fā)有限責(zé)任公司,四川 成都 610041;3.中國石油西南油氣田公司勘探開發(fā)研究院,四川 成都 610041;4.中國石油玉門油田分公司勘探開發(fā)研究院,甘肅酒泉735000)
凝析氣藏開發(fā)過程中,烴類流體的相態(tài)變化影響凝析氣藏開發(fā)政策的制定,而準(zhǔn)確預(yù)測凝析氣藏露點壓力是研究相態(tài)變化、調(diào)整開發(fā)政策的重要依據(jù)[1-4]。高于露點壓力開發(fā)凝析氣藏時,氣藏儲層流動為單相流動;低于露點壓力開發(fā)時,飽和凝析氣中的凝析油析出,氣藏儲層流動由單相流變?yōu)閮上嗔鳌D鲇偷奈龀鰩韮煞矫娴母淖儯阂皇俏龀龅哪鲇驼紦?jù)滲流孔道,降低氣相滲透率,加大了儲層敏感性,改變了儲層滲流環(huán)境,增加了儲層開發(fā)難度[5-7];二是凝析油的析出引起凝析氣藏資源量的巨大損失,達(dá)到50%~70%[8],大大降低了凝析氣藏的采收率,造成天然氣和凝析油雙重資源上的損失。因此,建立合理可靠的凝析氣藏露點壓力計算方法,降低氣藏反凝析損失,對凝析氣藏高效開發(fā)有著重要意義。
目前國內(nèi)外關(guān)于露點壓力的計算可以分為室內(nèi)實驗法、狀態(tài)方程法和經(jīng)驗公式法:1)室內(nèi)實驗法主要采用 PVT實驗進(jìn)行等組分膨脹(CCE)[9-10]和定容衰竭(CVD)[11-13]確定露點壓力。實驗過程中,地層流體測試樣品需要進(jìn)行復(fù)配重組,存在人為誤差,容易造成樣本數(shù)據(jù)失真,且實驗測試費用昂貴,耗時較長,結(jié)果的準(zhǔn)確性依賴樣本數(shù)量和質(zhì)量[14]。PVT實驗過程中忽略了地層條件多孔介質(zhì)界面效應(yīng)的影響,也使得室內(nèi)測試結(jié)果存在一定的偏差[15]。2)狀態(tài)方程法是通過聯(lián)立物質(zhì)平衡方程和壓降方程,推導(dǎo)出凝析氣藏視地層壓力和凝析氣累計產(chǎn)量之間的關(guān)系式,根據(jù)2段斜率不同的直線交點確定露點壓力。常用方法包括Peng-Robinson 狀態(tài)方程[16]、Soave 狀態(tài)方程[17]和 LHHSS 狀態(tài)方程[18]。但狀態(tài)方程法在預(yù)測過程中受限于不同餾分的劈分方式和表征方法[19],露點壓力的計算數(shù)值因狀態(tài)方程和參數(shù)的選擇不同而并不唯一[20-21]。3)經(jīng)驗公式法早期利用大量實驗數(shù)據(jù)、組分?jǐn)?shù)據(jù)等相關(guān)參數(shù),通過多元回歸方法建立經(jīng)驗方程[19,22],產(chǎn)生相關(guān)系數(shù),并需要大量的數(shù)據(jù)支持,對預(yù)測模型的數(shù)據(jù)來源和研究方法有較強(qiáng)的依賴。目前常用的研究方法包括機(jī)器學(xué)習(xí)領(lǐng)域中的神經(jīng)網(wǎng)絡(luò)[23-24]、遺傳算法[25-26]、粒子群算法[27]、支持向量機(jī)技術(shù)[28-29]等。
以上3種方法均存在各自的局限性:室內(nèi)實驗法測試時間長,數(shù)據(jù)解釋樣本依賴性較強(qiáng);狀態(tài)方程法結(jié)構(gòu)復(fù)雜,求解繁瑣,存在半理論、半經(jīng)驗參數(shù);經(jīng)驗公式法集合了目前非線性模型預(yù)測求解方法,但樣本需求量大和隱式模型結(jié)構(gòu)的缺點使得礦場快速應(yīng)用存在障礙。由于強(qiáng)非線性關(guān)系及影響參數(shù)的不確定性等原因,需要開發(fā)出魯棒性更好的理論工具來解決模型預(yù)測中的問題。生產(chǎn)過程中積累了大量的數(shù)據(jù),利用數(shù)據(jù)驅(qū)動反演模型的思想建立“數(shù)據(jù)-模型-數(shù)據(jù)”耦合對應(yīng)的顯式模型,更有利于油田現(xiàn)場的便捷使用[30]。本文在多基因遺傳編程理論[31]的基礎(chǔ)上,選取儲層溫度、流體組分和實測露點壓力為樣本變量組建數(shù)據(jù)庫,提出了一種凝析氣藏露點壓力顯式模型計算方法。該方法可以利用單井級別數(shù)據(jù)進(jìn)行小樣本預(yù)測,也可以針對油田級大數(shù)據(jù)進(jìn)行大樣本預(yù)測,通過非線性模型回歸出具有實際參數(shù)意義的顯式數(shù)學(xué)模型。
多基因遺傳編程(MGGP)是遺傳編程(GP)的一個變體[31]。這種算法是在遺傳算法的基礎(chǔ)上仿照自然界生物進(jìn)化機(jī)制,通過模仿進(jìn)化過程尋找用戶指定任務(wù)的最優(yōu)解,目前廣泛應(yīng)用于非線性模型的開發(fā)數(shù)據(jù)驅(qū)動[32]。與GP相比,MGGP可以使用訓(xùn)練數(shù)據(jù)集自動開發(fā)顯式模型,無需事前定義模型結(jié)構(gòu)。這樣不僅可以促進(jìn)數(shù)學(xué)模型的開發(fā),還可以避免因受某些主觀判斷,尤其是有關(guān)模型結(jié)構(gòu)的判斷而導(dǎo)致的誤差。MGGP主要具有兩方面的優(yōu)勢:1)MGGP模型中的每個基因都是傳統(tǒng)的GP基因,因此MGGP更加準(zhǔn)確;2)每個MGGP基因只需要包含幾個樹深,因此每個基因中非線性項的階數(shù)較低,MGGP通常更加緊湊。圖1展示了利用MGGP方法進(jìn)行模型進(jìn)化的基本原理。
圖1 MGGP子樹層結(jié)構(gòu)及進(jìn)化過程示意
父代基因中隨機(jī)生成2個基因(Gene1-1,Gene2-1),其數(shù)學(xué)表達(dá)式分別為
式中:a1,a2為模型輸入?yún)?shù);m為系統(tǒng)自動擬合底數(shù)。
由父代基因生成的模型適應(yīng)性通常很差,在對數(shù)據(jù)的擬合方面誤差較高,MGGP方法通過3種基本遺傳算子(選擇、交叉和變異),控制父代基因生成子代基因,在隨機(jī)擾動情況下控制群體中的個體基因向最優(yōu)解遷移。交叉父代基因(Gene1-1,Gene2-1)生成子代基因(Gene1-2,Gene2-2),其數(shù)學(xué)表達(dá)式分別為
在基因突變過程中,Gene1-2中的子樹被新元素所替代,通過基因變異產(chǎn)生子代基因(Gene1-3),其數(shù)學(xué)表達(dá)式為
新生成的基因通過線性組合的方式即可生成基于MGGP的顯性模型表達(dá)式。針對圖1中的實例,顯性模型的函數(shù)表達(dá)式為
式中:α1,α2分別為 Gene1-3和 Gene2-2的權(quán)重系數(shù);γ 為偏差。
選取均方根誤差RMSE和決定系數(shù)R2作為模型的適應(yīng)度函數(shù)進(jìn)行模型性能評估:
式中:N為樣本數(shù)量;i為樣本序號;下標(biāo)A,P,M分別表示實際值、預(yù)測值和平均值。
取氣藏溫度 T、C1的摩爾分?jǐn)?shù) n(C1)、C2—6的摩爾分?jǐn)?shù) n(C2—6)、C7+的摩爾分?jǐn)?shù) n(C7+)、C7+的相對密度 Γ(C7+)、C7+的相對分子質(zhì)量 M(C7+)等 6 個參數(shù)[33]作為模型自變量,分別用x1—x6表示;選取氣藏露點壓力pdew作為因變量,用y表示。選取文獻(xiàn)[34]中給出的27組凝析氣藏露點壓力實測數(shù)據(jù)(見表1),構(gòu)建基于MGGP的氣藏露點壓力計算原始數(shù)據(jù)庫。
表1 凝析氣藏露點壓力測試數(shù)據(jù)
基于MGGP的凝析氣藏露點壓力計算過程在MATLAB環(huán)境下編程運行[35]。初始種群總數(shù)設(shè)置為500,最大生成代數(shù)為200,基因最大樹深和最大基因數(shù)分別設(shè)置為3和5,交叉概率、遺傳概率和變異概率分別為0.84,0.30,0.14。函數(shù)集是描述自變量和因變量之間函數(shù)關(guān)系的集合,本文函數(shù)集包括×,-,+,/,^,sin,cos,tan,tanh,log,exp 等。
將27組數(shù)據(jù)隨機(jī)分為訓(xùn)練組和預(yù)測組,訓(xùn)練組包括20組數(shù)據(jù),預(yù)測組包括7組數(shù)據(jù)?;贛GGP的凝析氣藏露點壓力預(yù)測模型計算流程如圖2所示。
圖2 基于MGGP的露點壓力預(yù)測模型建模步驟
圖3為基于MGGP生成的子代模型及模型收斂情況。圖3a中所有的點為基于MGGP模型通過27組數(shù)據(jù)“鍛煉”生成的預(yù)測模型,確定子代最佳模型需要同時考慮預(yù)測精度和模型復(fù)雜度兩方面。1-R2的值越小,表示預(yù)測精度越高;綠色點表示生成的模型中的非支配解,即不會同時存在一個最精確、最簡單的解。計算結(jié)果給出了13個非支配解,其中A模型為所有預(yù)測模型中推薦的最優(yōu)模型。為了與最優(yōu)模型作比較,在13個非支配解中選擇B模型和C模型與最優(yōu)模型A進(jìn)行對比分析。
圖3 基于MGGP生成的子代模型及模型收斂情況
圖3b,3c表示種群在進(jìn)化生成子代模型過程中子代適應(yīng)度的收斂性。從圖中可以看出:在模型演化開始,模型性能相對較差,隨著子代數(shù)量的增加,RMSE迅速降低;迭代到20代之后,RMSE已經(jīng)收斂到可接受的范圍。
演化生成的子代模型通用表達(dá)式為
式中:α為基因在數(shù)學(xué)模型中的權(quán)重系數(shù);下標(biāo)數(shù)字表示基因序號。
表2給出了A,B,C 3個模型基因項的表達(dá)式(偏差項分別為13,72,71)。從表2可以看出,A模型由6個基因組成,是3個模型中復(fù)雜度最高的。這些通過選擇、交叉和變異的遺傳過程建立的模型,相比傳統(tǒng)的數(shù)據(jù)統(tǒng)計回歸生成的數(shù)學(xué)模型,能更加有效地檢測出變量之間的隱藏關(guān)系,具有更好的適應(yīng)性。
表2 基于MGGP生成的預(yù)測模型基因項數(shù)學(xué)表達(dá)式
A,B,C 3個模型訓(xùn)練組和預(yù)測組與實際數(shù)據(jù)的擬合情況見圖4,而圖5反映了訓(xùn)練組和預(yù)測組數(shù)據(jù)的線性相關(guān)性。
圖4 基于MGGP生成的模型訓(xùn)練組、預(yù)測組與實測數(shù)據(jù)模擬結(jié)果
圖5 基于MGGP生成的模型訓(xùn)練組、預(yù)測組對照散點圖
由圖4、圖5可以看出:1)B模型的訓(xùn)練精度(R2=0.920)大于A模型(R2=0.905),且 B模型預(yù)測組的預(yù)測精度(R2=0.944)也要高于A模型(R2=0.937)。如果非??粗啬P偷膹?fù)雜度,那么B模型要優(yōu)于A模型,這就表明數(shù)據(jù)過度擬合帶來了較大的風(fēng)險,因此,在生成模型時要著重控制生成代數(shù),避免數(shù)據(jù)的過度擬合。2)C模型在基因數(shù)量上要少于A模型和B模型,模型的復(fù)雜度也較低,從C模型的訓(xùn)練精度(R2=0.827)和預(yù)測精度(R2=0.892)上也可以反映出模型的訓(xùn)練不足給模型的開發(fā)方面帶來了較大的不穩(wěn)定性。3)A,B模型的預(yù)測組誤差均小于7%,而C模型的預(yù)測組誤差達(dá)到10%左右,性能較差。
通過上述分析可以發(fā)現(xiàn),A模型和B模型均可用于凝析氣藏露點壓力的預(yù)測。若模型的復(fù)雜度是考慮的首要因素,則B模型是最優(yōu)選擇,但是A模型在模型復(fù)雜度和預(yù)測誤差兩方面均具有較好的泛化能力,因此,采用A模型進(jìn)行凝析氣藏露點壓力的計算。
對表1中27組實測露點壓力數(shù)據(jù)進(jìn)行降序排列,采用Matlab中非線性回歸預(yù)測置信區(qū)間函數(shù)nlpredci進(jìn)行分析。圖6是基于MGGP生成的A模型置信區(qū)間分析情況。從圖6可以看出,A模型的預(yù)測結(jié)果很好地遵循了總體數(shù)據(jù)的分布趨勢,露點壓力數(shù)據(jù)在A模型預(yù)測曲線±95%的置信區(qū)間半寬內(nèi)分布,表明A模型預(yù)測結(jié)果和實際數(shù)據(jù)之間具有良好的置信度。
圖6 A模型置信區(qū)間分析
為了驗證基于MGGP生成的模型的預(yù)測能力,選用文獻(xiàn)[36]中給出的塔里木油田不同凝析氣井露點壓力測試數(shù)據(jù),用A模型對15組現(xiàn)場數(shù)據(jù)進(jìn)行擬合,計算露點壓力。結(jié)果見圖7、表3。由圖7可看出,預(yù)測值和實際值比較吻合,最大預(yù)測誤差為7.99%,最小預(yù)測誤差為1.15%,平均預(yù)測誤差為4.36%。結(jié)果表明,基于MGGP方法建立的凝析氣藏露點壓力預(yù)測模型具有良好的礦場適應(yīng)性,可以快速進(jìn)行露點壓力預(yù)測。
圖7 A模型預(yù)測值與實際值對比
表3 不同凝析氣井露點壓力測試數(shù)據(jù)及預(yù)測數(shù)據(jù)
1)基于多基因遺傳編程的露點壓力計算方法能夠快速高效地建立顯式數(shù)學(xué)模型,模型中不含經(jīng)驗參數(shù),生成的數(shù)學(xué)模型具有良好的泛化能力和魯棒性。
2)選用儲層溫度、流體組分和露點壓力等7個參數(shù),針對實際礦場數(shù)據(jù)“鍛煉”生成數(shù)學(xué)模型,依據(jù)預(yù)測精度和模型復(fù)雜度可優(yōu)選出適合實際礦場需要的數(shù)學(xué)模型,且過擬合預(yù)測風(fēng)險較低。
3)利用優(yōu)選出的數(shù)學(xué)模型對公開發(fā)表的礦場實際數(shù)據(jù)進(jìn)行預(yù)測,預(yù)測結(jié)果表明,預(yù)測值和實際值最大誤差為7.99%,最小誤差為1.15%,平均誤差為4.36%,預(yù)測精度滿足現(xiàn)場使用條件。