何成剛,丁宏強,陳思寶,羅 斌,王家鑫
(1.安徽大學 計算機科學與技術學院,安徽 合肥 230031;2.安徽大學 計算智能與信號處理教育部重點實驗室,安徽 合肥 230039 3.美國德州大學阿靈頓分校 計算機科學與工程系,美國 阿靈頓 TX76019)
回歸分析的研究,一直是機器學習研究領域的熱點,它能根據歷史數據的特點,擬合出回歸模型進行準確的預測,廣泛應用在實際問題處理中。回歸分析[1]的方法,就是對大量的數據進行相關的統計處理,通過尋求恰當的模型來探索出這些變量的內在關系,構造具體的回歸模型,然后再根據相關的數據指標來對回歸的效果進行評價。通過分析評價的結果得到較好的回歸模型,從而運用回歸模型來進一步有效的進行預測的研究與應用。神經網絡理論、支持向量機(support vector machine,SVM)等這些人工智能(機器學習)的方法被用于回歸分析之中,形成了一些回歸方法,如SVM回歸[2]、廣義回歸神經網絡(generalized regression neural network,GRNN)[3],但是這些方法計算量太大,對計算模型和數據的準確性要求很高,局限性強。近些年來,隨著馬爾科夫理論的進一步發展,其在語音的識別[2]、金融序列分析[3]等方面取得了良好的效果。該文期望通過將馬爾科夫理論與回歸分析方法相結合,得到更好的基于馬爾科夫理論的回歸模型來進行回歸預測工作的研究與應用。
主要貢獻如下:
(1)將多元回歸和Markov模型相結合,使用多元回歸的方法解決Markov模型中轉移矩陣難以確定的痛點,提出了基于多元回歸的Markov回歸模型,并將其應用到國民收入的預測之中,取得了很好的效果。
(2)將Regime Switching Model[4-5](體制轉換模型)和Markov模型相結合,提出了馬爾科夫轉換(Markov-switch)回歸模型,并將其應用于UCI數據集上和SVM回歸算法進行比對,取得了非常好的效果。
(3)大膽提出將機器學習和經濟學進行跨學科創新融合,利用跨學科知識互補的優勢,使得回歸模型的研究得到了進一步的發展和擴充。
對于回歸問題的研究,國內外的科學工作者都進行了廣泛的探討。在傳統的回歸分析方法中,函數逼近理論分析思想嚴密,體系結構完整。但是由此發展而來的許多算法都有一些共同的缺點:計算量太大,對計算模型和數據的準確性要求很高,局限性強。然而把人工神經網絡應用于函數逼近有著很多的優點,具體體現在數據的特征不是很明確,數據模糊或含較多噪聲和非線性等情況[6-7]。
BP神經網絡[3]是1986年由Rumelhart和McCelland領導的科學家小組在《并行分布式處理》一書中提出來的,本書中對具有非線性連續變換函數的多層感知器的誤差反向傳播算法進行了詳盡的分析,實現了Minsky關于多層網絡的設想[3-4]。BP神經網絡的結構,反向傳播(back propagation)神經網絡,簡稱為BP神經網絡。標準BP神經網絡分3層,即輸入層、隱含層和輸出層,如圖1所示。
在神經網絡中誤差反向傳播網絡和徑向基函數(radial basis function,RBF)網絡[8]是多層前向網絡的兩種典型網絡,它們能夠任意逼近任何非線性函數。由于它們結構簡單、易于實現,已在時間序列分析、非線性函數回歸估計中得到了廣泛的應用。然而,由于網絡結構難以確定、存在過學習、容易陷入局部極值等問題,限制了此種網絡的發展。

圖1 三層BP神經網絡的結構
GRNN(廣義回歸神經網絡)[3]最早是由Sprecht提出的一種基于非線性回歸理論的前饋式神經網絡模型。由于GRNN網絡的訓練速度快和非線性映射能力很強,可以將其運用于函數逼近。廣義回歸神經網絡的思想是:用徑向基函數作為隱含層中各個節點的基,構成隱含層空間。隱含層對輸入向量進行變換,將低維空間的模式變換到高維空間內,使得在低維空間的模式變換到高維空間內,使得在低維空間內的線性不可分問題在高維空間內線性可分。利用徑向基神經元和線性神經元建立了廣義回歸神經網絡(GRNN),并將GRNN應用于了函數的逼近,取得較好的效果。GRNN網絡的結構分析,利用徑向基神經元和線性神經元可以創建廣義回歸神經網絡。廣義回歸神經網絡是由一個徑向基網絡層和一個線性網絡層組成,見圖2,其中ai1表示第一層輸出a1的第i個元素,Wi1表示第一層權值矩陣w1的第i行元素。P表示輸入向量,R表示網絡輸入的維數,S表示每層網絡中的神經元個數,同時還表示訓練樣本的個數,b1為隱含層閾值,符號?表示‖dist‖輸出與閾值b1的元素之間的乘積關系。隱含層的傳遞函數為徑向基函數,廣義回歸神經網絡連接權值的學習修正仍然使用BP 算法。廣義回歸神經網絡中人為調節的參數少,只有一個閾值,網絡的學習全部依賴數據樣本,這個特點決定了網絡得以最大限度地避免人為主觀假定對預測結果的影響。

