基于R语言的上海房价预测模型

更新时间:2023-11-09 17:57:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于R语言的上海房价预测模型

摘要:利用R语言优秀的统计计算和统计制图特点,对多元统计模型进行分析。本文建立的模型主要是讨论上海商品房房价问题。

考虑到商品房经济始于1998年,且可供查找的数据截止到2011年,故本文的数据来源于1998-2011年的《上海统计年鉴》和国家统计局。在本文中主要讨论影响上海商品房房价的因素及各个因素对于房价的影响作用,考虑到房地产不同于一般的消费品,它不仅提供居住的功能,带来收租收益,发生价值增值,而且对人的行为有重要的影响,因此,在进行预测自由贸易下的房价时,本文主要从人均生产总值、人均可支配收入、商品零售价格指数、常住人口、住房竣工面积、住宅投资总额、居民居住消费价格指数7个方面来考虑对于商品房房价的影响。

本文在建模型时,先通过R软件拟合商品房房价与时间的非线性回归模型,再利用7个自变量与因变量商品房价多元线性关系,并进行逐步回归,得到最优回归模型。最后将时间的非线性回归模型与影响因素的多元线性模型预测值进行比较,给出2012、2013、2014年的房屋价格,其中2012年与2013年可与实际进行对比,进而评价模型的好坏。

关键词:R语言 非线性回归多元线性回归 价格预测模型 显著性检验

- 1 -

第一章 分析软件R语言简介

R语言是属于GNG系统的一个自由、免费、源代码开放的软件,是一个用于统计计算和统计制图的优秀工具。主要用于统计分析、绘图的语言和操作环境。R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心团队”负责开发。R是基于S语言的一个GNU项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不作修改的在R环境下运行。R的语法是来自Scheme。

R的源代码可自由下载使用,亦有已编译的可执行文件版本可以下载,可在多种平台下运行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。R主要是以命令行操作,同时有人开发了几种图形用户界面。R的功能能够通过由用户撰写的套件增强。增加的功能有特殊的统计技术、绘图功能,以及编程介面和数据输出/输入功能。这些软件包是由R语言、LaTeX、Java及最常用C语言和Fortran撰写。下载的执行档版本会连同一批核心功能的软件包,而根据CRAN纪录有过千种不同的软件包。其中有几款较为常用,例如用于经济计量、财经分析、人文科学研究以及人工智能。

第二章 商品房房价与时间的非线性模型

2.1 数据准备

本文从研究影响房地产价格的因素入手,鉴于国家在1998年出台停止福利分房,进而促进了的商品房的自由贸易,故数据始于1998年,且上海统计年鉴可查的到2011年年鉴,故通过综合国家统计局及上海市年鉴1998年——2011年的房地产相关数据,最后筛选出如下可能影响未来房地产价格走势的变量,本文取定七个因素:

x1:人均生产总值;x2:人均可支配收入;x3:商品零售价格指数;x4:常住人口;x5:住房竣工面积;x6:住宅投资总额;x7:居民居住消费价格指数;

ym: 上海商品房房产均价

数据如下:

- 2 -

t 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011

y 3021 3176 3326 3659 4007 4989 6385 6698 8237 10292 13411 15800 19276 24595

x1 25206 27071 30047 31799 33958 38486 44839 49648 54858 62040 66932 69165 76074 82560

x2 8773 10932 11718 12883 13250 14867 16683 18645 20668 23623 26675 28838 31838 36230

x3 4152 4040 3895 3840 3790 3754 3788 3767 3774 3865 4071 4048 4117 4284

x4 1527.00 1567.00 1608.60 1668.33 1712.97 1765.84 1834.98 1890.26 1964.11 2063.58 2140.65 2210.28 2302.66 2347.46

x5 1963.51 1731.55 1724.02 1743.9 1880.5 2280.79 3270.43 2819.35 2746.8 2843.62 1899.4 1522.07 1415.44 1581.03

x6 404.96 378.82 443.90 466.71 584.51 694.30 922.61 936.36 854.15 853.13 871.52 922.81 1232.96 1403.13

x7 113.6 105.9 103.3 102.3 100.0 101.1 101.6 102.9 102.9 104.5 102.5 96.6 103.5 105.4

2.2 建立非线性模型

