-1-基于R语言的上海房价预测模型摘要:利用R语言优秀的统计计算和统计制图特点,对多元统计模型进行分析。本文建立的模型主要是讨论上海商品房房价问题。考虑到商品房经济始于1998年,且可供查找的数据截止到2011年,故本文的数据来源于1998-2011年的《上海统计年鉴》和国家统计局。在本文中主要讨论影响上海商品房房价的因素及各个因素对于房价的影响作用,考虑到房地产不同于一般的消费品,它不仅提供居住的功能,带来收租收益,发生价值增值,而且对人的行为有重要的影响,因此,在进行预测自由贸易下的房价时,本文主要从人均生产总值、人均可支配收入、商品零售价格指数、常住人口、住房竣工面积、住宅投资总额、居民居住消费价格指数7个方面来考虑对于商品房房价的影响。本文在建模型时,先通过R软件拟合商品房房价与时间的非线性回归模型,再利用7个自变量与因变量商品房价多元线性关系,并进行逐步回归,得到最优回归模型。最后将时间的非线性回归模型与影响因素的多元线性模型预测值进行比较,给出2012、2013、2014年的房屋价格,其中2012年与2013年可与实际进行对比,进而评价模型的好坏。关键词:R语言非线性回归多元线性回归价格预测模型显著性检验-2-第一章分析软件R语言简介R语言是属于GNG系统的一个自由、免费、源代码开放的软件,是一个用于统计计算和统计制图的优秀工具。主要用于统计分析、绘图的语言和操作环境。R本来是由来自新西兰奥克兰大学的RossIhaka和RobertGentleman开发(也因此称为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:居民居住消费价格指数;my:上海商品房房产均价数据如下:-3-1998200020022004200620082010500010000150002000025000tymtyx1x2x3x4x5x6x71998302125206877341521527.001963.51404.96113.619993176270711093240401567.001731.55378.82105.920003326300471171838951608.601724.02443.90103.320013659317991288338401668.331743.9466.71102.320024007339581325037901712.971880.5584.51100.020034989384861486737541765.842280.79694.30101.120046385448391668337881834.983270.43922.61101.620056698496481864537671890.262819.35936.36102.920068237548582066837741964.112746.8854.15102.9200710292620402362338652063.582843.62853.13104.5200813411669322667540712140.651899.4871.52102.5200915800691652883840482210.281522.07922.8196.6201019276760743183841172302.661415.441232.96103.5201124595825603623042842347.461581.031403.13105.42.2建立非线性模型首先对y画出关于时间t的散点图,对应的R语言程序为:X=read.csv(E:\\2.csv)attach(X)plot(t,y)得到图一:由散点图可知,初步认为my与t成指数关系,利用R语言进行拟合检验。-4-对指数函数btmyae两边取自然对数得:lnlnmyabt,令11ln,lnmyyaa则可将其化为一元线性函数11yabt对my取对数并进行一元线性回归的R语言程序为:y1=log(ym)a1=log(a)reg=lm(y1~t)summary(reg)得到结果如下:则可知常数项1a=-3.281e+02变量系数b=1.681e-01得到回归方程如下:1328.10.1681yt将1aae得到a的值为3.220924e-143,得到my关于t的指数方程为:3.220924143*exp(0.1681*)myet()将得到的曲线与原散点图进行对比,R语言程序为:a1=-3.281e+02a=exp(a1)b=1.681e-01yy=a*exp(b*t)plot(t,ym)-5-1998200020022004200620082010500010000150002000025000tymlines(t,yy)得到如图:2.3回归方程的检验对系数进行显著性检验,由结果可知,1a的均方误差为6.608e-12,b的均方误差为3.296e-15,而1a和b的P值均小于0.05,拒绝原假设,即认为my与t之间存在指数关系。对方程进行检验,残差的标准差为4.972e-14,而相关系数2R1,P值小于0.05,效果明显,故拒绝原假设,即认为my与t之间存在指数关系。第三章影响房价的多因素的多元线性回归模型3.1模型的建立my:上海商品房房产均价;1x:人均生产总值;2x:人均可支配收入;3x:商品零售价格指数;4x:常住人口;5x:住房竣工面积;6x:住宅投资总额;7x:居民居住消费价格指数;则建立这7个变量关于my的多元线性回归模型:011223344556677myxxxxxxx式中:0134567,,,,,,为未知参数,为随机误差,且认为服从2(0,)N的分布。对于式中未知参数的估计采用最小二乘法,求相关系数2R,并做显著性检验,通过二者表明模型建立的是正确的。-6-t5000150002500010000200003000016002000400800120019982008500025000yx1300001000035000x2x3380042001600x4x5150030004001200x6199820022006201030000500007000038004000420015002500100105110100x73.2模型的求解为了确定商品房销售价格与各变量之间的关系,分别作出my与ix的散点图,R语言的程序如下:plot(X)得到散点图如下:利用程序cor(X)得到相关矩阵并整理得:yt0.9195056y1.0000000x10.9533447x20.9792964x30.6385694x40.9490735x5-0.3246709x60.9005302x7-0.1598100并分别对my与ix的相关性进行检验,检验的程序为attach(X)下列对象被屏蔽了fromX(position3):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)-7-得到如下的七个结果:-8-综合以上的结果,可知,在0.05的条件下,5x和7x的与my的相关性较差,其他五个变量与my的相关性较好,故进行多元线性回归时,可考虑将5x和7x两个因素排除在外。首先对七个变量建立多元回归方程的R语言程序为:reg1=lm(ym~x1+x2+x3+x4+x5+x6+x7)summary(reg1)得到如下结果:-9-将结果整理得:对系数进行显著性检验,由结果可知,0236,,,在0.05条件下,均拒绝原假设,认为具有很好的效果,但是1457,,,的P值均大于0.05,故不能拒绝原假设,认为这些变量效果不明显,可以认为这些系数为零。对方程进行检验,残差的标准差为420,而相关系数2R=0.9962,P值小于0.05,效果明显,故拒绝原假设,即认为my与各个变量之间存在线性关系。根据P值,选择剔除一个变量,对回归模型进行优化,故剔除5x,则reg2=lm(ym~x1+x2+x3+x4+x6+x7)summary(reg2)得到如下结果:估计值标准差t值P值β0-4.725e+041.975e+04-2.3930.05384β1-4.246e-012.239e-01-1.8970.10665β21.259e+003.204e-013.9280.00773**β35.876e+002.104e+002.7920.03148*β49.312e+001.086e+010.8570.42413β51.630e-016.739e-010.2420.81691β63.758e+001.788e+002.1020.08031β78.121e+018.101e+011.0030.35479-10-对系数进行显著性检验,由结果可知,剔除5x后,1变的效果显著,要保留,分析原因,可能是因为5x数据偏差太大,对回归方程造成影响偏差过大。但是变量47,的P值均大于0.05,故不能拒绝原假设,认为这些个的影响效果不明显,可以认为这些系数为零。对方程进行检验,残差的标准差为390.7,而相关系数2R=0.9967,P值小于0.05,效果明显,且效果要好于上一次回归的结果。故拒绝原假设,即认为my与剔除5x后的变量之间存在线性关系。根据P值的大小,选择剔除变量4x,继续对回归模型进行优化则R语言程序:reg3=lm(ym~x1+x2+x3+x6+x7)summary(reg3)得到如下结果:继续剔除7x,Reg4=lm(ym~x1+x2+x3+x6)summary(reg4)得到如下结果:-11-对结果整理得:估计值标准差T值P值β0-3.136e+043.535e+03-8.8739.59e-06***β1-2.538e-015.395e-02-4.7050.00111**β21.126e+001.287e-018.7501.07e-05***β36.916e+008.896e-017.7742.78e-05***β64.538e+009.577e-014.7380.00106**对系数进行显著性检验,由结果可知,01236,,,,在0.05条件下,均拒绝原假设,认为具有很好的效果。对方程进行检验,残差的标准差为375.7而相关系数2R=0.9969,P值小于0.05,效果明显,故拒绝原假设,即认为my与各个变量之间存在多元线性回归