识别数据中的离群值是一个很重要的过程,重要程度相当于要识别那些混进的奇怪的东西:
所以,ArcGIS地统计的数据探索模块里面,内置了一堆一堆的识别异常值的工具,比如下面这个:
维诺图(Voronoi)
Voronoi多边形有的书上也叫作泰森多边形,主要是由一系列连接相邻两个点的直线的垂直平分线组成的连续多边形,如下:
Voronoi图有以下几个特点:
1、每个多边形有且只有一个点。
2、在各自多边形内的所有点,到其他多边形的标识点的距离都要大于本多边形的标识点。
3、多边形边线上的点,两端连线的点的距离都相等。
在ArcGIS的地统计模块的数据探索中,可以直接做出Voronoi图:
选择需要探索的数据字段,就可以得到Voronoi图了:
提供了多种计算值的方式,来对多边形中的颜色数值进行填充,比如上图,用最简单的simple,实际上就是直接用每个点的颜色,来设定颜色。
ArcGIS里面,支持如下计算方法:
简单(Simple):直接用标识点的值来作为多边形的值进行渲染。
均值(Mean):取该多边形以及周边相邻的面的所有值的平均值。
众数(Mode):把所有的值分为五组(见左上角的图例),取该多边形以及相邻多边形的众数(最常出现的组别)。
聚类值(Cluster):利用五个组别对所有多边形进行分类,如果多边形的组距与相邻多边形的组距不同,则设置为异常显示为灰色,放入第六组,如下所示:
熵(Engropy):先把所有数值进行自然分类为5组,然后根据该多边形的值与相邻多边形的值计算出熵值来,熵值的计算方法我就不抄了,截图如下:
中值: 根据多边形及其相邻多边形的频数分布计算出的中值。
标准差: 指定给多边形的值是根据多边形及其相邻多边形计算出的标准差。
四分位距:第一四分位数和第三四分位数将根据多边形及其相邻多边形的频数分布进行计算。指定给多边形的值是通过从第三四分位数的值中减去第一四分位数的值计算出来的四分位距。
上面这么多值,我们应该注意哪些值呢?Esri的官方文档上给出这样一个表格:
如果你要检验局部平滑的程度,可以通过平均数、众数和中值来进行检验,下面类推,那么具体怎么用,或者如何查看,就依据数据情况来说明了。
最后依然是老规矩,给出Voronoi图的Python实现:
首先在Python的scipy包里面,具有一些空间算法,比如Voronoi算法,就是内置的,所以我们可以直接用:
然后仿照ArcGIS,设置多边形的值,我这里仅实现一个simple,其他的大家有兴趣可以自行实现:
以上Python实现的代码,请到如下位置寻找:
https://github.com/allenlu2008/PythonDemo/tree/master/008插值/地统计插值
待续未完