夏禹
神經(jīng)網(wǎng)絡(luò)已經(jīng)被廣泛運(yùn)用于決策系統(tǒng)的非線性數(shù)據(jù)關(guān)系的建模。首次公開募股價(jià)格的預(yù)測(cè)大都又基于不完整的外部信息,因此神經(jīng)網(wǎng)絡(luò)的特性適合于首次公開募股的價(jià)格研究。當(dāng)代,為了提高金融決策的質(zhì)量,人們把大量的神經(jīng)網(wǎng)絡(luò)的知識(shí)運(yùn)用于金融界,特別是那些需要模式匹配和模式區(qū)分的情況中。
人工神經(jīng)網(wǎng)絡(luò)起源于對(duì)大腦及其神經(jīng)系統(tǒng)的研究,是一種信息處理的技術(shù)。它模仿人類大腦對(duì)知識(shí)習(xí)得和信息組織的過程。人工神經(jīng)網(wǎng)絡(luò)由最基本的處理器、神經(jīng)元和它們之間的聯(lián)系通道的陣列構(gòu)成。通過向這一陣列輸入數(shù)據(jù)信息,經(jīng)過處理器處理后輸出或得到結(jié)果。
每個(gè)神經(jīng)網(wǎng)絡(luò)是由在其各層中的一系列神經(jīng)元構(gòu)成的。下圖1所示就是神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)。
圖1 本文人工神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)
神經(jīng)網(wǎng)絡(luò)設(shè)計(jì),主要目的是通過對(duì)一個(gè)實(shí)驗(yàn)對(duì)象處理來研究和辨識(shí)神經(jīng)網(wǎng)絡(luò)的模型,使輸出擁有更高的精確度。人工神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型,特別是在經(jīng)濟(jì)領(lǐng)域中的預(yù)測(cè),通常采用反向傳播的監(jiān)督式的學(xué)習(xí)模型。
本文數(shù)據(jù)由Merrill Lynch和www.ipo.com提供。針對(duì)各種模型,所要求的數(shù)據(jù)量是不同的。本文采用的數(shù)據(jù)量要求的公式[2]如下:
Dmin=2×(1+N+0)
Dmax=10×(1+N+0)
I表示輸入數(shù)目,N表示神經(jīng)元數(shù)目,O表示輸出數(shù)目運(yùn)用這一公式本文研究一個(gè)17個(gè)輸入,6個(gè)神經(jīng)元和1個(gè)輸出的問題,所需48個(gè)到240個(gè)數(shù)據(jù)點(diǎn),網(wǎng)絡(luò)含有一個(gè)隱含層。
● 數(shù)據(jù)量是介于200天到600天之間的市場(chǎng)數(shù)據(jù)。
● 輸入數(shù)據(jù)量應(yīng)該至少是神經(jīng)元之間聯(lián)絡(luò)數(shù)量的2倍。
本文所運(yùn)用的研究方法描述如圖3.1的流程表。
人工神經(jīng)網(wǎng)絡(luò)模型的輸入變量如表3.1
?
人工神經(jīng)網(wǎng)絡(luò)的原始數(shù)據(jù)在輸入之前進(jìn)行歸一化是十分重要的。因此,我們需要對(duì)神經(jīng)網(wǎng)絡(luò)的每個(gè)輸入數(shù)據(jù)進(jìn)行歸一化處理,把輸入限制于可接受的范圍內(nèi)。這里的范圍通常是指-1到1區(qū)間。
運(yùn)用雙曲正切方程進(jìn)行歸一化處理:
F(x)=μ代表所有輸入x的均值;sd是x的標(biāo)準(zhǔn)差。
實(shí)踐表明,通過雙曲正切方程處理,可以把原始數(shù)據(jù)壓縮到本文所要求的區(qū)間范圍內(nèi)。
2.5.1 傳遞方程
高斯補(bǔ)充方程是高斯方程的修正方程,這是本文提出的創(chuàng)新型的方程,未見于任何文獻(xiàn)之中,但是通過大量實(shí)際研究,它對(duì)神經(jīng)網(wǎng)絡(luò)的收斂速度的提升以及精確度的提高有一定程度的幫助。本文所選取的神經(jīng)網(wǎng)絡(luò)具有較高的實(shí)用價(jià)值。
高斯補(bǔ)充方程
F(x)=1-e-x2
2.5.2 學(xué)習(xí)率,權(quán)值和動(dòng)量因子
反向結(jié)構(gòu)中的權(quán)值矢量的變化與差值的負(fù)梯度有直接關(guān)系,當(dāng)訓(xùn)練對(duì)象給定之后,在采用不同權(quán)值時(shí)差值也隨之變動(dòng)。權(quán)值大小的取決于所選擇的學(xué)習(xí)率。選擇較大學(xué)習(xí)率值可能會(huì)引起權(quán)值的巨烈變化,另外,選擇偏小的學(xué)習(xí)率值會(huì)導(dǎo)致學(xué)習(xí)緩慢。因此,本文將會(huì)以一個(gè)默認(rèn)的權(quán)值為始,然后增大或減小該權(quán)值以減小輸出值與期望值的誤差。同樣的嘗試也可以運(yùn)用到動(dòng)量因子的選擇之中。
2.6.1 反向傳播
作為訓(xùn)練算法,反向傳播的主要目的是通過調(diào)整網(wǎng)絡(luò)的權(quán)值,對(duì)應(yīng)于預(yù)先所設(shè)置的訓(xùn)練模式的17個(gè)輸入,使之得到滿意的輸出結(jié)果。反向傳播理論是一種監(jiān)督式的學(xué)習(xí)算法,對(duì)于每種模式都存在作為學(xué)習(xí)過程目標(biāo)的修正輸出。網(wǎng)絡(luò)輸出與目標(biāo)之間的差異是需要減小的誤差。
訓(xùn)練神經(jīng)網(wǎng)絡(luò)需要一系列的輸入和相應(yīng)的令人滿意的輸出。另外,誤差方程是衡量網(wǎng)絡(luò)輸出和理想值的差異。反向傳播算法的基本步驟:
1) 提出一種訓(xùn)練模式,通過網(wǎng)絡(luò)傳播獲得結(jié)果。
2) 將所得有輸出與期望的結(jié)果對(duì)比,計(jì)算差值。
4) 調(diào)整權(quán)值減小誤差。
5) 從步驟2)重復(fù)以上過程直到差值足夠小。
2.6.2 反向傳播網(wǎng)絡(luò)的算法推導(dǎo)
反向傳播網(wǎng)絡(luò)推導(dǎo)的基本步驟如下:
1.根據(jù)網(wǎng)絡(luò)設(shè)定訓(xùn)練模式,進(jìn)行前向傳播獲取輸出。網(wǎng)絡(luò)可以計(jì)算出輸出值與期望值之間的誤差,通常依據(jù)下列的平方求和方程求得誤差:
P參數(shù)代表訓(xùn)練組的當(dāng)前模式,i代表輸出節(jié)點(diǎn)數(shù),dpi和ypi分別代表在p模式下第i個(gè)輸出節(jié)點(diǎn)的網(wǎng)絡(luò)輸出和目標(biāo)值。每個(gè)節(jié)點(diǎn)i計(jì)算得到一個(gè)輸入的權(quán)值和ai,然后把a(bǔ)i送到傳遞方程或激活方程部分,獲得節(jié)點(diǎn)的輸出yi。參見圖3.2。
2.誤差計(jì)算
誤差的顯著性是由誤差方程E來描述。
3. 求導(dǎo)方程
在計(jì)算完誤差,下一步根據(jù)權(quán)值對(duì)所求得的誤差進(jìn)行求導(dǎo)。
上述方程在反向傳播網(wǎng)絡(luò)中有很好的效率,該方程的變形如下:
K值涵蓋了所有輸出節(jié)點(diǎn),aj是j節(jié)點(diǎn)從求和方程獲得的權(quán)值的和作為輸入,基于每個(gè)節(jié)點(diǎn)的誤差δi,誤差計(jì)算如下:
上式表明了在當(dāng)前的模式下ai對(duì)衡量誤差的貢獻(xiàn)。對(duì)于輸出節(jié)點(diǎn),誤差的導(dǎo)數(shù)方程如下:
方程(8)是由方程(4)得來,方程(9)是在當(dāng)前激活值下的激活方程求導(dǎo)的結(jié)果。因?yàn)殡[含層節(jié)點(diǎn)只能通過對(duì)與輸出相連的節(jié)點(diǎn)k作用來影響誤差,所以:
方程(11)的第一個(gè)因子δk是輸出節(jié)點(diǎn)k的誤差,所以替代方程(11)中的δk,我們可以得到:
方程(11)中的第二個(gè)因子起標(biāo)記作用,當(dāng)節(jié)點(diǎn)i直接與節(jié)點(diǎn)k相連,那么,否則等于0。因此, 隱含層節(jié)點(diǎn)的誤差方程如下:
方程(13),除了因子,相對(duì)于激活單元,對(duì)誤差的平方和模式作微分是導(dǎo)數(shù)方程的一部分,它也同時(shí)控制著這一單元變量的大小值。
通過上述推導(dǎo)進(jìn)行總結(jié),前向傳播后,在輸出節(jié)點(diǎn)上運(yùn)用方程(10)來計(jì)算誤差,通過人工神經(jīng)網(wǎng)絡(luò)運(yùn)用方程(13)計(jì)算隱含層節(jié)點(diǎn)的誤差。因?yàn)棣膋必須在δi前計(jì)算,整個(gè)過程開始于輸出節(jié)點(diǎn),再返回到輸入部分,因此該算法被稱為“反向傳播”,見圖3.3。另外,誤差對(duì)于權(quán)值的微分方程如下:
圖3 前向傳播
圖3 反向傳播
為了測(cè)試網(wǎng)絡(luò)的性能,測(cè)試數(shù)據(jù)(由 Merrill Lynch和www.ipo.com 提供)可以從數(shù)據(jù)集 A(n=480)和數(shù)據(jù)集B(n=198)中獲得,測(cè)試數(shù)據(jù)大約占所有數(shù)據(jù)的20%左右。
2.7.1 數(shù)據(jù)集A(n=480)
通過訓(xùn)練數(shù)據(jù)集 A訓(xùn)練網(wǎng)絡(luò)后,最優(yōu)的神經(jīng)網(wǎng)絡(luò)是含有一個(gè)隱含層的反向傳播的前饋網(wǎng)絡(luò)。均值表示首次公開募股的價(jià)格的平均值;標(biāo)準(zhǔn)差表示是首次公開募股價(jià)格偏離平均價(jià)格的距離的平均數(shù),它是離均差平方和平均后的平方根;中值(或中位數(shù))是個(gè)類似平均值的統(tǒng)計(jì)學(xué)概念,是把所有數(shù)值從大到小(或從小到大)排列后,數(shù)列隊(duì)中居于正中央的那個(gè)數(shù)值。通過訓(xùn)練數(shù)據(jù)集 A訓(xùn)練網(wǎng)絡(luò)后,最優(yōu)的神經(jīng)網(wǎng)絡(luò)是含有一個(gè)隱含層的反向傳播的前饋系統(tǒng),其預(yù)測(cè)中間值與首次公開募股的市場(chǎng)價(jià)格的中間值很接近。
表3.2 數(shù)據(jù)集A是首次公開募股價(jià)格
表3.3 基于神經(jīng)網(wǎng)絡(luò)由數(shù)據(jù)集A獲得的首次公開募股的價(jià)格
NN(19)(0.1;0.1;0.3)中NN(19)表示神經(jīng)網(wǎng)絡(luò)的隱含層中的神經(jīng)元的數(shù)目為19;(0.1;0.1;0.3)表示(學(xué)習(xí)率;動(dòng)量項(xiàng);權(quán)值).
2.7.2 數(shù)據(jù)集B(n=198)
根據(jù)數(shù)據(jù)集B(n=147)的訓(xùn)練過程,神經(jīng)網(wǎng)絡(luò)最終形成的基本結(jié)構(gòu)是一個(gè)具有一個(gè)隱含層的反向傳播的神經(jīng)網(wǎng)絡(luò)系統(tǒng),它擁有13個(gè)輸入節(jié)點(diǎn)和一個(gè)隱含層。
表3.4 首次公開募股價(jià)格
表3.5 基于神經(jīng)網(wǎng)絡(luò)由數(shù)據(jù)集B獲得的首次公開募股的價(jià)格
NN(19)(0.1;0.1;0.3)中NN(19)表示神經(jīng)網(wǎng)絡(luò)的隱含層中的神經(jīng)元的數(shù)目為19;(0.1;0.1;0.3)表示(學(xué)習(xí)率;動(dòng)量項(xiàng);權(quán)值)
神經(jīng)網(wǎng)絡(luò)的性能可以同多重回歸算法的性能作比較。運(yùn)用多重回歸的方法,進(jìn)行預(yù)測(cè)所用的輸入輸出變量與神經(jīng)網(wǎng)絡(luò)的輸入輸出變量是相同的;即輸入量是獨(dú)立變量,輸出量是應(yīng)變量。
在多重線性回歸中,趨勢(shì)圖的離散點(diǎn)繪成一條直線;這條線形成的方程被稱為多重回歸方程。多重回歸算法是估計(jì)方程中的βi
其中X是獨(dú)立變量;Y是應(yīng)變量。下標(biāo)i代表觀測(cè)次數(shù)。β是未知的回歸系數(shù)。β是原始未知的參數(shù),而b是β的估計(jì)值。e1是第i行的誤差。盡管回歸問題可以由一系列的方法解決,但是最常用的方法是最小二乘方法。在最小二乘方回歸分析中,通過對(duì)b值的選擇來減少平方和的值。b值的集合不一定是正確真實(shí)的數(shù)據(jù)集,因?yàn)樗鼈兊闹悼赡軙?huì)受到外部擾動(dòng)的影響?;痉匠痰男问綖椋?/p>
bo是回歸面與Y軸的交點(diǎn),b1s是回歸面與Xi軸方向的斜率。這些系數(shù)被稱為偏回歸系數(shù)。每個(gè)偏回歸系數(shù)代表第i個(gè)變量對(duì)于應(yīng)變量的凈效應(yīng),使方程中剩余X的值保持為常量。
正如前文所述,神經(jīng)網(wǎng)絡(luò)的性能同多重回歸的結(jié)果作比較。多重回歸所運(yùn)用的輸入變量和數(shù)據(jù)集同前文神經(jīng)網(wǎng)絡(luò)模型一樣。輸入變量如表3.1。多重回歸對(duì)于數(shù)據(jù)集A和B的結(jié)果示于表4.1。
表4.1 回歸價(jià)格分布
結(jié)果表明由線性回歸產(chǎn)生首次公開募股價(jià)格不能達(dá)到理想的預(yù)測(cè)效果(精確度比神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的精確度差)。另外,數(shù)據(jù)量全面且足夠多時(shí),多重回歸訓(xùn)練數(shù)據(jù)預(yù)測(cè)性能和神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的性能近似,但是數(shù)據(jù)量的因素會(huì)帶來多重回歸算法過擬合,所以誤差出現(xiàn)且不斷加大。
首次公開募股的價(jià)格預(yù)測(cè)是一個(gè)十分艱難,復(fù)雜和繁瑣的工作。真正的首次公開募股的市場(chǎng)價(jià)格只有在公司上市和股票開始交易后才為人所知。在本文中,由神經(jīng)網(wǎng)絡(luò)的產(chǎn)生預(yù)測(cè)價(jià)格會(huì)同首次公開募股的首發(fā)價(jià)格作對(duì)比。另外,神經(jīng)網(wǎng)絡(luò)模型的性能會(huì)同多重回歸技術(shù)的性能相比較。實(shí)驗(yàn)表明神經(jīng)網(wǎng)絡(luò)模型在提高首次公開募股的預(yù)測(cè)價(jià)格的準(zhǔn)確度方面比多重回歸技術(shù)有效。
[1]Wang F.Efficient Verification of Timed Automata with BDD-like Data-structures[M]. London:Springer-Verlag,2003.
[2]Jain B A. Nag B N.Artificial neural network models for pricing initial public offerings[J]. Decision Sciences,1995.
[3]BILLINGS S A,Radial Basis Function Network Configuration using Genetic Algorithms[J-].Neural Networks,1995.
[4]閻平凡,張長(zhǎng)水,人工神經(jīng)網(wǎng)絡(luò)與模擬進(jìn)化算法[M].清華大學(xué)出版社,2000.
[5]Shaikh A. Hamid Primier on using neural networks for forecasting market variable working paper No.2004-03.