GeoDetector --- 最优参数离散化

安装R包

(直接在RStudio安装GD包)

install.packages("GD")

加载数据

library(GD)   #加载GD包
setwd("X:\\work\\GD")   #设置工作路径
data1<-read.csv("data_raw.csv")   #读取数据(未经离散化处理的原始数据)
head(data1)   #可以查看数据

离散化方法

GD包中提供了六种离散化方法:

  • equal(等距离间隔法)
  • natural(自然断点分类法)
  • quantile(分位数法)
  • geometric(几何间隔法)
  • sd(标准差法)
  • manual(手动间隔法)

离散化优化

通过GD包中提供的optidisc()函数,可以自动计算最优的方法及分类

discmethod<-c("equal","natural","quantile","geometric","sd")   #选择离散化方法
discitv<-c(3:8)   #定义间隔点个数为3~8个(间隔数量至少定义为3,不然会报错'非数值的矩阵范围')
odc1<-optidisc(y~x1+x2,data=data1,discmethod,discitv)   #设置变量,~前为因变量,后为自变量
odc1   #输出结果
plot(odc1)   #可视化结果

结果表明,以自变量'人口密度'为例,采用几何间隔方法分为7类为最优:

optimal discretization result of pop_den
method             :  geometric
number of intervals:  7
intervals:
 0 6.120119 49.69609 359.9622 2569.094 18298.37 130292.7
numbers of data within intervals:
 15 3 17 139 508 446

可视化结果:

posted @ 2022-10-21 17:54  lexapro  阅读(834)  评论(0)    收藏  举报