APP下载

一种基于BP神经网络的房价预测模型

2019-12-10孙婷婷沈毅赵亮

电脑知识与技术 2019年28期
关键词:BP神经网络特征选择

孙婷婷 沈毅 赵亮

摘要:房价复杂多变,具有非线性特性,因此利用非线性模型预测房价走势受到学者们的关注。而在非线性模型中,BP(Back Propagation)神经网络具有较强的非线性映射能力。因此,该文基于BP神经网络构造房价预测模型。在模型的具体实现中,首先基于特征选择方法提取影响房价变化的典型经济要素;然后针对房价要素特点构建BP网络模型,通过已有数据对BP神经网络模型进行深度训练、校验,预测今后房屋价格的走势。理论分析与实验结果表明,本文提出的模型优于现有一些线性和非线性预测模型,能够对房价变化进行有效预测。

关键词:BP神经网络;非线性映射;特征选择;房价预测

中图分类号:TP39        文献标识码:A

文章编号:1009-3044(2019)28-0215-04

Abstract:The house price is complex and variable, which has nonlinear characteristics. Therefore, the use of nonlinear models to predict the trend of house prices has attracted more researchers' attention. In the nonlinear model, BP (Back Propagation) neural network has strong nonlinear mapping ability. Inspired by this, this paper constructs a house price forecasting model based on BP neural network. In the concrete realization of the model, firstly, based on the feature selection method, the typical economic factors affecting the house price change are extracted. Then, the BP network model is constructed according to the selected factors, and deeply trained and verified through the existing data, which can favorably predict the future house price trend. Theoretical analysis and experimental results show that the proposed model is superior to the existing linear and nonlinear predicting models, and can effectively predict house price changes.

Key words:BP Neural Network; Nonlinear Mapping; Feature Extraction; House Price Forecasting

随着我国经济的快速发展和国民生活水平的日益提高,我国的房地产业蓬勃发展。房产价格的变化也受到越来越多人的关注。房地产价格的变化不仅能为买卖方提供价格参考,同时也能为国家政治经济等方面的政策改革制定提供理论依据。因此构造合理有效的房价预测模型对房价进行较为准确的预测具有重要意义[1]。国内外学者对房地产价格问题早已开展相关研究,建立了各种预测模型对房地产价格进行预测。但是从国内外研究现状看,虽然当前已经有很多房价的预测方法,但建立的绝大多数模型属于线性的映射模型。而房价复杂多变,通常具有非线性变化特性,因此导致传统的线性预测模型对房价变化的预测误差较大[2]。

当前更多学者关注非线性模型预测房价变化问题,而在众多的非线性模型中,BP神经网络有着非常强的非线性拟合能力。BP神经网络不需要具体的确定输入层到输出层之间的数据传递函数关系,只需要通过调整BP神经网络的输入层神、隐藏层和输出层等各层包含的神经元的连接权值和阈值等参数信息,就能对数据做出比较精确的预测。而且BP神经网络是通过误差信号的反向传播机制来调整神经网络各层包含的神经元的权值和阈值,这样能使BP神经网络输出的实际误差相比较预期误差最小[3]。

因此,本文基于BP神经网络构造房价预测模型,对房价走势进行分析预测。在本文的具体实现中,融合了房价要素选择和BP算法构建房价预测网络。首先利用经济学原理选取影响房价变化的典型要素,然后将提取后的数据输入到BP神经网络模型,并通过前向传播和反向梯度优化,训练验证整个房价预测网络,最后利用得到的深度网络模型预测房价信息和未来趋势。实验结果表明,本文提出的算法优于现有线性和非线性预测算法,能够对房价进行准确预测。

1国内外研究现状

国内外学者对房地产价格问题早已开展了深入研究,构建了有效的模型对房地产价格进行较为准确的预测。在研究影响房价因素方面时,国外一些学者大都通过建立基于经济学原理的传统的线性模型,对当地多宗房地产交易事件进行分析[4]。相比国外学者对房地产价格变化的先前研究,我国对房地产价格变化的研究起步较晚,但是随着我国近几年房地产业的迅速发展,国内越来越多的学者开始研究房价变化问题,如一些学者基于统计分析、回归分析、蚁群算法和神经网络等对影响房价的要素进行分析[5]。

