我们的目的是预测土地转让租金和土地转让费用。
数据是关于土地租金和土地转让费用和相关的预测因子。
## [1] http://dihe.cn/supply/view-529423 http://dihe.cn/supply/view-529422
## [3] http://dihe.cn/supply/view-529349 http://dihe.cn/supply/view-529399
## [5] http://dihe.cn/supply/view-529397 http://dihe.cn/supply/view-529392
## 2271 Levels: http://dihe.cn/supply/view-105 ...
## [1] "http://dihe.cn/supply/view" "http://dihe.cn/supply/view"
## [3] "http://dihe.cn/supply/view" "http://dihe.cn/supply/view"
## [5] "http://dihe.cn/supply/view" "http://dihe.cn/supply/view"
## .
## http://dihe.cn/supply/view
## 2271
可以看出数据都来自于一家网站,这里可能出现一定的偏差。
Summary:
不管最后选取什么样的方法取建模和预测,数据可视化分析和数据初步处理都是必不可少的步骤。做完处理以后交给房地产专业人员审阅,请他们提供一些有关数据的规律,利用这些经验知识对数据进行进一步的处理和预测。
下面是我们的详细分析
转让费用为-1,这是一个特征,可以做一个分类预测,什么样的土地会有转让费用,什么样的土地会不存在转让费用, 如果存在转让费用如何预测
从图中可以看出,转让费用取log后近似的服从正态分布。有了这个结论就可以尝试用回归分析预测转让费用了。
土地租金或者取log并不符合正态分布,用回归分析取预测可能出现较大的误差。
我们来观察一下用于预测的变量
# str(dat)
dat$交易服务费 %>% summary # 这个变量是常数0,必须去掉
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0 0 0 0 0 0
dat$供电条件 %>% table
## .
## -1 1 2 3
## 1 1562 707 1
data <- select(dat, -租金, -转让费) %>% # 租金和转让费用是需要预测的变量
select(-描述, -标题, -网址) %>% # 网址,标题和描述是需要特征工程处理的变量
select(-区域位置, -地块编号, -交易服务费) %>% # 区域位置因子层次太多,地块编号显然和预测变量独立
mutate(服务热线 = as.factor(服务热线)) %>% # 服务热线是因子变量,因子化处理
mutate(权证开始年份 = as.numeric(substr(权证期间, 1, 4))) %>%
mutate(权证结束年份 = as.numeric(substr(权证期间, 7, 10))) %>%
select(-权证期间) # 处理权证期间这个变量
## 查看权证相关变量
str(data)
## 'data.frame': 2271 obs. of 25 variables:
## $ 流转方式 : int 1 1 1 1 1 2 1 2 2 1 ...
## $ 土地类型 : int 1 2 1 1 3 1 1 4 5 4 ...
## $ 地块面积 : num 3333 4667 3333 2600 3333 ...
## $ 流转年限 : int 30 5 30 70 10 30 70 30 20 16 ...
## $ 服务 : Factor w/ 28 levels "由成都土地综合服务中心提供服务",..: 28 27 1 9 2 9 9 2 23 27 ...
## $ 服务热线 : Factor w/ 27 levels "13106826826",..: 24 25 18 6 9 6 6 9 2 25 ...
## $ 权属类型 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ 权证年限 : int 1 -1 -1 2 -1 1 2 1 2 3 ...
## $ 供水条件 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ 供电条件 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ 网络状况 : int 1 1 2 2 2 2 2 1 2 1 ...
## $ 灌溉水源 : int 1 1 2 1 1 1 1 1 1 2 ...
## $ 防洪排涝能力 : int 1 2 2 1 1 1 1 1 1 1 ...
## $ 地下水埋深 : int 1 1 2 1 1 1 1 1 1 1 ...
## $ 水源质量情况 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ 表面土壤质地 : int 1 1 1 1 1 1 1 1 1 2 ...
## $ 土壤酸碱度 : int 1 1 1 1 1 1 1 2 1 1 ...
## $ 有机质含量 : int 1 2 3 2 4 2 2 4 4 2 ...
## $ 所在市上年度人均收入: int 1 1 2 2 1 2 2 1 1 1 ...
## $ 城市化率 : int 1 1 1 2 1 2 2 1 1 1 ...
## $ 城市常住人口 : int 1 2 1 2 1 2 2 1 1 2 ...
## $ 附近产业集群 : int 1 1 2 3 4 3 5 6 6 1 ...
## $ 旅游资源景观 : int 1 1 2 3 3 3 4 4 5 1 ...
## $ 权证开始年份 : num 2016 NA NA 2016 NA ...
## $ 权证结束年份 : num 2046 NA NA 2086 NA ...
summary(data[,25])
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 2016 2030 2041 2045 2060 2086 540
summary(data[,24])
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 1992 2011 2016 2013 2016 2017 540
## 用于回归的因子变量层次不能太多
sapply(data, class)
## 流转方式 土地类型 地块面积
## "integer" "integer" "numeric"
## 流转年限 服务 服务热线
## "integer" "factor" "factor"
## 权属类型 权证年限 供水条件
## "integer" "integer" "integer"
## 供电条件 网络状况 灌溉水源
## "integer" "integer" "integer"
## 防洪排涝能力 地下水埋深 水源质量情况
## "integer" "integer" "integer"
## 表面土壤质地 土壤酸碱度 有机质含量
## "integer" "integer" "integer"
## 所在市上年度人均收入 城市化率 城市常住人口
## "integer" "integer" "integer"
## 附近产业集群 旅游资源景观 权证开始年份
## "integer" "integer" "numeric"
## 权证结束年份
## "numeric"
sapply(data, function(x) length(unique(x)))
## 流转方式 土地类型 地块面积
## 6 143 351
## 流转年限 服务 服务热线
## 69 28 28
## 权属类型 权证年限 供水条件
## 4 62 4
## 供电条件 网络状况 灌溉水源
## 4 4 4
## 防洪排涝能力 地下水埋深 水源质量情况
## 5 5 4
## 表面土壤质地 土壤酸碱度 有机质含量
## 5 7 7
## 所在市上年度人均收入 城市化率 城市常住人口
## 5 6 6
## 附近产业集群 旅游资源景观 权证开始年份
## 60 133 26
## 权证结束年份
## 71
## 从中可以看出 土地类型, 旅游资源景观, 附件产业集群两个变量层次太多,需要处理
## 服务热线于服务是线性相关的
# table(dat$服务, dat$服务热线)
## 经过分析,我们选取的预测数据集合如下
data <- select(data, -土地类型, -旅游资源景观, -附近产业集群) %>%
select(-服务热线)
# factor.var <- function(x){
# result <- x
# if(length(unique(x)) <10) {
# result <- as.factor(x)
# }
# result
# }
# sapply(data, factor.var) %>% as.data.frame() %>% str
前面的分析知道转让费是可以作为线性回归分析预测的量,而租金不太适合。
由于变量实在是太少了,这是一个低维问题,传统办法工作效果是最好的,step AIC方法进行回归分析。
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 11.86 55.73 86.13 113.50 145.10 399.20 33
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 37.75 120.00 503.40 300.00 9450.00
可以看出预测效果非常不好!!!特别是转让费用十分昂贵的时候。