QQ登录

只需要一步,快速开始

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

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

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

1158

主题

15

听众

1万

积分

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

    [LV.7]常住居民III

    自我介绍
    数学中国浅夏
    跳转到指定楼层
    1#
    发表于 2021-10-27 14:50 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    【R语言】回归分析案例:北京市商品房价格影响因素分析5 s# W6 u( w, {% Q4 Q' e/ B

    这一案例是王汉生老师《应用商务统计分析》方差分析章节的案例,主要对离散型变量进行了处理。3 ]! a) N( _, `* G; Y! z  H
    这里将连续型变量也加进来,进行协方差分析,建立完整的模型。

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

    9 y( C6 G! B! S* k" }5 e
    行描述性统计分析,各连续型变量之间的相关关系如下:
    ' p+ G$ q* z% [1 O% F0 @
    / z0 M2 E! C3 ^, _

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

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

    " W9 R* z5 G' }6 |

    # U/ _( t2 P( J/ b* b- y3 o
    ! D' y7 g1 Q  ?/ J最终模型残差图:: _2 n: l3 R  W# C: Q
    $ t; L% @: l$ t/ q
    通过模型分析结果可知,影响北京市商品房平均销售价格的主要因素有:4 u5 E" R& ^5 Y: M
    属性变量:所在辖区、所在环线、物业类别、装修状况、容积率大小(新引入);连续变量:绿化率、停车位住户比
    - E5 \2 i  M; x) ]属性变量的具体影响在此处分析略去。' R. P! f# [& p$ ]1 |
    连续型变量的影响主要为:
    ; t4 c. z2 A$ b0 x) \ 绿化率:绿化率的影响十分显著,由系数估计值为正,说明对房价有正向影响,绿化率越高的楼盘房价越高;. f# H7 n3 u- \. n  P) O
     停车位住户比:有较显著的影响,停车位住户比越高,价格越高;
    0 |7 `- e2 N3 I9 x/ o' W0 b, ]同时,原本为连续型变量的容积率经过离散化变为属性变量后:
    5 d" \3 H8 p# ^- E9 c- G8 i 容积率大小:容积率分组有较显著的影响,高容积率的小区商品房价格更贵;
    6 \  S7 U# s0 }2 `5 @ 容积率与环线之间存在着交互效应。  Z0 G1 c5 r( Q# ^4 f4 P; k  _6 N. }
    rm(list=ls())                                                                                #清空当前工作空间- `) @) @  L6 G7 _# Q' o
    setwd("D:/回归分析")
    : O# C$ r& \0 P# i/ E0 ]. M& B8 ?a=read.csv("real.csv",header=T)                #读入csv格式的数据,赋值为a
    & Z; v. w; X7 `6 a( B! f5 k9 ]View(a)
    . u1 J5 T; a1 x. aattach(a)5 U8 n, v0 \3 C; |& w* [
    names(a)4 g2 D' }; E! t

      Q; Y2 U5 u1 |. f
    , f6 m7 V! l  e4 l3 R! {
    ##描述性统计& h, O+ @) _% w2 l
    1 z- t5 B, J% O6 ~4 ~- o8 W
    ; P) O% u" M( x" y8 [" i$ \6 b
    #未做处理的响应变量分布情况
    . P: Z% F- b# \1 k9 K  R+ J* dpar(mfrow=c(1,1))
    , i3 g; J% R) \' ~hist(price)
    6 E; V- W' F8 n$ Y/ Psummary(price)        #查看响应变量的描述统计量. Z3 O$ {# d" d2 _. m! L
    #连续型变量描述性统计
    , V/ B; _. r' i7 q% nwindows()! D9 Z- w" r9 [8 p- P6 @
    pairs(a[,c(6:10)])    #所有连续型变量间的散点图# j; e' L+ R! ?( @
    par(mfrow=c(2,2))        $ |' a5 N, W  F) A" L5 V1 n
    plot(rong,price)      #每个连续型因变量与响应变量间的散点图" `$ _/ @- q0 R) z: G
    plot(lv,price)
    4 I0 L+ c- N; K- s4 d* n) u: nplot(area,price)
    8 l5 p) b' u; `! aplot(ratio,price)
    % s2 r! t" o' Q9 ?5 c$ Msummary(a[,c(6:10)])  #查看连续型变量的描述统计量- M. P, b: Q* R/ C
    cor(a[,c(6:10)])      #查看连续型变量的相关系数1 U. n3 ~3 e/ |" B# Z+ k7 c6 @5 Y
    #属性变量描述性统计/ ?1 k, z% L  c
    windows()$ i) O; S: }+ W4 |. S! M4 i1 ?6 W  n
    par(mfrow=c(2,3))                       
    + X5 O- K( X% [* A: hboxplot(price~dis)          #每个属性变量关于响应变量的箱型图
    8 e! \1 O0 \2 b8 r5 [boxplot(price~wuye)                                                                       
    : A' u( g4 R8 a1 ^  Bboxplot(price~fitment)       
    . I  w8 I3 o5 d  t' @boxplot(price~ring)        0 x# F: }. A) h* n+ F) y2 E! S/ o
    boxplot(price~contype)0 @, x5 ?' J: x% b; F0 J4 b
    ( l/ ^+ q6 s+ ]' r; G% h. v

    8 A- L9 w; v1 w$ L) P9 r  P- H2 ~  ?! q9 d% s. ^6 m: B# I
    6 D- |! Z2 [% g7 q; S, U1 h! U
    ##模型建立7 N0 U. q8 o  D0 a+ C8 w
    , R) f" G( ~: G% {( C
    * x- V$ Z, y( [. Y, O4 l
    #在方差分析模型基础上加入连续型变量
    9 P. M9 c) a" T- ]lm1=lm(price~as.factor(dis)*as.factor(ring)+as.factor(wuye)+as.factor(fitment)+as.factor(contype)+rong+lv+area+ratio)
    ' ^# ]8 ^: H6 S/ }9 e6 O# danova(lm1)                #方差分析
    % g) d( R% z9 v; t6 F+ Msummary(lm1)              #模型参数估计等详细结果4 B8 {7 ^* A: C* G8 u
    windows()
    6 h8 m$ k& m( L3 V: R& l2 Opar(mfrow=c(2,2))& h* ~: D2 V! O) E; e# a
    plot(lm1,which=c(1:4))    #回归诊断做残差图2 x$ G. i! n- Y" V" O/ A# v2 n% @

    # M+ U3 d2 Q& [. S! E) {
    ( i! P# [! E; j

    9 s- I+ w9 h1 P
    3 e3 E" `2 b& v
    ##变量处理
    / l- o4 Z3 ]0 z1 d) [' ^8 I6 ~- M- V/ j

    & H( q8 s0 [: G" t3 W" c0 W. @  E###对不显著的变量采用分组的方式希望能达到显著的效果+ e% V% l' U- A# p
    ##对容积率的处理
    # f3 ^, @' U) e. G. G& D0 `! Xwindows()
    ' F. N, l$ P) D; r4 E6 Gn = 4
      y7 S- l6 b; S" z+ m3 H6 ~( Pboxplot(price~ceiling(rong/n))                #容积率多分组下的箱型图                                       
    9 u( d9 ]% q3 [0 ~table(ceiling(rong/n))                                                #容积率各分组下的样本数
    ' W& W5 m: E. T1 O+ _0 c% |. R( Jronggrp=1*(rong>n)                #进行二分类
    6 b  e: ~, r! a#ronggrp=ceiling(rong/n)        + s3 A) s* X0 ^
    table(ceiling(ronggrp))           #容积率二分类下的样本数
    . V, g: d+ p6 a9 kwindows()9 b- D: f8 Z* |/ g- D* v8 I
    boxplot(price~ceiling(ronggrp))   #容积率二分类下的房价箱型图
    & R1 K1 L9 m. W" B% Rwindows()
      |, m% q% d- Y: t# I; npar(mfrow=c(1,2))
    ( x6 t; z$ W8 @. M7 T& a0 N: }; nboxplot(rong~ring)                #容积率与环线箱型图) [+ ~. c. W3 |1 R; b% k# w
    boxplot(price~ring)               #房价与环线箱型图 : G: @; J4 L" @$ X. f# k- G/ g+ c
    #加入容积率分组和容积率分组*所在环线交互因子的模型
    8 a7 \, j/ i5 Dlm2=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)
    ; s' O. H4 l( y( T' b, M! ?anova(lm2)                #方差分析
    # Z4 I. ^/ c( L# {4 U" msummary(lm2)              #模型参数估计等详细结果
    - R1 {1 S# L4 h# w( A6 Rwindows()
    % N) q! [. @% |3 J2 d$ C" ppar(mfrow=c(2,2))
      T2 Q. Z' A# v; nplot(lm1,which=c(1:4))    #回归诊断
    5 u' I# n: ^4 [8 g( P: T$ X0 R4 k
    ) A5 B% {2 G: Z' n8 Q# f- |
    $ l# i6 \" ~2 F* h6 h; p7 a2 B$ T
    ##对小区面积的处理
    # K3 `0 u: s* Qsummary(area)* f7 ~$ u# h6 k
    plot(area,price)
    9 h1 n; n/ E0 d% jwindows()5 x$ p- s/ \, L5 X- |$ Y! S. ^
    n = 150000
    ( z$ ~' p. U- g9 N7 o+ gboxplot(price~ceiling(area/n))                                                       
    # H/ b, n( R- k% l7 ~; {' k) ktable(ceiling(area/n))                                                                  A" Q5 l6 {! w8 H
    areagrp=1*(area>n)
    3 S3 h* F+ k+ w* Y6 a! y; itable(ceiling(areagrp))& r: @9 i1 L5 C6 w8 G, r
    boxplot(price~ceiling(areagrp))
    : X- y3 o. ?1 u/ x#加入小区面积分组的模型
    $ _( c6 d" ~" @, G1 xlm3=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)  E% a* a8 ?- `% i8 E" t
    anova(lm3)                #方差分析
    & [# M; f+ u- b0 J6 E) ysummary(lm3)              #模型参数估计等详细结果. R) ~4 w8 t( x. r- I2 J
    windows()6 D1 I  Q1 X* C' f; g
    par(mfrow=c(2,2)), B, t0 _9 y5 c/ ~' N
    plot(lm3,which=c(1:4))    #回归诊断
    $ ?5 q& J: |( F% ]$ g
      ?+ l- |: h1 C- e! j! z2 q# M
    % N  O3 W7 ?# g4 ?& J; {1 ~8 V* h1 U  y
    ##变量选择' y2 D" B% t- Y  x3 a
    7 I3 n: q2 O& Z$ u( `; v( L5 L  _

    6 ?0 ^% n8 l1 B: b+ M##AIC准则下的变量选择
    4 D5 C7 M. i, D& ~. G. ^lm4.aic=step(lm3,trace=F)       #根据AIC准则选出最优模型,并赋值给lm.aic
    : i7 X: e* q# B  vsummary(lm4.aic)                #给出模型lm.aic中系数估计值、P值等细节
    1 G. E" Q+ F/ G2 |* m* W+ ]/ ]##BIC准则下的变量选择9 L0 E0 Z' v& |! F
    lm5.bic=step(lm3,k=log(length(a[,1])),trace=F)     #根据BIC准则选出最优模型,并赋值给lm.bic  |4 O/ B' b$ J$ U1 P, ~5 o
    summary(lm5.bic)         #给出模型lm.bic中系数估计值、P值等细节
    / Y5 _- u& r' m* E# o- w8 q! p7 s* W$ L+ `4 g0 ^+ A9 @

    2 _. J9 I" x( b. {- q2 O. d) B2 J#选用AIC准则下的模型进行回归诊断/ @) y9 h6 h. d& c2 k+ D
    windows()
    ( }/ E# F. k& N5 L8 h9 ^par(mfrow=c(2,2))( u' u: n8 q7 F' N
    plot(lm4.aic,which=c(1:4))  % N$ R' {1 l' J; y7 y
    1 {7 |+ H$ {, [3 c. q' Y, A
    & f& S3 A; ~, a7 _. q" J; b9 l

    " H2 b+ X6 k! ]2 L
    7 |3 d2 q- O) o" U/ a  V" R
    ##数据变换0 c0 E2 I/ g( i
    * H- \+ ?. \" _
    ) b$ k  W) p7 `5 ~7 O! U1 U
    #box-cox变换# U% ]0 y5 ]+ k) l
    library(MASS)
    ( K- ]- y! q( [! gb=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))
    8 k' I+ o  x. z  _. B: II=which(b$y==max(b$y))  #定位似然函数最大的位置$ G# |1 h7 W  Y. G  _
    lambda = b$x[I] #精确的λ值  i, n. [2 a- q9 F
    #λ接近于0,为模型简洁性,可以直接进行对数变换
    5 n) m- r( M4 T- [5 L+ ?, _9 C4 s3 ?logprice <- log(price)
    8 r& V& Y# p8 {4 lhist(logprice)
    * k- m8 H# j- w! U
    * e; L4 M6 q1 a3 _  E$ |
    ' L( t# u2 y' _8 V$ K
    ##最终模型与诊断
    % D' c1 P8 ~0 z! K2 `% Y6 s  \
    3 \0 Z' ?% V4 d! c

    5 O3 a7 l6 K  o/ ~! P; jlm6=lm(logprice ~as.factor(dis)*as.factor(ring)+as.factor(wuye)+as.factor(fitment)+as.factor(ring)*as.factor(ronggrp)+lv+ratio)
    & F- m5 I1 f0 awindows()
    / s3 i, P: }4 o* gpar(mfrow=c(2,2))* O1 L- c: }: e( ~  K/ f* q
    plot(lm6,which=c(1:4))
    % x8 z; T2 E- b7 g- L' eanova(lm6)
    1 ]" y( p2 R  C. h8 ~" }summary(lm6)
      L7 l$ \$ @+ s4 k
    9 c! T( C2 C4 f% e/ {8 A3 n; h9 E0 D1 G/ D* [
    请关注数学中国网微博和数学中国公众号,联系QQ 32437105609 c. z, ^5 g2 y- O
    1 @- z( ?' `6 ~) c. Q" u

    7 e7 N& N/ i) U1 y
    . \1 ]# }4 K4 d5 u! v  b* f) @$ }; |0 @! I4 Y
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    9

    主题

    14

    听众

    616

    积分

    升级  4%

  • TA的每日心情
    无聊
    2024-5-9 23:29
  • 签到天数: 633 天

    [LV.9]以坛为家II

    新人进步奖

    群组数学建模

    群组2014年网络挑战赛交流

    群组学术交流D

    群组数学建摸协会

    群组第四届cumcm国赛实训

    一定会认真的看看,发现这是R的,有python的分析没有
    4 h6 {) d6 N9 N9 l3 B+ ?4 n& v. X2 ~# X: j" i7 y; _& K4 D" {

    点评

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

    使用道具 举报

    sjlxdn        

    1

    主题

    2

    听众

    155

    积分

    升级  27.5%

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

    [LV.5]常住居民I

    国际赛参赛者

    回复

    使用道具 举报

    9

    主题

    14

    听众

    616

    积分

    升级  4%

  • TA的每日心情
    无聊
    2024-5-9 23:29
  • 签到天数: 633 天

    [LV.9]以坛为家II

    新人进步奖

    群组数学建模

    群组2014年网络挑战赛交流

    群组学术交流D

    群组数学建摸协会

    群组第四届cumcm国赛实训

    太好了,又认真的看了一次,发现自已差太多了
    4 {' f0 U) `' r$ B3 z! j7 R8 V1 R% j8 T

    点评

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

    使用道具 举报

    1158

    主题

    15

    听众

    1万

    积分

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

    [LV.7]常住居民III

    自我介绍
    数学中国浅夏
    fgfroom214 发表于 2021-10-27 23:18 9 c% F+ H' J+ J- \3 H$ ^
    太好了,又认真的看了一次,发现自已差太多了

    $ l# h* k" n$ H% S- a3 `我每天会发一些好资源的
    8 m2 J! ?/ g: T& A
    回复

    使用道具 举报

    1158

    主题

    15

    听众

    1万

    积分

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

    [LV.7]常住居民III

    自我介绍
    数学中国浅夏
    fgfroom214 发表于 2021-10-27 16:32
    1 l- `$ [9 k5 b! H. i# D一定会认真的看看,发现这是R的,有python的分析没有

    4 S5 T* }; @1 I0 @( T有啊
    4 x1 j7 \! w3 u6 c4 a( S1 c
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2024-5-10 03:22 , Processed in 0.471230 second(s), 78 queries .

    回顶部