白话空间统计十五:多距离空间聚类分析 (Ripley's K 函数) (上)

124 篇文章 281 订阅

空间分析里面,最重要的一个概念就是距离,不同的距离会导致不同的结果。在研究的时候,有种叫做“空间尺度”的概念,这个有兴趣的话,请自行百度(老规矩:百度知道的东西别问我)。

 

所以,在研究聚类的时候,最重要的就是确定不同数据之间的距离,否则就会如下:

 


 

 

聚类分析中,要素之间的距离是个很重要的参数;也就是说两个要素相隔多远才算是聚成一类呢?在任何一种聚类算法中,探索一个合适的距离,都是比较纠结的事情。专家提出了各种算法,都想要优化这个距离探索的过程,以便有效的降低计算开销。

 

同样一份数据,在不同的距离上,表现出来的聚类效果肯定是不同的,所以我们今天来说一个灰常灰常神奇的工作,他不同于其他的分析工具的单一距离分析,他可以汇总在一定距离内所有数据的相关性进行汇总,以供我们选择适当的分析比例。

 

首先我们来看Ripley's K函数是个什么东西。Ripley's K方法是一种点数据模式的分析方法,它可以利用Ripley's K函数对点数据集进行不同距离的聚类程度分析,如下图所示:


当距离为5的时候,要素的质心的位置和密度如左图所示,当距离扩大为10的时候,质心和包含的要素数量都会发生变化,那么数据的密度也会随之变化。

 

所以,Ripley's K函数就是用来表明这批要素的质心的空间聚集或空间扩散的程度,以及在邻域大小发生变化时是如何变化的。

 

我们来看看这个算法的基本原理。

 

首先我们要设定一个起算距离,当然,还可以指定最终距离或者增量步长,如开始为5,然后每次计算增加3这样的。计算的距离增加的时候,包含的相邻的要素自然就会原来越多,那么就可以针对不同的距离,去计算包含的数据的密度。

 

当全部算完之后,把每个距离的密度进行一下算数平均,并且用这个平均密度,作为用于比较的标准密度值。

 

然后用每个距离里面,包含的数据量的密度,来与标准密度值进行比较。大于标准密度,那么我们就认为这个距离上,数据处于聚类分布,而小于标准值的,我们就认为他处于离散分布。如下图所示:


从上图可以看见,整个数据分布,其实不是线性,而这种所谓的离散或者距离,更多的是一种定性的说法,至于哪个距离上聚集效果好,哪个程度上离散程度大,一般是通过观察k值和预期k值进行比较得来的。

 

所谓的观察k值,指的是我们计算出来的实际密度值,而预期k值,指的是在随机分布的情况下,预期的分布情况。

 

有的同学就要问了,不是用的平均密度来进行比较么?这个预期K值和随机分布又是什么鬼?

 

平均值的问题,前面我们已经一而再再而三的说过了,虽然他简单好用,但是他的优点和缺点一样的明显,在描述算法的时候,可以用平均值来进行描述,但是实际使用中,平均值暴露出来的各种问题,会让分析人员为之抓狂。特别是在空间分布研究的时候。如果仅仅用平均密度来研究具有空间分析的数据,会出现如下问题:


 

所以为了避免平均数带来的一些简单粗暴的计算,在研究空间分布的时候,更多是利用零假设的方式,来设定随机数进行分布,作为预期值。

 

实际上,研究的方式是这样的:


 

在每个研究区域内,都进行随机假设,也就是独立的将每个研究预期中都采用零假设的方式设定期望值,这样的话就可以避免上面那种整体平均数出现的错误了。

 

所以,整个算法,在计算完成之后,会生成两个数据,一个叫做“观测K值”,一个叫做“期望K值”,他们的特点如下:


如果特定距离的 K 观测值大于 K 预期值,则与该距离(分析尺度)的随机分布相比,该分布的聚类程度更高。如果 K 观测值小于 K 预期值,则与该距离的随机分布相比,该分布的离散程度更高。

 

当然,前面我们在解释零假设的时候,说了任何的假设,最好需要设立一个置信度,就如同前面说的,进行验证的时候,首先就要决定我们来抛多少枚硬币,费希尔爵士也总结出了一个5%的规律。

 

当然,你也可以不设置置信度,这样的话,就表示怎么计算都行,只要得出结果就好了。

 

而效果比较好的,当然就是要设置一下执行度了。

 

在这个算法里面,确定期望K值时候,是要通过设立随机数来实现的,也就是说,你有100个数据,我就要生成100随机数,然后随机的分布在你的研究区域中,用这个随机分布的假设,来验证你的数据。

 

因为是随机数,所以放置这些随机数的时候,你也无法确定到底扔在那个地方,有可能都扔在一堆了……所以最好的方法,就是多设立几组随机数,多放置几次,以获得最佳效果。那么设立多少组随机数比较好呢?理论上来说,当然是越多越好,但是实际上不可能搞得非常多。在ArcGIS提供的多距离空间聚类分析 (Ripley's K 函数) 工具里面,给了“Compute_Confidence_Envelope”(计算置信区间)这样一个参数,一共给出了4个选项:

 

  • 0_PERMUTATIONS_-_NO_CONFIDENCE_ENVELOPE —不创建置信区间。
  • 9_PERMUTATIONS —随机放置了 9 组点/值。
  • 99_PERMUTATIONS —随机放置了 99 组点/值。
  • 999_PERMUTATIONS —随机放置了 999 组点/值。

其中:9 表示 90%,99 表示99%,999 表示 99.9%。

 

使用了这个参数之后,算法还会计算出LwConfEnv和 HiConfEnv这两个数据,他们分别表现每个迭代计算(由距离段数量参数指定)的置信区间信息。

 

如果观测K值大于 HiConfEnv 值,则该距离的空间聚类具有统计显著性。如果观测K值小于 LwConfEnv值,则该距离的空间离散具有统计显著性。

 

具体这个算法进行计算以及其得出的结果和具体解读,我们在下篇文章继续。

 

待续未完。

  • 88
    点赞
  • 214
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
1. 项目背景 基于项目提供的汽车相关数据,通过聚类分析的方法实现汽车产品聚类,以构建汽车产品画像、分析产品定位、完成汽车竞品分析等要求。 2. 项目数据 项目提供的汽车数据包括26个字段共205条数据,数据文件为“car_price.csv” 26个字段可以划分为类别型变量和数值型变量两种,包括汽车的长/宽/高、汽车净重、燃油系统、燃油类型、驱动类型、峰值转速、里程数、汽车价格等。 3. 项目要求 通过聚类的方法构建汽车产品画像、分析不同类别汽车的产品定位,寻找Volkswagen大众汽车的竞品品牌。 4. 项目思路 第一步:数据字段理解 根据项目所提供的数据,对数据中26个字段进行理解。结合汽车行业的相关知识,26个字段可以大致归为两类:第一类是车辆自身属性(如燃油系统、燃油类型、汽缸数、峰值转速、汽车长宽高等);第二类是车辆的市场属性(如车辆名称、车辆价格、风险评估等级)。 26个字段主要分为数值型变量和类别型变量两类。 第二步:原始数据描述性统计及变量分布可视化 对原始数据进行描述性统计并对数据中的字段分布进行可视化(详情见主文档)。通过对原始数据的观察,数据不存在缺失值、不存在重复值,“CarName”字段存在部分车辆品牌名称错误的情况。 第三步:确定聚类方法,明确聚类要求 通过对原始数据的变量观察,该数据变量主要为数值型变量和类别型变量两类,且类别型变量数量较多,常用的K-means聚类只能分析数值型变量,无法考虑类别型变量所包含的信息。二阶段聚类法适用于包含数值型和类别型变量的混合数据,因此考虑使用二阶段聚类法分析数据。 二阶段聚类法的要求是:类别型变量符合多项式分布(即变量的值分属几个类别);数值型变量间要相互独立,且数值型变量近似服从正态分布。项目所给出的数据中,类别型变量符合多项式分布,因此仅需进一步观察并处理数值型变量。 第四步:特征工程 数据清洗与新变量生成。原始数据指给出了车辆的名称,没有给出车辆所属品牌,结合最终聚类分析的需要,根据“CarName”字段提取出车辆所属品牌信息,命名为“brand”。同时对品牌名称中的错误拼写进行清洗。 变量相关性分析与可视化。由于二阶段聚类要求数值型变量间相互独立,所以需要对数值型变量间的相关性进行查看与处理。相关性分析结果表示14个数值型变量之间存在高相关性情况,需要结合汽车知识背景与变量特征进行进一步处理。 高相关变量的处理——“highwaympg”和“citympg”呈高度正相关。其实不管是高速mpg还是城市mpg,其本质都是mpg指标,而且通过观察数据,二者之间的差异较小(极值、均值),因此考虑将二者合并为一个指标'mpg',计算方式为取二者均值:mpg=(highwaympg+citympg)/2; 高相关性变量的处理——“price”变量与其余变量产生高相关性的频数最多,可能是因为车辆自身属性和配置的变动会直接影响着车辆的市场价格。此外,与其他变量相比,price属性属于车辆的市场销售属性(而非车辆自身属性),在聚类中更适合作为类别型变量,对车辆的价位进行划分,因此,考虑将price变量转换为类别型变量,按照其价格分布划分为Low price(20000)三类; 高相关性变量的处理——对于其余数值型变量,变量数目较多且多个变量之间存在相关性,因此考虑使用因子分析对数值型变量进行降维,以减少数值型变量的数目并使变量间相互独立。 第五步:数值型变量因子分析结果(基于SPSS实现) 利用SPSS对数值型变量进行因子分析,KMO值>0.8,巴特利球形检验p值=0,说明参与因子分析的变量间存在相关性,可以进行因子分析。最终得到两个因子。 第一个因子包括:车长、车宽、车净重、引擎尺寸、车轴距、mpg、马力、车内径比。简单将该因子归纳为车辆截面与马力因子; 第二个因子包括:车高、峰值转速、车压缩比。简单将该因子归纳为车辆垂面与转速因子; 第六步:两阶段聚类及结果(基于SPSS实现) 对处理后的数据进行两阶段聚类,最终将205辆车聚为两类。 根据SPSS聚类结果,第一类中包含120条车辆数据,占总数据的58.5%;第二类中包含85条车辆数据,占总数据的41.5%。两类簇数据规模近似,没有过大或过小的类簇。 根据SPSS聚类结果,聚类质量属于“良好”范围,仍有进一步改进和优化的空间。 根据SPSS聚类结果,显著区分两类类簇的变量(重要性>0.6)按重要性大小排序依次是驱动类型、燃油系统、车辆截面与马力因子、价格范围。 汽车产品画像与产品定位 根据区分类簇的四个重要标签来对数据中的汽车产品进行产品画像与产品定位。 第一类画像:驱动类型多为fwd(前轮驱动),燃油系统多

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虾神说D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值