1基于BP神经网络的南昌市房价评估及预测摘要本文将BP神经网络理论应用于南昌市房地产市场比较法价格评估与预测,讨论了网络结构的设计、学习算法等问题,并做了改进。房地产的市场价格受众多因素影响,我们把因素分为宏微观两方面。我们选取了南昌市各个行政区划多个小区新住宅房作为样本。并据此建立三个数学模型,并分别基于神经网络在matlab中实现。模型一:基于BP神经网络的估价模型我们固定某一时点,即宏观因素不变,仅考虑微观因素对房地产价格的影响。具体而言,将神经网络理论对各楼盘和其对应为微观指标的关系矩阵进行网络学习和训练,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小,我们就应用此模型估计其他楼盘的价格。模型二:基于改进BP的价格预测模型在此模型中,我们忽略微观因素对房价的影响,仅考虑宏观因素。我们选取6个反应房地产价格的滞后性经济指标,然后找出2007年一季度至2010年二季度的各经济指标值,构成一个房价价格指标与宏观经济因素的关系矩阵。并以东湖-红原星城楼盘为例,根据其以往的房地产价格并应用神经网络算法,就可预测出此楼盘2010年第三季度的楼盘价格。模型三:综合指标价格预测模型在此模型中,我们同时考虑微观因素和宏观因素对房价的影响,构造了一个融合两种因素的综合指标体系,应用神经网络理论,就可以估计出任意楼盘(包括即将推出的楼盘)在2010年第三季度的季度均价。以东湖-红原星城楼盘为例,根据其以往的房地产价格并应用神经网络算法,就可预测出此楼盘2010年第三季度的楼盘价格。预测结果和模型二大致相同。此外还对南昌市2010年第三季度即将推出的楼盘:青山湖-天御国际公寓进行估价,并预测其2010年第三季度的价格为8246.1元模型三能很好地对任意房地产进行估价和预测,但缺点是只能预测下一季度的价格。在模型的改进与推广中,我们提出基于ANFIS的价格预测模型,该模型能很好的预测出未来的房价,与模型三的预测值具有很强的一致性。且时间越接近,预测的误差越小。关键词:BP神经网络房价评估及预测改进的BP算法神经模糊推理系统宏微观指标一、问题重述结合南昌房价实际情况,收集有效数据评价南昌房价的合理性,分析确定影响商品房销售价格的重要因素,并建立南昌房地产价格预测模型问题一:根据影响房地产价格的微观指标与价格的关系,估计其他楼盘的房价。问题二:根据影响房地产价格的宏观滞后性指标与价格的关系,并依据某一具体楼盘的历史数据,预测其下一季度的价格。2问题三:综合考虑微观指标和宏观指标,预测出任意楼盘下一季度的价格。二、问题的分析问题一中我们首先选取反应房地产价格的7个主要微观因素[1],建立房地产价格评估系统,然后根据评估系统对各指标进行模糊赋权,并进行归一化处理,即建立房地产价格和其微观因素的关系矩阵,把归一化后的数据矩阵作为可靠性样本进行BP网络学习和训练,以获得最终的权值矩阵。最后把要估价楼盘的归一化后微观指标参数代入,即可得该楼盘的估计价格。问题二中我们同样选取6个反应房地产价格的7个主要滞后性宏观因素,并假定滞后时间为一季度,即某一季度的宏观指标反应下一季度的房价。以东湖-红原星城楼盘为例,将2007年一季度至2010年一季度的宏观指标模糊赋权并归一化后得到关系矩阵。采用改进的BP算法,获得最终的权值矩阵。将2010年二季度的宏观经济指标代入,即可预测出2010年第三季度的房价。对于问题三,我们将模型一合模型二综合考虑,即得到综合指标价格预测模型,将任一楼盘在2010年二季度的指标代入,即可预测出该楼盘在2010年第三季度的房价。该模型比模型二优越的一点在于,模型二对该楼盘的历史楼盘价格有很强的依赖性,且模型二不能预测即将推出楼盘的价格。而在现实生活中,预测即将推出楼盘价格的预测是非常有意义的。三、模型的基本假设与说明(一)基本假设1.题目提供的数据在误差允许范围内真实有效2.房地产业健康稳定发展3.在着重讨论主要因素时,其他的次要因素对主要因素的影响可以忽略4.各宏观指标均为季度性指标且在每一季度内不变。其次宏观指标滞后性指标,滞后时间约为一季度5.所有的楼盘价格均为季平均价格6.未给出的楼盘季度数据均可由简单的线性插值得出(二)符号说明m输出层节点数n输入节点数l隐含层节点数b输出层阈值3ij链接权值a初始化隐含层阈值ixBP神经网络的输入值iyBP神经网络的预测值四、模型建立与求解(一)模型一:基于BP神经网络的估价模型(考虑房价微观因素)BP神经网络是一种多层前馈神经网络,主要特点是信号前向传递,误差反向传递。在前想传递中,输入信号从输入层京隐含层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出,则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP神经网络预测输出不断逼近期望输出。BP神经网络的拓扑结构如图1所示。图1BP神经网络层次图图1中,nxxx,,,21BP神经网络的输入值,nyyy,,,21是BP神经网络的预测值,固定权ij和可调权jk为BP神经网络权值。从图可以看出,BP神经网络可以看成一个非线性函数,网络输入值和预测值分别为该函数的自变量和因变量。当输入节点数为n,输出节点数为m时,BP神经网络就表达了从n个自变量到m个因变量的函数映射关系。BP神经网络预测钱首先要训练网络,通过训练师网络具有联想记忆和预测能力。BP神经网络的训练过程包括以下几个步骤。步骤1:网络初始化。根据系统输入输出序列(x,y)去顶网络输入层节点数n、隐含层节点数l,输出层节点数m,初始化输入层、隐含层和输出层神经元4之间的连接权值,初始化隐含层阈值a,输出层阈值b,给定学习速率和神经元激励函数。步骤2:隐含层输出计算。根据输入向量,输入层和隐含层见链接权值ij以及隐含层阈值a,计算隐含层输出H。)(1nijiijjaxfHlj,,2,1公式中,为隐含层节点数;为隐含层激励函数,该函数有多种形式,我们取:xexf11)(步骤3:输出层输出计算。根据隐含层输出H,链接权值jk和阈值b,计算BP神经网络预测输出OljkjkjkbHO1mk,,2,1步骤4:误差计算。根据网络预测输出O和期望输出Y,计算网络预测误差e。kkkOYemk,,2,1步骤5:权值更新。根据网络预测误差e更新网络连接权值ij,jk。mkkjkjjjkjkeixHH1)()1(ljni,,2,1;,,2,1kjjkjkeHmklj,,2,1;,,2,1式中,为学习速率。步骤6:阈值更新。根据网络预测误差更新网络节点阈值ba,。mkkjkjjjjeHHaa1)1(lj,,2,1kkkebbmk,,2,1步骤7:判断算法迭代是否结束,若没有,返回步骤2。1.输入层的确定神经网络的输入层起缓冲存储器的作用,其向量的数目相当于所研究问题的5独立变量数目。为了有效地进行房地产价格的预报,根据影响新建居住房地产价格的因素[1],我们设立如下评估指标体系:由于指标体系中既有定性指标又有定量指标,为使各指标在整个系统中具有可比性,应将定性指标进行量化处理。量化处理的方法很多,较常用的是通过五级打分来区分优劣,即评语为优、良、一般、合格、不合格,相应分值为5、4、3、2、1。X1建筑结构类型及等级(该指标最高分值为5分,最低分值为2分);X2装修(该指标最高分值为5分,最低分值为2分);X3周边配套(该指标最高分值为5分,最低分值为1分);X4地段(该指标最高分值为5分,最低分值为1分);X5绿化率(该指标最高分值为5分,最低分值为3分);X6交通(该指标最高分值为5分,最低分值为1分);X7户均车位(该指标最高分值为5分,最低分值为1分);其中:X1、X2、X3、X4、X5、X6、X7都为微观因素指标。2.隐含层的确定隐含层神经元代表网络输入与输出之间的非线性程度,对模型的训练速度和预报能力有着重要影响,节点数太少,网络不能很好的学习,精度也受影响。但神经元个数太多网络容易过拟合。所以没有统一的理论依据,本文中我们根据Kolmogorov定理,节点数参考如下公式,确定隐含层神经元个数为4。1nlanml)(nl2log为输入层节点数;为隐含层节点数,输出层节点数为0~10之间的常数。3.输出层的确定输出层神经元的个数取决于系统对网络功能的要求,本模型要实现房地产楼盘新住宅的估价,故输出变量为房价,即输出层神经元的个数为1。因此在本文中,我们建立的神经网络模型结构为:7-4-1。4.样本集的确定为完成对机器对数据的学习,首先要为网络提供一组适当数量的可靠样本。为此,我们选取了南昌市主要几个区的多个楼盘,选定其中的26组新商品住宅房作为样本。我们选取每个楼盘相应的指标和价格,根据上述评估指标体系,确定相应权值。具体如下表1。6表1各楼盘指标赋值结构类型等级装修周边配套地段绿化率交通户均车位交易价格青云谱蓝天郡33554427900青山湖水榭尚都33544535500南昌经济技术开发区南天阳光33535334000湾里瀚德逸居33325252800东湖华远帝景天下53553558988高新开发区-中凯蓝域43534334400红谷滩名门世家43445516280英雄经济技术开发区路通城邦43335323000青山湖京东国际花园43544525900高新开发区中兴和园43533315300高新开发区凯美怡和43435338700高新开发区中凯蓝域43434234400红谷滩联泰香域尚城53545436200红谷滩新地阿尔法国际社区454453511000红谷滩天赐良园43445423400东锦桂华庭43454556600东恒立佘山98号53454536400东湖胜利名座53454528300东湖高氏音乐花园53454537100东湖紫金城44555357200东湖红原星城33455424800红谷滩现代铭园53544436600红谷滩联泰香域滨江43545457700红谷滩洪客隆地中海阳光435455570005.数据处理数据处理的目的是为神经网络的推理提供较为准确的参数。本文我们对数据做归一化处理。为避免由于输入变量单位不同、绝对值相差很大对神经网络模型的影响,需要对输入输出参数进行归一化处理。本模型的BP网络采用Sigmoid函数作为激发函数,即各节点的输入输出值应在[0,1]之间。因此,要对每一参数进行相应的转换,在不失其变化规律的前提下,把参数值都转换到[0,1]上。对于输入层的参数值采用如下式的线性转换方式。)/()(minmaxminXXXXXkk式中,minX为数据序列中的最小数;maxX为序列中的最大数按上述方法得到的归一化数据见附录一76.网络学习BP网络学习的目的就是要获得最终的权值矩阵。归一化后的数据即可作为可靠性样本进行训练,本文中使用train函数进行训练,经过数次训练后得出训练图20200400600800100010-1010-51001000EpochsTraining-BlueGoal-BlackPerformanceis0.000988847,Goalis1e-010图2训练样本图从图3看出,多次运行后,BP神经网络预测输出与结果拟合较好051015202500.10.20.30.40.50.60.70.8样本函数输出BP网络预测输出预测输出实际输出图3BP网络预测输出与实际比较图5显示神经网络预测误差不超过1个百分点80510152025-0.06-0.04-0.0200.020.040.060.080.1BP网络预测误差误差样本图4BP网络预测误差0510152025-1-0.8-0.6-0.4-0.200.20.4神经网络预测误差百分比图5BP神经网络预测误差百分比本模型的matlab程序见附录二(二)模型二:基于改进BP的价格预测模型(考虑影响房价宏观因素)模型准备滞后指标又称后续指标也叫跟随性指标,以至造成和加强经济运行轨迹的摇摆。滞后