第1章空间数据分析经典软件简介
1.1空间数据分析软件的必要性
由于空间信息分析理论较为复杂,对于一般科研人员而言掌握难度大、耗费精力多。为此,世界各地的学者和研究机构及一些软件开发商已经研制了众多的空间分析软件包,这些软件包有些关注于某一类型的空间数据的分析,对空间数据分析在特定领域(如犯罪分析、公共卫生研究)的应用起到了极大的推动作用;有些则试图发展尽可能全面的空间分析功能,对空间分析理论和方法的研究和实践具有重要意义。
1.2空间数据分析软件包的分类
空间分析理论来源于地理学和地质学。因为地理学和地质学研究对象不同,所涉及的数据特点和分析方法不同,所以两大流派在软件功能、结构、风格上也有所不同。
源于地质学的空间分析软件包一般以地统计数据为主要研究对象,其空间分析方法以克里金(Kriging)法为代表,相关的软件也比较成熟,如GISLab等。
地理学者所关注的空间现象主要包括点数据和多边形数据,他们研发的空间信息分析软件包多以空间相关性和空间异质性为理论核心。
1.3主要的空间数据分析软件简介
1.3.1 CrimeStat CrimeStat软件是在美国国家司法研究所等机构的资助下,由NedLevine博士主持开发的一款用于特定领域的软件。CrimeStat软件包括五个部分:数据设置、空间描述、空间模型、犯罪旅行需求和选项设置。CrimeStat软件输入项为事件发生的地点,在数据设置中可以指定主要文件、次要文件和参照文件等。
1.CrimeStat空间分析的类别
(1)空间描述,用于描述点的空间分布特征,主要指标包括平均中心、*近距离中心、标准偏移椭圆、Moran’s I、Moran相关图、平均方向等。
(2)距离统计描述,用于识别点空间分布是否具有聚集性,如*邻近分析、线性*邻近分析、Ripley的K函数和距离矩阵演算等。
(3)热点分析,用于寻找点集中分布区域,包括层次邻近分析、风险修正的层次邻近分析、犯罪统计时间分析(statistical temporal analysis of crime,STAC)、k均值和局域Moran’sI统计等统计分析形式。
(4)单变量核密度估计,通常生成密度表面或事件发生频率的等值线。
(5)双变量核密度估计,通常为事件发生频率与基准水平的比较。
(6)时空分析,分析点时空分布规律,包括计算Knox系数、Mantel系数,时空移动平均数和关联旅程分析等。
(7)犯罪旅程分析,包括定标、估计和绘制犯罪轨迹图。
2.犯罪旅行需求
犯罪旅行需求是CrimeStat软件独有的专业特色功能,是旅行需求理论在犯罪分析中的应用。
(1)旅行发生器,包含独立的旅行发生和旅行吸引力模型。
(2)旅行分布,用于计算观测的旅行分布、模拟旅行分布、比较观测的与预报的旅行距离的分布。
(3)模式划分,根据不同的起源-目的地组合,划分为五种不同旅行模式。
(4)网络分配,估计可能的旅行线路,包括网络段的总容量,这个网络可以使用除距离之外的旅行时间、旅行速度或旅行花费来模拟。
1.3.2 GeoDa GeoDa软件是设计实现栅格数据探索性空间数据分析(exploratory spatial data analysis,ESDA)的软件工具集合体。它向用户提供一个友好的可视化界面,用以描述空间数据分析,如自相关性统计和异常值指示等。它基于动态链接窗口技术,利用多张地图和统计图表来实现交互操作。GeoDa主要支持的数据格式是ArcView的shape文件。当将文件导入软件后,用户可以利用菜单里的9个菜单项进行各种分析。GeoDa软件菜单栏的每项菜单都具有特定功能,其中*重要的菜单项在工具条内都有相应的图标与菜单栏。如Space菜单用来进行度量数据空间自相关性等探索性空间数据分析,包括Moran散点图及Moran’sI推断、二元散点图及Moran’sI推断、发生率的Moran散点图、局域Moran’sI显著性地图。
1.3.3 WinBUGS和GeoBUGSWinBUGS是在BUGS基础上开发的面向对象交互式的Windows软件版本,BUGS软件*初于1989年由位于英国剑桥的生物统计学研究所研制。WinBUGS可以方便地利用许多常用和复杂模型(如层次模型、交叉设计模型、空间和事件作为随机效应的一般线性混合模型、潜变量模型、脆弱模型、因变量的测量误差、协变量、截尾数据)构建新的模型。
1.WinBUGS构建模型
WinBUGS软件中,构建模型是进行分析的*关键步骤。WinBUGS软件采用一种混合文档作为其文件格式。在一个混合文档中,可以包括文字、表格、公式、图表、图形等众多信息。模型同样是混合文档的一部分,通过model这一关键字来区分。
2.GeoBUGS简介
GeoBUGS是WinBUGS中一个特别的模块,可以产生和管理空间邻接矩阵,计算空间条件自回归模型,并为计算的结果提供图形输出功能。
1.3.4SaTScan
SaTScan软件是一款用空间、时间或时空扫描统计量分析空间、时间和时空数据的免费软件,由哈佛大学公共医学院MartinKulldorff博士开发。
1.SaTScan应用
SaTScan软件主要应用于以下几个方面:
(1)实施疾病地理检测,探测疾病在空间、时空分布上的聚类,并检验它们是否具有统计显著性。
(2)检验某种疾病在时间、空间、时空上是否服从随机分布。
(3)计算某种疾病聚类警报的统计显著性。
(4)为疾病暴发早期探测进行定期检测等。
2.SaTScan数据
在利用SaTScan软件进行空间分析时,通常需要根据病例数据的空间分布概率模型选择输入以下数据:病例数据、对照人群数据、人口数据、坐标数据、格网数据。这些文件都可以用记事本打开并编辑。除了需要输入数据以外,还需要设置研究时段、时间精度、坐标类型和协变量等参数。
3.SaTScan数据分析
SaTScan软件数据分析按照研究目的分为前瞻性分析和回顾性分析。前瞻性分析:其结果具有一定预测性,只涉及事件和时空分析,如时空重排扫描统计量。回顾性分析:是对已经发生的疾病数据进行研究,囊括了时间、空间和时空分析方法。
2.1 CrimeStat软件简介
CrimeStat软件是用于分析犯罪地点的空间统计程序。该空间统计软件可以分析犯罪的位置,为犯罪事件的地图显示提供更全面的统计分析工具。CrimeStat第一个版本(1.0)于1999年8月发布,目前*新版本是4.02(本章内容主要基于此版本)。
CrimeStat的运行环境是Windows。CrimeStat的主要功能是对位于GIS(geographic information system)中的对象执行空间分析。对象可以是点(如事件发生的位置)、线(如街道)、面(如街区、城市等)。程序使用球形或投影坐标,以“dbf”、“shp”、ASCII或ODBC兼容格式输入事件位置(如抢劫位置)。它计算各种空间统计数据,并将图形对象写入ArcView、ArcGIS、MapInfo、WindowsSurfer和Spatial Analyst等GIS软件。
CrimeStat是对犯罪事件发生地点数据进行空间统计分析的数据包,是一个独立的Windows专业版程序,可以为大多数桌面地理信息系统预留接口。CrimeStat提供了多种用于犯罪事件或其他点位置的空间分析统计汇总和犯罪事故数据模拟的工具。开发这个程序的目的在于提供补充统计工具,帮助执法机构和司法研究人员进行犯罪分析工作。绝大多数犯罪分析是目视检查事件地图,通过数据显示“热点”等图案,并根据经验得出事件随着时间推移变化的有关结论。
CrimeStat正在被世界上许多执法部门、刑事司法部门和其他研究人员使用。应用案例可以是分析对象的分布、识别热点、指示空间自相关、监测事件在空间和时间上的相互作用,以及模拟旅行行为等。CrimeStat*初的目的是对犯罪事件进行空间统计分析,但目前该软件在流行病学等众多领域也获得了广泛应用。
2.2相关算法
2.2.1 k中心点聚类算法基本思想:随机存取机(random access machine,RAM)算法是*早提出的中心点聚类算法。该算法随机选择k个代表对象,即分析所有可能的对象对,每对中的一个对象被看作代表对象,而
另一个不是。对可能的各种组合,估算聚类结果的质量。特点:
(1)当存在噪声和孤立点时,RAM算法比k均值算法更稳定。这是因为中心点不像平均值那么容易受极端数据影响。
(2)RAM算法能很好地应用于小数据集,在应用于大数据集时有一定局限性。
(3)时间复杂度为O(k(n–k)2)。其中,n为数据对象数目,k为聚类数。
2.2.2 *近邻分析基本思想:
(1)首先测量每个要素的质心与其*近邻要素的质心距离。
(2)然后计算所有这些*近邻距离的平均值。如果该平均距离小于假设随机分布中的平均距离,则会将所分析的要素分布视为聚类要素。如果该平均距离大于假设随机分布中的平均距离,则会将所分析的要素分布视为分散要素。
2.2.3 K*近邻算法
K*近邻(K-nearest neighbor,KNN)算法是一种理论上比较成熟,既可以用于分类,还可以用于回归的方法。它具有以下特点:
(1)在待判断点周围,寻找离它*近的多个点。
(2)对这些点的类别进行统计。
(3)该待判断点属于选择统计点数*多的那个类别。
2.2.4 CURE算法CURE(clusteringusing representatives)算法是一种针对大型数据库的高效聚类算法。基于划分的、传统的聚类算法得到的是球状的、相等大小的聚类,对异常数据比较脆弱。CURE算法采用了多个点代表一个簇的方法,可以较好地处理以上问题。并且在处理大数据量的时候采用了随机取样和分区的方法,因此可以高效地处理大量数据。绝大多数聚类算法擅长处理球形和相似大小的聚类,但在存在孤立点时效果很不好,CURE算法就解决了偏好球形的问题,在处理孤立点上也更加有优势。基本思想:选择基于质心和基于代表对象方法之间的中间策略。它不用单个质心或对象来代表一个簇,而是选择了数据空间中固定数目的具有代表性的点。首先选择簇中分散的对象,然后根据一个特定的收缩因子向簇中心“收缩”,每个簇有多于一个的代表点使得CURE算法可以
适应非球形的任意形状的聚类。簇的收缩或凝聚有助于控制孤立点的影响。CURE算法核心:
(1)从源数据对象中抽取一个随机样本S。
(2)将样本S分割为p个划分,每个样本的大小为S/p。
(3)将每个划分局部地聚类成S/pq个簇。
(4)删除孤立点,通过随机选样,如果一个簇增长太慢,就删除它。
(5)对局部聚类进行聚类。
(6)用相应的簇标签来标记数据。
特点:
(1)CURE算法对孤立点的处理效果更好。
(2)能够识别非球形和大小变化较大的簇。
(3)对于大规模数据库,它也具有良好的伸缩性,而且没有牺牲聚类质量。
2.2.5 CLARA算法基本思想:
(1)CLARA(clustering largeapplications)算法不考虑整个数据集,而是选择数据的一小部分作为样本。
(2)它从数据集中抽取多个样本集,对每个样本集使用RAM算法,并以*好的聚类结果作为输出结果。特点:可以处理的数据集比RAM算法大,但有效性依赖于样本集的大小。基于样本的好的聚类并不一定是整个数据集的好的聚类,样本可能发生倾斜。例如Oi是*佳的k个中心点之一,但它不包含在样本中,CLARA算法就找不到*佳聚类。
2.2.6 CLARANS算法基本思想:CLARANS(clustering algorithm based on randomized search)算法将采样技术和RAM算法结合起来,
展开