房价预测模型设计与实现开题报告

 2022-01-12 21:28:36

全文总字数:4031字

1. 研究目的与意义(文献综述)

住房问题关系国计民生,既对国家经济的影响巨大,更对社会的稳定程度有很大的影响。2008 年受国际金融危机的影响,部分购房需求受到抑制,2009 年在国家税收、土地等调控政策作用下,一度受到抑制的需求得到释放。商品房的价格与住宅销售面积、人口数量、城乡储蓄余额、房地产投资额、人均可支配收入、职工平均工资以及货币政策等因素有着正向或者负向的关系。研究一套商品房的价格具体受那些因素的影响以及根据现有的数据预测一套商品房的价格变得越来越重要。机器学习作为人工智能的关键核心技术,受到了前所未有的重视和快速发展,机器学习技术处于快速成长期,机器学习为数据研究算法和建立模型,并使用它们对新数据进行预测,提高房价预测的准确性。

国内外的学者多数利用多种回归模型来分析各因素对特定一个市级或州级地区房价的影响,得到了较为准确的一些房价影响因素,比如:货币供应量正向影响房价、市区人口正向影响房价、人均可支配收入与房地产开发投资额越高,房地产价格越高。对于房价预测,有许多有用的回归算法可供使用。例如,支持向量机(SVM)、最小绝对收缩和选择算法(Lasso)、梯度增强、岭回归、随机森林。各种回归算法的使用也使得预测的结果越来越接近真实结果。

2. 研究的基本内容与方案

采用 python 完成机器学习模块的设计与实现,使其能读取 kaggle house prices 的数据集并进行训练。设计实现数据预处理模块及数据分析模块,利用特征工程来减少特征数量,增强对特征和特征值之间的理解,如异常的点的清除、无关特征的清除与缺省值的填充等。比较各种特征选取算法的差异以及根据房价变量的影响因素,利用 python 中比较常用的机器学习集成包 sklearn 包来进行特征选取。同时,保证各功能模块运行正常。最后,选择不同的回归算法来训练房价预测模型,如:线性的回归、岭回归、lasso 回归、支持向量机(svm),梯度增强回归(gradient boosting regressor)和 xgboost 等回归算法。利用训练好的模型读取测试集进行预测,分析比较不同的回归模型之前的区别,观察那个模型更好,以及采用合适的方法来提高准确度,将预测结果提交至 kaggle 平台,对返回的结果做分析。

该项目旨在使用监督式机器学习技术来预测美国爱荷华州艾姆斯市(ames, iowa)的房价。ames 的房屋数据集取自 kaggle,这是谷歌旗下的一个在线平台,它为数据科学家和机器学习科学家提供合作和竞争的机会。kaggle 以提供不同的数据和竞赛为特色,其中便包括由 dean de cock 编辑的 ames 房屋数据集。该数据集包含具有 81 个特征的测试集和训练集。其中,训练文件包括 1460 条观测值,测试文件包含 1459 个观测值。根据 kaggle 平台提供的房价数据,观察每个变量特征的意义以及对于问题的重要程度,明确最终的目的变量----房价,研究其他多变量对“房价”的影响与他们之间的关系。建模的第一步便是数据探索和数据清洗,旨在理解数据集中的每个特征和模式。将训练集和测试集合并到一起进行统一的数据工程,并对缺失值进行探索。通过数据集绘制数据热力图,可从中看出数据中的缺失值所处的位置。不同的含有缺失变量的特征有不同的估算方式。在估算之前需要考虑以下因素:该特征是分类型特征还是数值型特征,缺失值是随机完全缺失、随机缺失还是非随机缺失。随机缺失值的数值型特征,大多根据一定的规则进行填充,考虑使用 0 来填充。对于分类型特征,其中一些似乎含有缺失值,考虑使用空值(na)代表这个房屋价格缺少这样的特征,类似的方法可适用于大多数特征。在缺失值估算完成之后对数据集进行探索,找出可能的异常值,可通过在绘制数据集的散点图,在散点图上可视化每列来完成,将明显异常的特征从数据集中移除。

对清理后的特征进行相关性分析,以便更深入地了解它们的方差、自变量特征之间的相关关系和自变量特征与因变量特征—— 房屋价格之间的相关关系,为特征工程做准备。对可能使用到的合理特征进行特征添加以及对分布图不合理的特征变量使用 log 标准化进行特征变换,使其分布符合正态分布。若房价变量的各特征之间均是独立的,则采用特征和房价变量的线性关系建立线性模型来选择各重要的特征。若房价变量存在多个互相关联的特征,则采用正则化的 lasso 和 ridge 算法来选择特征或使用随机森林算法进行特征选择。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

3. 研究计划与安排

第一阶段(2020 年 1 月 11 日—2020 年 1 月 31 日):查阅有关的参考资料,翻译英文资料(不少于 5000 汉字),各种回归算法以及各类回归算法的优缺点。

第二阶段(2020 年 2 月 1 日—2020 年 2 月 28 日):掌握相关的编程技能,尝试实现已阅读文献中的方法,完成开题报告。

第三阶段(2020 年 3 月 1 日—2020 年 4 月 30 日):确定系统架构,进行程序设计于开发,进行系统测试和完善,撰写文档。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

4. 参考文献(12篇以上)

[1] 李俊华.基于 python 的数据分析[j].电子技术与软件工程,2018(17):167

[2] 张运玉.基于 python 的数据分析的研究[j].电脑知识与技术,2019,15(30):3-4.

[3] sebastian raschka. python 机器学习[m]. 机械工业出版社, 2017

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版