圖2 廣義回歸神經網絡的結構
但是,同樣由于該網絡結構難以確定、存在過學習、容易陷入局部極值等問題限制了此種網絡的發展。上述三種網絡都建立在漸進理論基礎上,這三種網絡需要無窮多的樣本才能較真實地模擬樣本的分布函數,而實際上所得的樣本都是有限的。由此可以看出傳統的神經網絡在回歸預測方面還是存在許多不可逆轉的缺點,因此需要探索新的回歸方法。
Vapnik等人[6]為了解決神經網絡在處理回歸問題上的瓶頸,提出了統計學習理論,專門研究小樣本情況下機器學習的規律,并給出了該框架下的一種具體實現─支持向量機[6]。支持向量機,形式類似多層前向網絡,在學習機器的結構復雜性和學習精度之間尋求折衷,獲得最優泛化能力。它著眼于現有的有限小樣本,將求取模型最優超平面問題轉化為二次規劃問題,求得全局最優。同時,將非線性問題通過核映射將樣本映射到高維特征空間,在特征空間求取最優超平面,避免了繁雜的內積計算。該算法的主要目的是利用核函數在具體的特征空間Ω下實現線性回歸,具體的回歸函數為f(x)=(ω,φ(x))+b,其中φ:Rd→Ω,(ω,φ(x))表示特征空間中的內積運算,ω∈Ω,b∈R, 通過極小化下面的目標函數:



該文將Markov 模型和回歸相結合,提出了Markov多元回歸模型,取得了良好的效果。同時將Markov和switch機制相結合,提出了馬爾科夫轉換(Markov-switch)回歸模型,并將其應用于UCI公共數據集上,取得了良好的效果。
在馬爾科夫的預測問題研究[7]中,關鍵的地方是確定轉移矩陣,但是由于具體問題的復雜性,往往使得轉移矩陣難以確定。而回歸分析[8-10]則是根據大量的觀測數據值,建立相關的數學模型,設出相關的待估參數,然后再利用觀測數據進行擬合,從而求出待估參數,得到具體的數學模型,最后對得到的模型進行評價。本部分利用多元回歸理論進行數據的回歸分析,求出馬爾科夫模型的轉移矩陣,從而建立起馬爾科夫的回歸模型。
2.1.1 多元回歸模型
一般的形如
y=a0+a1x1+a2x2+…+an-1xn-1+anxn+ε
(1)
稱為多元回歸的線性模型[1]。其中,ε是誤差,且要求ε獨立同分布,a0,a1,…,an是未知量。公式(1)中只有一次觀測誤差ε,沒有不同次觀測值誤差之間的關系,然而在實際的具體問題中,為了確定線性回歸模型的未知參數,一定要有若干次的觀測值序列,即:
所得到的多元回歸方程為:
(2)
在實際的統計問題中,根據Gauss-Markov條件[11-12]通常把誤差ε1,ε2,…,εn獨立同分布的要求降低為E(εi)=0,D(εi)=σ2。同時可以將式(2)表示為下面的情況, 令:
則式(2)可以寫為:
Y=Xα+ε
(3)
其中,E(ε)=0,D(ε)=σ2。
在具體的問題中,通過收集或者實驗可以得到一定數量的觀測值序列:
進而通過這些值來對式(2)中的參數a0,a1,…,an,σ2進行求值估計,通常采用最小二乘法[10],選擇適當的α,使得殘差平方和:

(y-Xα)'(y-Xα)
達到最小值。
2.1.2 馬爾科夫回歸模型

