基于DBSCAN-DNN的房地产价格预测
2022-03-19陈琦越梁复荣黄锐权邱梓杰
陈琦越 梁复荣 黄锐权 邱梓杰
摘 要:影响房价的因素不再仅限于地区,还受出行便利程度、房屋区域热度的影响。针对房屋集群的识别与进一步研究,对于及时把握供需关系、价格等都有极大的帮助。文章基于密度的聚类(DBSCAN)和深度神经网络(DNN),对房屋集群进行识别聚类,根据簇的结果与房价影响因素训练神经网络,达到房价预测的效果。实验结果表明,对所采用的数据进行预测达到准确的效果。通过研究,可为集群房屋区位定价提供参考。
关键词:房地产;DBSCAN聚类算法;空间格局
中图分类号:F293.35 文献标识码:A 文章编号:1005-6432(2022)06-0001-03
DOI:10.13939/j.cnki.zgsc.2022.06.001
关于房屋集群,马小宾等人[1]利用DBSCAN算法对民宿集群进行分类,找出Airbnb民宿区位分布特征。汤新程等人[2]利用BP神经网络预测邯郸市房价。文章采用基于密度的聚类(DBSCAN)和人工神经网络(DNN),对UCI机器学习储存库中房屋数据集进行识别,形成簇并分类,根据簇的结果与房价影响因素训练神经网络,最终达到房价预测的目的。
1 数据来源
文章采用的数据是台湾淡江大学分享的关于台湾省新北市新店区的房地产估计数据集,该数据集一共包含了414条房地产交易数据。数据主要包括房屋所在地的经纬度、房屋年龄、距离捷运站(地铁站)的距离等。从位置以外的变量来看,所选的变量如地铁站、便利店數量,都是城市基础设施的一部分,短时间有大变动的概率比较低,基于该数据可以得到一定时间内设施存在对该地区房价的合理影响。首先,对数据进行探索,特别对数据集中提供的经纬度数据进行可视化,其结果如下。
通过图1可以看出,数据点的地理位置分布呈现一定的聚集性,但是具体的分类数和分类方式有待确定。通过分析,最终采用DBSCAN方法进行聚类。通过调节参数来调节聚类数,并且和后面的预测算法相结合,寻求最优的分类方式。
2 模型
2.1 DBSCAN
Density-based Spatial Clustering of Applications with Noise(DBSCAN)是由Ester等人提出的一种基于密度数据的聚类算法,被广泛应用于地理研究、统计学研究。它最大的特点是所需变量少,只需要半径(r)和最小点个数(MinPts)两个参数,根据所给的半径找出突变点,在给定的半径内进行扫描,若大于所给的密度阈值,则称该点为核心点,形成一个集合,再从核心点出发,寻找新的密度相连的点,作为新的核心点进行集群,形成新的簇,最终形成簇群的一个过程。文章借助于聚类算法对台湾新北市新店区分布特征进行识别,并形成群簇。
2.2 DNN神经网络
Deep Neural Networks(DNN)与传统的人工神经网络(ANN)的区别在于,DNN相较于ANN,在输入与输出之间插入了许多隐藏层,层与层之间通过神经元相连。DNN的工作原理和感知机是一样的,由线性函数(w)和激活函数构成(softmax分类器等)。在多维的情况下,分类器无法进行进一步的学习,因此DNN引入了偏倚,通过偏倚联通隐藏层,进行进一步学习,上一层的输出不断向下一层输出。DNN算法利用输入数据经过隐藏层中的不断优化以后,得出最优结构。文章中,DNN算法将在最优簇群的情况下进行训练。
2.3 模型结构
文章最终采用的模型结构如下:首先,利用DBSCAN算法,利用经纬度数据对样本进行聚类,获得样本相应的类别。其次,对数据集进行划分(80%训练集,20%测试集),将其他标签和类别标签一起,作为DNN输入、输出房价的预测值。通过梯度下降和反向传播,获得训练好的模型并用于预测。
3 数据实验
3.1 (地理位置)聚类(3,5,7)类——基于DBSCAN算法
本小节调节参数以获得不同的聚类效果,下面对其进行展示(该部分未接入预测算法,仅做探索)。其对应的参数设置如表1所示。
可视化聚类结果如图 3所示。
可以看出,通过调节不同的聚类参数,可以得到不同的聚类效果。但是,并不是分类数越多越好,分类数较多容易产生过拟合。下面将连接预测算法,查看最佳的分类方式。
3.2 神经网络(12个神经元)
文章最终将构建房价预测模型,经过DBSCAN处理后,将原本标签和类别标签一起作为神经网的输入,首先设置神经网络的层为4层(输入层、2个隐藏层和输出层),而类别数设置为3、5、7并进行实验。loss的计算公式如下:
其中,yturei表示样本真实值,ypredicti表示样本预测值,N为样本数量。最终训练结果如下。
从图4右图可知,在神经网络结构相同的情况下,分为三个类别数据集,在训练集和测试集上都表现出比其他分类数更好的结果,且能够较快地达到一个收敛值(0.0080),其具体训练数据如表2所示。
3.3 调节神经元个数(6,12,15个),得到15个效果最好
在分类数为三的情况下调节神经网络参数,以获得一个较好的预测模型。分别在隐藏神经元个数为6,12,15情况下进行实验,可获得如下实验结果,见图5。
观察可知,15个神经元的情况下模型的效果最好(右图为局部放大效果),数据如下。
4 结论与讨论
实验表明,在神经网络结构固定的情况下,对经纬度数据进行3类是最好的训练结果。在此基础上,固定聚类类别,修改神经网络结构。可知,15个神经元数时损失值最小,模型结构最优。文章中,使用了位置、屋龄等变量,融合DBSCAN和DNN对未来房价进行预测,达到了一个较为有效的预测结果,文章的研究具有一定的参考价值。但是,实际的房屋交易市场中,影响价格的因素可能不止文中研究的变量,这也是文章研究的不足之处。
参考文献:
[1]马小宾, 侯国林, 李莉, 等. 基于 DBSCAN 算法的民宿集群识别、分布格局及影响因素——以南京市为例[J].人文地理, 2021, 36(1):84-93.
[2]汤新程, 王志海. 基于BP神经网络的房价预测研究——以邯郸市为例[J].统计学与应用, 2019, 8(5):6.
[3]高玉明, 张仁津. 基于遗传算法和 BP 神经网络的房价预测分析[J].计算机工程, 2014, 40(4):187-191.
[4]李东月. 房价预测模型的比较研究[J].工业技术经济, 2006, 25(9):65-67.
[5]侯普光, 乔泽群. 基于小波分析和 ARMA 模型的房价预测研究[J].统计与决策, 2014(30):15.