于卓熙,靳雨佳
(1.吉林財(cái)經(jīng)大學(xué) 管理科學(xué)與信息工程學(xué)院;2.吉林省互聯(lián)網(wǎng)金融重點(diǎn)實(shí)驗(yàn)室,長(zhǎng)春 130117)
多元線性回歸分析[1]是一種重要的數(shù)據(jù)分析方法,廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、醫(yī)學(xué)、社會(huì)調(diào)查、生物信息處理等領(lǐng)域。多元線性回歸分析的重點(diǎn)是參數(shù)估計(jì)問題。如今,解決參數(shù)估計(jì)問題最常用的方法是最小二乘法,但是由于該方法的計(jì)算過程復(fù)雜且程序不具有通用性,對(duì)于結(jié)構(gòu)復(fù)雜、規(guī)模較大等特征的數(shù)據(jù)具有一定的局限性。近些年,隨著遺傳算法、群智能技術(shù)的飛速發(fā)展,將智能優(yōu)化算法應(yīng)用于回歸模型的參數(shù)估計(jì)已經(jīng)越來越受到歡迎。劉錦萍等[2]應(yīng)用改進(jìn)的粒子群算法對(duì)多元線性回歸模型進(jìn)行參數(shù)估計(jì),通過測(cè)試實(shí)驗(yàn)表明,估計(jì)結(jié)果顯著提高;楊兆軍,楊川貴等[3]將粒子群算法和支持向量機(jī)結(jié)合,應(yīng)用于回歸模型的參數(shù)估計(jì)研究;張姣玲等[4]應(yīng)用人工蜂群算法估計(jì)多元線性回歸參數(shù);彭宇文,郭莉莎等[5]將改進(jìn)的模擬退火算法應(yīng)用于線性和非線性回歸模型的參數(shù)估計(jì)。然而,遺傳算法在編碼和解碼環(huán)節(jié)復(fù)雜繁瑣,在處理復(fù)雜數(shù)據(jù)時(shí)優(yōu)化效率會(huì)降低;粒子群優(yōu)化算法往往會(huì)由于初始化參數(shù)設(shè)定問題,使算法在尋優(yōu)過程中易陷入局部最優(yōu)解,而搜索不到全局最優(yōu)解。
針對(duì)人工魚群算法在尋優(yōu)過程中獲取精確解方面存在不足,本文通過對(duì)人工魚群算法的參數(shù)和魚群行為進(jìn)行改進(jìn),將改進(jìn)的人工魚群算法應(yīng)用于回歸模型的參數(shù)估計(jì)中,并通過對(duì)比實(shí)驗(yàn),表明改進(jìn)的算法有效、實(shí)用且簡(jiǎn)單。
在多元線性回歸分析中,對(duì)隨機(jī)變量y進(jìn)行預(yù)測(cè)時(shí),往往有多個(gè)因素影響著其未來值的變化,當(dāng) y與x1,x2,…,xn(n≥1)之間基本存在線性關(guān)系時(shí),需要用多元線性回歸法進(jìn)行預(yù)測(cè)。在n個(gè)自變量的情況下,多元線性回歸模型為:
其中,β0,β1,β2,…,βn是 n+1個(gè)待估參數(shù)。
人工魚群算法[6](Artificial Fish-swarm Algorithm,AFSA)是李曉磊等通過長(zhǎng)期觀察魚的活動(dòng)規(guī)律及特點(diǎn),提出的動(dòng)物自治體優(yōu)化方法,它是一種群智能的高效尋優(yōu)方法。
人工魚群的狀態(tài)可以用向量 Xi=(x1,x2,...,xn)表示,其中 xi(i=1,2,3,...,n)表示欲尋優(yōu)變量;人工魚當(dāng)前所在位置的食物濃度表示為Y=f(Xi),其中Y為目標(biāo)函數(shù);人工魚個(gè)體之間的距離表示為;Visual表示人工魚的感知范圍;Step表示人工魚移動(dòng)的步長(zhǎng);δ表示擁擠因子。人工魚群算法的基本思想是選擇部分人工魚完成初始化操作,通過覓食行為、聚群行為和追尾行為不斷更新自己,以迭代的方式尋找最優(yōu)解。
本文引入內(nèi)核函數(shù)對(duì)人工魚的視野和步長(zhǎng)進(jìn)行自適應(yīng)調(diào)整[7],無需對(duì)算法整體做大規(guī)模變動(dòng)。具體方法是應(yīng)用內(nèi)核函數(shù)對(duì)時(shí)間參數(shù)進(jìn)行調(diào)整,分別帶入到下面視野和步長(zhǎng)的函數(shù)中,對(duì)它們做動(dòng)態(tài)性調(diào)整。
其中,Visualmax為最大視野,Stepmax為最大步長(zhǎng)。設(shè)定算法運(yùn)行初期人工魚的視野和步長(zhǎng)最大,使算法在運(yùn)行初期能夠快速收斂,突破局部極值的限制。算法在運(yùn)行過程中,K(x)逐漸減小,直到趨于零,此時(shí),視野和步長(zhǎng)均為最小值,使算法在運(yùn)行后期能夠獲取到全局精確解。
對(duì)魚群的聚群行為進(jìn)行改進(jìn)[8],設(shè)定Xi(t)為魚群的當(dāng)前狀態(tài),第i條人工魚代表一個(gè)可行解向量Xi,Xi=,nf為人工魚視野內(nèi)的同伴數(shù)量,Xc(t)表示魚群的中心位置。若f(Xc(t))·nf<δ·f(Xi(t)),則意味著人工魚鄰域內(nèi)同伴魚群中心食物濃度較高且擁擠度較低,人工魚向全局最優(yōu)位置Xbest和伙伴的中心位置的向量和的方向前進(jìn)一個(gè)步長(zhǎng);若f(Xc(t))·nf>δ·f(Xi(t)),則人工魚執(zhí)行覓食行為,表達(dá)式如下所示:
利用改進(jìn)的人工魚群算法進(jìn)行多元線性回歸參數(shù)估計(jì)[9]。把多元線性回歸模型中的一組參數(shù)看作一條人工魚,種群中的每一條人工魚代表模型估計(jì)問題中的一個(gè)候選解,第i條人工魚Xi表示為
應(yīng)用適應(yīng)度函數(shù)來評(píng)價(jià)種群中的每條人工魚,定義如下:
對(duì)適應(yīng)度函數(shù)求極值,可以得到一組參數(shù)估計(jì)量,即為最優(yōu)解。
應(yīng)用改進(jìn)的人工魚群算法進(jìn)行參數(shù)估計(jì)的主要步驟流程圖如圖1所示[10]:
圖1 改進(jìn)的人工魚群算法流程圖
為了驗(yàn)證本文提出的改進(jìn)的人工魚群算法在多元線性回歸模型參數(shù)估計(jì)中的應(yīng)用,選取了表1中所示的數(shù)據(jù),已知變量y,受變量x1,x2和R2的影響,建立多元線性回歸模型如下:
表1 參數(shù)估計(jì)的數(shù)據(jù)
表2是改進(jìn)的人工魚群算法,人工魚群算法和最小二乘法進(jìn)行參數(shù)估計(jì)的對(duì)比結(jié)果,包括線性回歸模型的參數(shù)估計(jì)值,殘差平方和,最優(yōu)解和運(yùn)行時(shí)間。
表2 算法參數(shù)估計(jì)對(duì)比結(jié)果
從表2可以看出,應(yīng)用改進(jìn)的人工魚群算法進(jìn)行參數(shù)估計(jì)的結(jié)果優(yōu)于人工魚群算法和最小二乘法的結(jié)果,而且在尋找最優(yōu)值上有所提高,加快了運(yùn)行時(shí)間。
應(yīng)用人工魚群算法和改進(jìn)的人工魚群算法得到的一次典型實(shí)驗(yàn)曲線分別如圖2和圖3所示。
圖2 人工魚群算法的典型實(shí)驗(yàn)曲線
圖3 改進(jìn)的人工魚群算法的典型實(shí)驗(yàn)曲線
從圖2和圖3的對(duì)比來看,使用人工魚群算法進(jìn)行參數(shù)估計(jì)時(shí)在124.588處陷入到局部最優(yōu)解。然而,改進(jìn)的人工魚群算法能夠突破局部極值,搜索到全局最優(yōu)解。
針對(duì)人工魚群算法在獲取精確解時(shí)的局限性,本文首先對(duì)算法參數(shù)做出了改進(jìn),并利用改進(jìn)的人工魚群算法對(duì)多元線性回歸模型的參數(shù)進(jìn)行了估計(jì),通過與人工魚群算法和最小二乘法的參數(shù)估計(jì)結(jié)果進(jìn)行對(duì)比,應(yīng)用改進(jìn)的人工魚群算法得到的參數(shù)估計(jì)結(jié)果和運(yùn)行時(shí)間都有所提高,而且改進(jìn)的算法運(yùn)行時(shí)間短這一優(yōu)勢(shì)會(huì)隨著參數(shù)個(gè)數(shù)的增加而越發(fā)明顯,可以將此方法推廣到對(duì)一般回歸模型的參數(shù)估計(jì)中,本文提出的改進(jìn)的人工魚群算法為回歸分析中參數(shù)估計(jì)問題提供了一種新的有效解決方法。