QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5776|回复: 5
打印 上一主题 下一主题

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

[复制链接]
字体大小: 正常 放大

1178

主题

15

听众

1万

积分

  • TA的每日心情
    开心
    2023-7-31 10:17
  • 签到天数: 198 天

    [LV.7]常住居民III

    自我介绍
    数学中国浅夏
    跳转到指定楼层
    1#
    发表于 2021-10-27 14:50 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    【R语言】回归分析案例:北京市商品房价格影响因素分析' x' V! Y% o. `. \2 ^6 n

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

    首先对房价进行对数变换,解决异方差问题:

    4 e) `1 k6 l3 w0 w; Z9 k+ i
    行描述性统计分析,各连续型变量之间的相关关系如下:
    6 d, C9 f( O9 P
    3 D# ~: H. g+ z' R% z4 D* P6 y

    名义变量的EDA一般做箱型图。

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


    9 I+ ~6 A2 F- @+ Q; p. Q! h
    8 J4 F* k( b  ]3 ]! ]
    4 w- }4 k: F* g* m& x& F+ t最终模型残差图:
    - `8 y9 q. i+ c# |! v
    . L, L/ i" r6 `2 F* T$ F4 P5 u
    通过模型分析结果可知,影响北京市商品房平均销售价格的主要因素有:
    ' i2 D2 i! v* D% ^4 O/ x7 k0 r属性变量:所在辖区、所在环线、物业类别、装修状况、容积率大小(新引入);连续变量:绿化率、停车位住户比! A$ W; ]5 i* _4 i& B6 f
    属性变量的具体影响在此处分析略去。
    % ]/ `6 i$ W6 X连续型变量的影响主要为:) X) E' ~9 K2 ]
     绿化率:绿化率的影响十分显著,由系数估计值为正,说明对房价有正向影响,绿化率越高的楼盘房价越高;8 b# \- R8 y; }! R( d4 h3 i% q
     停车位住户比:有较显著的影响,停车位住户比越高,价格越高;
    ) ]8 P" g1 K0 {) `2 C6 u# a  F同时,原本为连续型变量的容积率经过离散化变为属性变量后:
      H9 ]8 M. }7 ?; b( H: }( e! B2 C 容积率大小:容积率分组有较显著的影响,高容积率的小区商品房价格更贵;
    ! O  [6 w& Z+ m$ ]- o( f 容积率与环线之间存在着交互效应。" ?+ J) H% s$ C+ D: H8 g& G
    rm(list=ls())                                                                                #清空当前工作空间) x9 \) o5 e1 y. U
    setwd("D:/回归分析")
      [4 w; K4 P, L/ O9 La=read.csv("real.csv",header=T)                #读入csv格式的数据,赋值为a+ F6 G* ]$ j, H  N2 G$ [# l! T
    View(a)
    3 Q2 ]0 P; s( b" fattach(a)6 e5 N* V+ @! I' e2 j
    names(a)4 e8 y0 B7 i5 \& L6 h; M
    8 K) g- C! a: c' t( s6 t! F
    3 m9 Y+ F, i4 n
    ##描述性统计5 t4 h6 p2 E7 T

    + _9 A' f& h" Y9 Q% h, |. E

    8 u7 s' A3 }( B5 X2 ]8 }#未做处理的响应变量分布情况
    9 H0 l6 \* s: Cpar(mfrow=c(1,1))+ S* J' g0 Q. J" I
    hist(price)6 U( u% Y0 X0 o, D( }
    summary(price)        #查看响应变量的描述统计量, g0 J1 C" t. v& W1 v; C
    #连续型变量描述性统计
    " `% ~) ]2 N1 Xwindows()7 O& o# a3 x1 s/ g* B
    pairs(a[,c(6:10)])    #所有连续型变量间的散点图
    6 y9 W/ s* }! z$ E  Apar(mfrow=c(2,2))        $ V2 {; _9 Q/ T. m/ m' k. E1 t
    plot(rong,price)      #每个连续型因变量与响应变量间的散点图
    / V1 Z# K: f; \3 Rplot(lv,price)
    * h( Q  ?5 f" P9 R  rplot(area,price)) k4 ^7 `' L  j6 ]
    plot(ratio,price): M* K+ n6 c) E' ~+ `
    summary(a[,c(6:10)])  #查看连续型变量的描述统计量
      a  r1 h5 [/ ]4 i9 R9 Pcor(a[,c(6:10)])      #查看连续型变量的相关系数
    8 {  @2 s+ A6 }# W9 s, O#属性变量描述性统计
    % Z' w4 N( v+ m4 Z! ^0 G" \windows()' _" n) o! v. i) H. c8 p# W* ^
    par(mfrow=c(2,3))                       
    $ @9 U! E# }2 f7 R6 Mboxplot(price~dis)          #每个属性变量关于响应变量的箱型图
    6 b2 Q9 A8 b" qboxplot(price~wuye)                                                                        7 |; e; r/ V! x
    boxplot(price~fitment)       
    2 M" t) |# v7 p- r9 e2 E8 m$ Uboxplot(price~ring)       
    $ `, c4 @) y! k7 Q7 M& ^  a" X5 Qboxplot(price~contype)
    , @! G/ V. Y+ E6 q% H& r3 g/ E! y) v3 ]: ^6 P3 {
    1 s: j2 v2 V" B+ f
    5 V3 z& F6 ]3 J4 C

    6 ]( ^' _' H: {# H; x0 }& \& F##模型建立
    8 [4 k+ c4 m$ H# \2 ^/ N( H- v7 e6 \# g, w+ d

    0 r6 G# n% o+ @#在方差分析模型基础上加入连续型变量
    ' j2 y% h' r" x5 V( R/ Dlm1=lm(price~as.factor(dis)*as.factor(ring)+as.factor(wuye)+as.factor(fitment)+as.factor(contype)+rong+lv+area+ratio)4 h; D! F- A, B; E
    anova(lm1)                #方差分析
    - y, P1 |7 ^8 }% L$ `summary(lm1)              #模型参数估计等详细结果
    1 s- `  C: G  M8 G3 @windows()2 W8 z' O9 ]% A: B9 n
    par(mfrow=c(2,2))5 Q5 w% z; N6 V0 n# f
    plot(lm1,which=c(1:4))    #回归诊断做残差图
    7 v0 t# C1 W4 h* h# ]% W) d" H% c3 P" d2 ?9 t( W

    ( d2 X% G2 [( i* F3 X% Z1 ^9 U% F) f  N* ]- a) h" w8 [
    1 J! z9 N4 @- [7 H6 o
    ##变量处理
    ' J+ W" J( m: H# q+ }7 o7 q$ @6 k: L; ?" ?

    + h! q3 c3 a# m3 I( E###对不显著的变量采用分组的方式希望能达到显著的效果
    , A5 q5 O% {" F/ v# \##对容积率的处理  o. g& e" J! d3 {
    windows(), A6 O% J" U) k
    n = 44 C) `; l6 `; a6 Y5 t% W
    boxplot(price~ceiling(rong/n))                #容积率多分组下的箱型图                                       
    0 b2 F  U4 m9 J9 o& R* d4 s$ otable(ceiling(rong/n))                                                #容积率各分组下的样本数
    8 q* M3 j& d% Hronggrp=1*(rong>n)                #进行二分类4 O; y: U/ D" W& {2 ~
    #ronggrp=ceiling(rong/n)       
    + Y9 h0 M% C& c1 _5 btable(ceiling(ronggrp))           #容积率二分类下的样本数
    $ S  y# _% Y! Y  R5 u+ H  lwindows(). o( u1 n! D- R( s% K
    boxplot(price~ceiling(ronggrp))   #容积率二分类下的房价箱型图
    + i0 M2 f6 L5 c! @9 H3 mwindows()- K; g2 W! ]! {" v0 C
    par(mfrow=c(1,2))- n$ b4 E8 E" k- d) n7 v  J* }# }
    boxplot(rong~ring)                #容积率与环线箱型图! Z& G3 h0 S* Z7 k- ]: v* e* z6 }
    boxplot(price~ring)               #房价与环线箱型图 + L1 N2 ?2 w, O6 ]
    #加入容积率分组和容积率分组*所在环线交互因子的模型
      I1 C. w3 N. |/ A# y$ R' H# Glm2=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)1 I( K1 _9 J" ^2 z* R! h" j3 c
    anova(lm2)                #方差分析
    4 u& K4 z+ d6 v6 F& b$ Usummary(lm2)              #模型参数估计等详细结果
    9 A/ r! I, k9 M) y% k6 T& x) twindows()' @' J1 q4 F! V5 {! @! J+ W
    par(mfrow=c(2,2))
    " v4 i8 Z. ?, q0 x$ |3 N/ Z# e) T3 m* Cplot(lm1,which=c(1:4))    #回归诊断' N6 v# S2 h) V' R3 a! X& D

    - m, V$ J* c, [! M& p! |# k

    7 T2 w4 t* |8 M/ |  }##对小区面积的处理; w1 U! E, z' X5 O
    summary(area)
    : @' _: o+ o0 B- Z; pplot(area,price)7 ~9 V! e& a3 r. N1 X
    windows()
    $ W+ q2 ]: h/ `7 U0 `n = 1500003 H1 x% a) J: G' k5 y8 _; I
    boxplot(price~ceiling(area/n))                                                        ( m/ U, S" E1 _
    table(ceiling(area/n))                                                                5 I. g5 P( ^; s4 d8 x8 ^, n' m
    areagrp=1*(area>n)0 C& a! }; @0 ]9 V0 D7 h
    table(ceiling(areagrp))# g: D- B6 W/ U( U( [
    boxplot(price~ceiling(areagrp))
    0 [" t1 t3 O' a2 u4 p#加入小区面积分组的模型
    , h. e3 r+ {$ [* `9 C2 y8 B- Y  P6 olm3=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)7 w9 Y; l2 {) `- P
    anova(lm3)                #方差分析
    ! A0 X7 J! Y5 Q; F# tsummary(lm3)              #模型参数估计等详细结果
    ; t  w/ E6 r" L( E7 ewindows()' x3 f$ C, h. Y, r8 Z
    par(mfrow=c(2,2))
    0 k% T8 i% p0 l3 B* ^+ k" eplot(lm3,which=c(1:4))    #回归诊断
    4 k1 X8 I0 t+ U) `" U: L+ M! Q1 O0 S- @3 S: i5 t$ D7 W
    , J$ [7 l8 }" I: f5 {) x+ X
    ##变量选择
    ! [5 Q; X, T: o% r* R1 C  h2 `. `% U

    / P  S5 r1 `0 ?3 b7 d: J# |##AIC准则下的变量选择
    6 k" Q1 O0 y- W( {* X, _, Plm4.aic=step(lm3,trace=F)       #根据AIC准则选出最优模型,并赋值给lm.aic
    5 R% |# }5 N9 J6 Lsummary(lm4.aic)                #给出模型lm.aic中系数估计值、P值等细节
    ! F- R( [: z0 j8 N! `##BIC准则下的变量选择
    - {* n2 N$ v5 ~' v1 ~" ^# w& V9 ^lm5.bic=step(lm3,k=log(length(a[,1])),trace=F)     #根据BIC准则选出最优模型,并赋值给lm.bic! J' h) `# R1 ]# ~/ R! h: t" S
    summary(lm5.bic)         #给出模型lm.bic中系数估计值、P值等细节
      D- {( p5 L7 n* ?0 q) P$ f9 a" q  \" A
    . Q) S! D# `/ T5 n& \4 ?4 H' i
    ) P0 s2 ?& H2 g6 U: E5 i
    #选用AIC准则下的模型进行回归诊断
    ! T5 K. O1 M$ U! Dwindows()' Z7 x6 Z" z' c* U- z. c
    par(mfrow=c(2,2))" J6 C7 J1 K* n7 A2 R+ F7 B$ w
    plot(lm4.aic,which=c(1:4))  
    2 q  X, k' R5 @) ]: B4 ]$ ~4 Q
    " o  t" F; V( @3 G% |: s& _- |7 ?' v' A  y

    * \6 P( ~& t. E8 B: o9 Q1 s4 E! t0 Q* b7 \1 w* X

      Y8 J9 I6 c7 Y3 N0 c% @) J##数据变换
    : E" |3 t& V3 V! {: N7 Y5 v& d3 k9 \* y, S6 q

    # c3 C. B  F) W+ M#box-cox变换) u' s6 W* ]: |5 d: B
    library(MASS); X( ]. u, \- m& i+ e' m- @" v0 [
    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))
    ( c" u" |- I; n+ @; A! z  Z" yI=which(b$y==max(b$y))  #定位似然函数最大的位置
    4 I. s* S9 a* X  p5 P5 b1 Elambda = b$x[I] #精确的λ值" B( h8 p9 H' z+ d8 w
    #λ接近于0,为模型简洁性,可以直接进行对数变换
    , `! d* o$ f7 E5 }logprice <- log(price)
    $ r# B9 N0 U1 ?3 K$ i/ K$ qhist(logprice)9 N* {2 j% f, R, a9 O2 L2 \
    - N! Q" V2 W' N( ~2 ~3 P

    0 S5 z. m9 L: b##最终模型与诊断, [' ]- @1 v" {# }
    4 \2 M8 Z+ g6 Z9 N8 Q3 I

    2 s. C% ]) ~4 O  G; ^! _  blm6=lm(logprice ~as.factor(dis)*as.factor(ring)+as.factor(wuye)+as.factor(fitment)+as.factor(ring)*as.factor(ronggrp)+lv+ratio)
    % Q" Z9 k7 V, q( K7 |windows()5 Y8 f0 _( R) Z: G. K/ t6 G0 k
    par(mfrow=c(2,2))
    6 c5 e9 {) {7 bplot(lm6,which=c(1:4))& i3 y! @! B% i3 c  Q
    anova(lm6)1 y+ y  O) V- T
    summary(lm6)$ V0 ]" X* h5 e8 o. v& P$ \6 g2 @& p

    : Q7 K+ V0 O' j  p4 O0 t
    $ @) B  e: N$ [9 A请关注数学中国网微博和数学中国公众号,联系QQ 3243710560
    & k  W! D7 N6 `& \

    & c( M3 I1 l% Q5 `9 ]0 F; R! F( S, X5 F6 ]* w) ~, f

    ) b0 A0 N5 Y' Z/ q& c
      ]: {. B: ^" l$ C- V2 p) a# B
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    9

    主题

    14

    听众

    688

    积分

    升级  22%

  • TA的每日心情
    无聊
    2026-4-23 20:54
  • 签到天数: 697 天

    [LV.9]以坛为家II

    新人进步奖

    群组数学建模

    群组2014年网络挑战赛交流

    群组学术交流D

    群组数学建摸协会

    群组第四届cumcm国赛实训

    一定会认真的看看,发现这是R的,有python的分析没有( K! M' r' L' \/ d/ V
    9 H1 V( X/ I- ^* R& h. `

    点评

    1047521767  有啊  详情 回复 发表于 2021-10-28 11:01
    回复

    使用道具 举报

    sjlxdn        

    1

    主题

    2

    听众

    155

    积分

    升级  27.5%

  • TA的每日心情
    无聊
    2022-2-19 17:40
  • 签到天数: 30 天

    [LV.5]常住居民I

    国际赛参赛者

    回复

    使用道具 举报

    9

    主题

    14

    听众

    688

    积分

    升级  22%

  • TA的每日心情
    无聊
    2026-4-23 20:54
  • 签到天数: 697 天

    [LV.9]以坛为家II

    新人进步奖

    群组数学建模

    群组2014年网络挑战赛交流

    群组学术交流D

    群组数学建摸协会

    群组第四届cumcm国赛实训

    太好了,又认真的看了一次,发现自已差太多了/ h$ |8 u" n7 X; [% W

      P3 F0 H: k8 U9 q1 F4 P  O

    点评

    1047521767  我每天会发一些好资源的  详情 回复 发表于 2021-10-28 11:01
    回复

    使用道具 举报

    1178

    主题

    15

    听众

    1万

    积分

  • TA的每日心情
    开心
    2023-7-31 10:17
  • 签到天数: 198 天

    [LV.7]常住居民III

    自我介绍
    数学中国浅夏
    fgfroom214 发表于 2021-10-27 23:18 6 p# Z1 a* X$ M! C
    太好了,又认真的看了一次,发现自已差太多了
    # p2 ^/ l' e" G7 o& {0 R) T4 l- z
    我每天会发一些好资源的
      f* E1 z9 W) f% R" E& `; |
    回复

    使用道具 举报

    1178

    主题

    15

    听众

    1万

    积分

  • TA的每日心情
    开心
    2023-7-31 10:17
  • 签到天数: 198 天

    [LV.7]常住居民III

    自我介绍
    数学中国浅夏
    fgfroom214 发表于 2021-10-27 16:32
    8 K) ?. Y+ Y9 @7 z& S: n一定会认真的看看,发现这是R的,有python的分析没有
    7 i; x  Q6 l% R5 \& o% R% c% \6 U
    有啊
    ( b  t1 I2 c$ d4 Z
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-8-5 14:56 , Processed in 0.511393 second(s), 78 queries .

    回顶部