这一案例是王汉生老师《应用商务统计分析》方差分析章节的案例,主要对离散型变量进行了处理。
这里将连续型变量也加进来,进行协方差分析,建立完整的模型。

首先对房价进行对数变换,解决异方差问题:
进行描述性统计分析,各连续型变量之间的相关关系如下:
名义变量的EDA一般做箱型图。

模型按照全模型-变量处理(分箱等)-变量选择-回归诊断等步骤建立。

最终模型残差图:

通过模型分析结果可知,影响北京市商品房平均销售价格的主要因素有:
属性变量:所在辖区、所在环线、物业类别、装修状况、容积率大小(新引入);连续变量:绿化率、停车位住户比
属性变量的具体影响在此处分析略去。
连续型变量的影响主要为:
 绿化率:绿化率的影响十分显著,由系数估计值为正,说明对房价有正向影响,绿化率越高的楼盘房价越高;
 停车位住户比:有较显著的影响,停车位住户比越高,价格越高;
同时,原本为连续型变量的容积率经过离散化变为属性变量后:
 容积率大小:容积率分组有较显著的影响,高容积率的小区商品房价格更贵;
 容积率与环线之间存在着交互效应。

rm(list=ls())                                       #清空当前工作空间
setwd("D:/回归分析")
a=read.csv("real.csv",header=T)     #读入csv格式的数据,赋值为a
View(a)
attach(a)
names(a)##描述性统计#未做处理的响应变量分布情况
par(mfrow=c(1,1))
hist(price)
summary(price)        #查看响应变量的描述统计量
#连续型变量描述性统计
windows()
pairs(a[,c(6:10)])    #所有连续型变量间的散点图
par(mfrow=c(2,2))
plot(rong,price)      #每个连续型因变量与响应变量间的散点图
plot(lv,price)
plot(area,price)
plot(ratio,price)
summary(a[,c(6:10)])  #查看连续型变量的描述统计量
cor(a[,c(6:10)])      #查看连续型变量的相关系数
#属性变量描述性统计
windows()
par(mfrow=c(2,3))
boxplot(price~dis)    #每个属性变量关于响应变量的箱型图
boxplot(price~wuye)
boxplot(price~fitment)
boxplot(price~ring)
boxplot(price~contype)##模型建立#在方差分析模型基础上加入连续型变量
lm1=lm(price~as.factor(dis)*as.factor(ring)+as.factor(wuye)+as.factor(fitment)+as.factor(contype)+rong+lv+area+ratio)
anova(lm1)                #方差分析
summary(lm1)              #模型参数估计等详细结果
windows()
par(mfrow=c(2,2))
plot(lm1,which=c(1:4))    #回归诊断做残差图##变量处理###对不显著的变量采用分组的方式希望能达到显著的效果
##对容积率的处理
windows()
n = 4
boxplot(price~ceiling(rong/n))      #容积率多分组下的箱型图
table(ceiling(rong/n))                      #容积率各分组下的样本数
ronggrp=1*(rong>n)                #进行二分类
#ronggrp=ceiling(rong/n)
table(ceiling(ronggrp))           #容积率二分类下的样本数
windows()
boxplot(price~ceiling(ronggrp))   #容积率二分类下的房价箱型图
windows()
par(mfrow=c(1,2))
boxplot(rong~ring)                #容积率与环线箱型图
boxplot(price~ring)               #房价与环线箱型图
#加入容积率分组和容积率分组*所在环线交互因子的模型
lm2=lm(price~as.factor(dis)*as.factor(ring)+as.factor(wuye)+as.factor(fitment)+as.factor(contype)+as.factor(ring)*as.factor(ronggrp)+lv+area+ratio)
anova(lm2)                #方差分析
summary(lm2)              #模型参数估计等详细结果
windows()
par(mfrow=c(2,2))
plot(lm1,which=c(1:4))    #回归诊断##对小区面积的处理
summary(area)
plot(area,price)
windows()
n = 150000
boxplot(price~ceiling(area/n))
table(ceiling(area/n))
areagrp=1*(area>n)
table(ceiling(areagrp))
boxplot(price~ceiling(areagrp))
#加入小区面积分组的模型
lm3=lm(price~as.factor(dis)*as.factor(ring)+as.factor(wuye)+as.factor(fitment)+as.factor(contype)+as.factor(ring)*as.factor(ronggrp)+lv+as.factor(areagrp)+ratio)
anova(lm3)                #方差分析
summary(lm3)              #模型参数估计等详细结果
windows()
par(mfrow=c(2,2))
plot(lm3,which=c(1:4))    #回归诊断##变量选择##AIC准则下的变量选择
lm4.aic=step(lm3,trace=F)       #根据AIC准则选出最优模型,并赋值给lm.aic
summary(lm4.aic)                #给出模型lm.aic中系数估计值、P值等细节
##BIC准则下的变量选择
lm5.bic=step(lm3,k=log(length(a[,1])),trace=F)     #根据BIC准则选出最优模型,并赋值给lm.bic
summary(lm5.bic)         #给出模型lm.bic中系数估计值、P值等细节#选用AIC准则下的模型进行回归诊断
windows()
par(mfrow=c(2,2))
plot(lm4.aic,which=c(1:4))  ##数据变换#box-cox变换
library(MASS)
b=boxcox(price~as.factor(dis)*as.factor(ring)+as.factor(wuye)+as.factor(fitment)+as.factor(ring)*as.factor(ronggrp)+lv+ratio, data=a,lambda=seq(-3, 3, by=0.1))
I=which(b$y==max(b$y))  #定位似然函数最大的位置
lambda = b$x[I] #精确的λ值
#λ接近于0,为模型简洁性,可以直接进行对数变换
logprice <- log(price)
hist(logprice)##最终模型与诊断lm6=lm(logprice ~as.factor(dis)*as.factor(ring)+as.factor(wuye)+as.factor(fitment)+as.factor(ring)*as.factor(ronggrp)+lv+ratio)
windows()
par(mfrow=c(2,2))
plot(lm6,which=c(1:4))
anova(lm6)
summary(lm6)