与此同时,从国内外研究现状来看,当前已经有很多的房价预测方法,但是很多都是在经济学原理基础上建立的各种统计分析模型[6-8],例如,李丹等人利用多元回归模型对房价进行预测[7];刘永铎基于多变量自回归分析北京的房价[8]。另外,近几年一些学者使用随机森立、遗传算法等机器学习模型[9,10],多维灰色系统理论和集成学习等[11,12]对房价进行预测。但这些模型大部分都是线性模型,而房价的变化趋势复杂多变,受很多其他因素影响通常呈现非线性变化,导致基于线性的传统的预测模型对房价的变化预测误差较大。而BP神经网络具有非常强的非线性映射能力,不用具体的确定输入输出数据样本之间的函数传递关系,就能对新的数据做出比较准确的预测。因此,一些学者采用BP神经网络对房价進行预测。

综上,本文基于传统房价影响因素分析方法和BP神经网络的特点,提出一种新的基于BP神经网络的房价预测模型。下面章节将对本文提出算法和实验验证进行详细论述。

2基于BP神经网络的房价预测模型

2.1  BP神经网络原理

BP神经网络(Back Propagation Neural Network)是一种使用误差逆传播算法建模、训练、仿真的多层前馈神经网络,是当前在研究以及学术方面上运用最广泛的神经网络模型之一。BP神经网络能在所采用的数据样本的基础上存储和学习训练大量的数据样本在输入层-输出层之间的映射关系,而且不需要事先表示描述这种函数传递关系的参数和函数关系式。BP神经网络的学习训练和建模规则是使用最速下降算法,通过误差反馈的反向传播从而不断调整BP神经网络各层神经元的权值和阈值,使得BP神经网络的均方误差最小。BP神经网络的模型结构包括:输入层(input)、隐藏层(hide layer)和输出层(output layer)[3,13]。标准BP神经网络的结构如图1所示。

BP神经网络算法包括正向传播和误差反馈逆向传播两个过程,BP神经网络通过这两个过程的交替进行,在权值向量空间运行误差反馈函数梯度下降算法,不断地动态迭代设置各层神经元的权值和阈值,使得BP神经网络的输出层的误差函数达到最小值,从而能够完成对目标任务的预测和分析。

2.2  误差反向传播

设训练集

[D=x1,y1,x2,y2,...,xn,yn],[xk∈RD,yk∈RL,k∈1,2,...,n],输入数据样本由[D]维属性描述,输出维度为[L]。假设BP神经网络含有[D]个输入层神经元、L个输出层神经元、Q个隐藏层神经元的模型结构,用[θj]表示该BP神经网络的输出层的第[j]个神经元的阈值,用 [γh] 表示该BP神经网络的隐藏层第[h]个神经元的阈值,用[Vih]表示该网络的输入层的第[i]个神经元与隐藏层的第[h]个神经元之间的连接权值,用[Whj]表示隐藏层中第[h]个神经元与输出层中的第[j]个神经元之间的连接权值,用公式[ah]=[i=1DVihxi]来表示该BP神经网络中隐藏层中的第[h]个神经元接收到的输入信息,用公式[bj]=[h=1QWhjoh]来表示输出层的第[j]个神经元接收到的输入信息,其中[oh=f(ah-γh)]表示隐藏层中的第[h]个神经元的输出,[f]为BP神经网络的激活函数。在BP神经网络中,对于训练数据[xk,yk]来说,设定该BP神经网络的输出信息为[Yk=(Y1k,Y2k,...,YLk)],即:[Yjk=f(bj-θj)]。那么神经网络在训练数据[xk,yk]上的误差可以用最小二乘法表示:

因此,求解整个误差函数需要调整BP神经网络中出现的所有参数值,一步一步缩小[Ek]。在模型的求解过程中,给定适合的学习率[η],使用梯度下降法对所有参数进行更新。首先,对于每个训练样本数据,首先将输入层的原始数据样本输入到输入层的每个神经元中,然后将归一化后的信号逐层向前传递,一直到产生输出层的输出流结果;然后根据结果计算出输出层的实际误差,接着将这个误差逆向传递到隐藏层的每个神经元;然后根据隐藏层中的神经元误差对该权值和阈值进行再次调整。例如,隐藏层到输出层的权值调整值为:

上述过程迭代进行,直到满足设定条件为止,例如训练输出的误差达到了很小的值。BP算法的目标是将训练集上的累积误差最小化。

2.3 本文算法

基于BP算法的非线性拟合特性,本文提出一种新的基于BP神经网络的房价预测模型。首先,利用回归分析方法统计学习影响房产价格的典型要素;然后基于学习到的要素构建BP神经网络模型,通过历史数据训练校验网络参数,预测房价未来走势。整个算法的流程如下:

