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