何成剛,丁宏強,陳思寶,羅 斌,王家鑫
(1.安徽大學 計算機科學與技術學院,安徽 合肥 230031;2.安徽大學 計算智能與信號處理教育部重點實驗室,安徽 合肥 230039 3.美國德州大學阿靈頓分校 計算機科學與工程系,美國 阿靈頓 TX76019)
回歸分析的研究,一直是機器學習研究領域的熱點,它能根據(jù)歷史數(shù)據(jù)的特點,擬合出回歸模型進行準確的預測,廣泛應用在實際問題處理中?;貧w分析[1]的方法,就是對大量的數(shù)據(jù)進行相關的統(tǒng)計處理,通過尋求恰當?shù)哪P蛠硖剿鞒鲞@些變量的內(nèi)在關系,構造具體的回歸模型,然后再根據(jù)相關的數(shù)據(jù)指標來對回歸的效果進行評價。通過分析評價的結果得到較好的回歸模型,從而運用回歸模型來進一步有效的進行預測的研究與應用。神經(jīng)網(wǎng)絡理論、支持向量機(support vector machine,SVM)等這些人工智能(機器學習)的方法被用于回歸分析之中,形成了一些回歸方法,如SVM回歸[2]、廣義回歸神經(jīng)網(wǎng)絡(generalized regression neural network,GRNN)[3],但是這些方法計算量太大,對計算模型和數(shù)據(jù)的準確性要求很高,局限性強。近些年來,隨著馬爾科夫理論的進一步發(fā)展,其在語音的識別[2]、金融序列分析[3]等方面取得了良好的效果。該文期望通過將馬爾科夫理論與回歸分析方法相結合,得到更好的基于馬爾科夫理論的回歸模型來進行回歸預測工作的研究與應用。
主要貢獻如下:
(1)將多元回歸和Markov模型相結合,使用多元回歸的方法解決Markov模型中轉(zhuǎn)移矩陣難以確定的痛點,提出了基于多元回歸的Markov回歸模型,并將其應用到國民收入的預測之中,取得了很好的效果。
(2)將Regime Switching Model[4-5](體制轉(zhuǎn)換模型)和Markov模型相結合,提出了馬爾科夫轉(zhuǎn)換(Markov-switch)回歸模型,并將其應用于UCI數(shù)據(jù)集上和SVM回歸算法進行比對,取得了非常好的效果。
(3)大膽提出將機器學習和經(jīng)濟學進行跨學科創(chuàng)新融合,利用跨學科知識互補的優(yōu)勢,使得回歸模型的研究得到了進一步的發(fā)展和擴充。
對于回歸問題的研究,國內(nèi)外的科學工作者都進行了廣泛的探討。在傳統(tǒng)的回歸分析方法中,函數(shù)逼近理論分析思想嚴密,體系結構完整。但是由此發(fā)展而來的許多算法都有一些共同的缺點:計算量太大,對計算模型和數(shù)據(jù)的準確性要求很高,局限性強。然而把人工神經(jīng)網(wǎng)絡應用于函數(shù)逼近有著很多的優(yōu)點,具體體現(xiàn)在數(shù)據(jù)的特征不是很明確,數(shù)據(jù)模糊或含較多噪聲和非線性等情況[6-7]。
BP神經(jīng)網(wǎng)絡[3]是1986年由Rumelhart和McCelland領導的科學家小組在《并行分布式處理》一書中提出來的,本書中對具有非線性連續(xù)變換函數(shù)的多層感知器的誤差反向傳播算法進行了詳盡的分析,實現(xiàn)了Minsky關于多層網(wǎng)絡的設想[3-4]。BP神經(jīng)網(wǎng)絡的結構,反向傳播(back propagation)神經(jīng)網(wǎng)絡,簡稱為BP神經(jīng)網(wǎng)絡。標準BP神經(jīng)網(wǎng)絡分3層,即輸入層、隱含層和輸出層,如圖1所示。
在神經(jīng)網(wǎng)絡中誤差反向傳播網(wǎng)絡和徑向基函數(shù)(radial basis function,RBF)網(wǎng)絡[8]是多層前向網(wǎng)絡的兩種典型網(wǎng)絡,它們能夠任意逼近任何非線性函數(shù)。由于它們結構簡單、易于實現(xiàn),已在時間序列分析、非線性函數(shù)回歸估計中得到了廣泛的應用。然而,由于網(wǎng)絡結構難以確定、存在過學習、容易陷入局部極值等問題,限制了此種網(wǎng)絡的發(fā)展。
圖1 三層BP神經(jīng)網(wǎng)絡的結構
GRNN(廣義回歸神經(jīng)網(wǎng)絡)[3]最早是由Sprecht提出的一種基于非線性回歸理論的前饋式神經(jīng)網(wǎng)絡模型。由于GRNN網(wǎng)絡的訓練速度快和非線性映射能力很強,可以將其運用于函數(shù)逼近。廣義回歸神經(jīng)網(wǎng)絡的思想是:用徑向基函數(shù)作為隱含層中各個節(jié)點的基,構成隱含層空間。隱含層對輸入向量進行變換,將低維空間的模式變換到高維空間內(nèi),使得在低維空間的模式變換到高維空間內(nèi),使得在低維空間內(nèi)的線性不可分問題在高維空間內(nèi)線性可分。利用徑向基神經(jīng)元和線性神經(jīng)元建立了廣義回歸神經(jīng)網(wǎng)絡(GRNN),并將GRNN應用于了函數(shù)的逼近,取得較好的效果。GRNN網(wǎng)絡的結構分析,利用徑向基神經(jīng)元和線性神經(jīng)元可以創(chuàng)建廣義回歸神經(jīng)網(wǎng)絡。廣義回歸神經(jīng)網(wǎng)絡是由一個徑向基網(wǎng)絡層和一個線性網(wǎng)絡層組成,見圖2,其中ai1表示第一層輸出a1的第i個元素,Wi1表示第一層權值矩陣w1的第i行元素。P表示輸入向量,R表示網(wǎng)絡輸入的維數(shù),S表示每層網(wǎng)絡中的神經(jīng)元個數(shù),同時還表示訓練樣本的個數(shù),b1為隱含層閾值,符號?表示‖dist‖輸出與閾值b1的元素之間的乘積關系。隱含層的傳遞函數(shù)為徑向基函數(shù),廣義回歸神經(jīng)網(wǎng)絡連接權值的學習修正仍然使用BP 算法。廣義回歸神經(jīng)網(wǎng)絡中人為調(diào)節(jié)的參數(shù)少,只有一個閾值,網(wǎng)絡的學習全部依賴數(shù)據(jù)樣本,這個特點決定了網(wǎng)絡得以最大限度地避免人為主觀假定對預測結果的影響。
圖2 廣義回歸神經(jīng)網(wǎng)絡的結構
但是,同樣由于該網(wǎng)絡結構難以確定、存在過學習、容易陷入局部極值等問題限制了此種網(wǎng)絡的發(fā)展。上述三種網(wǎng)絡都建立在漸進理論基礎上,這三種網(wǎng)絡需要無窮多的樣本才能較真實地模擬樣本的分布函數(shù),而實際上所得的樣本都是有限的。由此可以看出傳統(tǒng)的神經(jīng)網(wǎng)絡在回歸預測方面還是存在許多不可逆轉(zhuǎn)的缺點,因此需要探索新的回歸方法。
Vapnik等人[6]為了解決神經(jīng)網(wǎng)絡在處理回歸問題上的瓶頸,提出了統(tǒng)計學習理論,專門研究小樣本情況下機器學習的規(guī)律,并給出了該框架下的一種具體實現(xiàn)─支持向量機[6]。支持向量機,形式類似多層前向網(wǎng)絡,在學習機器的結構復雜性和學習精度之間尋求折衷,獲得最優(yōu)泛化能力。它著眼于現(xiàn)有的有限小樣本,將求取模型最優(yōu)超平面問題轉(zhuǎn)化為二次規(guī)劃問題,求得全局最優(yōu)。同時,將非線性問題通過核映射將樣本映射到高維特征空間,在特征空間求取最優(yōu)超平面,避免了繁雜的內(nèi)積計算。該算法的主要目的是利用核函數(shù)在具體的特征空間Ω下實現(xiàn)線性回歸,具體的回歸函數(shù)為f(x)=(ω,φ(x))+b,其中φ:Rd→Ω,(ω,φ(x))表示特征空間中的內(nèi)積運算,ω∈Ω,b∈R, 通過極小化下面的目標函數(shù):
該文將Markov 模型和回歸相結合,提出了Markov多元回歸模型,取得了良好的效果。同時將Markov和switch機制相結合,提出了馬爾科夫轉(zhuǎn)換(Markov-switch)回歸模型,并將其應用于UCI公共數(shù)據(jù)集上,取得了良好的效果。
在馬爾科夫的預測問題研究[7]中,關鍵的地方是確定轉(zhuǎn)移矩陣,但是由于具體問題的復雜性,往往使得轉(zhuǎn)移矩陣難以確定。而回歸分析[8-10]則是根據(jù)大量的觀測數(shù)據(jù)值,建立相關的數(shù)學模型,設出相關的待估參數(shù),然后再利用觀測數(shù)據(jù)進行擬合,從而求出待估參數(shù),得到具體的數(shù)學模型,最后對得到的模型進行評價。本部分利用多元回歸理論進行數(shù)據(jù)的回歸分析,求出馬爾科夫模型的轉(zhuǎn)移矩陣,從而建立起馬爾科夫的回歸模型。
2.1.1 多元回歸模型
一般的形如
y=a0+a1x1+a2x2+…+an-1xn-1+anxn+ε
(1)
稱為多元回歸的線性模型[1]。其中,ε是誤差,且要求ε獨立同分布,a0,a1,…,an是未知量。公式(1)中只有一次觀測誤差ε,沒有不同次觀測值誤差之間的關系,然而在實際的具體問題中,為了確定線性回歸模型的未知參數(shù),一定要有若干次的觀測值序列,即:
所得到的多元回歸方程為:
(2)
在實際的統(tǒng)計問題中,根據(jù)Gauss-Markov條件[11-12]通常把誤差ε1,ε2,…,εn獨立同分布的要求降低為E(εi)=0,D(εi)=σ2。同時可以將式(2)表示為下面的情況, 令:
則式(2)可以寫為:
Y=Xα+ε
(3)
其中,E(ε)=0,D(ε)=σ2。
在具體的問題中,通過收集或者實驗可以得到一定數(shù)量的觀測值序列:
進而通過這些值來對式(2)中的參數(shù)a0,a1,…,an,σ2進行求值估計,通常采用最小二乘法[10],選擇適當?shù)摩?,使得殘差平方和?/p>
(y-Xα)'(y-Xα)
達到最小值。
2.1.2 馬爾科夫回歸模型
(4)
將式(4)具體寫出,即為:
(5)
簡寫為Y=XA,其中aij,i,j=1,2,…,n為需要估計的參數(shù),此時采用多元回歸的方法來進行參數(shù)的估計,設在t時刻誤差變量為εt(j),j=1,2,…,n,這時有:
2.1.3 馬爾科夫回歸模型的求解
根據(jù)多元回歸的理論,可以用最小二乘法[13-15]來求解模型,令:
Yj=(y1(j),y2(j),…,yn(j))'
Aj=(a1j,a2j,…,anj)'
εj=(ε1(j),ε2(j),…,εn(j))'
從而式(5)可以寫為:
Yj=XAj+εj,j=1,2,…,n
構造殘差平方和可得:
(XX'Aj-X'Yj)'((X'X)(X'X)-1Aj-
X-1Yj)=
(XX'Aj-X'Yj)'(X'X)-1(XX'Aj-X'Yj)
2.1.4 基于多元回歸的馬爾科夫回歸算法的設計
算法1:多元回歸的馬爾科夫回歸算法。
輸入:實驗數(shù)據(jù),并對數(shù)據(jù)進行處理。
(a)用最小二乘法來確定Markov轉(zhuǎn)移矩陣;
(b)判斷|XX′|是否為0,如果為則跳出本次程序,否則進行(c)步運算;
(c)根據(jù)Markov轉(zhuǎn)移矩陣來確定不同參數(shù)的方程;
(d)根據(jù)已知的數(shù)據(jù),由確定的方程來進行數(shù)據(jù)的擬合;
(e)計算誤差(真實值-擬合值)。
輸出:確定顯著性評價水平,對回歸方程進行假設檢驗(F檢驗)。
2.2.1 體制轉(zhuǎn)換模型
Hamilton,Kim and Nelso等人在20世紀90年代提出了Regime Switching Model[16],并將其用于時間序列的分析之中。隨著Markov理論的發(fā)展,經(jīng)濟學家們認識到在整個經(jīng)濟活動的過程中,通用的經(jīng)濟模型如差分自回歸移動平均模型[12](autoregressive integrated moving average model,ARIMA),模型中的參數(shù)并不為常數(shù),而是存在著具體的結構變化,必須將總體樣本分解成若干個擁有不同參數(shù)的子樣本,而且由于數(shù)據(jù)來自不同的產(chǎn)生過程,所以回歸方程也會從一個狀態(tài)向另一個狀態(tài)轉(zhuǎn)變。國外的許多學者對有關經(jīng)濟、金融時間序列的離散轉(zhuǎn)換模型進行了許多的研究,得出允許序列變量非線性、動態(tài)地發(fā)生改變。最初的體制轉(zhuǎn)換模型為:
yt=μi+εt
(6)
(7)
(8)
這樣對于不同的狀態(tài),誤差項對應于不同的狀態(tài)中,同時也反映了不同的可信度標準,對用不同的自變量,所得的因變量序列也將是不同的。
2.2.2 Markov-switch轉(zhuǎn)換回歸模型
由此可以擴展,對于基于Markov理論的體制轉(zhuǎn)換模型[17],狀態(tài)的轉(zhuǎn)換過程是隨機的,一個確定的狀態(tài)可能轉(zhuǎn)換為其他的任意狀態(tài),也可能轉(zhuǎn)換為自己的狀態(tài)(即不發(fā)生狀態(tài)的轉(zhuǎn)換)。在整個狀態(tài)的轉(zhuǎn)換過程中,每個狀態(tài)轉(zhuǎn)換為其他的狀態(tài)或是轉(zhuǎn)換為自己的狀態(tài),可以用狀態(tài)轉(zhuǎn)移矩陣來進行控制。狀態(tài)轉(zhuǎn)移矩陣為:
其中,aij表示從i狀態(tài)轉(zhuǎn)換為j狀態(tài)的概率。這樣對于k個狀態(tài)的Markov轉(zhuǎn)換模型為:
2.2.3 馬爾科夫轉(zhuǎn)換回歸模型的算法
輸入:數(shù)據(jù)序列,從中提取因變量Y,和自變量序列(x1,x2,…,xn),狀態(tài)轉(zhuǎn)換個數(shù)K。
(a)計算在數(shù)據(jù)序列存在的情況下,狀態(tài)序列的條件概率,即為:
P(Xt=xt,Xt-1=xt-1,…,X1=x1∣yt-1,yt-2,…,y1)=
P(Xt=xt∣Xt-1=xt-1,Xt-2=xt-2,…,X1=x1,yt-1,yt-2,…,y1)
P(Xt-1=xt-1,…,X1=x1∣yt-1,yt-2,…,y1)
其中,根據(jù)Hamilton[16]的體制轉(zhuǎn)換模型,這里可以寫為:
P(Xt=xt,Xt-1=xt-1)=
P(Xt=xt∣Xt-1=xt-1,Xt-2=xt-2,…,X1=x1,yt-1,yt-2,…,y1)
(b)計算聯(lián)合條件概率密度分布(該算法的密度函數(shù)為正態(tài)分布):
f(yt,Xt=xt,Xt-1=xt-1,…,X1=x1∣yt-1,yt-2,…,y1)=
f(yt|Xt=xt,Xt-1=xt-1,…,X1=x1,yt-1,yt-2,…,y1)·P(Xt=xt,Xt-1=xt-1,…,X1=x1∣yt-1,yt-2,…,y1)
這里采用f~N(0,1)。
(c)計算數(shù)據(jù)序列的概率密度函數(shù)。
f(yt|yt-1,yt-2,…,y1)=
(d)通過Step4的計算可以得出:
P(Xt=xt,Xt-1=xt-1,…,X1=x1|yt-1,yt-2,…,y1)=
輸出:通過上面的計算輸出模型的標準差、相關系數(shù)和程序運行的時間。
實驗1(基于Markov多元回歸模型在國民收入的應用)。
實驗使用廣東省主要年份國民收入使用額統(tǒng)計數(shù)據(jù)(1952-1995)來進行回歸實驗,見表1[18]。
表1 廣東省主要年份國民收入使用額統(tǒng)計數(shù)據(jù)(1952-1995)
采用消費率和積累率作為實驗的數(shù)據(jù),由算法1可以得到馬爾科夫的轉(zhuǎn)移矩陣為:
從而得到廣東省主要年份的國民收入的消費率和積累率的回歸方程為:
用回歸方程進行數(shù)據(jù)的測算實驗可以得到表2。
表2 消費率與積累率的真實值與實驗值的比對
這里對上面的方程在顯著性水平為0.05和0.025的情況下,進行假設檢驗可得:
F1(2,30)=6.589 2>F0.05(2,30)=3.32
F1(2,30)=6.589 2>F0.025(2,30)=4.18
F2(2,30)=15.41>F0.05(2,30)=3.32
F2(2,30)=15.41>F0.025(2,30)=4.18
由表2可以看出,實驗的效果很好,誤差很小。因此,應用Markov的回歸方法可以有效預測國民收入分配的情況。
實驗2(Markov-switch回歸模型)。
本實驗采用UCI數(shù)據(jù)集的abalone數(shù)據(jù)集,是由4 177*8的一個數(shù)據(jù)集(實例是4 177種,屬性是8維數(shù)),wine數(shù)據(jù)集。采用的回歸衡量標準(樣本標準差,相關系數(shù)),其中樣本標準差為:
相關系數(shù)為:
樣本標準差是衡量一組數(shù)據(jù)分散的程度,標準差越高,說明實驗數(shù)據(jù)越離散,差異越大,也就是實驗越不精確。反之,標準差越低,則說明實驗的數(shù)據(jù)越聚合,差異較小,實驗越精確。相關系數(shù)反映的是變量之間的相關程度,R值越大,表明誤差越小,變量之間的線性相關程度越高。相關系數(shù)越大,也說明樣本點較大程度地聚集在函數(shù)的回歸曲線上,相關系數(shù)越小,說明樣本點分布在回歸曲線上下越離散。由實驗結果可以看出,提出的Markov轉(zhuǎn)換回歸算法在標準差方面比SVM方法[19-21]小,說明實驗數(shù)據(jù)聚合度好、差異小、實驗精度高。Markov轉(zhuǎn)換回歸算法相關系數(shù)比SVM大,說明誤差比SVM算法小,變量之間的線性相關程度高。在運行時間上,Markov轉(zhuǎn)換回歸算法比SVM算法縮短了50%,取得了非常好的效果。
實驗結果見表3。
表3 實驗結果
首先介紹了回歸分析和預測的基本知識,其次分析了傳統(tǒng)的神經(jīng)網(wǎng)絡如BP神經(jīng)網(wǎng)絡和廣義回歸神經(jīng)網(wǎng)絡在回歸預測方面的研究,討論了傳統(tǒng)神經(jīng)網(wǎng)絡在回歸預測方面的不足。隨后分析了基于統(tǒng)計學理論的SVM回歸預測算法,得出了此方法的不足之處。然后提出基于多元回歸的馬爾科夫模型,對其在回歸預測方面的研究進行了探討,使用多元回歸的方法可以解決馬爾科夫矩陣難以確定的問題,提升了馬爾科夫算法的預測效率。最后對基于馬爾科夫理論的轉(zhuǎn)換回歸模型進行了研究,提出了馬爾科夫轉(zhuǎn)換算法并通過實驗和SVM回歸算法進行比較得到良好的結果。