3 模型实现

3.1 数据样本选取

构造BP神经网络模型的数据样本选取对BP神经网络模型的输出预测结果影响较大,因此所选取的数据样本要尽可能客观真实地反映房价的变化规律。因此选取的房价影响因素要能反映出该地区的经济发展水平和居民的消费水平。选取和分析影响房价的所有因素来构造房价预测模型是不切实际的。在本文的选取和构造过程中,基于经济学原理和BP神经网络的参数特性,使用回归分析模型选取以下五个房价影响典型要素,即地区生产总值、地区人口总数、居民人均可支配收入、居民人均消费支出、商品房销售面积,作为房价预测模型的输入。

选取这五个主要影响房价的因素主要是是因为依据经济学原理地区生产总值通常能代表一个地区的经济发展水平,地区人口总数能反映一个地区的人口密集程度,居民的人均可收入和消费支出通常代表着人均消费水平的高低,商品房销售面积通常能代表该地区的居民买房的热度和期望以及该地区的房地产业的发展状态,这些因素都能综合的代表着该地区的经济发展水平和房地产业在该地区的发展状态,选取这五个因素来预测房价的变化趋势构造房价预测模型比较准确和具有说服力。本文采用大连市住房统计和城乡规划局以及大連统计局在网上发布的房价信息和GDP统计信息作为建模训练的数据,其数据如表2所示:

在构造设计BP神经网络模型的输入和输出时,使用前10年的数据样本作为训练和校验数据样本,即2004年-2013的数据样本。使用后四年的数据样本作为测试验证样本,即2014年-2017年4组数据作为测试验证样本。

3.2  网络参数初始化

由于BP神经网络由输入层、隐藏层、输出层以及每层神经元个数和每个神经元的阈值和权值构成,因此确定BP神经网络的层数、每层的结点个数、每个结点的阈值和权值、传递函数、激活函数、学习训练算法的同时也就确定了BP神经网络的构成[14]。

本文通过基于原始数据样本的经验法和试凑法确定上如下参数,网络中使用的训练方法是沿梯度最速下降算法,训练函数是sigmod函数,学习率是0.05,最大的训练次数的是5000次,目标误差是1e-3,神经元结点的权值和阈值均是系统初始值。

对于该BP神经网络中的隐藏层数和隐藏层的结点数在选择上比较复杂,通常的学习和指导性原则是:在能较为准确的反映出输入数据样本和输出数据样本的关系的基础上,通常选择较少的隐藏层结点数,减少BP神经网络建模和训练的时间,从而使得BP神经网络结构精炼和简单。本文中使用训练BP神经网络的方法为神经网络结构的增长型方法,就是先使用较少的隐藏层结点数,对BP神经网络进行学习和训练,并记录实际输出误差,然后逐渐增加隐藏层的结点数,一直到实际输出的误差不再有明显变化。

本文通过对同一数据样本训练和学习,保持最大循环次数等其他参数不变,改变隐藏层结点数并记录对应的实际输出的误差,选出实际输出误差最小时对应的隐藏层结点数,从而确定隐藏层结点数的大小。隐藏层结点数对应的实际输出误差如表3所示。

3.3  实验结果

本文构造的基于BP神经网络的房价预测模型采用的输入层结点数为5,即对应的地区的居民人均收入、居民人均支出、房地产销售面积、该地区的生产总值、该地区的人口总数这五个影响房价因素。采用的隐藏层数为2,隐藏层神经元结点数为5,输出层包含的神经元结点数为1,即对应的是输出的房价预测信息。为了验证本文提出的BP模型的性能,分别与ID3模型、RBF模型[14]、Hopfield模型和Elman模型[15]進行对比分析,结果如图2所示。从图中可以看出,本文提出的算法优于所有比较的线性和非线性预测算法。

ID3算法是一种典型的决策树分类算法,从图2可以看出,本文提出的基于BP的预测模型明显优于ID3线性模型。因为在面对实际问题有较多复杂的影响因素时,简单的ID3线性模型只能表示从输入流信息到输出流信息的简单映射,在处理非线性的复杂问题时会有较大的误差。而BP算法有着极强的非线性映射和高效处理多影响因素的能力,因此选用BP神经网络构造房价预测模型较好。

