当前位置:文档之家› 基于R语言的上海房价预测模型

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

基于R语言的上海房价预测模型摘要:利用R语言优秀的统计计算和统计制图特点,对多元统计模型进行分析。

本文建立的模型主要是讨论上海商品房房价问题。

考虑到商品房经济始于1998年,且可供查找的数据截止到2011年,故本文的数据来源于1998-2011年的《上海统计年鉴》和国家统计局。

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

本文在建模型时,先通过R软件拟合商品房房价与时间的非线性回归模型,再利用7个自变量与因变量商品房价多元线性关系,并进行逐步回归,得到最优回归模型。

最后将时间的非线性回归模型与影响因素的多元线性模型预测值进行比较,给出2012、2013、2014年的房屋价格,其中2012年与2013年可与实际进行对比,进而评价模型的好坏。

关键词:R语言非线性回归多元线性回归价格预测模型显著性检验第一章 分析软件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年的房地产相关数据,最后筛选出如下可能影响未来房地产价格走势的变量,本文取定七个因素:1x :人均生产总值;2x :人均可支配收入;3x :商品零售价格指数;4x :常住人口;5x :住房竣工面积;6x :住宅投资总额;7x :居民居住消费价格指数;m y : 上海商品房房产均价数据如下:1998200020022004200620082010500010000150002000025000ty mt y x1 x2 x3 x4 x5 x6 x7 1998 3021 25206 8773 4152 1527.00 1963.51 404.96 113.6 1999 3176 27071 10932 4040 1567.00 1731.55 378.82 105.9 2000 3326 30047 11718 3895 1608.60 1724.02 443.90 103.3 2001 3659 31799 12883 3840 1668.33 1743.9 466.71 102.3 2002 4007 33958 13250 3790 1712.97 1880.5 584.51 100.0 2003 4989 38486 14867 3754 1765.84 2280.79 694.30 101.1 2004 6385 44839 16683 3788 1834.98 3270.43 922.61 101.6 2005 6698 49648 18645 3767 1890.26 2819.35 936.36 102.9 2006 8237 54858 20668 3774 1964.11 2746.8 854.15 102.9 2007 10292 62040 23623 3865 2063.58 2843.62 853.13 104.5 2008 13411 66932 26675 4071 2140.65 1899.4 871.52 102.5 2009 15800 69165 28838 4048 2210.28 1522.07 922.81 96.6 2010 19276 76074 31838 4117 2302.66 1415.44 1232.96 103.5 201124595825603623042842347.461581.031403.13105.42.2 建立非线性模型首先对y 画出关于时间t 的散点图,对应的R 语言程序为: X=read.csv("E:\\2.csv") attach(X) plot(t,y) 得到图一:由散点图可知,初步认为m y 与t 成指数关系,利用R 语言进行拟合检验。

对指数函数bt m y ae =两边取自然对数得:ln ln m y a bt =+,令11ln ,ln m y y a a ==则可将其化为一元线性函数11y a bt =+对m y 取对数并进行一元线性回归的R 语言程序为: y1=log(ym) a1=log(a) reg=lm(y1~t) summary(reg) 得到结果如下:则可知常数项1a =-3.281e+02 变量系数b = 1.681e-01得到回归方程如下:1328.10.1681y t∧=-+将1a a e =得到a 的值为3.220924e-143,得到m y 关于t 的指数方程为:3.220924143*exp(0.1681*)m y e t ∧=-()将得到的曲线与原散点图进行对比,R 语言程序为:a1= -3.281e+02 a=exp(a1) b= 1.681e-01 yy=a*exp(b*t) plot(t,ym)1998200020022004200620082010500010000150002000025000tymlines(t,yy) 得到如图:2.3 回归方程的检验对系数进行显著性检验,由结果可知,1a 的均方误差为6.608e-12,b 的均方误差为3.296e-15,而1a 和b 的P 值均小于0.05,拒绝原假设,即认为m y 与t 之间存在指数关系。

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

第三章 影响房价的多因素的多元线性回归模型3.1 模型的建立m y : 上海商品房房产均价;1x :人均生产总值;2x :人均可支配收入;3x :商品零售价格指数;4x :常住人口;5x :住房竣工面积;6x :住宅投资总额;7x :居民居住消费价格指数;则建立这7个变量关于m y 的多元线性回归模型:011223344556677m y x x x x x x x ββββββββε=++++++++式中: 0134567,,,,,,βββββββ为未知参数,ε为随机误差,且认为ε服从2(0,)N σ的分布。

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

t500015000250001000020000300001600200040080012001998200850002500yx130000100003500x2x338004200160x4x515003000400120x6199820022006201030000500007000038004000420015002500100105110100x73.2 模型的求解为了确定商品房销售价格与各变量之间的关系,分别作出m y 与i x 的散点图, R 语言的程序如下: plot(X)得到散点图如下:利用程序cor (X )得到相关矩阵并整理得:yt 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并分别对m y 与i x 的相关性进行检验,检验的程序为attach(X)下列对象被屏蔽了from X (position 3): t, x1, x2, x3, x4, x5, x6, x7, ymcor.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)得到如下的七个结果:综合以上的结果,可知,在0.05α=的条件下,5x 和7x 的与m y 的相关性较差,其他五个变量与m y 的相关性较好,故进行多元线性回归时,可考虑将5x 和7x 两个因素排除在外。

首先对七个变量建立多元回归方程的R 语言程序为: reg1=lm(ym~x1+x2+x3+x4+x5+x6+x7) summary(reg1) 得到如下结果:将结果整理得:对系数进行显著性检验,由结果可知,0236,,,ββββ在0.05α=条件下,均拒绝原假设,认为具有很好的效果,但是1457,,,ββββ的P 值均大于0.05,故不能拒绝原假设,认为这些变量效果不明显,可以认为这些系数为零。

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

根据P 值,选择剔除一个变量,对回归模型进行优化,故剔除5x ,则reg2=lm(ym~x1+x2+x3+x4+x6+x7) summary(reg2) 得到如下结果:估计值 标准差 t 值 P 值 β0 -4.725e+04 1.975e+04 -2.393 0.05384 β1 -4.246e-01 2.239e-01 -1.897 0.10665 β2 1.259e+00 3.204e-01 3.928 0.00773 ** β3 5.876e+00 2.104e+00 2.792 0.03148 * β4 9.312e+00 1.086e+01 0.857 0.42413 β5 1.630e-01 6.739e-01 0.242 0.81691 β6 3.758e+00 1.788e+00 2.102 0.08031 β78.121e+018.101e+011.0030.35479对系数进行显著性检验,由结果可知,剔除5x 后,1β变的效果显著,要保留,分析原因,可能是因为5x 数据偏差太大,对回归方程造成影响偏差过大。

相关主题