(4)
將式(4)具體寫出,即為:
(5)
簡寫為Y=XA,其中aij,i,j=1,2,…,n為需要估計的參數,此時采用多元回歸的方法來進行參數的估計,設在t時刻誤差變量為εt(j),j=1,2,…,n,這時有:
2.1.3 馬爾科夫回歸模型的求解
根據多元回歸的理論,可以用最小二乘法[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:多元回歸的馬爾科夫回歸算法。
輸入:實驗數據,并對數據進行處理。
(a)用最小二乘法來確定Markov轉移矩陣;
(b)判斷|XX′|是否為0,如果為則跳出本次程序,否則進行(c)步運算;
(c)根據Markov轉移矩陣來確定不同參數的方程;
(d)根據已知的數據,由確定的方程來進行數據的擬合;
(e)計算誤差(真實值-擬合值)。
輸出:確定顯著性評價水平,對回歸方程進行假設檢驗(F檢驗)。
2.2.1 體制轉換模型
Hamilton,Kim and Nelso等人在20世紀90年代提出了Regime Switching Model[16],并將其用于時間序列的分析之中。隨著Markov理論的發展,經濟學家們認識到在整個經濟活動的過程中,通用的經濟模型如差分自回歸移動平均模型[12](autoregressive integrated moving average model,ARIMA),模型中的參數并不為常數,而是存在著具體的結構變化,必須將總體樣本分解成若干個擁有不同參數的子樣本,而且由于數據來自不同的產生過程,所以回歸方程也會從一個狀態向另一個狀態轉變。國外的許多學者對有關經濟、金融時間序列的離散轉換模型進行了許多的研究,得出允許序列變量非線性、動態地發生改變。最初的體制轉換模型為:
yt=μi+εt
(6)

(7)
(8)
這樣對于不同的狀態,誤差項對應于不同的狀態中,同時也反映了不同的可信度標準,對用不同的自變量,所得的因變量序列也將是不同的。
2.2.2 Markov-switch轉換回歸模型
由此可以擴展,對于基于Markov理論的體制轉換模型[17],狀態的轉換過程是隨機的,一個確定的狀態可能轉換為其他的任意狀態,也可能轉換為自己的狀態(即不發生狀態的轉換)。在整個狀態的轉換過程中,每個狀態轉換為其他的狀態或是轉換為自己的狀態,可以用狀態轉移矩陣來進行控制。狀態轉移矩陣為:
其中,aij表示從i狀態轉換為j狀態的概率。這樣對于k個狀態的Markov轉換模型為:
2.2.3 馬爾科夫轉換回歸模型的算法
輸入:數據序列,從中提取因變量Y,和自變量序列(x1,x2,…,xn),狀態轉換個數K。
(a)計算在數據序列存在的情況下,狀態序列的條件概率,即為:
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)
其中,根據Hamilton[16]的體制轉換模型,這里可以寫為:
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)計算聯合條件概率密度分布(該算法的密度函數為正態分布):
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)計算數據序列的概率密度函數。
f(yt|yt-1,yt-2,…,y1)=

(d)通過Step4的計算可以得出:
P(Xt=xt,Xt-1=xt-1,…,X1=x1|yt-1,yt-2,…,y1)=
輸出:通過上面的計算輸出模型的標準差、相關系數和程序運行的時間。
實驗1(基于Markov多元回歸模型在國民收入的應用)。
實驗使用廣東省主要年份國民收入使用額統計數據(1952-1995)來進行回歸實驗,見表1[18]。

表1 廣東省主要年份國民收入使用額統計數據(1952-1995)
采用消費率和積累率作為實驗的數據,由算法1可以得到馬爾科夫的轉移矩陣為:

從而得到廣東省主要年份的國民收入的消費率和積累率的回歸方程為:

用回歸方程進行數據的測算實驗可以得到表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數據集的abalone數據集,是由4 177*8的一個數據集(實例是4 177種,屬性是8維數),wine數據集。采用的回歸衡量標準(樣本標準差,相關系數),其中樣本標準差為:
相關系數為:

樣本標準差是衡量一組數據分散的程度,標準差越高,說明實驗數據越離散,差異越大,也就是實驗越不精確。反之,標準差越低,則說明實驗的數據越聚合,差異較小,實驗越精確。相關系數反映的是變量之間的相關程度,R值越大,表明誤差越小,變量之間的線性相關程度越高。相關系數越大,也說明樣本點較大程度地聚集在函數的回歸曲線上,相關系數越小,說明樣本點分布在回歸曲線上下越離散。由實驗結果可以看出,提出的Markov轉換回歸算法在標準差方面比SVM方法[19-21]小,說明實驗數據聚合度好、差異小、實驗精度高。Markov轉換回歸算法相關系數比SVM大,說明誤差比SVM算法小,變量之間的線性相關程度高。在運行時間上,Markov轉換回歸算法比SVM算法縮短了50%,取得了非常好的效果。
實驗結果見表3。

表3 實驗結果
首先介紹了回歸分析和預測的基本知識,其次分析了傳統的神經網絡如BP神經網絡和廣義回歸神經網絡在回歸預測方面的研究,討論了傳統神經網絡在回歸預測方面的不足。隨后分析了基于統計學理論的SVM回歸預測算法,得出了此方法的不足之處。然后提出基于多元回歸的馬爾科夫模型,對其在回歸預測方面的研究進行了探討,使用多元回歸的方法可以解決馬爾科夫矩陣難以確定的問題,提升了馬爾科夫算法的預測效率。最后對基于馬爾科夫理論的轉換回歸模型進行了研究,提出了馬爾科夫轉換算法并通過實驗和SVM回歸算法進行比較得到良好的結果。