基于 BP神经网络的厦门市房价预测

2011-06-19 03:12李华杰武继灵
山西广播电视大学学报 2011年1期
关键词:厦门市房价神经元

□李华杰,武继灵

(1.华侨大学土木工程学院,福建 泉州 362021;2.山西广播电视大学,山西 太原 030027)

一、问题的提出

神经网络中单个神经元具有简单的能够反映非线性本质特征的能力,通过这些基本的单个神经元自行组合复合,使神经网能够重建任意的非线性连续函数。通过对神经网络的训练和学习,使网络可以获取内在的规律,从而可以对未来序列进行预测。在20世纪80年代,David Rumelhart,Geoffrey Hinton以及Williams分别独立地给出BP算法的清楚表述,解决了多层神经网络的学习问题,实现了多层网络的设想,如今主要应用于模式识别与分类、数据压缩函数逼近、最优预测等。本文以《厦门经济特区统计年鉴》、厦门市土地与房产管理局发布的历年数据为依据,利用BP神经网络对未来三年厦门市房价进行预测,结果表明此模型对房价预测非常精确。

二、BP神经网络模型建立

1.BP神经网络元模型

如图1给出了一个具有R个输入的基本BP神经元模型结构。图中每一个输入被赋予一定的权值,与偏差求和后形成神经元传递函数的输入。BP神经网络属于多层网络,其神经元常用的传递函数包括log-sigmoid型函数logsig、tan-sigmoid函数tansig,以及线性函数purelin。这三种函数是BP神经网络中最常用到的传递函数,用户根据自己的需要也可以在matlab中自己创建其他形式的传递函数。

2.BP神经网络结构

图2显示了一个具有输入层、隐含层、输出层三个层次结构的BP神经网络结构,输入层由i个节点组成,隐含层由j个节点组成,输出层由t个节点组成。本文中也采用此网络结构对厦门房价进行预测。

三、建立BP神经网络的厦门市房价预测模型

本模型采用2009年《厦门经济特区统计年鉴》及厦门市土地与房产管理局发布的历史数据,选取了其中人均居住使用面积、市区人口总数、人均可支配收入等八个指标对厦门市2009至2011年房价进行预测,该BP神经网络模型如图3所示。

(一)指标数据的预测

利用matlab的线性回归与散点图曲线拟合的功能对八个指标进行预测,例如对人均居住面积指标的预测,首先根据历史数据画出散点图,然后根据其散点图走势选择相应的拟合函数,并对其拟合指标进行分析,最后预测2009年至2011年的数据。

根据图4 所示的各点分布,我们可以认为此指标各年数据呈线性分布,利用matlab对此散点图拟合,得出函数,利用matlab的数据分析图及拟合指标我们可以发现此函数完全符合要求。(参数运行结果stats =0.9476 108.4569 0.0000 0.3157,即相关系数 =0.9476,F=108.4569,p=0.0000,由p<0.05可知回归模型符合要求)根据此函数我们可以得出2009年至2011年的人均居住面积数值分别为:人均居住面积=[25.3654、26.2682、27.1711]。

同理,我们根据此方法可以得出其余线性拟合预测数据分别为:市区人口总数=[168.9254、173.7257、178.5261];人均消费性支出=[18248、19617、20986];地区生产总值=[1642.8、1786.3、1929.8]。人均消费性支出中第一个残差数据是异样的,但是其参数运行结果stats =0.9529 121.3701 0.0000 0.6485,即相关系数 =0.9529 ,F=121.3701,p=0.0000,由p<0.05可知回归模型符合要求。

由于剩余四个指标的线性特征不明显,我们利用多项式对其进行拟合,以人均可支配收入为例,其散点图形如图5所示。从此散点图的走势看,具有抛物线的趋势,我们利用matlab对其进行二次多项式拟合,从拟合图中可看出,散点平均分布在曲线两侧,利用函数对其2009年至2011年的数据预测得知:人均可支配收入=[27541 31294 35427].

同理,利用二次多项式拟合方法进行预测得知:房地产开发投资=[ 463.9448 577.5065 704.9354];贷款利率=[7.9114 8.7313 9.6621];住宅销售面积=[2090000 1763900 1358400]。

(二)BP神经网络厦门房价预测

1.BP神经网络参数设置、训练及仿真

