鐘華明,梁玉楠,曾少軍
(中海石油(中國(guó))有限公司湛江分公司,廣東 湛江 524057)
數(shù)值預(yù)測(cè)是對(duì)以往數(shù)據(jù)進(jìn)行學(xué)習(xí)建立模型,并對(duì)輸入的數(shù)據(jù)集進(jìn)行數(shù)值預(yù)測(cè)。目前對(duì)數(shù)值預(yù)測(cè)的機(jī)器學(xué)習(xí)算法有很多,其中模型樹、回歸方程、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)都是常用的數(shù)值預(yù)測(cè)方法,每一種算法都有各自的特點(diǎn)及適用范圍。數(shù)值預(yù)測(cè)的運(yùn)用領(lǐng)域很廣,有森林火災(zāi)的預(yù)測(cè),地區(qū)房?jī)r(jià)的預(yù)測(cè),臺(tái)風(fēng)的預(yù)測(cè),電子產(chǎn)品的性能預(yù)測(cè)以及航天可靠性的預(yù)測(cè)等。其中,ONYARI E K和ILUNGA F M運(yùn)用M5P模型樹和神經(jīng)網(wǎng)絡(luò)對(duì)南非魯武伏特河流域的河水流量進(jìn)行預(yù)測(cè)[1];RAZA K和JOTHIPRAKASH V利用人工神經(jīng)網(wǎng)絡(luò)在氣象站對(duì)氣象參數(shù)進(jìn)行預(yù)測(cè)[2];SATHYADEVAN S和CHAITRA M A利用線性回歸對(duì)機(jī)翼的噪音進(jìn)行預(yù)測(cè)[3];王定成等利用支持向量機(jī)回歸對(duì)溫室溫度變化進(jìn)行預(yù)測(cè)[4]。但是在何種數(shù)據(jù)類型的數(shù)據(jù)集上使用何種算法,目前還沒有定論。
在研究數(shù)值預(yù)測(cè)算法的應(yīng)用情況時(shí),選取了四個(gè)常用的數(shù)值預(yù)測(cè)算法,應(yīng)用在不同類型的數(shù)據(jù)集上進(jìn)行比較研究,試圖找出一些規(guī)律,供實(shí)踐使用。
M5P是對(duì)模型樹改進(jìn)的一種算法,它是基于樹結(jié)構(gòu)用來處理連續(xù)值的機(jī)器學(xué)習(xí)技術(shù)。模型樹[1,5-7]是在葉節(jié)點(diǎn)儲(chǔ)存了能夠預(yù)測(cè)到達(dá)葉節(jié)點(diǎn)的實(shí)例類值的一個(gè)線性回歸模型的樹,其表現(xiàn)形式類似于決策樹根據(jù)屬性值判斷由該節(jié)點(diǎn)引出的分支,在決策樹的葉節(jié)點(diǎn)得到結(jié)論。葉節(jié)點(diǎn)包含有一個(gè)基于部分屬性值的線性模型,使測(cè)試實(shí)例得到一個(gè)測(cè)試值。M5P模型樹具有以下的優(yōu)點(diǎn):(1)模型樹簡(jiǎn)單易用,受殘缺值影響?。?2)隱式進(jìn)行變量篩選或者特征值選擇;(3)不需要對(duì)訓(xùn)練集進(jìn)行處理;(4)非線性關(guān)系的變量不影響樹的性能;(5)樹的結(jié)構(gòu)更容易分析和解釋。其模型如圖1所示。
圖1 模型樹模型
Multilayer Perceptron(多層感知器)[1,2,5,8],是一個(gè)使用反向傳播進(jìn)行訓(xùn)練的神經(jīng)網(wǎng)絡(luò),是屬于人工智能范疇的一種計(jì)算技術(shù),它根據(jù)人們對(duì)生物神經(jīng)網(wǎng)絡(luò)的研究成果設(shè)計(jì)出來,具有良好的數(shù)學(xué)描述能力,可以方便地用計(jì)算機(jī)程序加以模擬。作為一種具有高度非線性映射能力的計(jì)算模型,它已被廣泛應(yīng)用于模式識(shí)別、自動(dòng)控制等諸多領(lǐng)域。在數(shù)值預(yù)測(cè)方面,它不需要預(yù)先確定樣本數(shù)據(jù)的數(shù)學(xué)模型,僅通過學(xué)習(xí)樣本數(shù)據(jù)即可以進(jìn)行相當(dāng)精確的預(yù)測(cè)。其模型如圖2所示。
圖2 多層感知器模型
Linear Regression(線性回歸)[3,5]是統(tǒng)計(jì)學(xué)的一種常用的方法,它的主導(dǎo)思想是利用預(yù)定的權(quán)值將屬性進(jìn)行線性組合來表示類別:
hw(xi)=w0+w1x1+w2x2+…+wkxk
(1)
式中:hw為回歸模型,wi為系數(shù),xi為回歸量。
線性回歸不僅可以提供變量間相關(guān)關(guān)系的數(shù)學(xué)表達(dá)式,而且可以利用概率統(tǒng)計(jì)知識(shí)對(duì)此關(guān)系進(jìn)行分析,以判別其有效性。還可以利用關(guān)系式,由一個(gè)或多個(gè)變量值,預(yù)測(cè)和控制另一個(gè)因變量的取值,進(jìn)一步可以知道預(yù)測(cè)和控制達(dá)到了何種程度,并進(jìn)行因素分析。
線性回歸是一個(gè)出色的、簡(jiǎn)單的適合用于數(shù)值預(yù)測(cè)的方法,即使數(shù)據(jù)呈現(xiàn)非線性關(guān)系,線性回歸將會(huì)找到一條最適合的曲線。
支持向量機(jī)回歸理論與神經(jīng)網(wǎng)絡(luò)等非線性回歸理論相比具有許多獨(dú)特的優(yōu)點(diǎn),SMOReg[4,5,9]有線性回歸和非線性回歸,其模型的選擇包括核的選擇、容量控制以及損失函數(shù)的選擇。在控制方面的研究包括非線性時(shí)間序列的預(yù)測(cè)及應(yīng)用、系統(tǒng)辨識(shí)以及優(yōu)化控制和學(xué)習(xí)控制等方面的研究。
支持向量機(jī)回歸的基本思想是通過一個(gè)非線性映射Φ,將數(shù)據(jù)x映射到高維特征空間F,并在這個(gè)空間進(jìn)行線性回歸[11]。即:
f(x)=(ω·Φ(x))+b
Φ.Rn→F,ω∈F
(2)
式中:b為閾值,f(x)為特征空間,Φ為非線性映射,ω為高維空間。
這樣,在高維特征空間的線性回歸便對(duì)應(yīng)于低維輸入空間的非線性回歸,免去了在高維空間ω和Φ(x)點(diǎn)積的計(jì)算。
在該實(shí)驗(yàn)中所有的數(shù)據(jù)集均來自UCI,這些數(shù)據(jù)集都是用于回歸且具有不同的數(shù)據(jù)屬性類型,這樣就可以用來比較不同的算法在不同屬性的數(shù)據(jù)集上的表現(xiàn)。當(dāng)然,在該實(shí)驗(yàn)中,為了更好地對(duì)同種屬性進(jìn)行實(shí)驗(yàn)結(jié)果比較,選擇兩組相同屬性類型的數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。表1列出了這些數(shù)據(jù)集名稱、默認(rèn)任務(wù)、屬性類型、實(shí)例數(shù)、屬性數(shù)、數(shù)據(jù)集的用途。
表1 實(shí)驗(yàn)使用的數(shù)據(jù)集
在weka 3.6調(diào)用相應(yīng)的函數(shù)和模型,采用十折交叉驗(yàn)證法進(jìn)行實(shí)驗(yàn),測(cè)出各個(gè)算法在不同數(shù)據(jù)集上的均方誤差,記錄在表2中。
表2 不同算法應(yīng)用于不同數(shù)據(jù)集的均方誤差
注:NA-表示沒結(jié)果
從表2中的數(shù)據(jù)發(fā)現(xiàn)除了在森林火災(zāi)和KDD Cup 1998數(shù)據(jù)集兩個(gè)數(shù)據(jù)集中各個(gè)算法的均方誤差存在較大的差異,在其他各個(gè)數(shù)據(jù)集上這四種算法的均方誤差相差不大,在數(shù)值預(yù)測(cè)方面都能夠到達(dá)較好的預(yù)測(cè)性能,但是希望能夠找到應(yīng)用在各種不同的數(shù)據(jù)集上的最優(yōu)的算法,因此,對(duì)這四種算法的均方誤差在不同的數(shù)據(jù)集上均方差的平均值進(jìn)行一一比較。
從圖3可以知道對(duì)于數(shù)據(jù)類型為Real的數(shù)據(jù)集,SMOReg表現(xiàn)最好,其次是Linear Regression,Multilayer Perceptron表現(xiàn)最差。從圖4中可知對(duì)于數(shù)據(jù)類型為Integer的數(shù)據(jù)集Linear Regression表現(xiàn)最好,其次是SMOReg。從圖5中可知對(duì)于數(shù)據(jù)類型為Categorical的數(shù)據(jù)集,四種算法表現(xiàn)相差不大,其中SMOReg表現(xiàn)最好,M5P表現(xiàn)次之。從圖6中可知對(duì)于數(shù)據(jù)類型為Categorical、Integer、Real三種混合數(shù)據(jù)集,M5P表現(xiàn)最好,其次是SMOReg。從圖7中可知對(duì)于數(shù)據(jù)類型為Categorical、Integer兩種混合數(shù)據(jù)集,M5P表現(xiàn)最佳,其次是Multilayer Perceptron,Linear Regression表現(xiàn)最差。從圖8中可知對(duì)于數(shù)據(jù)類型為Categorical、Real兩種混合數(shù)據(jù)集,可以知道M5P表現(xiàn)最好,其次是SMOReg。從圖9中可知對(duì)于數(shù)據(jù)類型為Real、Integer兩種混合數(shù)據(jù)集,M5P表現(xiàn)最好,其次是SMOReg。
圖3 四種算法在Real數(shù)據(jù)類型的應(yīng)用結(jié)果分析
圖4 四種算法在Integer數(shù)據(jù)類型的應(yīng)用結(jié)果分析
圖5 四種算法在Categorical數(shù)據(jù)類型的應(yīng)用結(jié)果分析
圖6 四種算法在三種混合數(shù)據(jù)類型的應(yīng)用結(jié)果分析
圖7 四種算法在Categorical,Integer數(shù)據(jù)類型的應(yīng)用結(jié)果分析
圖8 四種算法在Categorical,Real數(shù)據(jù)類型的應(yīng)用結(jié)果分析
圖9 四種算法在Integer、Real數(shù)據(jù)類型的應(yīng)用結(jié)果分析
圖10 同種算法應(yīng)用于不同數(shù)據(jù)集的平均均方誤差值對(duì)比
為了進(jìn)一度分析每種算法的總體性能,將各種數(shù)據(jù)類型計(jì)算的均方誤差進(jìn)行算術(shù)平均,如圖10所示。從圖10可知四種算法在不同的數(shù)據(jù)集中,除了Real型數(shù)據(jù)集與Integer型數(shù)據(jù)集存在較大的差異,其他表現(xiàn)均相差不大。
M5P與Multilayer Perceptron比較,在Integer屬性的數(shù)據(jù)集中當(dāng)Integer數(shù)據(jù)量較多時(shí),Multilayer Perceptron有較好的表現(xiàn),其他情況M5P占優(yōu)勢(shì)。M5P與Linear Regression的比較,在數(shù)據(jù)屬性為Real以及數(shù)據(jù)因果關(guān)系有較強(qiáng)的函數(shù)關(guān)系時(shí),Linear Regression比M5P有優(yōu)勢(shì)。M5P與SMOReg比較,SMOReg在Integer數(shù)據(jù)屬性和Categorical數(shù)據(jù)屬性的數(shù)據(jù)集中有較好的表現(xiàn),其他情況M5P占優(yōu)勢(shì);Multilayer Perceptron與Linear Regression的比較,在含有Real的數(shù)據(jù)集且數(shù)據(jù)集較小的Integer數(shù)據(jù)集中,Multilayer Perceptron比Linear Regression表現(xiàn)稍差,但Multilayer Perceptron在Categorical及混合數(shù)據(jù)集中表現(xiàn)比Linear Regression要好。Multilayer Perceptron與SMOReg的比較,在Categorical、Integer兩種混合數(shù)據(jù)集中,Multilayer Perceptron表現(xiàn)比SMOReg好。Linear Regression與SMOReg比較,Linear Regression在數(shù)據(jù)量較少且數(shù)據(jù)之間能行成函數(shù)關(guān)系的Integer數(shù)據(jù)集比SMOReg有優(yōu)勢(shì)。
綜合上面所述,SMOReg與M5P在所有的數(shù)據(jù)集上表現(xiàn)最好,其中M5P在混合數(shù)據(jù)處理方面表現(xiàn)很出色,這是因?yàn)槟P蜆淠軌蛲ㄟ^節(jié)點(diǎn)間的平滑處理、不同屬性間的處理、殘缺值的有效處理降低了誤差,能夠形成較好的預(yù)測(cè)模型;Multilayer Perceptron對(duì)數(shù)據(jù)量較大且數(shù)據(jù)屬性為Integer的數(shù)據(jù)集表現(xiàn)出色,這是因?yàn)樵诜蔷€性數(shù)據(jù)量較大的Integer數(shù)據(jù)集,Multilayer Perceptron能夠訓(xùn)練出好的預(yù)測(cè)模型;Linear Regression對(duì)數(shù)據(jù)因果關(guān)系能夠形成函數(shù)關(guān)系的數(shù)據(jù)集比較有效,這是因?yàn)楹?jiǎn)單的線性回歸在數(shù)據(jù)量較小的時(shí)候,能夠?qū)崿F(xiàn)函數(shù)擬合,形成較好的預(yù)測(cè)模型;SMOreg在數(shù)據(jù)屬性類型為Real的數(shù)據(jù)集和數(shù)據(jù)屬性類型確定范圍的數(shù)據(jù)集有很大的優(yōu)勢(shì),這是該算法的模型控制在一定寬度的管道上,算法預(yù)測(cè)的結(jié)果總是類的平均值,這樣該模型比較適合Real數(shù)據(jù)屬性的數(shù)據(jù)集,能夠有效地降低預(yù)測(cè)誤差。
通過對(duì)數(shù)值預(yù)測(cè)的幾種方法進(jìn)行比較分析后得到以下幾點(diǎn)結(jié)論:(1)當(dāng)對(duì)Real和確定范圍的數(shù)據(jù)屬性類型處理時(shí),首先考慮SMOReg算法;(2)處理數(shù)據(jù)量較大且數(shù)據(jù)屬性為Integer的數(shù)據(jù)集時(shí),首先考慮的算法為Multilayer Perceptron,否則考慮使用Linear Regression;(3)當(dāng)處理混合屬性類型的數(shù)據(jù)集時(shí),首先應(yīng)該考慮模型樹M5P;(4)SMOReg與M5P表現(xiàn)比其他的算法都出色,當(dāng)不能確定數(shù)據(jù)集類型時(shí),選用這兩種算法,均得到很好結(jié)果。