QQ登录

只需要一步,快速开始

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

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

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

1178

主题

15

听众

1万

积分

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

    [LV.7]常住居民III

    自我介绍
    数学中国浅夏
    跳转到指定楼层
    1#
    发表于 2021-10-27 14:50 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    【R语言】回归分析案例:北京市商品房价格影响因素分析4 K' A, O/ H2 w0 }5 o' Y$ _

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

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


    6 ?0 f' G( J8 S" k  X行描述性统计分析,各连续型变量之间的相关关系如下:
    - e8 ]3 M$ i" ~9 m2 K) ^/ f/ c4 J! ^( U4 y  [

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

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

    * ~/ `3 x$ g- [9 f
    ( b! |- x$ d4 X
    4 R% N& n( M3 ]% _& f( X/ v
    最终模型残差图:
    - Z3 ~7 a1 A/ q5 x7 S0 |7 L- G5 a2 ^  x: s1 p$ s8 D
    通过模型分析结果可知,影响北京市商品房平均销售价格的主要因素有:
    & h  \- o( n8 y% F  q& s属性变量:所在辖区、所在环线、物业类别、装修状况、容积率大小(新引入);连续变量:绿化率、停车位住户比* K$ _& C) p. i2 n
    属性变量的具体影响在此处分析略去。8 _( W) E, ^2 O/ |+ b7 l' d" q* z& j
    连续型变量的影响主要为:6 Z; N8 k2 _) ^" P- ]; Y: N
     绿化率:绿化率的影响十分显著,由系数估计值为正,说明对房价有正向影响,绿化率越高的楼盘房价越高;3 |' N/ i& }( K( I$ F
     停车位住户比:有较显著的影响,停车位住户比越高,价格越高;
    7 O( j3 v1 y  Y% u  e同时,原本为连续型变量的容积率经过离散化变为属性变量后:
    + ~* a2 D; X! Y6 v7 y5 x1 s5 v3 B 容积率大小:容积率分组有较显著的影响,高容积率的小区商品房价格更贵;
    2 @) I! H& g- t9 o0 i9 P' \ 容积率与环线之间存在着交互效应。
    * q$ k& B8 d  g5 Yrm(list=ls())                                                                                #清空当前工作空间8 @. Y1 E& h) d, M  [
    setwd("D:/回归分析")+ ?$ z6 q8 u3 o* ~! R8 _% g
    a=read.csv("real.csv",header=T)                #读入csv格式的数据,赋值为a
    8 t; B, I0 r2 `4 r( RView(a)% W& D+ i; i$ r, j) M5 e
    attach(a)
    * z& H& q7 l2 Q, Anames(a)9 ]1 B; P4 C: V- |: L# @7 E  d. H" f7 F
    - B/ A# h/ Y: B. G* \% }
    ' `4 F, K" ^7 N0 |. X
    ##描述性统计% F# _+ {, e$ x' O( \

    1 E2 z. O5 m# {2 R) C

    ; B0 b9 C6 O2 U- W& d#未做处理的响应变量分布情况4 V( @1 C, ?/ T% |3 d
    par(mfrow=c(1,1))
    & u5 V, k; ?1 n, x8 n6 jhist(price)
    ' ~& n# S) W* l8 x* ?/ X! Vsummary(price)        #查看响应变量的描述统计量7 K5 V- t/ v4 Q2 s3 B& F
    #连续型变量描述性统计
    " }4 {* T3 V' |7 vwindows()9 K% s7 H, ?. x' m
    pairs(a[,c(6:10)])    #所有连续型变量间的散点图) V5 M' X" K  C6 t4 ~. R* D
    par(mfrow=c(2,2))       
    / O" |; j! E1 v# \' @- i* y( Gplot(rong,price)      #每个连续型因变量与响应变量间的散点图1 X7 d3 {9 m) @( R3 j: [* P9 e0 X
    plot(lv,price)
    2 s# n+ w' l4 f- Jplot(area,price)0 ?# `3 d8 \% k$ O! V: A5 n9 T
    plot(ratio,price)+ L' k3 [6 r( c4 ~# x, A( d9 t
    summary(a[,c(6:10)])  #查看连续型变量的描述统计量8 N6 n! e! |: R
    cor(a[,c(6:10)])      #查看连续型变量的相关系数
    2 a* `- e, T  J: I* x#属性变量描述性统计7 d: M- y0 ^4 R' D% n$ y* T
    windows()% J, Q. A5 E3 E/ {
    par(mfrow=c(2,3))                       
    8 Q9 h& \7 S0 g  Z# uboxplot(price~dis)          #每个属性变量关于响应变量的箱型图
    " S" I# T* }2 N4 B1 I' Lboxplot(price~wuye)                                                                        - M4 o3 i4 ?# P+ e( b
    boxplot(price~fitment)        . O4 C; u( j  D0 P/ J' n" O
    boxplot(price~ring)        4 p% i7 x6 x+ q" x: {2 S+ A
    boxplot(price~contype)
    $ g4 Z- i% q+ E% h% g- V+ u6 Q2 @& ~) \5 g

    , d7 \& W9 j! [# P9 I5 W6 ^0 {
    ' M, T& B7 f* c8 c

    & b! t& N6 N( b! v9 d6 L##模型建立0 t! M1 [) g# p+ d! e
    3 ?& W7 Q- i) l7 v

    - }# o$ F. w. e+ i#在方差分析模型基础上加入连续型变量
    - Q/ R  @" ]6 e, S- v8 O# ~lm1=lm(price~as.factor(dis)*as.factor(ring)+as.factor(wuye)+as.factor(fitment)+as.factor(contype)+rong+lv+area+ratio)
    9 L: Y  u0 U. V' C0 Vanova(lm1)                #方差分析- [- x2 N( d" Q. s
    summary(lm1)              #模型参数估计等详细结果2 c* \0 ]6 \0 B. R' @  j1 e8 W
    windows()
    7 J$ {3 a) W9 r; H/ spar(mfrow=c(2,2))4 x6 x' D) K! L- ]
    plot(lm1,which=c(1:4))    #回归诊断做残差图! p7 [* q3 {: Q2 I* F& ]
    ' u& [0 n* n; b* ?1 v; [
    5 f* U# C4 D4 m3 @* V. Z

    . I, O: U3 q9 l
    / B# Y7 O/ w4 A( Y
    ##变量处理5 p" n4 J. x2 c  p

    0 |# {' _- Z3 N2 N7 L
    5 d1 `( k2 K; W
    ###对不显著的变量采用分组的方式希望能达到显著的效果+ `. N. o7 l/ m3 D1 a) l. i4 L% ?
    ##对容积率的处理
    . O3 n& F! I0 i  t" qwindows()5 L) [: p7 x+ S: ]0 y) v# z% u/ s
    n = 41 r; W! y& q! w( [8 D+ O# P6 R3 P& f
    boxplot(price~ceiling(rong/n))                #容积率多分组下的箱型图                                        $ W. }2 X: l: ]$ ~6 ?3 e
    table(ceiling(rong/n))                                                #容积率各分组下的样本数8 X4 K& t( x& ~
    ronggrp=1*(rong>n)                #进行二分类. J, @' J: K7 i- B
    #ronggrp=ceiling(rong/n)       
    0 g. W8 ~& k6 {1 H2 \5 S: R# P9 Ftable(ceiling(ronggrp))           #容积率二分类下的样本数$ U; ^5 o# ^8 ?
    windows(). X- \, g+ u$ D' D+ t  @
    boxplot(price~ceiling(ronggrp))   #容积率二分类下的房价箱型图! T5 C5 \0 `, p& |- Z% I
    windows()
    9 `/ ?9 c8 z8 ], g6 Z& e9 Hpar(mfrow=c(1,2))
    - _( D" E% Z% \. @boxplot(rong~ring)                #容积率与环线箱型图
    , U, @" l- k" V: E: q5 e& ~boxplot(price~ring)               #房价与环线箱型图
    % t3 e1 p/ A" H2 P! l7 H* m9 Z#加入容积率分组和容积率分组*所在环线交互因子的模型+ f7 a" _! [' G4 r7 Y- f
    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)/ b! Q* J  K+ E& w5 z1 G, V8 E
    anova(lm2)                #方差分析
    ; K; Q  F% \9 h) Tsummary(lm2)              #模型参数估计等详细结果2 \4 J* Q0 g' H% o" f0 l
    windows()
    # E0 Z3 `' Q1 A; D# y5 E4 Npar(mfrow=c(2,2))$ s( [; c0 w, \' v1 W: z# r
    plot(lm1,which=c(1:4))    #回归诊断
    6 k+ N* P  W+ g4 g2 R( N7 R/ U
    - w& K: F$ c# _- O. {" W, n' C( I& S

    $ b  }$ ~9 [% a  s##对小区面积的处理
    . P4 S4 w6 B' `5 G) b/ D0 msummary(area)4 r3 r  s  j- c, S3 m$ M  R
    plot(area,price)
    , i) w/ p0 V: H. G) z: B3 [  twindows()
      E3 H8 D/ x8 o) qn = 150000, ^% D/ W# K& A* e& a* N* C
    boxplot(price~ceiling(area/n))                                                       
    , @( K; f; e( v" b" N, b8 jtable(ceiling(area/n))                                                                8 u' @+ o7 ?, g# x/ I
    areagrp=1*(area>n)# n1 z8 x0 G; I- Y. K6 S" w7 C% T
    table(ceiling(areagrp))
    . L  y9 Q+ g8 {; Q- Cboxplot(price~ceiling(areagrp))
    0 k% b4 S3 X$ k( e#加入小区面积分组的模型
    . W8 P% ?  o& h! Klm3=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)
    ( S8 j* A% S2 V( ^/ P. a5 Danova(lm3)                #方差分析* `$ b8 a+ J$ ?6 ]
    summary(lm3)              #模型参数估计等详细结果
    2 q' w& O* H6 O, @4 L. mwindows()
    / F( G. X- W( H! Ppar(mfrow=c(2,2))
    4 {2 H8 F. o( z" Q; Xplot(lm3,which=c(1:4))    #回归诊断
    2 I9 r' y/ m4 I: M+ W
    0 F% `* o5 i' X& Y1 h

    : o0 e) z$ Y0 L. ]! x% L5 _8 [# u##变量选择' d: n5 I7 Y4 V1 u

    0 R" B& w% o* u. e1 `# g' p. [
    " p$ Y" r! K- d/ V+ \$ T0 [2 q0 Q
    ##AIC准则下的变量选择
    # g; e( f, V% d; D" Clm4.aic=step(lm3,trace=F)       #根据AIC准则选出最优模型,并赋值给lm.aic7 a! y, J+ ]4 h9 Y1 l6 n: h/ w
    summary(lm4.aic)                #给出模型lm.aic中系数估计值、P值等细节5 P. z/ [0 Q( U9 z8 O  h" G& C
    ##BIC准则下的变量选择
    9 N, ^  g& S' H& u0 z* p, olm5.bic=step(lm3,k=log(length(a[,1])),trace=F)     #根据BIC准则选出最优模型,并赋值给lm.bic6 n& a, ^4 y6 {$ Y5 w
    summary(lm5.bic)         #给出模型lm.bic中系数估计值、P值等细节6 F9 j( i+ E$ w
    0 e& _% q- K7 ]: ^7 h1 v9 O

    + a. Y! R! k3 Z) u, _* q0 f#选用AIC准则下的模型进行回归诊断7 W8 e* g+ N( s, t% e9 S$ O
    windows()1 d" P- u  \" K1 Y3 W! Q
    par(mfrow=c(2,2))
    * S' O! n. u7 A, J: Iplot(lm4.aic,which=c(1:4))  
    - p1 E! y! V% N. M( G" h  u; b& X5 |2 k. j* e: z! P8 O! s

      V! }" p& Y; e! Y8 C: x
    , X5 u" w* h2 W  v2 ~3 ]* ~7 ^6 i
    : O8 [0 N$ u' q  @8 D/ v% g
    ##数据变换- A- |$ J$ |5 D7 e  [& _& e, A

    ' `  X$ ?6 g, K/ l* f3 q

    3 s: K/ H3 n! q" L#box-cox变换
    + B" w! I6 ~& O- Q! {$ w3 |library(MASS)/ X  i& O3 t2 D4 @$ n
    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))6 c+ p" ^5 y6 Q! ]* L; |, ]; C
    I=which(b$y==max(b$y))  #定位似然函数最大的位置! Z; n  N) l3 U. N
    lambda = b$x[I] #精确的λ值
    3 J: }& P4 Y; ^5 k6 C#λ接近于0,为模型简洁性,可以直接进行对数变换
    & i4 s! t) {6 Z9 A6 [+ vlogprice <- log(price)
    0 v; q' p+ M: W& I9 bhist(logprice)
    / S- l# g# E' t* e2 F. a& b' P* F$ g- y

    ! O0 R/ K9 s% _' A+ o3 C+ P##最终模型与诊断% @! `/ s; l5 L) z9 d) y) G. J

    " k, c9 M% I9 Q! o

    6 F4 a/ \4 g7 i/ Clm6=lm(logprice ~as.factor(dis)*as.factor(ring)+as.factor(wuye)+as.factor(fitment)+as.factor(ring)*as.factor(ronggrp)+lv+ratio)
    7 U0 Q) T3 ~7 m9 [windows()
    : Y- y6 S; n8 b7 M0 ~' Cpar(mfrow=c(2,2))
    3 p( j2 |3 R) ?4 Z0 V+ z+ mplot(lm6,which=c(1:4))
    / b! {( |! ^4 M5 h+ Nanova(lm6)
    5 k5 Z  V& ?; F' ]summary(lm6)' h! A% @+ ?5 o  v; Y
    7 Z7 G( \( \7 W! ]( F/ q
    # I5 p5 P" w) z# E7 G1 h
    请关注数学中国网微博和数学中国公众号,联系QQ 32437105607 p' l& G! G$ J9 Q" Z; q/ m7 J
    . N2 j/ ]! \9 i* [6 j
    ; `$ D% _* H: _
    ' `& d' ^/ `/ K$ p) Y* J, w

    7 l% p* c. E7 d+ |8 X, ?3 l3 E& y
    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的分析没有
    ) `- d; M( m. H/ P
    % {. \8 k% m) A

    点评

    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国赛实训

    太好了,又认真的看了一次,发现自已差太多了
    . J% j4 b! h5 ~0 F' m& I$ G5 M" d8 B5 K% m( }$ g7 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
    % n$ ], T- M7 T: z太好了,又认真的看了一次,发现自已差太多了

    : t/ M% Y: o! H. W  L我每天会发一些好资源的
    6 V7 f) O: T6 y6 `+ T
    回复

    使用道具 举报

    1178

    主题

    15

    听众

    1万

    积分

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

    [LV.7]常住居民III

    自我介绍
    数学中国浅夏
    fgfroom214 发表于 2021-10-27 16:32
    * n' E  U3 e4 B( X1 |8 U一定会认真的看看,发现这是R的,有python的分析没有

    - h5 ^- G- k) C9 f3 u; H! D有啊
    - {' I+ p( {* b' S
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-5-1 06:47 , Processed in 0.522099 second(s), 78 queries .

    回顶部