【R语言】回归分析案例:北京市商品房价格影响因素分析相关推荐

  1. UA MATH571A R语言回归分析实践 多元回归1 医疗费用的决定

    UA MATH571A R语言回归分析实践 多元回归1 医疗费用 基础回归分析 这一讲开始讨论多元回归,这里选择的例子是寻找家庭医疗费用的决定因素.家庭医疗费用由哪些因素决定是卫生经济学.保险精算等领 ...

  2. R语言回归分析-改进异常值

    R语言回归分析 回归分析可以说是统计学的核心,它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量.效标变量或结果变量)的方法.通常,回归分析可以用来 ...

  3. R语言回归分析-回归诊断

    R语言回归分析 回归分析可以说是统计学的核心,它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量.效标变量或结果变量)的方法.通常,回归分析可以用来 ...

  4. R语言回归分析-异常观测值

    R语言回归分析 回归分析可以说是统计学的核心,它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量.效标变量或结果变量)的方法.通常,回归分析可以用来 ...

  5. UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定

    UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定 系数的推断与模型预测 模型诊断 这一讲展示一下一元回归中的模型诊断的手段怎么用在多元回归中,同时介绍一下多元回归做推断和预测的方 ...

  6. UA MATH571A R语言回归分析实践 一元回归4 NBA球员的工资

    UA MATH571A R语言回归分析实践 一元回归4 NBA球员的工资 Box-Cox变换 Full Model 模型再诊断 总结 上一讲对一元线性回归模型进行了诊断,发现模型主要存在三个问题: 工 ...

  7. UA MATH571A R语言回归分析实践 一元回归3 NBA球员的工资

    UA MATH571A R语言回归分析实践 一元回归3 NBA球员的工资 残差分析 正态性.同方差性的检验 欠拟合检验 前两讲已经完成了大致的分析了,我们已经明确了NBA球员名次与工资的负相关关系,接 ...

  8. UA MATH571A R语言回归分析实践 一元回归2 NBA球员的工资

    UA MATH571A R语言回归分析实践 一元回归2 NBA球员的工资 方差分析 相关性分析 上一讲完成了解释NBA球员工资的一个简单的一元线性回归模型的估计.分析,展示了一下简单的预测,这一讲我们 ...

  9. UA MATH571A R语言回归分析实践 一元回归1 NBA球员的工资

    UA MATH571A R语言回归分析实践 一元回归1 NBA球员的工资 基础回归分析 571A另一个系列的文章介绍了回归分析的理论,这个系列的文章介绍R语言做回归分析的实践,但不会涉及R语言编程,只 ...

最新文章

  1. 柔性生态布局未来,小鱼易连 2019“深耕视界逐梦小鱼”北京火爆招募
  2. OpenJudge/Poj 2001 Shortest Prefixes
  3. 学科网站建设的尝试与思考
  4. [jQuery]10 Things I Learned from the jQuery Source
  5. Oracle 事务概述
  6. chrome 获取硬件信息_在tinycolinux上安装chrome
  7. 5/5 MySQL入门总结:其它操作
  8. 紧跟月影大佬的步伐,一起来学习如何写好JS(上)
  9. python中seed的用法_Python中的seed()方法怎么用
  10. 麦步手表编程纪实(1)
  11. Redis 主从复制的实现及配置
  12. java jlabel里面加button_java中可不可以移除添加在JLabel上的事件?
  13. Microsoft Edge浏览器兼容性问题解决方法
  14. win7美化_win7/8/10桌面插件美化
  15. Android Studio入门到精通
  16. android自动调节亮度是怎么实现的,Android亮度调节的几种实现方法
  17. 网站导航 - 网址大全
  18. 2022年下半年信息系统项目管理师下午真题及答案解析
  19. qq公众号消息是发送到自己服务器,qq公众号屏蔽后还发消息 qq消息被屏蔽了怎么办...
  20. 土豪聪要请客(stol)

热门文章

  1. mac acrobat xi破解
  2. Java从零开始系列01:Java入门
  3. 海康监控平台监控“视频巡逻”做投屏监控器
  4. 银行业理财2020年12月报:船到中游浪更急,银行理财整改现状及2021年展望(20210103).PDF
  5. 3种方法教你如何安装Wordpress(附教程)
  6. 无法识别的属性“targetFramework”。请注意属性名称区分大小写。错误解决办法...
  7. 设计模式之——简单(静态)工厂模式和抽象工厂模式
  8. 【水果分类】基于计算机视觉实现水果识别分类含Matlab源码
  9. vs2019运行项目时报错出现MSB6006 “CL.exe”已退出,代码为 2。解决方法
  10. 请问两个大于号代表什么意思?