杭曉亞, 柳敘豐 , 趙澤昆
(1. 山東科技大學(xué)土木工程與建筑學(xué)院,山東青島 266590; 2. 中儲(chǔ)發(fā)展股份有限公司青島分公司,山東青島 266590; 3. 山東科技大學(xué)測(cè)繪科學(xué)與工程學(xué)院,山東青島 266590)
·經(jīng)營(yíng)與管理·
基于GA-BP神經(jīng)網(wǎng)絡(luò)的青島房?jī)r(jià)預(yù)測(cè)
杭曉亞1, 柳敘豐2, 趙澤昆3
(1. 山東科技大學(xué)土木工程與建筑學(xué)院,山東青島 266590; 2. 中儲(chǔ)發(fā)展股份有限公司青島分公司,山東青島 266590; 3. 山東科技大學(xué)測(cè)繪科學(xué)與工程學(xué)院,山東青島 266590)
通過(guò)市場(chǎng)調(diào)查和專家咨詢,選取2000年~2013年青島市的平均房?jī)r(jià)及其主要影響因子作為研究數(shù)據(jù)。鑒于BP神經(jīng)網(wǎng)絡(luò)具有收斂速度慢、易陷入局部極小值的缺陷,充分利用遺傳算法(GA)的優(yōu)點(diǎn),以matlab軟件為工具,對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化處理,建立GA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,對(duì)青島市房?jī)r(jià)做出預(yù)測(cè)。研究表明,與一般的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型相比,經(jīng)GA優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型具有收斂速度快、預(yù)測(cè)精度高等優(yōu)點(diǎn)。
BP神經(jīng)網(wǎng)絡(luò); 遺傳算法; matlab; 房?jī)r(jià)預(yù)測(cè)
BP神經(jīng)網(wǎng)絡(luò)是一種基于誤差反向傳播的多層前饋神經(jīng)網(wǎng)絡(luò),由輸入層、隱含層、輸出層組成,相鄰兩層的神經(jīng)元處于全連接狀態(tài),而同層神經(jīng)元之間相互獨(dú)立。該網(wǎng)絡(luò)的主要特點(diǎn)是信號(hào)前向傳播和誤差反向傳播[1]。在前向傳播中,輸入信號(hào)從輸入層經(jīng)隱含層逐層處理,直至輸出層。每一層的神經(jīng)元狀態(tài)只影響下一層神經(jīng)元狀態(tài)。如果輸出層得不到期望輸出,則轉(zhuǎn)入反向傳播,根據(jù)預(yù)測(cè)誤差調(diào)整網(wǎng)絡(luò)權(quán)值和閥值,使預(yù)測(cè)值不斷逼近期望值[2-3]。單隱層的BP神經(jīng)網(wǎng)絡(luò)可以映射所有連續(xù)函數(shù),其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 單隱層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
1.1 數(shù)據(jù)處理
本文選取2000年~2013年青島市生產(chǎn)總值、人口數(shù)量(戶籍人口)、職工平均工資、城市居民可支配收入、房地產(chǎn)開(kāi)發(fā)投資額、商品房銷售面積、施工面積為輸入指標(biāo)[4],平均房?jī)r(jià)為輸出指標(biāo)。數(shù)據(jù)主要來(lái)源于國(guó)家統(tǒng)計(jì)局和青島市統(tǒng)計(jì)信息網(wǎng)(表1)。
實(shí)驗(yàn)采用單隱層BP神經(jīng)網(wǎng)絡(luò)模型和滾動(dòng)預(yù)測(cè)方式,即用前兩年的影響指標(biāo)來(lái)預(yù)測(cè)第三年的房?jī)r(jià)。按此方法,共有12組輸入數(shù)據(jù),14個(gè)輸入層神經(jīng)元節(jié)點(diǎn),選取前9組數(shù)據(jù)為訓(xùn)練樣本,后3組為測(cè)試樣本。
1.2 參數(shù)值確定
采用動(dòng)量梯度下降算法訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),訓(xùn)練函數(shù)為traingdm。動(dòng)量項(xiàng)系數(shù)mc=0.9,學(xué)習(xí)率lr=0.01,目標(biāo)誤差goal=0.001,訓(xùn)練次數(shù)epochs=10 000,每50次顯示一次結(jié)果,即show=50,初始權(quán)值和閥值為系統(tǒng)默認(rèn)值。
實(shí)驗(yàn)選取tansig函數(shù)和purelin函數(shù)作為隱含層和輸出層的傳遞函數(shù),輸入層節(jié)點(diǎn)數(shù)為14,輸出層節(jié)點(diǎn)數(shù)為1,隱節(jié)點(diǎn)數(shù)用試湊法確定。試湊法的基本原理是保持樣本集和參數(shù)值不變,逐漸增加隱節(jié)點(diǎn)數(shù),提取誤差最小時(shí)對(duì)應(yīng)的節(jié)點(diǎn)數(shù)作為實(shí)驗(yàn)值。試湊步驟開(kāi)始前,先用隱節(jié)點(diǎn)數(shù)經(jīng)驗(yàn)公式確定節(jié)點(diǎn)取值范圍,常用的經(jīng)驗(yàn)公式為[5]:
其中:m為隱節(jié)點(diǎn)數(shù);n為輸入層節(jié)點(diǎn)數(shù);l為輸出層節(jié)點(diǎn)數(shù);α取1~10。由此可得實(shí)驗(yàn)中隱節(jié)點(diǎn)數(shù)取值范圍為5~14。訓(xùn)練次數(shù)為4 000時(shí),對(duì)訓(xùn)練樣本的訓(xùn)練結(jié)果見(jiàn)表2。
由表2可知,hiddennum=13時(shí)mse最小,故本文選取13作為BP神經(jīng)網(wǎng)絡(luò)隱節(jié)點(diǎn)數(shù)。
2.1 遺傳算法優(yōu)化處理
(1)種群初始化。個(gè)體編碼采用實(shí)數(shù)編碼,編碼長(zhǎng)度:
L=n×m+m+m×l+l
其中:n為輸入層節(jié)點(diǎn)數(shù);m為隱節(jié)點(diǎn)數(shù);l為輸出層節(jié)點(diǎn)數(shù)。
(2)適應(yīng)度函數(shù)。用訓(xùn)練后的BP神經(jīng)網(wǎng)絡(luò)對(duì)系統(tǒng)進(jìn)行預(yù)測(cè)輸出,將預(yù)測(cè)輸出與期望輸出之間的誤差絕對(duì)值之和作為個(gè)體適應(yīng)度值:
表1 2000年~2013年青島房?jī)r(jià)及影響因素
表2 不同隱節(jié)點(diǎn)數(shù)訓(xùn)練誤差
其中:m為輸出層節(jié)點(diǎn)數(shù);yi為神經(jīng)網(wǎng)絡(luò)第i個(gè)節(jié)點(diǎn)的期望輸出;oi為第i個(gè)節(jié)點(diǎn)的預(yù)測(cè)輸出;k為系數(shù)。
(3)選擇操作。采用輪盤賭法[6],個(gè)體i對(duì)應(yīng)的選擇概率:
(4)交叉操作。采用實(shí)數(shù)交叉法,第k個(gè)染色體ak和第l個(gè)染色體al在j位的交叉操作為:
其中:b為[0,1]內(nèi)的隨機(jī)數(shù)。
(5)變異操作。對(duì)個(gè)體i的第j個(gè)基因aij進(jìn)行變異:
循環(huán)(1)~(5)的操作,直到滿足擬定的收斂條件。
2.2 參數(shù)值確定
取種群規(guī)模M=50,進(jìn)化次數(shù)maxgen=100,交叉概率pc=0.5,變異概率pm=0.02。
3.1 計(jì)算結(jié)果對(duì)比
計(jì)算結(jié)果見(jiàn)圖2、圖3、表3、表4。
圖2 訓(xùn)練樣本預(yù)測(cè)輸出
圖3 測(cè)試樣本預(yù)測(cè)輸出
年份實(shí)際值/(元·m-2)預(yù)測(cè)值/(元·m-2)BPGA-BP絕對(duì)誤差/(元·m-2)BPGA-BP相對(duì)誤差/%BPGA-BP20022186.002159.602165.7026.4020.301.2080.92920032406.002427.902429.6021.9023.600.9100.98120042965.493049.803017.4084.3151.912.8431.75020053744.083590.103665.10153.9878.984.1132.10920064249.064351.904301.80102.8452.742.4201.24120075200.555142.305168.3058.2532.251.1200.62020085094.005073.605080.2020.4013.800.4000.27120095576.005587.705577.7011.701.700.2100.03020106576.006594.806574.8018.801.200.2860.018平均相對(duì)誤差/%BPGA-BP1.5010.883
表4 測(cè)試樣本計(jì)算結(jié)果
由上述圖表可知,GA-BP神經(jīng)網(wǎng)絡(luò)對(duì)訓(xùn)練樣本、預(yù)測(cè)樣本的預(yù)測(cè)輸出精度均高于BP神經(jīng)網(wǎng)絡(luò)的輸出精度。
3.2 收斂速度對(duì)比
圖4、圖5顯示,目標(biāo)誤差goal=0.001時(shí),BP神經(jīng)網(wǎng)絡(luò)經(jīng)9 016次迭代達(dá)到誤差標(biāo)準(zhǔn),收斂于0.000 999 98;GA-BP神經(jīng)網(wǎng)絡(luò)經(jīng)4 827次迭代達(dá)到誤差標(biāo)準(zhǔn),收斂于0.000 999 87。顯然,GA-BP神經(jīng)網(wǎng)絡(luò)較一般BP神經(jīng)網(wǎng)絡(luò)收斂速度快。
圖4 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差曲線
圖5 GA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差曲線
綜上述,遺傳算法可以提高BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度和收斂速度。以2012年和2013年的數(shù)據(jù)為輸入樣本,用訓(xùn)練好的GA-BP神經(jīng)網(wǎng)絡(luò)對(duì)青島市2014年的平均房?jī)r(jià)進(jìn)行預(yù)測(cè),預(yù)測(cè)值為9 082.45 元/m2。
本文通過(guò)遺傳算法實(shí)現(xiàn)了對(duì)BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和性能參數(shù)的同步優(yōu)化,建立了基于GA-BP神經(jīng)網(wǎng)絡(luò)的青島市房?jī)r(jià)預(yù)測(cè)模型。對(duì)比BP神經(jīng)網(wǎng)絡(luò)和GA-BP神經(jīng)網(wǎng)絡(luò)的仿真結(jié)果發(fā)現(xiàn),經(jīng)遺傳算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)模型在降低計(jì)算誤差的同時(shí),減少了達(dá)到目標(biāo)誤差時(shí)的迭代次數(shù)。實(shí)驗(yàn)表明,GA-BP神經(jīng)網(wǎng)絡(luò)有效避免了BP神經(jīng)網(wǎng)絡(luò)易陷入局部極小值的盲目性,同時(shí)提高了計(jì)算效率,適用于對(duì)房?jī)r(jià)預(yù)測(cè)等非線性問(wèn)題的研究。此外,對(duì)房?jī)r(jià)的預(yù)測(cè)有助于房地產(chǎn)開(kāi)發(fā)商和購(gòu)房消費(fèi)者進(jìn)行理性決策。
[1]LiangguangMo,ZhengXie.AnImprovedBPNeuralNetworkbasedonIPSOandItsApplication[J].JournalofComputers, 2013(5): 1267-1272.
[2] 陳豐. 基于BP神經(jīng)網(wǎng)絡(luò)的建筑工程前期階段成本估算方法[J]. 建筑經(jīng)濟(jì), 2012(12): 89-91.
[3] 史佳, 冀巨海. 基于BP神經(jīng)網(wǎng)絡(luò)的黃河中下游人口預(yù)測(cè)研究[J]. 科技管理研究, 2014,30(6): 245-250.
[4] 姜永增. 房?jī)r(jià)影響因素的實(shí)證分析——以青島市為例[J]. 價(jià)值工程, 2011, 30(28): 319-320.
[5] 韓力群. 人工神經(jīng)網(wǎng)絡(luò)理論、設(shè)計(jì)及應(yīng)用[M]. 北京: 化學(xué)工業(yè)出版社, 2007.
[6] 李松, 劉力軍, 解永樂(lè). 遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的短時(shí)交通流混沌預(yù)測(cè)[J]. 控制與決策, 2011(10): 1581-1585.
F293.352
A
杭曉亞(1991~),女,碩士研究生,研究方向:房地產(chǎn)經(jīng)營(yíng)與管理、工程項(xiàng)目管理; 柳敘豐(1989~),男,研究方向:物流項(xiàng)目管理、BP神經(jīng)網(wǎng)絡(luò); 趙澤昆(1990~),男,碩士研究生,研究方向:大地測(cè)量、matlab仿真。
[定稿日期]2015-06-30