*盧鑫 牛月
(長江大學(xué)地球物理與石油資源學(xué)院 湖北 430100)
對于國內(nèi)外各大油氣田來說,測井前的測井方案設(shè)計是極為重要的環(huán)節(jié),方案設(shè)計中包含對測井儀器的選取、產(chǎn)能預(yù)測以及井下流體流型判定等。在油田開展井下作業(yè)前,對井下流體流型進(jìn)行預(yù)測是非常有必要的一項工作,通過對井下流型進(jìn)行合理判斷,能夠有利于工程師制定科學(xué)有效的測井方案以及更加合理的儀器組合,有效的減少了人力物力消耗。
隨著信息技術(shù)的發(fā)展計算機(jī)技術(shù)也在不斷更新?lián)Q代,機(jī)器學(xué)習(xí)發(fā)展也得到了極大的支撐,國內(nèi)外利用機(jī)器學(xué)習(xí)已經(jīng)發(fā)展成熟的滲透率預(yù)測以及巖性識別[2]等也給測井行業(yè)數(shù)據(jù)處理提供了新思路。同時測井知識與機(jī)器學(xué)習(xí)算法相結(jié)合,不僅能夠促進(jìn)智能地球物理事業(yè)發(fā)展,也能為后續(xù)生產(chǎn)測井中的產(chǎn)能預(yù)測提供理論支撐。
聚類算法(K聚類算法[3])基本原理如下:假定給定的數(shù)據(jù)樣本X,包含n個數(shù)據(jù)對象集X={X1,...,Xn},其中每個數(shù)據(jù)對象都具有m維度的數(shù)據(jù),在這里可以每個數(shù)據(jù)對象理解為矩陣中的向量。算法目標(biāo)是將n個數(shù)據(jù)集,根據(jù)數(shù)據(jù)之間的相似性聚集到指定的個類別中去,數(shù)據(jù)集合中的每個數(shù)據(jù)僅僅只屬于一個已經(jīng)確定好的類簇,也就是說不會存在一個數(shù)據(jù)屬于多個類別的情況。
聚類算法的步驟如下,首先需要初始化k個聚類中心{Center1,...,Centerk},然后通過計算每一個數(shù)據(jù)到每個中心點(diǎn)的距離,距離公式如下:
式中,Xi表示第i組數(shù)據(jù)(1≤i≤n);Centerj表示第j個聚類中心(1≤i≤k);Xit表示第i組數(shù)據(jù)中的第t個數(shù)據(jù)(1≤i≤m,m為數(shù)據(jù)的緯度)。
依次比較對象到聚類中心點(diǎn)的距離,將數(shù)據(jù)對象分配到距離最近的聚類中心點(diǎn)的類別中去,在處理完所有數(shù)據(jù)之后,就能得到一個含有k個類別的集合{Class1,...,Classk}。聚類算法用聚類中心來定義類簇,聚類中心就是每個類別內(nèi)所有數(shù)據(jù)對象在各個維度的均值,計算公式如下:
式中,Centeri表示第i個聚類的中心點(diǎn)(1≤i≤k);|NClassi|表示屬于第i個類別中數(shù)據(jù)的個數(shù);Xi表示第i個類別中的第i個數(shù)據(jù)。
通過不斷對聚類中心點(diǎn)進(jìn)行更新,直至算法達(dá)到結(jié)束條件,算法結(jié)束條件如下:
①數(shù)據(jù)集合中所有數(shù)據(jù)不再被重新分配給不同的數(shù)據(jù)類別中去;
②多次對數(shù)據(jù)進(jìn)行分類后,原有數(shù)據(jù)中心點(diǎn)不再發(fā)生變化;
③所有數(shù)據(jù)點(diǎn)都被訪問完畢,但依舊沒有找到合適數(shù)據(jù)中心點(diǎn)。
由于聚類算法處理的數(shù)值為二維數(shù)據(jù)(坐標(biāo)系中常以點(diǎn)的形式呈現(xiàn)),對于測井?dāng)?shù)據(jù)而言,往往數(shù)據(jù)是多維的,井筒單層界面包含諸多需要考慮的因素,例如含水率、含油率、溫度、井筒內(nèi)液體流速度以及管柱結(jié)構(gòu)等。在本文中能夠由實驗室模擬且參與計算的數(shù)據(jù)依次為:流體流速、井斜、含水率、溫度以及井徑。五組數(shù)據(jù)如何利用聚類算法進(jìn)行數(shù)據(jù)分析,那么針對諸多數(shù)據(jù)首要的工作就是數(shù)據(jù)處理,數(shù)據(jù)處理包括對數(shù)據(jù)離散點(diǎn)的剔除以及數(shù)據(jù)降低維度,從而使得所有實驗所得數(shù)據(jù)在不丟失關(guān)鍵信息的情況下,能夠達(dá)到算法能夠處理的數(shù)據(jù)規(guī)格。這里可以參照線性代數(shù)中求取矩陣特征值的方法,將測井?dāng)?shù)據(jù)假定為維度為N的矩陣,利用多維數(shù)據(jù)計算出來的特征值來代替原有的多維數(shù)據(jù)。
在數(shù)據(jù)線性變換過程中,可以從幾何的角度來理解,針對三維直角坐標(biāo)系而言,數(shù)據(jù)在三維坐標(biāo)系中的每一個系都會存在點(diǎn)到面上的投影,線性變換的過程就是求取投影點(diǎn)的過程,主要步驟為以下兩點(diǎn):①重新確定單位向量,如公式1中的單位向量Y=[y1,...,yN]T以及X=[x1,...,xN]T,N為矩陣的維度;②將原始樣本集所表示的向量在新的單位向量上投影。
對利用公式1求出來的所有單位向量進(jìn)行均值(公式2)以及方差(公式3)計算,選取最小的方差數(shù)據(jù)組合,同時將所求的單位向量假定為所有數(shù)據(jù)的最合適的近似二維坐標(biāo),從而達(dá)到數(shù)據(jù)降維的目的同時也便于后續(xù)聚類算法對數(shù)據(jù)進(jìn)行分類。
式中,X1為求出來的第1組X軸單位向量;Y1為求出來的第1組Y軸單位向量;μ為均值;Σ(X)以及Σ(Y)代表所求的XY軸數(shù)據(jù)的方差。
然而上述式中所設(shè)定的數(shù)據(jù)矩陣必須是數(shù)據(jù)個數(shù)等于數(shù)據(jù)維度,這對于測井行業(yè)來說是不現(xiàn)實的,在測井行業(yè)中數(shù)據(jù)分?jǐn)?shù)往往大于或者是遠(yuǎn)大于數(shù)據(jù)維度,因此必須找尋一種能夠代替矩陣的計算方法,此方法必須能兼?zhèn)鋽?shù)據(jù)降維以及保存數(shù)據(jù)信息。這里就可以參考機(jī)器學(xué)習(xí)中的數(shù)據(jù)降維方法,通過對本文所用到的實驗測井?dāng)?shù)據(jù)進(jìn)行分析之后,發(fā)現(xiàn)PCA降維方法針對此測井?dāng)?shù)據(jù)類型的數(shù)據(jù)處理是最合適的。
主成分分析法(Principal Component Analysis,PCA):主成分分析法主要應(yīng)用于具有連續(xù)屬性的高維數(shù)據(jù)集,是一種較為常見的數(shù)據(jù)分析方法。此方法通過線性變換變化將原始高維數(shù)據(jù)變化為低維數(shù)據(jù)向量,且數(shù)據(jù)向量集合中必須包含整體數(shù)據(jù)的大部分?jǐn)?shù)據(jù)特征。
PCA降維方法的整體降維步驟如下:
①首先將數(shù)據(jù)集合整體視為一個初始數(shù)據(jù)矩陣,如下式:
式中,X為整體數(shù)據(jù)矩陣;x11,...,Xnp整體數(shù)據(jù)集合中的每一個數(shù)據(jù);X1為第一列數(shù)據(jù)向量集合;Xp為第p列數(shù)據(jù)向量集合。
②將數(shù)據(jù)矩陣以列為單位進(jìn)行標(biāo)準(zhǔn)化處理,標(biāo)準(zhǔn)化處理后的的數(shù)據(jù)矩陣仍為X;
③標(biāo)準(zhǔn)化處理完成之后,求矩陣中每個元素的相關(guān)系數(shù),同時構(gòu)建為一個p×p的數(shù)據(jù)矩陣C=(coeij)p×p,其中每個元素相關(guān)系數(shù)的計算公式如下;
其中coeij=coeji,coeii=1。
④構(gòu)建矩陣的特征方程,求出矩陣特征值;
其中式中λ大于0。
⑤確定矩陣主成分個數(shù);
式中的α一般被稱為數(shù)據(jù)貢獻(xiàn)率,主要是用來衡量當(dāng)前數(shù)據(jù)對于整體數(shù)據(jù)分析的重要性,在計算中當(dāng)某一數(shù)據(jù)的α大于80%時,我們一般稱此數(shù)據(jù)為不可丟失數(shù)據(jù)。
⑥計算n個向量對應(yīng)的單位特征向量;
⑦計算每列數(shù)據(jù)主成分。
通過上述步驟即可將矩陣為n×p的高維數(shù)據(jù)集合降低為一維數(shù)據(jù)向量集合,針對測井?dāng)?shù)據(jù)的降低維度我們設(shè)置了兩種數(shù)據(jù)規(guī)格—影響因素大于某閾值的設(shè)置為x軸坐標(biāo),影響因素小于某閾值的設(shè)置為y軸坐標(biāo),至此完成了整個高維數(shù)據(jù)降維的過程。在實際數(shù)據(jù)分析測試中,未降維的數(shù)據(jù)集合數(shù)據(jù)預(yù)測準(zhǔn)確率在75%-80%之間,而利用PCA降維后的數(shù)據(jù)集合進(jìn)行數(shù)據(jù)預(yù)測整體準(zhǔn)確率在83%以上,同時極大的較少了數(shù)據(jù)分析時間。
首先利用聚類算法隨機(jī)在數(shù)據(jù)集中選取3個不重復(fù)的中心點(diǎn)(本節(jié)中假定需要分析的測井?dāng)?shù)據(jù)最終結(jié)果為3種流型),分類過程如下,首先確定第一個中心點(diǎn)Center1,中心點(diǎn)選取完成之后不斷地計算中心點(diǎn)到其他點(diǎn)之間的距離之和S1;同時選取另外一個隨機(jī)中心點(diǎn)Center2,并且計算這個中心點(diǎn)到其他點(diǎn)之間的距離之和S2,比較兩者之間的大小,如果S1大于S2,此時第一個大類的中心點(diǎn)由Center1變?yōu)?Center2;反之,數(shù)據(jù)中心點(diǎn)不變。通過不斷的重復(fù)上述步驟,直到所有的點(diǎn)都參與了分類計算過程,聚類算法結(jié)束。
通過上述描述可以發(fā)現(xiàn)實際聚類算法只是單純?yōu)閿?shù)據(jù)分類,在實際測井作業(yè)中,工程師更想看到的為圖、表格、坐標(biāo)系或者文本展示分類結(jié)果。例如在直角坐標(biāo)系中,對于不同類別的數(shù)據(jù)點(diǎn)我們可以設(shè)置不同的顏色并標(biāo)識出他們的中心點(diǎn),這樣就真正實現(xiàn)了聚類算法的數(shù)據(jù)可視化。
圖1(a)、圖1(b)為分類結(jié)果以坐標(biāo)系形式展示示意圖,圖1(a)為數(shù)據(jù)整體的直角坐標(biāo)系,圖1(b)為分好類別后的直角坐標(biāo)系,圖1(b)中五角星標(biāo)識為數(shù)據(jù)中心點(diǎn)。通過對比兩張圖版可以發(fā)現(xiàn),針對龐大的數(shù)據(jù)集機(jī)器學(xué)習(xí)聚類算法的分類效果非常理想。
圖1
本次實驗將數(shù)據(jù)分為算法訓(xùn)練數(shù)據(jù)以及實際測試數(shù)據(jù)兩大類,訓(xùn)練數(shù)據(jù)用于算法構(gòu)建預(yù)測模型,測試數(shù)據(jù)中的各項數(shù)據(jù)將被用來當(dāng)作算法計算值,并對數(shù)據(jù)進(jìn)行流體流型預(yù)測。最后將算法得到的預(yù)測流體流型同實際流體流型進(jìn)行對比,從而達(dá)到檢驗算法的準(zhǔn)確性。
通過對實驗所測出的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,通常測試數(shù)據(jù)中包含的數(shù)據(jù)有:流量、井斜、井徑、溫度、管徑及含水。檢測數(shù)據(jù)預(yù)測準(zhǔn)確性的方法大致為以下兩種方式:
①對現(xiàn)有實驗數(shù)據(jù),將預(yù)測結(jié)果同實驗結(jié)果進(jìn)行對照;
②對實驗尚未測量數(shù)據(jù),按照生產(chǎn)測井導(dǎo)論中的流型模型圖來進(jìn)行對照。
通過分析算法在不同流量、不同含水以及不同井斜時的準(zhǔn)確度,來判定算法是否適合井下流體流型預(yù)測,同時也能判斷出算法的可行性。
在算法整體過程結(jié)束之后,選取流量為600m3/d預(yù)測結(jié)果數(shù)據(jù)中井斜為0°、60°、85°、90°(含水?dāng)?shù)據(jù)對應(yīng)為20%、40%、40%、90%)的四組數(shù)據(jù),隨后以同樣的方式選取流量為300m3/d及100m3/d預(yù)測結(jié)果的四組數(shù)據(jù)共組成12組數(shù)據(jù),將所選12組數(shù)據(jù)流體流型預(yù)測結(jié)果與實驗真實結(jié)果進(jìn)行對比,從而驗證聚類算法針對流型預(yù)測準(zhǔn)確率,具體信息如表1所示。
表1 算法預(yù)測結(jié)果同真實結(jié)果對比
由表1中可以得出,在流體大流量時算法針對數(shù)據(jù)預(yù)測結(jié)果相較于小流量時準(zhǔn)確度有大幅度提升,在小流量以及垂直井或近垂直井時對流體流型的預(yù)測準(zhǔn)確度較低,因此該算法在大流量水平井中比較適用。(注:井斜為90°指水平井,井斜為0°指垂直井)
通過將機(jī)器學(xué)習(xí)算法預(yù)測得到的流體流型同實際流體流型對比,并對數(shù)據(jù)的準(zhǔn)確率以及消耗時間進(jìn)行分析可以得出如下結(jié)論:
(1)通過利用機(jī)器學(xué)習(xí)算法聚類算法進(jìn)行井筒流體流型預(yù)測,提供了流體流型預(yù)測的新思路;
(2)利用合適的降維方法對高維數(shù)據(jù)進(jìn)行預(yù)處理,在保證的數(shù)據(jù)信息完整的情況下對數(shù)據(jù)進(jìn)行批量降維,降低了計算機(jī)處理數(shù)據(jù)的難度,提高了方法對處理數(shù)據(jù)的效率;
(3)通過選取合適的測井資料作為數(shù)據(jù)庫,能使算法對井下流體流型預(yù)測結(jié)果更加準(zhǔn)確,算法為后續(xù)預(yù)測水淹層情況提供了新思路,具有較高研究價值;
(4)后續(xù)可對算法進(jìn)行不斷優(yōu)化同時建立合適的數(shù)據(jù)模型,從而提高算法準(zhǔn)確度值并擴(kuò)大算法適用范圍。