Matlab内部含有很方便的构建神经网络的函数,对于BP网络的实现,其提供了3个基本函数:newff、train和sim,它们分别对应3个基本步骤,即新建、训练和仿真,在进行BP神经网络模型设计时,主要考虑网络的层数和每层中神经元的个数。

(1)网络层数

BP网络是通过输入层到输出层的计算来完成的。隐含层的增多虽然能在速度上提高网络的训练,但是需要较多的训练时间,而训练速度可以用增加隐含层神经元个数来实现,因此在应用BP神经网络进行预测时选取只有一个隐含层的三层BP神经网络就足够了。

(2)网络中各层神经元的个数

a.建立newff函数生成网络

由于原始数据的单位不同,造成了指标量纲不统一的情况,首先将2001年至2008年八个数据进行归一化,其数值位于[-1,1]之间,再建立三个层次的神经网络:net=newff(dx,[8,16,1],{'tansig','tansig','purelin'},'trainlm');

b.神经网络中参数的设置及训练

net.trainParam.show=100;迭代100次显示一次结果,net.trainParam.Lr=0.05;学习速率为0.05,net.trainParam.epochs=1000;最大训练迭代为1000次,net.trainParam.goal=0.001;均方误差为0.001,net=train(net,pn,tn); 开始训练网络,其中pn、tn分别为输入输出样本。由图6网络误差变化曲线可知,该网络迭代三次就能完成训练,其误差达到误差目标以下。

(3)神经网络仿真

神经网络利用sim函数进行仿真,其形式为a=sim(net,p),其中p为输入向量、a为仿真结果。

2.BP神经网络厦门市房价预测

我们利用2009年至2011年各指标的预测数据,并用刚训练完成的神经网络对其三年的房价进行预测。

当用训练好的网络对新数据pnew进行预测时,也应作相应的处理,利用如下三个函数pnewn=tramnmx(pnew,minp,maxp)、anewn=sim(net,pnewn)、anew=postmnmx(anew,mint,maxt)处理数据后可以得出预测值。

四、仿真结果比较与分析

图7中圆圈表示2001年至2008年厦门市房价实际值,曲线表示2001年至2008年厦门市房价预测曲线,通过图形可知该网络对2001年至2008年厦门市的房价预测与实际房价基本一致。

参考文献3中对于2009年至2011年厦门市房价预测结果=[10494 10494 10494],可见参考文献中预测结果为2009年至2011年三年房价维持稳定且保持不变,且2005年至2008年四年的预测值与真实值的误差为[3.6%,17.8%],而本文模型预测结果=[10836 11071 10845],其误差为[0.0001%,0.0033%],可见本文所用模型对厦门房价预测的可信度较高。

五、结论

从上述误差数据可看出本文利用BP神经网络模型对厦门市房价预测很精确,可作为房价预测的模型,但由于房价的走势不仅仅与本文中提到的八个因素有关,还在不同程度上受国家调控政策、国际金融环境等比较抽象且难以用数据进行表达的因素影响,同时所参照的历史数据局限性,也在不同程度上制约和影响了研究的准确度,这些都需要在今后的研究中进一步改进。

参考文献:

[1]朱凯,王正林.精通MATLAB神经网络[M].北京:电子工业出版社,2009.

[2]朱文宏,林建辉,蔡秀丽.基于BP神经网络的厦门楼盘走势预测,百度文库[ZB/oL]. http://wenku.baidu.com/view/d3cbd37931b765ce050814df.html.

[3]兰雪梅,朱建,黄承明等.BP网络的MATLAB实现[J].微型电脑应用,2003,(1).

[4]焦淑华,夏冰,徐海静,刘莹.BP神经网络的预测的MATLAB实现[J].哈尔滨金融高等专科学校学报,2009,(3).

[5]薛丽,于渤.2000年哈尔滨住宅市场预测[J].决策借鉴,1999,(1).

[6]叶世伟.神经网络原理[M].北京:机械工业出版社,2004.

猜你喜欢
厦门市房价神经元
我校入选2021年度厦门市“金砖示范单位”
两大手段!深圳土地“扩权”定了,房价还会再涨?
防范未然 “稳房价”更要“稳房租”
组织祭扫活动 缅怀革命先烈
跃动的神经元——波兰Brain Embassy联合办公
去库存的根本途径还在于降房价
2016房价“涨”声响起
老区情难忘——记厦门市老促会原会长张振福
基于二次型单神经元PID的MPPT控制
ERK1/2介导姜黄素抑制STS诱导神经元毒性损伤的作用