首先对y画出关于时间t的散点图,对应的R语言程序为: X=read.csv(\attach(X) plot(t,y) 得到图一:

2500020000ym50001000015000

1998200020022004t200620082010由散点图可知,初步认为ym与t成指数关系,利用R语言进行拟合检验。

- 3 -

对指数函数ym?aebt两边取自然对数得:lnym?lna?bt,令y1?lnym,a1?lna则可将其化为一元线性函数y1?a1?bt对ym取对数并进行一元线性回归的R语言程序为: y1=log(ym) a1=log(a) reg=lm(y1~t) summary(reg) 得到结果如下:

则可知常数项a1=-3.281e+02 变量系数b= 1.681e-01得到回归方程如下:

y1??328.1?0.1681t?

将a?ea1得到a的值为3.220924e-143,得到ym关于t的指数方程为:

ym?(3.220924e?143)*exp(0.1681*t)

?将得到的曲线与原散点图进行对比,R语言程序为:

a1= -3.281e+02 a=exp(a1) b= 1.681e-01 yy=a*exp(b*t) plot(t,ym)

- 4 -

lines(t,yy) 得到如图:

ym25000

1998200020022004t2006200820102.3 回归方程的检验

对系数进行显著性检验,由结果可知,a1的均方误差为6.608e-12,b的均方误差为3.296e-15,而a1和b的P值均小于0.05,拒绝原假设,即认为ym与t之间存在指数关系。

对方程进行检验,残差的标准差为4.972e-14,而相关系数R2?1,P值小于0.05,效果明显,故拒绝原假设,即认为ym与t之间存在指数关系。

第三章 影响房价的多因素的多元线性回归模型

3.1 模型的建立

ym: 上海商品房房产均价;x1:人均生产总值;x2:人均可支配收入;x3:商品零售价格指数;x4:常住人口;x5:住房竣工面积;x6:住宅投资总额;x7:居民居住消费价格指数;则建立这7个变量关于ym的多元线性回归模型:

ym??0??1x1??2x2??3x3??4x4??5x5??6x6??7x7??

式中: ?0,?1,?3,?4,?5,?6,?7为未知参数,?为随机误差,且认为?服从

N(0,?2)的分布。对于式中未知参数的估计采用最小二乘法,求相关系数R2,并做显著性检验,通过二者表明模型建立的是正确的。

- 5 -

50001000015000

20000

3.2 模型的求解

为了确定商品房销售价格与各变量之间的关系,分别作出ym与xi的散点图, R语言的程序如下: plot(X)

得到散点图如下:

t250005000500015000250001000020000300001600200040080012002008yx13500010000x2x3380042001600x4x530001200400x6100x7199820022006201030000500007000038004000420015002500100105110

利用程序cor(X)得到相关矩阵并整理得:

y

t 0.9195056 y 1.0000000 x1 0.9533447 x2 0.9792964 x3 0.6385694 x4 0.9490735 x5 -0.3246709 x6 0.9005302 x7 -0.1598100

并分别对ym与xi的相关性进行检验,检验的程序为

attach(X)

下列对象被屏蔽了from X (position 3): t, x1, x2, x3, x4, x5, x6, x7, ym

cor.test(ym,x1) cor.test(ym,x2) cor.test(ym,x3) cor.test(ym,x4) cor.test(ym,x5) cor.test(ym,x6) cor.test(ym,x7)

- 6 -

1500300001998得到如下的七个结果:

- 7 -

综合以上的结果,可知,在??0.05的条件下,x5和x7的与ym的相关性较差,其他五个变量与ym的相关性较好,故进行多元线性回归时,可考虑将x5和x7两个因素排除在外。

首先对七个变量建立多元回归方程的R语言程序为: reg1=lm(ym~x1+x2+x3+x4+x5+x6+x7) summary(reg1) 得到如下结果:

- 8 -

将结果整理得:

估计值 -4.725e+04 -4.246e-01 1.259e+00 5.876e+00 9.312e+00 1.630e-01 3.758e+00 8.121e+01

标准差 1.975e+04 2.239e-01 3.204e-01 2.104e+00 1.086e+01 6.739e-01 1.788e+00 8.101e+01

t值 -2.393 -1.897 3.928 2.792 0.857 0.242 2.102 1.003

P值 0.05384 0.10665 0.00773 ** 0.03148 * 0.42413 0.81691 0.08031 0.35479

ββββββββ

1 2 3 4 5 6 7

0

对系数进行显著性检验,由结果可知,?0,?2,?3,?6在??0.05条件下,均拒绝原假设,认为具有很好的效果,但是?1,?4,?5,?7的P值均大于0.05,故不能拒绝原假设,认为这些变量效果不明显,可以认为这些系数为零。

对方程进行检验,残差的标准差为420,而相关系数R2= 0.9962,P值小于0.05,效果明显,故拒绝原假设,即认为ym与各个变量之间存在线性关系。

根据P值,选择剔除一个变量,对回归模型进行优化,故剔除x5,则reg2=lm(ym~x1+x2+x3+x4+x6+x7) summary(reg2) 得到如下结果:

- 9 -

对系数进行显著性检验,由结果可知,剔除x5后,?1变的效果显著,要保留,分析原因,可能是因为x5数据偏差太大,对回归方程造成影响偏差过大。但是变量?4,?7的P值均大于0.05,故不能拒绝原假设,认为这些个的影响效果不明显,可以认为这些系数为零。

对方程进行检验,残差的标准差为390.7,而相关系数R2= 0.9967,P值小于0.05,效果明显,且效果要好于上一次回归的结果。故拒绝原假设,即认为ym与剔除x5后的变量之间存在线性关系。

根据P值的大小,选择剔除变量x4,继续对回归模型进行优化则R语言程序: reg3=lm(ym~x1+x2+x3+x6+x7) summary(reg3) 得到如下结果:

继续剔除x7,

Reg4=lm(ym~x1+x2+x3+x6) summary(reg4) 得到如下结果:

- 10 -

本文来源:https://www.bwwdw.com/article/p6cv.html

Top