个人主页:@大数据蟒行探索者
目录
摘要:围绕中国主要城市经济指标与住宅价格的关联展开分析,旨在构建房价预测模型。首先对 2012-2021 年城市经济与住宅市场数据进行预处理,通过清洗重复值、填充缺失值、处理异常值及创建衍生变量(如第三产业占比、财政收支比等)提升数据质量。随后从七大维度开展数据探索分析,揭示变量间内在规律。在此基础上,对比线性回归、随机森林、XGBoost 等多种模型性能,通过交叉验证和可视化评估发现,XGBoost 模型以 R² 分数 0.9866、RMSE 值 662.17 元 /㎡的最优表现成为首选,其拟合能力与预测精度显著优于其他模型。研究同时指出数据缺失、模型过拟合及变量关系分析深度等问题,并提出优化数据处理技术、引入时间序列分析及深化变量关联挖掘等改进方向,为城市房价预测与经济政策分析提供了科学依据与方法参考。
关键词:城市经济指标 住宅价格预测 数据预处理 模型对比分析
一、数据分析目标与任务
1.1背景介绍
近年来,中国城市化进程持续加速,城市经济与房地产市场的发展已成为国民经济的重要支柱。作为居民生活的基本需求与核心资产,住宅价格不仅直接关系到民生福祉,更是区域经济发展水平、资源集聚能力及政策调控效果的直观体现。随着“房住不炒”政策的深化落实,房地产市场逐步从高速增长转向高质量发展阶段,但城市间房价分化现象日益显著,一线城市与部分二线城市房价居高不下,而中西部及东北地区部分城市则面临需求不足、价格增长乏力等问题。在此背景下,探究城市经济指标与住宅价格的内在关联机制,识别关键驱动因素,对优化房地产调控政策、促进区域经济协调发展具有重要意义。
1.3研究意义
分析城市经济与住宅市场的关联机制:通过 36 个城市 2012-2021 年的经济与住宅市场数据,探究城市经济指标(如 GDP、产业结构、财政收支等)与住宅价格(含商品房、二手房)的相互影响关系,识别影响住宅价格的关键经济驱动因素。
构建住宅价格估值模型:以具体城市(如数据完整度较高的城市)为例,结合经济指标与住宅市场数据(如房地产开发投资额、销售面积、价格等),建立房价预测模型,为城市住宅市场调控与居民购房决策提供参考。
揭示区域差异与空间分布特征:对比不同城市的住宅价格及其影响因素,分析经济发展水平、人口结构(户籍人口缺失需注意)与住宅市场的空间差异,为城市分类施策提供依据。
2.数据预处理
2.1数据说明
(1)字段说明
- 城市:包含了36个城市
- 年份:从2012年到2021年
- 地区生产总值(当年价格)(亿元)
- 第一产业增加值(亿元)
- 第二产业增加值(亿元)
- 第三产业增加值(亿元)
- 地方一般公共预算支出(亿元)
- 地方一般公共预算收入(亿元)
- 年末户籍人口(万人)
- 城镇非私营单位在岗职工平均工资(元)
- 住户存款余额(亿元)
- 房地产开发投资额(亿元)
- 商品房销售面积(万平方米)
- 商品房平均销售价格(元/平方米)
- 住宅商品房销售面积(万平方米)
- 住宅商品房平均销售价格(元/平方米)
- 需要注意的数据缺失情况:
- 所有城市的户籍人口数据在2020年和2021年这两年是缺失的。
- 拉萨在住房存款、房地产相关字段存在缺失值。
图 1数据说明运行结果
(2)数据缺失情况
系统性缺失:所有城市的年末户籍人口 (万人) 字段在 2020 年和 2021 年缺失。
个别城市缺失:拉萨市在住户存款余额 (亿元)、房地产开发投资额 (亿元) 等房地产相关字段存在缺失值。
(3)数据格式与结构
数据类型:数值型字段(如 GDP、价格)均为float64,分类字段(城市、年份)为object。
数据规模:原始数据共360条记录。
2.2数据清洗
(1)缺失值处理
在数据处理的过程中,我们经常遇到数据集中的缺失值问题,这些缺失值如果不加以妥善处理,可能会严重影响数据分析的准确性和可靠性。因此,需要对其他缺失值进行适当处理,以降低它们带来的影响。这包括但不限于使用统计方法估算缺失值,或者根据数据的特性选择合适的插补策略。
图 2缺失值检查代码
检查发现有以下缺失值,下面将对缺失值进行处理:
图 3缺失值检查运行结果
①户籍人口填充(2020-2021 年):
方法:使用各城市 2019 年户籍人口数据 填充后续两年缺失值。
逻辑:户籍人口在短期(2-3 年)内变化相对稳定,采用最近邻年份数据填充可降低误差。
图 4户籍人口填充代码
图 5户籍人口填充运行结果
②拉萨市缺失值填充:
方法:使用其他城市同一年份的均值填充拉萨市缺失的房地产相关数据。
逻辑:拉萨市房地产市场规模较小,其数据特征与其他城市存在差异,但同年度全国趋势具有可比性。
图 6拉萨缺失值处理代码
③其他缺失值删除:
需要对其他的缺失值进行处理,减少缺失值的影响。
图 7其他缺失值处理代
图 8其他缺失值处理运行结果
(2)重复值处理
在数据处理的过程中,识别并处理重复值是一项重要的任务。重复值可能会对数据分析的结果产生不利影响,因此需要特别注意。
在本次数据处理中,我们使用了pandas库中的df.duplicated()函数来检测数据集中的重复记录。经过检测,我们发现数据集中不存在重复的数据,即重复值的数量为0。因此,我们可以确定数据集是干净的,无需进行删除重复记录的操作。
图 9重复值处理代码
图 10重复值处理代码运行结果
(3)异常值处理
在数据分析过程中,异常值的检测和处理是至关重要的一步。异常值指的是那些与数据集中的其他数据显著不同的观测值,它们可能是由于测量错误、数据录入错误、或者真实的变异造成的。为了确保数据分析的准确性和可靠性,我们需要对这些异常值进行适当的处理。
检测方法:为了识别数值型字段中的异常值,我们通常采用IQR(四分位距)法。这种方法基于数据的分布特性,通过计算第一四分位数(Q1)和第三四分位数(Q3),进而得到四分位距(IQR)。异常值的判定标准是基于Z-score,即数据点与均值的偏差程度。当Z-score大于3时,该数据点通常被认为是异常值。
处理逻辑:一旦检测到异常值,我们采取的处理方式是截尾处理(clip)。这种处理方式的目的是将异常值限制在一定的范围内,以减少它们对整体数据分析结果的影响。具体来说,我们将异常值限制在[Q1-3IQR, Q3+3IQR]的区间内。这个区间是基于数据的四分位数计算得出的,能够有效地包含大部分正常的数据点,同时排除掉极端的异常值。
图 11异常值处理代码
无输出表明无异常值
图 12异常值处理代码运行结果
(4)衍生变量创建
为增强数据特征,创建以下 6 个衍生变量:
图 13衍生变量代码
2.3 数据清洗结果
经过清洗的数据规模:在删除了剩余的缺失值之后,我们成功保留了288条有效记录,确保了数据集的质量和完整性。
数据质量的显著提升:
针对户籍人口和拉萨市的数据,我们已经有效地填充了所有缺失值,这使得数据集完全满足了后续建模的需求。
所有异常值都经过了仔细的处理,数值型字段的分布现在更加稳健,这有助于提高模型的准确性和可靠性。
通过衍生变量的引入,我们极大地丰富了特征维度,这为后续的数据分析和模型构建提供了坚实的基础和有力的支撑。
图 14预处理结束运行结果
2.4数据预处理总结
本阶段通过 缺失值填充、异常值处理 和 衍生变量创建,显著提升了数据完整性和可用性,为后续探索性分析和模型构建奠定了基础。关键处理逻辑已通过代码实现,确保数据清洗过程可复现、可验证。
三、数据探索分析
1. 数据总体概览 - 了解数据规模和基本统计特征
图 15数据探索运行结果
- 数据完整性
各个统计字段(地区生产总值、第一产业增加值等)的count值均为 360,这表明在进行统计时,这些字段在数据集中的记录数量是一致的,没有出现某个字段记录数明显少于其他字段的情况,说明数据在这些关键指标上相对完整,没有大量因缺失值导致的记录剔除。
- 数据集中趋势(均值和中位数)
地区生产总值(当年价格):均值为 8833.78 亿元,中位数(50% 分位数)为 6554.06亿元 ,均值大于中位数,说明地区生产总值数据可能存在一些较大的值(右偏分布),拉高了平均值。
第一产业增加值:均值 259.45亿元,中位数234.24亿元,同样均值略大于中位数,可能存在部分较大的第一产业增加值数据影响均值。
其他指标:类似地,通过比较均值和中位数,能初步判断各指标数据分布是否对称,是否存在一些极端值影响均值。
- 数据离散程度(标准差)
地区生产总值(当年价格):标准差为7625.71亿元,数值较大,说明不同城市的地区生产总值差异较大,城市间经济规模差距明显 。
第一产业增加值:标准差为216.73亿元,反映出各城市第一产业增加值的波动程度,说明不同城市第一产业发展水平有一定差异。
标准差越大,说明数据的离散程度越高,各城市在对应指标上的差异越显著。
- 数据取值范围(最小值、最大值和分位数)
最小值和最大值:以地区生产总值为例,最小值为260.10亿元,最大值为35761.40亿元,极差非常大,进一步说明城市间经济规模差距巨大。
分位数:25% 分位数表示有 25% 的数据小于该值,75% 分位数表示有 75% 的数据小于该值。通过这些分位数,可以了解数据的分布区间,比如人均 GDP 的 25% 分位数为 0.14 万元,75% 分位数为 0.23 万元 ,说明大部分城市的人均 GDP 集中在这个区间内。
⑤衍生指标分析
人均 GDP(万元):均值为 0.27 万元,结合其标准差、分位数等信息,可以对不同城市居民的平均经济产出水平及其差异程度有初步认识。
房地产投资占比:均值 0.05,标准差 0.07,说明不同城市房地产投资占地区生产总值的比例差异相对较大,部分城市可能在房地产投资上的比重较高或较低。
住宅销售面积占比:均值 0.85,说明总体上住宅销售面积在商品房销售面积中占比较高,但标准差 0.07 也显示出城市间存在一定差异。
总体而言,这些统计描述为进一步深入分析中国主要城市的经济结构、产业发展水平、房地产市场等方面提供了基础。
- 可视化呈现结果
(1)住宅价格分布分析 - 理解目标变量的分布特征
分析目的:通过直方图展示价格的分布形态,我们可以直观地判断数据是否呈现出正态分布的特征。直方图作为一种统计图表,能够清晰地描绘出价格数据在不同区间的频率分布情况,这对于理解数据的基本特征至关重要。此外,箱线图的使用能够帮助我们识别数据中的异常值,即那些远离主体分布的点,这些异常值可能对后续的建模工作产生影响。同时,箱线图还能展示数据的分布范围,包括最小值、第一四分位数、中位数、第三四分位数以及最大值,这些信息对于评估数据的波动性和集中趋势非常有用。因此,这些图表提供的信息对于后续的数据建模和异常处理工作具有重要的指导意义,它们能够帮助我们更好地理解数据,从而做出更加准确的预测和决策。
图 16住房分析代码
图 17住房分析运行结果
住宅价格分布直方图(左图)
价格集中区间:住宅价格在 5000 - 10000 元 / 平方米区间频数最高,说明大部分住宅价格集中在此范围,反映出市场上该价格段的住宅供应或交易较为活跃 。
价格分布形态:整体呈现右偏态分布,即价格较低的住宅数量较多,随着价格升高,住宅数量逐渐减少,但存在一些价格较高的极端值,拉高了价格的上限 。
长尾特征:在价格较高的区域(如 25000 元 / 平方米以上)仍有少量住宅,表明市场上存在一定数量的高价住宅,可能是高端房产项目 。
住宅价格箱线图(右图)
中位数:箱线图中间的横线代表中位数,从图中可以看出住宅价格的中位数大致在 8000 - 9000 元 / 平方米左右,说明有一半的住宅价格低于该数值 。
四分位数范围(IQR):箱体的上下边界分别为下四分位数(Q1)和上四分位数(Q3),反映了数据的中间 50% 的分布范围。图中箱体显示大部分住宅价格集中在一个相对较窄的区间,说明数据的中间部分较为集中 。
异常值:图中箱体上方的圆圈代表异常值,即价格较高的极端数据点。这些异常值表明存在一些价格远高于中位数和大部分样本的住宅,可能是豪华住宅、城市核心地段房产等 。
数据离散程度:通过箱体的长度和异常值的分布,可以看出住宅价格存在一定的离散程度,即不同住宅之间价格差异较大 。
综合两张图表来看,住宅价格在整体上呈现出一定的集中趋势,但也存在明显的价格差异,高价住宅作为异常值或长尾部分存在于市场中,反映出住宅市场的多样性和层次性。
(2)时间趋势分析 - 观察住宅价格随时间的变化规律
分析目的:本研究的主要目标是识别价格变化的趋势,这包括价格的上升、下降以及周期性波动。通过对价格历史数据的深入分析,我们旨在揭示价格变动的模式和规律。此外,我们还计划比较国内生产总值(GDP)与房地产市场价格趋势之间的关联性,以了解经济增长与房价之间的相互作用。进一步地,我们希望发现可能影响价格的时间因素,例如政府政策的变化、经济周期的转折点、市场供需关系的变动等。通过这些分析,我们期望能够为投资者、政策制定者以及市场分析师提供有价值的见解和预测。
图 18时间趋势分析代码
图 19时间趋势分析运行结果
住宅价格时间趋势图(左图)
价格增长趋势:2012 - 2019 年间,住宅价格呈现持续上升趋势。2012 年价格处于较低水平,随后逐年攀升,尤其是 2016 - 2019 年期间,价格上升幅度更为明显 ,显示出房地产市场在这一阶段的强劲增长势头。
增长速度变化:前期(2012 - 2015 年左右)价格增长相对平缓,每年的价格涨幅较小;而在 2016 年后,增长速度加快,可能受到土地供应政策、市场需求变化、金融政策等多种因素的综合影响 。
GDP 时间趋势图(右图)
GDP 增长趋势:2012 - 2019 年间,GDP 同样保持持续增长态势。起始年份 GDP 处于相对较低值,之后随着时间推移稳步上升,反映出经济总体处于增长阶段 。
增长稳定性:从图中可以看出 GDP 增长相对较为稳定,每年的增长幅度相对均衡,没有出现大幅波动的情况,说明经济发展在这一时期具有一定的稳定性和连贯性 。
总体而言,这两张图为研究经济发展与房地产市场的关系提供了直观的数据趋势展示,后续可进一步通过定量分析(如计算相关系数、建立回归模型等)来深入探究两者的内在联系。
(3)相关性分析 - 确定哪些经济指标与住宅价格最相关
分析目的:本研究旨在深入探究影响房价的关键因素,通过数据分析揭示哪些变量对房价具有决定性的影响。此外,本研究还致力于发现变量之间可能存在的多重共线性问题,即多个变量之间存在高度相关性,这可能会对模型的预测能力产生不利影响。通过对这些因素的深入分析,我们希望能够为特征选择提供科学合理的依据,从而优化房价预测模型,提高其准确性和可靠性。
图 20相关性代码
图 21相关性运行结果
相关性方向与强度
正相关指标:
住户存款余额:与住宅价格相关性较高,系数达 0.91,表明居民存款越多,可能越有能力购房,从而推动房价上升 。
房地产开发投资额:相关性为 0.81 ,意味着房地产开发投资增加,可能带来更多住房供应或提升房产品质等,与房价上升有一定关联。
城镇非私营单位在岗职工平均工资:与住宅价格相关性为 0.57 ,说明职工平均工资提高,居民购房支付能力增强,对房价有正向拉动作用。
负相关指标:
地区生产总值(当年价格):与住宅价格呈现微弱负相关(-0.17),可能是因为地区生产总值涵盖多个产业,产业结构复杂,并非简单的 GDP 增长就直接对应房价上升,或者存在数据波动等因素影响了相关性表现。
住宅销售面积占比:与住宅价格负相关(-0.24) ,可能表示住宅销售面积占比高时,市场上住宅供应相对充足,在需求不变或增长缓慢情况下,对房价有抑制作用。
指标间关联
一些经济指标之间也存在相关性,例如地方一般公共预算收入和支出相关性较高(0.97) ,说明财政收支之间存在紧密联系,可能影响城市基础设施建设、土地开发等,间接影响房价。
第三产业占比与部分指标也存在关联,如与地方一般公共预算收入相关性为 0.20 ,反映出产业结构变化可能对城市财政和房地产市场产生连锁反应。
(4)关键驱动因素分析 - 深入分析影响房价的主要因素
分析目的:
通过验证预期的关系,例如商品房价格与住宅价格之间应该存在高度的相关性,我们可以发现数据中的异常点或者揭示出潜在的非线性关系。这样的分析结果不仅有助于我们理解市场动态,而且能够为构建更加精确和有效的经济模型提供坚实的理论支持和数据基础。
图 22关键驱动因素分析代码
图 23商品价格关系分析运行结果
整体关系
正相关趋势:散点分布呈现出明显从左下角至右上角的趋势,说明商品房平均销售价格与住宅商品房平均销售价格之间存在正相关关系。即一般情况下,商品房价格越高,住宅价格也越高 。这符合市场认知,因为住宅是商品房的重要组成部分,二者价格走势相互关联。
数据离散程度
数据离散性:散点并非完全集中在一条直线上,而是有一定的离散程度。这表明虽然二者存在正相关关系,但并非严格的线性对应。除了商品房价格,还有其他因素会影响住宅价格,如房屋类型(普通住宅、别墅等)、区位优势(学区房、地铁房等)、小区配套设施、物业服务质量等 。这些因素会使住宅价格在商品房价格的基础上产生波动。
(5)区域差异分析 - 探索不同城市和区域的房价差异
分析目的: 识别高房价城市及其特征,通过对比分析揭示这些城市房价高企的原因;发现区域经济发展与房价之间的相互关系,探究经济增长、人口流动、政策调控等因素如何影响房价;为区域化模型提供依据,帮助政策制定者、投资者和普通市民更好地理解房地产市场的动态,从而做出更为明智的决策。
图 24区域化差异分析代码
图 25区域化差异分析运行结果
城市住宅价格差异
价格排名:深圳的住宅平均销售价格最高,位居榜首,其次是北京,上海排名第三 。厦门、杭州、广州等城市也位列前十。这反映出这些城市在房地产市场上的高价值地位,通常这些城市经济发达、人口吸引力强、资源集中。
价格梯度:从图中可以看出,排名靠前的城市(如深圳、北京、上海)与排名靠后的城市(如天津、福州)之间住宅价格存在明显梯度差异 。这种差异可能源于城市的经济发展水平、土地资源稀缺程度、人口密度、政策调控力度等多种因素。
市场特征与影响因素
经济与人口因素:像深圳、北京、上海这样的一线城市,经济发展水平高,汇聚了大量的优质企业、教育、医疗等资源,吸引了大量人口流入,住房需求旺盛,尤其是对高品质住宅的需求,推动了房价上涨 。
政策与资源因素:厦门、杭州等城市,可能由于独特的地理位置、旅游资源、互联网产业发展等因素,也吸引了大量投资和人口,加上土地供应等政策因素影响,住宅价格也处于较高水平 。
(6)空间分布特征 - 按区域分组分析房价差异
分析目的:本研究的主要目标是揭示区域经济发展不平衡对房地产市场的影响,通过深入分析不同地区的经济发展水平与房价之间的关系,识别出房价的热点区域。通过对这些区域的详细研究,旨在为政府和相关决策机构提供有力的数据支持和理论依据,以便于制定更加精准和有效的区域化政策,促进房地产市场的健康发展,缓解区域间经济发展的不平衡现象。
图 26空间分布特征代码
图 27 空间分布特征运行结果
区域住宅价格差异
价格高低排序:华南地区住宅商品房平均销售价格最高,其次是华东地区 ,华北地区位列第三。西北区域的住宅价格最低,西南、东北区域价格也相对较低。这表明不同区域的住宅价格存在明显差异。
价格梯度明显:华南、华东、华北区域的住宅价格显著高于西南、东北和西北区域,显示出我国不同区域房地产市场发展不均衡。这种差异可能与区域经济发展水平、人口流动、土地资源状况、城市化进程等因素有关。
市场特征与影响因素
经济发展水平:华南和华东地区经济较为发达,有较多的经济中心城市和产业集群,吸引大量人口流入,住房需求旺盛,推动房价上升。例如,华南的深圳、广州,华东的上海、杭州等城市,经济活力强,对房地产市场有较强支撑。
人口流动与城市化:人口流入量大、城市化进程快的区域,住房需求增长快,会带动房价上涨。相比之下,东北、西北等区域,近年来人口流出较多,城市化进程相对缓慢,住房需求不旺,房价相对较低。
政策因素:不同区域的房地产调控政策、土地供应政策等也会影响房价。例如,一些经济发达区域可能实施更严格的限购、限贷政策来抑制房价过快上涨,而一些欠发达区域可能通过宽松政策刺激房地产市场发展。
3.探索结论
通过对中国主要城市2012-2021年经济与住宅市场数据的系统性分析,研究揭示了城市经济指标与住宅价格的复杂关联机制、区域差异及市场特征。数据经清洗后保留288条有效记录,关键指标分布更趋稳健,衍生变量构建进一步丰富了特征维度。整体来看,住宅价格呈现显著右偏分布,多数城市集中在5000-10000元/平方米,但深圳、北京等城市存在25000元/平方米以上的高价极端值,反映出市场分化与高端住宅的存在。经济指标方面,GDP、人均收入等区域差异显著,东部沿海城市经济规模远超中西部,与房价分布形成协同效应。
从时间趋势看,2012-2019年住宅价格与GDP均呈持续增长,2016年后房价增速加快,印证经济增长对房地产市场的支撑作用。关键驱动因素分析表明,住户存款余额、房地产开发投资额、城镇职工平均工资与房价呈强正相关,体现居民购买力与投资规模的核心作用;而住宅销售面积占比与房价负相关,反映供应过剩对价格的抑制效应。产业结构方面,第三产业占比高的城市房价更具优势,服务业主导型经济对房价的拉动作用显著。
区域差异层面,华南、华东地区房价最高,西北、东北地区最低,与经济发展水平、人口流动方向高度吻合。深圳、北京等一线城市因经济集聚、人口流入和土地稀缺性领跑全国,而中西部城市受限于产业结构和人口流出,房价增长乏力。政策因素在区域市场分化中扮演重要角色,发达地区严格调控抑制了部分投机需求,但未改变整体高价格局;欠发达地区宽松政策效果有限,凸显经济基本面的决定性作用。
四、数据分析模型
- 在进行数据分析时,我们计划利用回归模型来进行深入的分析工作。
本次分析的主要目标是深入探究城市经济指标与住宅价格之间的量化关系,并在此基础上构建一个预测模型。由于我们关注的是连续变量之间的因果关系,因此选择回归模型作为我们的分析工具。
在特征变量的选择上,我们考虑了包括GDP、产业结构、财政收支、工资水平等在内的多个经济指标。
作为目标变量,我们关注的是住宅商品房的平均销售价格,具体以元每平方米为单位。
鉴于数据集的特点,例如样本量较小、特征数量较多以及可能存在非线性关系,我们计划采用以下几种模型进行对比分析:
首先,我们将使用线性回归模型作为基准模型,以便与其他模型进行比较。
其次,我们还将尝试随机森林回归模型,这是一种集成学习方法,能够通过构建多个决策树并进行集成来提高预测的准确性。
此外,梯度提升回归模型,特别是使用XGBoost算法的版本,也将被纳入我们的模型对比中,因其在处理回归问题时表现出色。
我们还将考虑支持向量回归(SVR)模型,它在处理高维数据和非线性问题方面具有一定的优势。
最后,K近邻回归(KNN)模型也会被考虑在内,作为一种基于实例的学习方法,它在预测连续变量时可以提供直观的结果。
- 模型评估
- 准备数据
图 28准备数据代码
(2)交叉验证和评估
图 29定义模型代码
图 30交叉验证评估代码
(3)模型评估结果
图 31模型评估运行结果
- 线性回归
R2 分数:平均 R2 为 0.9781,说明线性回归模型对数据的拟合程度较高,能解释房价数据中 97.81% 的变异,表明自变量与因变量(房价)之间存在较强的线性关系。
RMSE:平均 RMSE 为 1016.48 元 /㎡,意味着预测值与真实值之间的平均误差幅度为 1016.48元 /㎡,预测精度尚可。
- 随机森林
R2 分数:平均 R2 同样为 0.9823 ,与线性回归模型拟合能力较强,表明随机森林模型能很好地捕捉数据中的关系。
RMSE:平均 RMSE 是 919.95元 /㎡ ,略低于线性回归,说明在预测的精准度上,随机森林跟胜一筹,但整体差异不大。
- XGBoost
R2 分数:平均 R2 为 0.9875,是几个模型中最高的,说明该模型对房价数据的拟合效果最优,能解释更多的房价变异情况。
RMSE:平均 RMSE 为 796.84元 /㎡ ,也是最低的,意味着 XGBoost 模型预测值与真实值最为接近,预测精度最高。
- SVR
R2 分数:平均 R2 为 - 0.1222 ,这是一个非常不理想的值,R2 为负说明模型的预测效果甚至不如均值预测,模型对数据的拟合能力极差。
RMSE:平均 RMSE 高达 7926.30 元 /㎡ ,表明预测值与真实值之间存在极大的偏差,预测结果几乎不可靠。
- KNN
R2 分数:平均 R2 为 0.8929,说明 KNN 模型对房价数据的拟合能力相对较弱,只能解释 89.29% 的房价变异。
RMSE:平均 RMSE 为 2438.09 元 /㎡ ,预测误差相对较大,预测精度有待提高。
⑥综合评价
最佳模型:XGBoost 在 R2 分数和 RMSE 指标上都表现最佳,是最适合用于该房价预测任务的模型。
- 可视化结果
- 模型性能指标对比
图 32模型性能指标对比运行结果
①模型 R² 分数对比图
R² 分数含义:R² 分数衡量的是模型对数据的拟合优度,取值范围在 0 - 1 之间,越接近 1 表示模型对数据的解释能力越强,即因变量的变异性能被自变量解释的比例越高 。
结果分析:
线性回归、随机森林、XGBoost:这三个模型的 R² 分数都非常高,达到了 0.9875。说明它们在拟合数据方面表现极为出色,能够解释房价数据中 98.75% 以上的变异。
SVR:R² 分数为 -0.2222,低于前三者,对房价数据的解释能力稍弱。
KNN:R² 分数为 0.8929,在这几个模型中相对较低,意味着它对房价数据的拟合效果相对较差,还有较多房价的变异不能被其自变量所解释。
②模型 RMSE 对比图
RMSE 含义:均方根误差(RMSE)衡量的是模型预测值与真实值之间误差的平均幅度,RMSE 值越小,说明模型预测值与真实值越接近,模型的预测精度越高。
结果分析:
XGBoost:RMSE 值最低为 796.30。表明 XGBoost 模型的预测值与真实房价之间的平均误差最小,预测精度最高。
随机森林:RMSE 值为 919.95,预测精度也比较高,但略逊于 XGBoost。
线性回归:RMSE 值为1016.48,预测精度尚可,但比随机森林和 XGBoost 稍差一些。
SVR:RMSE 值为 7926.30,相对较高,说明其预测值与真实值的偏差较大,预测精度不如前三者。
KNN:RMSE 值高达 2438.09,远高于其他模型,意味着 KNN 模型的预测误差非常大,预测精度在这几个模型中是最差的 。
③综合结论
最佳模型:综合 R² 分数和 RMSE 指标来看,XGBoost 模型在这几个模型中表现最为突出,无论是拟合能力还是预测精度都很优秀,是预测房价的较优选择。
次优选择:随机森林和线性回归模型也有不错的表现,在实际应用中,如果对模型可解释性有较高要求,线性回归模型可以作为参考;如果更看重模型的非线性拟合能力,随机森林也可以考虑。
需改进模型:SVR 和 KNN 模型在本次实验中的表现不太理想,如果要使用这两个模型,可能需要进一步调整模型参数或者进行更多的特征工程来提高其性能。
(2) 预测值与真实值散点图
图 33预测值与真实值散点图
- 线性回归:
R² = 0.9781 表明线性回归模型对数据有较好的拟合能力,能解释房价数据中 97.81% 的变异。
从散点图看,大部分点集中在对角线附近,但仍有一些点偏离较远,说明存在部分预测误差。这可能是因为房价与自变量之间并非完全严格的线性关系,实际中存在一些非线性因素未被线性回归捕捉到。
②随机森林:
R² = 0.9810 与线性回归相当,拟合效果优秀。
散点图上点的分布更为集中在对角线附近,相比线性回归,预测值与真实值的偏差更小,说明随机森林在处理数据的非线性关系等方面表现较好,能更准确地进行预测。
- XGBoost:
R² = 0.9875 是几个模型中最高的,意味着它对房价数据的解释能力最强。
散点图中,点紧密围绕在对角线周围,预测精度很高,说明 XGBoost 能有效挖掘数据中的复杂关系,在拟合和预测房价上表现卓越。
- SVR:
R² = - 0.1222 ,这是一个非常不理想的值,R2 为负说明模型的预测效果甚至不如均值预测,模型对数据的拟合能力极差。
散点图中,点相对较为分散,偏离对角线的点较多,预测误差较大,说明支持向量回归在处理该房价数据时效果欠佳,可能是核函数选择或参数设置等方面不够理想。
- KNN:
R² = 0.8929 拟合能力较差。
散点图上,点分布非常分散,远离对角线的点很多,预测值与真实值偏差大,说明 KNN 模型在预测房价时准确性较低,可能受数据量、特征维度等因素影响。
⑥综合结论
XGBoost 模型在预测房价上表现最佳,拟合能力和预测精度都很突出。
随机森林和线性回归表现也不错,但随机森林在预测精度上略优于线性回归。
SVR 和 KNN 模型在此次实验中表现不佳,如需使用需进一步优化调整,如调整 SVR 的核函数和参数,优化 KNN 的 K 值、距离度量方式等,或者进一步筛选特征、增加数据量等。
(3)小结
首先获取包含城市经济指标(如地区生产总值、产业增加值、财政收支等)和住宅市场指标(如房地产开发投资额、商品房销售价格等)的 2012 - 2021 年数据。对数据进行预处理,包括清洗重复值、处理缺失值(如用合理方法填充户籍人口缺失值、处理拉萨市相关缺失值等)、处理异常值(采用 IQR 方法)以及创建衍生变量(如第三产业占比、财政收支比等),并对数值型特征进行标准化。
然后选取线性回归、随机森林、XGBoost、SVR、KNN 等多种模型。将预处理后的数据划分为训练集和测试集,对各模型进行训练。通过交叉验证的方式评估模型性能,计算 R² 分数和 RMSE 等指标。
其次对比各模型的 R² 分数和 RMSE。R² 分数衡量模型对数据的拟合优度,越接近1表示拟合能力越强;RMSE 衡量预测值与真实值之间的误差幅度,值越小表示预测精度越高。同时,通过绘制模型 R² 分数对比柱状图、RMSE 对比柱状图以及各模型预测值与真实值的散点图等进行可视化展示,直观呈现各模型的性能差异。
通过控制台输出和可视化结果来看,XGBoost 模型表现最为突出,R² 分数最高(0.9875),RMSE 最低(796.84元 /㎡),说明其对房价数据的拟合能力最强,预测精度也最高。线性回归R² 分数为0.9781和随机森林模型R² 分数为0.9523,但随机森林的 RMSE(919.95元 /㎡)略高于线性回归(1016.48元 /㎡) ,二者在预测精度上稍逊于 XGBoost,但整体表现尚可。KNN 模型的 R² 分数为 0.8929,RMSE 为 2438.09元 /㎡ ,拟合能力和预测精度相对较弱。SVR 模型表现最差,R² 分数为 - 0.1222 ,RMSE 高达 7926.30元 /㎡ ,模型几乎无法有效拟合数据,预测结果不可靠。
综合考虑,XGBoost 模型是进行房价预测的最优选择。若对模型可解释性有一定要求,线性回归模型可作为备选;若更看重模型处理非线性关系的能力,随机森林模型也可考虑。而 SVR 和 KNN 模型在本次实验中表现不佳,如需使用,需对其核函数、参数设置、特征工程等方面进行深入优化调整。
五、方案评估
本次课程设计成功达成预期目标,顺利完成各项设计任务。在明确分析目标与任务环节,精准锚定探究城市经济指标与住宅价格关联并构建预测模型这一核心任务,为后续工作指引清晰方向。数据预处理阶段,借助处理重复值、缺失值、异常值,创建衍生变量及实施数据标准化等操作,显著提升数据质量。像在处理缺失值时,针对户籍人口和拉萨市相关数据等,运用合理填充策略,尽可能降低数据缺失的负面影响。 数据探索分析从七大方面展开,深度挖掘数据内在规律,全面呈现数据基本统计特征、变量相关性以及城市和年份差异等信息,为模型构建筑牢数据根基。在数据分析模型构建中,选用多种模型对比分析,经交叉验证与可视化手段客观评估性能,最终选定表现优异的XGBoost模型用于房价预测。 课程设计难度适中,是对所学课程的全面总结。不过,仍存在一些问题。数据层面,尽管开展了缺失值处理工作,但部分城市特定年份关键经济指标缺失,可能使模型无法获取完整信息,同时或有未识别异常数据干扰分析结果。模型上,XGBoost模型存在过拟合隐患,且基于历史数据构建,对未来政策调整、突发经济事件等新情况适应力欠佳。分析过程中,对部分复杂变量关系剖析不够深入,多模型对比时或遗漏适用算法与模型变体。 为改进上述问题,需进一步优化数据处理。利用多重填补法等先进技术提升缺失值填充准确性,综合箱线图、Z - score等方法加强异常数据甄别处理。针对模型,运用交叉验证、正则化等手段优化XGBoost模型,关注行业前沿,尝试引入新模型或改进现有模型,结合时间序列分析强化对房价趋势的预测。还需深化分析,借助神经网络、主成分分析等技术深入探究变量内在联系,拓宽模型选择范围,开展更全面的模型对比与融合,提升分析结果的精准性与可靠性。
需要数据集+源代码