RBF算法即径向基函数算法是一种具有单层隐含层的前馈神经网络。与BP神经网络不同,RBF模型是一种局部逼近的神经网络模型,能够以任意的精确度来逼近任意的连续函数,适用于解决模式分类问题。从图2可以看出,RBF算法和BP算法都同样有着非常强大的非线性的映射能力,但本文算法能够得到更优的房价预测结果。真是因为RBF在数据不充分时无法有效构建神经网络,同时将一切数据参数特征和推理过程都视为数值计算,这样导致了信息丢失,同时隐含层数据中心在输入层随机选取,难以反映真实的输入输出数据关系。

Hopfield神经网络主要适用于数据样本的优化处理和联想记忆方面。相比较于BP神经网络,Hopfield神经网络需要保证在构造网络时要有对称的权值连接矩阵。因此从图2可以看出,在与实际房价变化的对比上本文提出的BP算法预测的房价变化更接近实际房价变化。

在Elman神经网络中隐含层的神经元使用的传递函数是sigmoid型函数,输出层的神经元使用的传递函数是纯线性函数,适用于数学信号处理和数值预测等方面。但从图2可以看出,本文提出的BP算法具有更好的数据拟合和预测能力,比Elman算法具有更好的性能。

综上,本文提出的BP神经网络模型能够对影响房价变化的主要因素进行有效拟合,得到准确的房价预测结果,相比于传统的非线性预测模型和RBF、Hopfield和Elman等非线性模型,本文提出的BP模型也具有更好的数据拟合和预测能力。

4结束语

本文提出一种新的基于BP神经网络的房价预测模型,首先基于经济学原理和BP神经网络的参数特性,使用回归分析模型选取影响房价变化的典型因素,然后通过BP神经网络拟合已有房价数据,预测未来房价走势。在模型的具体实现中,使用梯度下降法对模型进行训练,并通过试凑法来确定神经网络隐层结点数和实验参数。最后通过实验比较本文算法与ID3、RBF、Hopfield和Elman等线性和非线性预测算法性能,结果表明,本文提出的算法具有更好的数据拟合和预测能力。

参考文献:

[1] 李春生,李霄野,张可佳.基于遗传算法改进的BP神经网络房价预测分析[J].计算机技术与发展,2018(08):144-147.

[2] 靖苏玉.无锡市商品住宅价格影响因素及预测研究[D].南京大学,2019.

[3] 董志贵,王福林,宋庆凤,等.基于BP神经网络的无约束优化方法[J].统计与决策,2019,35(01):81-84.

[4] Dubin R A.Predicting House Prices Using Multiple Listings Data[J].Journal of Real Estate Finance & Economics, 1998,17(1):35-59.

[5] 田润泽.基于多种机器学习算法的波士顿房价预测[J].中国新通信,2019,21(11):228-230.

[6] 王瑾,崔玉杰,李仝.统计模型在北京市商品房价格预测上的应用[J].劳动保障世界,2018(03):62.

[7] 李丹,朱家明,李薇,等.基于多元回归模型的房价影响因素研究[J].辽宁工业大学学报(自然科学版),2019,39(03):206-210.

[8] 刘永泽.基于多变量自回归分析的北京房价预测研究[J].现代商贸工业,2019,40(06):193-195.

[9] 李宇琪.基于随机森林的房价预测模型[J].通讯世界,2018(09):306-308.

[10] 李春生,李霄野,张可佳.基于遗传算法改进的BP神经网络房价预测分析[J].计算机技术与发展,2018,28(08):144-147+151.

[11] 李金枝,王旭.基于多维灰色系统理论的房价预测[J].山西建筑,2019,45(08):210-211.

[12] 陈羽裳.基于集成学习的房价预测方法研究[J].中国新通信,2019,21(07):222-223.

[13] 司继文,韩莹莹,罗希.Hedonic住宅特征价格模型的BP神经网络方法[J].管理学报,2012,9(7):1007-1012.

[14] 张志勰,虞旦.BP和RBF神经网络在函数逼近上的对比与研究[J].工业控制计算机,2018,31(05):122-123.

[15] Jia W,Zhao,Dean,Zheng,Yuanjie,et al.A novel optimized GA–Elman neural network algorithm[J].Neural Computing & Applications,2017(6):1-11.

【通联编辑:朱宝贵】

猜你喜欢

BP神经网络特征选择
Kmeans 应用与特征选择
基于GA和ELM的电能质量扰动识别特征选择方法
联合互信息水下目标特征选择算法
基于特征选择聚类方法的稀疏TSK模糊系统
基于特征选择和RRVPMCD的滚动轴承故障诊断方法
基于二元搭配词的微博情感特征选择