简介:一份介绍 ArcGIS 中协同克里金法原理与操作的教程文档,面向地理信息系统、环境科学、地球科学等领域的用户,帮助学习者理解多变量空间插值的核心思想,掌握利用变量间自相关与互相关性提高预测精度的方法。文档以普通协同克里金法为主线,说明 Z1 与协变量 Z2 的关系、半变异函数与互协方差的作用,并延伸介绍泛协同克里金、简单协同克里金、指示协同克里金、概率协同克里金与析取协同克里金等扩展形式,同时提及趋势移除、测量误差处理等实践要点。资源为 1 个 docx 文件,压缩包约 43KB,全文结构清晰、要点突出,体量小而内容集中,适合作为课堂辅助或自学的速查笔记。目前已有 3247 人浏览学习,适合需要快速入门空间统计插值的 ArcGIS 用户和数据分析人员。
1. 协同克里金不是万能补采器:当主变量点位稀疏而协变量好测时它才值得用
某含水层监测项目里,主变量是目标污染物的浓度,采样井只有28口;协变量是电导率,走航实测了近300个点,两者相关系数约0.72。用普通克里金对浓度插值,结果图大块空白、误差偏大;换成ArcGIS地统计向导里的协同克里金法,把电导率作为协变量参与空间预测,交叉验证的RMSE直接降了三成。这就是今天要讲的协同克里金:一种把难测主变量和易测且空间相关的协变量放进同一个克里金方程组求解的插值方法。它适合主变量点位稀疏、协变量点位更密且两者空间相关的工作场景。这篇笔记按“原理→数据准备→向导操作→避坑→调参”的顺序,把能复现的参数设置和踩坑点一次讲清。
2. 原理先立住:协同克里金与普通克里金差在哪一步,交叉半变异函数又是怎么进来的
2.1 从单变量到双变量:权重方程里多了一组协变量的信息
普通克里金对某个位置的预测,本质上是主变量已知观测值的加权求和,权重只由主变量自身的半变异函数决定。协同克里金则改变了一个关键点:预测值不仅使用主变量的观测值,还使用协变量的观测值,权重方程里同时出现了主变量自半变异函数、协变量自半变异函数和两者的交叉半变异函数。换句话说,当某个位置附近没有主变量采样点时,只要协变量有值,算法就能通过两个变量之间的空间相关性,把协变量的信息折算成对主变量的估计贡献。
这带来的直接收益,是主变量稀疏区域不再只能靠远距离主变量点外推,而能借助密集的协变量点锁定局部的相对高低趋势。代价也很明显:需要估计的函数从1个变成了3个,参数拟合的难度成倍增加。ArcGIS地统计向导里的协同克里金,默认把主数据集称为数据集1,协变量数据集称为数据集2,两个数据集各自独立又共享一组交叉变异函数。
我一般会在开跑之前先问三个问题:主变量是否足够拟合出一个稳定的半变异函数;协变量是否在主变量稀疏区域有更密的覆盖;两者之间的相关性是否在空间上稳定。三个答案都是肯定,才从单变量克里金升级到协同克里金。否则就是拿更复杂的模型换一个更差的拟合,属于典型的参数越调越玄学。
2.2 相关性的空间化:皮尔逊相关很高不代表交叉变异函数能拟合
很多人看到两个变量的相关系数达到0.7就高高兴兴去建协同克里金,结果交叉验证反而比普通克里金差。原因在于,协同克里金使用的不是全局的皮尔逊相关,而是随距离变化的空间相关性。协变量可能在某个尺度上与主变量高度同步,换一个尺度就完全脱钩。最简单的例子是地形高程与气温:大尺度上高程越高气温越低,相关性很强;但在一个逆温层存在的局部区域,这个关系可能完全反过来。
ArcGIS地统计模块中,这个空间相关关系由交叉半变异函数描述。交叉半变异函数需要把两个数据集的成对观测值按距离分组,再计算每一组距离区间内的交叉变异。如果两个变量的相关性只在很小的距离范围内存在,变程很短,那么超过这个距离后,协变量不仅不能提供约束,反而会引入噪声。此时协同克里金的预测结果会出现一个典型现象:主变量附近跟着主变量走,协变量密集区跟着协变量走,两张皮拼在一起,结果图支离破碎。
所以判断该不该用协同克里金,不能只看相关系数,而要看两个变量的交叉变异函数云图是否随距离呈现清晰的上升趋势并达到基台。这个操作在数据准备阶段做,比建完模型再看交叉验证要省事得多。相关性不是协同克里金的免费门票,空间相关才是。
2.3 三个半变异函数一起拟合:欠定问题决定了数据量的下限
协同克里金的参数估计,需要同时拟合主变量自半变异函数、协变量自半变异函数和交叉半变异函数。主变量点位少时,前者的拟合已经勉强;交叉半变异函数的拟合还要在两个数据集的空间范围内找成对点,数据量进一步摊薄。如果主变量只有三五十个点,交叉半变异函数的每个距离分组里可能只能凑出十几对甚至几对,拟合出来的变异曲线跳跃得非常厉害,模型参数几乎没有稳定性可言。
这就是协同克里金的“欠定”本质:要估计的参数多了,但提供约束的成对观测值没有同比例增加。模型在数学上仍然有解,但解对输入数据的微小扰动极其敏感,换一个采样组合参数就变了。实际项目中,我通常要求主变量至少60到80个点,协变量至少两倍以上且在研究区内分布均匀,才敢放心用协同克里金。如果主变量确实只有二三十个点,更务实的选择是改用回归克里金或直接用协变量做趋势面,而不是硬上协同克里金。
下表整理了普通克里金与协同克里金在建模要素上的差异,方便对照选型:
| 对比项 | 普通克里金 | 协同克里金 |
|---|---|---|
| 自变量 | 主变量观测值 | 主变量观测值 + 协变量观测值 |
| 半变异函数 | 主变量自半变异函数 | 主变量、协变量自半变异函数 + 交叉半变异函数 |
| 数据量要求 | 单变量稳定拟合即可 | 主变量充足,协变量更密,成对观测值足够 |
| 适用场景 | 主变量点位较密 | 主变量稀疏、协变量易测且空间相关 |
| 参数拟合难度 | 中 | 高,易出现不稳定解 |
| 结果改善幅度 | 基准 | 配合得当可显著降低RMSE,配合不当则劣于普通克里金 |
3. 数据准备才是协同克里金的大头:点位关系、正态化与交叉变异函数云图
3.1 主变量与协变量的点位要求与格式组织
协同克里金在ArcGIS地统计向导中的第一步是选择数据集。主数据集必须是带数值字段的点要素类,协变量数据集可以是另一个点要素类,也可以是主数据集中已有的某个字段。最稳妥的做法是:当协变量是栅格时,先用“值提取至点”工具把栅格值提取到主变量点位,形成一个新的字段,再在向导中把这个字段设为数据集2;当协变量是另一个独立点集时,直接把它作为第2个数据集载入。
两个数据集不必在完全相同的位置采样,但要求坐标系一致、空间范围有足够重叠,且研究区内部不能出现某一侧大片区域只有协变量而没有主变量的情况。否则交叉半变异函数在那些区域没有成对数据支撑,模型的预测结果只由协变量单方面决定,等于变回了普通克里金,连协变量的平均值校正都缺失。
打开ArcGIS地统计模块之前,先做一次位置校核:叠加显示两个点图层,检查主变量点位是否落在协变量覆盖范围内,检查坐标单位是米还是度。度坐标下的距离计算会直接扭曲半变异函数的变程,单位错了后面全错。这一步没什么技术含量,但翻车的概率不低。
字段方面也要留意。主变量字段和协变量字段都必须是数值型,字符串或文本字段不会被向导接受。如果原始数据存在空值,克里金方程组里的观测点数量会减少,严重时协变量完全失效。处理办法是在准备阶段就用删除空值或插补的方式把两个数据集的记录整理干净,不要在向导运行之后再去猜哪里丢了数据。
3.2 正态性检验与离群值处理:不要跳过这个黑匣子
协同克里金虽然不像参数检验那样严格要求正态分布,但克里金方程组里的无偏最优估计基于二阶平稳假设,强烈偏态的数据会让半变异函数的基台被少数大值抬高,导致模型把正常的空间变异当成噪声。ArcGIS地统计模块里,进入地统计向导前应先打开“探索数据”工具集中的直方图、正态QQ图,检查主变量的分布形态。
如果主变量直方图明显右偏,经典的补救方式是采用数据变换。地统计向导的“数据集1”面板里提供了对数变换、Box-Cox变换和经验正态变换三种选项。其中经验正态变换对偏态严重且包含离群值的环境监测数据最实用,它会把原始值映射到标准正态分布,建模完成后预测值再反变换回原始尺度,最终的预测表面图仍然保持原始值域。
离群值的排查用Voronoi图或半变异函数云图:在探索数据里打开半变异函数云图,如果距离很近的两点之间出现极高的变异值,说明这两个点中很可能存在录入错误或观测异常。协同克里金对离群值比普通克里金更敏感,因为离群值会同时污染自半变异函数和交叉半变异函数,后者的污染还会传递到协变量一侧。
这里有一个需要特别明确的边界:离群值不等于野值。环境采样中某些高浓度点可能是真实的污染热点,把它们删掉会丢失极值信息。建议先通过字段属性记录或重复采样来判断离群值属于测量错误还是真实异常。测量错误直接修正,真实异常则保留,但要评估它是否主导了交叉变异函数的长距离结构。
3.3 用交叉变异函数云图判断两个变量的空间关系是否值得建模
在决定用协同克里金之前,打开地统计模块的“探索数据”菜单,选择“交叉变异函数云图”。面板里分别指定数据集1的主变量字段和数据集2的协变量字段,云图会以距离为横轴、交叉变异值为纵轴展示所有成对点的空间关系。这一步比任何统计指标都直观:如果点云随距离增大而上升并逐渐平稳,说明两个变量存在随距离衰减的空间相关性,协同克里金有戏;如果点云完全无序,距离再近的配对也呈现很大的交叉变异,说明协变量与主变量的空间关系不稳定,硬建模没有意义。
交叉变异函数云图还会暴露一个常被忽略的问题:两个数据集的点位在短距离内的配对数量太少。当两个数据集是独立采样布点,可能出现主变量点与协变量点在空间上错开,最近距离也有数公里,导致近距离分组的成对样本几乎没有。这时交叉变异函数云的起始点很高,拟合出的块金值虚高,模型会被迫把短距离变异当作随机噪声处理。
此时可以采取的补救办法是补充采样或者调整距离分组。补充采样成本高,调整距离分组倒是立竿见影:在交叉变异函数云图面板里修改距离分组数,把过密的短距离分组适当合并,以保证每个分组至少有30对以上的样本。如果合并后曲线仍然没有上升趋势,那就不建议用协同克里金,退回普通克里金加回归趋势项反而更可靠。这个判断要在数据准备阶段做,等模型建完再后悔药就来不及了。
4. 在ArcGIS里跑通协同克里金:从地统计向导到参数面板的设置顺序
4.1 从地统计向导启动协同克里金:两种常见入口
打开ArcGIS平台,先在“自定义→扩展模块”里确认地统计分析模块已被勾选。经典桌面界面里,加载包含主变量和协变量的点要素图层后,通过“地统计分析”工具栏上的“地统计向导”图标进入;新版软件则在地统计分析功能区中直接提供向导入口。两种入口最终打开的对话框一致,都从“选择插值方法”开始。
在方法列表里选择“协同克里金法”,进入数据源配置页面。需要依次完成四个区域的设置:数据集1及主变量字段、数据集2及协变量字段、数据变换方式、模型与邻域参数。向导左侧是变量与变换设置,右侧是半变异函数模型和搜索邻域设置,最底部可以切换“验证”模式来查看交叉验证结果。建议按从左到右、从上到下的顺序操作,避免回头返工。
数据集1的选择窗口里,图层下拉框列出当前文档中所有点要素。选中后主变量字段会自动列出数值字段,需要手动确认不要选错字段,尤其是包含多个浓度指标的土壤数据库,字段选错会导致整个模型建立错对象。数据集2的选择类似,如果协变量是事先提取到主表里的栅格值字段,就选择同一个图层加对应字段;如果协变量是独立的点集,选择另一个图层加字段。
此时向导会让用户选择数据变换。已经做过正态性预判的,按预判结果选择;偏度大且出现离群值的选经验正态变换,中等偏态选对数变换,分布本来就接近正态的不选变换。需要注意,变换只作用于主变量和协变量,交叉变异函数的计算也基于变换后的数据,所以变换方式的选择直接影响后面所有的模型拟合结果。
4.2 主数据与协变量数据集的参数面板:哪些选项不能省
协同克里金向导里最容易被跳过的选项是“测量误差”和“比例因子”。如果主变量观测值来自不同批次的实验室分析,不同批次间的分析误差不同,可以在数据集面板里指定一个误差字段,让模型在权重计算时对高误差观测值自动降权。土壤混合样品和现场快速测定的数据混合时,这个选项特别有用。现实中很多人不知道这个字段的存在,也不填,等于浪费了模型中一个重要的稳健性调节机制。
协变量数据集的参数设置里,“采用协变量的趋势”这个选项经常让人困惑。它决定模型是否把协变量当作有漂移趋势的场来处理,而不是单纯的平稳随机场。如果协变量是地形高程这类明显存在宏观趋势的变量,勾选趋势项能让模型更合理;如果协变量是电导率这类没有明确趋势的指标,则可以不勾选。判断依据很简单:在ArcGIS里把协变量字段做一次等值线图,若等值线呈现单调梯度,就考虑勾选趋势项。
数据集2还支持设置“量测误差”和“偏移”。偏移参数用于主变量与协变量之间存在系统性空间错位的情况,比如主变量采样点沿河道采集,协变量沿道路采集,两者之间可能存在水流方向的偏移。但这个参数需要外部知识支撑,没有依据时不要乱填,填错了会让模型在局部区域产生系统性偏差。
下表列出了向导数据面板的主要选项及其推荐初始值:
| 参数项 | 所属面板 | 推荐初始值 | 调整依据 |
|---|---|---|---|
| 主变量字段 | 数据集1 | 目标浓度指标 | 字段分布与物理意义 |
| 数据变换 | 数据集1 | 经验正态或对数 | 直方图偏度与离群值情况 |
| 测量误差 | 数据集1 | 不填或误差字段 | 数据来源批次与分析方法差异 |
| 协变量字段 | 数据集2 | 电导率或相关指标 | 与主变量空间相关性 |
| 协变量趋势项 | 数据集2 | 有宏观趋势则勾选 | 协变量等值线分布 |
| 模型类型 | 模型面板 | 球面或指数 | 交叉变异函数云图形态 |
| 步长大小 | 模型面板 | 最大距离的1/10左右 | 分组样本数量与曲线平滑度 |
| 搜索邻域 | 邻域面板 | 标准圆,4个扇区 | 点位分布与方向异性 |
4.3 半变异函数模型类型与搜索邻域的参数设定建议
模型类型选择是在“半变异函数/协方差函数建模”面板里完成的。ArcGIS提供球形、指数、高斯、稳定等多种模型,每种模型对应不同的空间自相关衰减曲线。球形模型是最常用的默认选择,它在变程范围内变异加速上升,到变程处达到基台,适合连续介质属性。指数模型在变程处渐进接近基台,适合变异衰减较慢的场。高斯模型在原点附近呈S形,适合非常平滑的连续场,但对细微误差很敏感。
选择模型时不要只看哪个模型的拟合曲线离经验点更近,还要看拟合的参数是否有物理意义。有些模型的变程参数会拟合出超过研究区最大距离的值,说明经验交叉变异函数没有在可见距离内达到基台。这种情况下更换模型类型不如回头处理数据,比如扩大步长或减少对长距离结构的高估。
步长大小和步长数是控制变异函数拟合形态的核心参数。ArcGIS默认的步长值是数据集范围对角线长度的1/10到1/15,但实际工作中这个默认值经常把短距离结构淹没。我常用的调整方法是:先查看两个数据集点位间距离分布的直方图,把步长设在大多数点对距离的中位数附近,再让步长数覆盖到最大配对角距离的50%。步长太小曲线跳跃,步长太大结构被磨平,一般试两三轮就能找到稳定区间。
搜索邻域参数决定每个预测位置使用多大范围和多少个观测值参与计算。默认的“标准”邻域类型,配合扇区类型设为4个扇区,每个扇区最少2个点,最大点数为8到16,能保证预测方向不偏向某个方位。如果主变量点位分布有强烈的方向性,比如沿河谷呈条带状,可以改用椭圆邻域并设置长轴角度,让搜索范围与数据展布方向一致。这一项调好了对边缘区域的预测改善最明显。
5. 协同克里金避坑指南:五个常见翻车现场与对应解法
5.1 现象:协变量与主变量范围重叠太少,模型能跑但结果在工区边缘严重失真
成因是交叉半变异函数在重叠区域外没有成对数据约束,预测时协变量单独发挥作用,把主变量场的均值拉成了协变量的均值形态。解决的办法是在数据准备阶段就把两个图层叠加检查,确认主变量点位外围至少有协变量覆盖的缓冲范围。如果边缘确实缺数据,可以在向导中限制预测范围到重叠区域内部,而不是输出整个协变量覆盖的矩形范围。
5.2 现象:交叉验证中平均误差接近0,但均方根误差比普通克里金还高,模型白做了
这是协同克里金参数不匹配的典型信号。平均误差接近0只能说明预测在整体上没有系统性偏差,但均方根误差更高说明单个点上的预测精度反而下降了,常见原因是交叉变异函数的基台拟合过高,把协变量的权重放大到了不合理水平。解决方法是回到模型面板,下调交叉模型的基台值或改变模型类型,再重新运行交叉验证对比。
5.3 现象:预测结果出现负浓度、负降雨量或超出物理上限的值
协同克里金本身不保证预测值落在观测值范围内,当协变量与主变量的空间关系在某些区域表现异常时,权重可能为负,预测值就会越界。解决办法有几个层级:先看是否所有预测都越界,如果只有个别区域越界,检查这些区域是否落在数据重叠区之外;如果普遍越界,直接改用回归克里金,先建立主变量与协变量的回归关系,再对残差做克里金插值,物理约束会被严格得多。
5.4 现象:加了协变量后预测表面反而出现明显的破碎条带或棱角伪影
这个现象多发生在协变量数据本身存在重复采样或沿测线密集采集的情况下,协变量场的短距离变异远大于主变量场,模型被协变量的局部细节带偏。解决办法是把邻域里的最大点数降低,同时增大搜索半径,让模型在更大尺度上取平均。另一个有效的做法是对协变量点位先做聚合或平滑,再用于协同克里金建模,消除协变量场内与主变量无关的微尺度抖动。
5.5 现象:两个变量相关系数很高,但交叉变异函数云图完全无序,模型始终不稳定
相关系数描述的是两个变量在观测位置的取值同步性,不等于它们在不同距离上的空间协同性。点位分布不均匀时,相关系数被局部密集区域主导,而交叉变异函数云图会把全空间所有配对关系展开,两者结论不一致并不奇怪。解决方法是:放弃协同克里金,改用回归克里金或趋势面分析,不要让高相关系数误导模型选择。这个判断需要果断,很多项目的血泪经验都栽在“数据这么好,不用可惜了”的执念上。
6. 把协同克里金调到能交货:交叉验证指标的迭代顺序与一个长期工作习惯
6.1 四类指标组合判断模型是否通过验证
交叉验证结果表是调参的主要依据,但不是看单一指标。平均误差越接近0越好,但它反映的是无偏性;均方根误差越小越好,反映的是预测精度;平均标准误差需要与均方根误差接近,反映模型是否合理估计了自身的不确定性;标准化均方根误差最容易被忽略,它越接近1越好,长期小于1说明模型过度自信。四个指标的组合比任何一个单独指标都有说服力。
调参顺序上,先固定数据变换方式,再调整步长大小使变异函数曲线稳定,然后调整基台和块金值改善交叉验证的主指标,最后用搜索邻域参数微调边缘区域表现。每一步只动一个参数,记录对应的一整组验证指标,不要同时改两个参数,否则根本分不清改善归因于谁。
| 验证指标 | 合格范围 | 调整优先级 |
|---|---|---|
| 平均误差 | 接近0 | 中 |
| 均方根误差 | 越小越好 | 高 |
| 平均标准误差与均方根误差之比 | 接近1 | 中 |
| 标准化均方根误差 | 接近1 | 高 |
| 标准化均方误差 | 接近0 | 低 |
6.2 把调参记录变成固定习惯
每次运行协同克里金时保留一份参数截图和交叉验证指标记录,形成一张参数登记表,不同步长、不同模型类型的结果都登记在行。调参到后期,人很容易忘记哪组参数对应哪个结果,表格能避免重复劳动。我自己的习惯是把同一工区的普通克里金结果也登记进去,用普通克里金的均方根误差作为基线,只有协同克里金优于基线才最终采用它。这个习惯帮我挡下了很多次“看起来不错但实际只是幻觉”的模型。如果它也能帮你省一次返工,那这篇笔记就没白读。希望帮到你。
本文还有配套的精品资源,点击获取