美文网首页
小项目 上海二手房数据分析

小项目 上海二手房数据分析

作者: 嘘_35d2 | 来源:发表于2019-01-12 19:11 被阅读0次

    本文所使用的数据是安居客的二手房数据(爬虫水平不怎样,一爬就404了,所以这边直接用八爪鱼给抓了数据,爬虫的程序之后补上,用八爪鱼爬非常简单,不会的同学可以参一下这个链接https://wenku.baidu.com/view/11cece9859f5f61fb7360b4c2e3f5727a5e924d2.html)。我总共导出了1000多条数据。

    我是一个纯小白,所以数据分析的流程参考了https://blog.csdn.net/Caesar1993_Wang/article/details/80237461,并对里面的代码进行了一点自己的补充。

    一、初步分析

    1、整体二手房房价分析

    上海二手房单为面积价格(元/平方米):

    最高价格为:260504

    最低价格为:8077

    平均价格为:41600.63542642924

    中位数为: 37463.0

    从图像上看上海二手房房价的分布

    图像显示上海市二手房呈现右偏分布。

    2、影响房价的因素分析

    (1)区位因素的影响

    首先让我们看一下不同行政区的房价情况:

    小项目 上海二手房数据分析 小项目 上海二手房数据分析 小项目 上海二手房数据分析

    从图中结果可以看出崇明的二手房房价最低,徐汇、长宁的价格非常高,几乎是上海周边、崇明的8倍。让我们对各个行政区的房价箱线图,看其数据的分布情况:

    小项目 上海二手房数据分析 小项目 上海二手房数据分析

    箱线图显示浦东、徐汇、静安有较高的异常值点,上海周边、崇明、金山的房价较低且分布集中。

    (2)面积对房价的相关性分析

    小项目 上海二手房数据分析 小项目 上海二手房数据分析 小项目 上海二手房数据分析

    从散点图中可以看出第一梯队的黑色散点相对偏向左上方,前一梯队的整体上高于后一梯队。面积与房价的具体关系,我在这里用一元线性回归的结果具体展示:

    小项目 上海二手房数据分析 小项目 上海二手房数据分析

    1.1上面直线图显示,第一梯度的线斜率均为正,即随面积的增加,单位房价在增加,并且相比于其他线基本上更为陡峭,也就是位于繁华地带的上海二手房房价单价随面积增加的斜率更大。

    2.2金山、虹口、杨浦的房子竟然随着面积的增大,单位面积的房价在减少

    3.3第二梯度的二手房,随着面积增加二手房的单位面积价格也在增加 #总结来看,繁华地段的房子真的很值钱,寸金寸土,而不是繁华地段的房子单位面积价格增幅就比较少,也就没有像繁华地带那么值钱

    二、区位的进一步分析

    前文已经对各个区位的房价进行了粗略的分析,接下来将进行区位的进一步分析。

    (1)绘制二手房的热力图

    绘制二手房热力图的时候,我们需要各个房子的经纬度坐标,这里可以借助百度API进行获取。

    【获取百度api方法:前往http://lbsyun.baidu.com/,注册后进入控制台,创建应用,注意应用类别需要时浏览器端,不然打不开。创建完成后,你便会得到你的ak,之后便可用这个ak爬取你的数据啦】

    小项目 上海二手房数据分析 小项目 上海二手房数据分析 小项目 上海二手房数据分析

    将得到经纬度数据保存后,我们可以读取它,并将经纬度、价格数据进行成之后可以填进网页的格式,转换方式如下:

    小项目 上海二手房数据分析

    得到经纬度,价格数据后,可以把var points的数据改成你自己的。(这边用到的网页代码是我去http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=135854粘过来的)

    小项目 上海二手房数据分析

    然后因为我研究的是上海二手房,所以把var point=new BMap.Point(经度,纬度)改成上海的经纬度(121.48038,31.236363)。

    最后会绘制结果如下:

    小项目 上海二手房数据分析

    关于绘制热力图方法,这边写的很粗略,有兴趣的可以看一下这个网页:https://blog.csdn.net/xxzj_zz2017/article/details/79396980

    (2)获取各房源距区政府、最近地铁站的距离

    以获取房源的方式,同样爬取上海市地铁站、区政府的坐标位置:

    小项目 上海二手房数据分析 小项目 上海二手房数据分析

    在计算区政府与最近地铁站距离的时候,可以采用百度地图API获取,我这边直接用经纬度的计算方法进行了一个计算(参考链接:https://blog.csdn.net/koryako/article/details/51864161)

    与区政府的距离计算方法与这个一致

    我们将得到的距离数据与价格同样绘制散点图,看两两之间是否存在关系

    由于这里不同房子与政府的距离相差过大,导致x轴很奇怪,若要细致一点可进行分组来画图

    上图显示长宁区等第一梯队的区域虽然离区政府远,但不不影响它们房价的高

    小项目 上海二手房数据分析

    #本份数据大部分的房源离地铁站都挺近的,对于四个梯度的房子来说,散点图没有很明显的趋势显示地铁对房价的影响,需要做进一步研究。

    三、机器学习预测

    到此,我已经将做预测需要的数据收集完毕,

    实际上影响房价的因素有很多,因此接下来采用机器学习方法综合考虑多个因素对房价的影响,并建立预测模型

    本份数据涉及4个自变量(房屋面积、所在行政区划、与区政府及与最近地铁站之间的距离)和1个因变量(房价)

    行政区划特征为文字,这里需要使用one-hot编码(https://www.cnblogs.com/lianyingteng/p/7792693.html)

    在进行预测前,首先使用one-hot编码修改特征"district"

    小项目 上海二手房数据分析

    1、线性回归预测

    小项目 上海二手房数据分析 小项目 上海二手房数据分析

    散点图显示,模型预测效果良好,但当房价高起来时没有低房价的预测效果好。

    2、支持向量机回归

    小项目 上海二手房数据分析

    支持向量机回归中选用不同核函数进行回归,具体结果为:

    小项目 上海二手房数据分析

    各结果显示的是在测试集上的拟合结果,其中径向基核函数的支持向量机回归效果较好,但略差于线性回归

    3、集成模型回归

    集成模型这里选用了随机森林、极度随机森林、梯度提升回归进行研究。

    把所需要的库先import进来

    小项目 上海二手房数据分析 小项目 上海二手房数据分析 小项目 上海二手房数据分析

    使用三种集成模型的回归结果来看,随机森林的回归效果较好,且比支持向量机回归结果要好。

    将随机森林的回归结果同样可视化:

    小项目 上海二手房数据分析

    对比线性回归和随机森林的图,直观上随机森林回归在高房价预测时的预测效果要好一点。

    四、结语

    本篇通过八爪鱼获取上海市二手房数据,利用百度API获取房源具体位置,计算得到房源距离区政府、最近地铁站的距离,最后利用房价与面积、两个距离、区政府划分情况进行房价预测。

    后面的机器学习预测写的比较笼统,因为我不太懂这些算法后面的原理,所以会找时间具体看一下推一下,在对这份数据做更有效全面的分析。

    相关文章

      网友评论

          本文标题:小项目 上海二手房数据分析

          本文链接:https://www.haomeiwen.com/subject/qkucdqtx.html