资讯动态

ArcGIS协同克里金法实战:原理、操作步骤与避坑指南

发布时间:2026/10/15 14:22:00 来源:尧图企业网站定制
简介面向地理信息分析与环境科学等领域的ArcGIS协同克里金法专题教程系统讲解如何利用目标变量Z1的自相关性及其与Z2、Z3等辅助变量的互相关性来提升空间插值精度。文档从普通协同克里金法的模型假设出发介绍µ1、µ2与随机误差ε1(s)、ε2(s)的含义并解释半变异函数、互协方差、趋势移除和测量误差处理的数学基础同时梳理泛协同克里金法、简单协同克里金法、指示协同克里金法、概率协同克里金法和析取协同克里金法各自的适用场景与限制。资源包共1个docx文件整体约43KB篇幅精炼但要素齐全适合正在学习地统计模块、需要理解多元空间插值原理并动手操作ArcGIS中协同克里金流程的高校学生、科研人员和GIS从业者。当前已有3247人学习浏览既可作为课程笔记也可作为快速查阅的方法参考手册。1. 协同克里金法 ArcGIS为什么单变量插值不够用协同克里金法 ArcGIS 里最容易被低估的插值工具之一。单做空间插值时普通克里金只认主变量自己那一套空间结构一旦遇到采样点少、又想预测得细的活结果往往很虚。协同克里金的思路很直接把另一个变量也拉进来用主变量 Z1 的自相关性加上 Z1 与协变量 Z2 的互相关性一起去推未知位置。这份教程例子把原理、六种变体和估计参数都梳理清楚了适合做环境评价、资源调查、地质填图的人。下面我从模型原理、实操配置到踩坑记录按我的使用经验拆一遍。2. 协同克里金法的模型原理自相关、互相关与六种变体怎么选2.1 从普通克里金到协同克里金Z1 和 Z2 怎么互相帮忙普通克里金的模型写成Z1(s) µ1 ε1(s)µ1 是未知常数ε1(s) 是随机误差。它的核心假设是 ε1 在空间上有自相关距离近的点误差相近距离远的点误差关系变弱。半变异函数描述的就是这种关系。协同克里金在这个模型上多放了一个变量Z2(s) µ2 ε2(s)µ2 也是未知常数ε2(s) 则是第二个变量的随机误差。注意这里除了两个变量的自相关还存在 ε1 和 ε2 的互相关性。用数学语言说Z2 不是白噪声它有自己的一套空间结构而且 Z2 的空间起伏和 Z1 的空间起伏不是独立的。最常见的例子是负相关当 Z1 低于它的均值 µ1 时Z2 往往高于它的均值 µ2反过来也一样。这种互相关关系如果真实存在等于给 Z1 的预测提供了一张“侧视图”。但这也说明协同克里金不是无条件的更好。教程里有一句话值得反复读从理论上讲普通克里金最保险因为就算没有互相关性也能估计 Z1 自己的自相关性。而协同克里金要同时估计多个变量的自相关和互相关每多估一个参数预测方差就多一份不确定来源。如果两个变量之间的互相关性本来就弱那么协同克里金增加的那点侧视图信息可能还不够覆盖参数估计引入的额外波动。很多人在这一步没有概念直接上了协同克里金结果交叉验证误差反而比普通克里金更大。这里要注意一个容易混淆的细节协同克里金并不要求 Z1 和 Z2 在每个采样位置都有观测。Z1 在自己的一组位置上采样Z2 在另一组位置上采样甚至两组位置完全错开模型依然可以联合估计自相关和互相关因为互协方差函数会把空间距离关系算进去。实际做数据准备时这种“分点位”的灵活度很有用但也容易在边界处翻车后面第4章我会专门说。2.2 六种协同克里金变体场景与选择表教程把六种变体放在一起很容易看晕。我自己的选择顺序是先判断均值是否已知、是否有趋势、是否有阈值目标再选模型。下面是常用场景对比表方法关键假设适用场景普通协同克里金各变量均值未知但平稳最常见采样点覆盖较均匀均值大致稳定简单协同克里金各变量均值已知做过全局趋势移除或对背景均值有较可靠认知泛协同克里金均值存在空间趋势数据有明显漂移如海拔、温度随纬度变化指示协同克里金变量按阈值转成 0/1预测某个阈值以上的概率对离群值不太敏感概率协同克里金关注阈值的概率分布污染超标概率、灾害风险概率估计析取协同克里金非线性目标函数可估计需要估计非线性变换后变量的条件期望这张表里最容易选错的是泛协同克里金。它和普通协同克里金的区别不是“多一个协变量”而是对每一个变量的均值假设不同普通的是常量泛的是趋势函数。操作时如果数据本身没有明显趋势就不必设置趋势阶数否则你会额外估计趋势系数反而增加不确定性。指示协同克里金则和概率协同克里金很像但指示法每个阈值单独构造二进制变量对离群值的敏感度低适合非正态数据。析取协同克里金最复杂日常使用频率低一般到需要做损耗函数评估时再用。从求解角度看协同克里金的预测权重不再只由 Z1 的半变异函数决定。每一个预测点的权重向量都来自一个同时包含自协方差和互协方差的矩阵求解。这意味着如果 Z2 在某个方向上有更强的相关性那么该方向的邻居点会被分配更多权重即便它们不是距离最近的 Z1 样本。这是它能提升预测精度的来源但也解释了为什么模型结构不稳定会影响全局。2.3 半变异函数与互协方差参数怎么读半变异函数描述的是 Z1 自己的空间自相关协方差也是自相关的另一种表示而互协方差描述的是 Z1 和 Z2 之间的空间关系。ArcGIS 里允许分别拟合每个变量的自半变异函数再拟合一个互协方差模型。这里就出现了一个实践问题自相关和互相关的拟合是联合进行的不能像单变量克里金那样只盯一条曲线。参数上块金、基台、变程三项是必须读懂的。块金是距离接近 0 时的半变异值可以理解为采样噪声和微观变异基台是半变异函数达到平稳时的上限大致对应总体方差变程是从块金到基台的距离范围超过变程的点互不相关。选择模型时我一般先看半变异函数点云的形状如果随距离上升后保持平稳用球面模型如果上升很快、在短距离就趋于平稳用指数模型如果数据很平滑、变化缓慢用高斯模型。高斯模型的曲线在原点附近偏平容易让插值结果看起来“过于顺滑”需要注意。还有一个重要选项是变换和趋势移除。Z1 或 Z2 分布明显偏态时用对数变换或标准化能让半变异函数更对称有区域趋势时先拟合趋势面再对残差做协同克里金最后把趋势面加回来。ArcGIS 里可以对每个变量分别指定趋势阶数一次、二次但我的建议是除非你很清楚趋势的存在否则先设 0 阶跑完看残差地图再决定要不要升阶。互协方差拟合不好的现象很常见半变异函数曲线前期上升后期又掉下来形成凹陷。这种情况往往是数据里有离群点或两个变量采样范围不一致不要急着换模型先用散点图检查互相关是否有异常值。半变异函数拟合在很多时候是玄学我早期翻车大多发生在这个环节。3. ArcGIS 实操把数据准备好跑通一次协同克里金插值3.1 数据准备主变量、协变量与坐标完整性检查在打开 Geostatistical Wizard 之前要先确定两个数据集是不是都能进模型。主变量是你要预测的那个字段协变量是辅助字段。如果两个字段放在同一个点图层的属性表里那很简单如果协变量是另一个图层就要保证两个图层至少在研究区重点嵌套范围内有一致的空间范围。第一步检查坐标系。协同克里金所有计算都在距离域上进行地理坐标的“度”不能直接作为距离所以先把图层投影到投影坐标系比如 UTM 或高斯投影。我一般用米制投影这样变程的数值直接对应实际距离容易被解释。第二步检查字段数据类型。主变量和协变量都必须是数值型文本或类别不能直接进模型。指示协同克里金虽然输出 0/1但输入字段也需要是数值。第三步看样本量和分布。主变量样本越多越好但这不是绝对门槛更关键的是样本有没有覆盖整个预测区。如果研究区一角完全没有采样点协同克里金在那里只能依赖协变量结构外推要是协变量点也不覆盖那里结果就是空白。第四步做相关性预筛。先用 ArcGIS 的“探索数据”工具画主变量和协变量的散点图算一下 Pearson 相关系数。我的经验是|r| 低于 0.3 时协同克里金基本没有收益在 0.5 以上时才有明显的侧视图价值。这一步能帮你省掉很多无效尝试。协变量如果是点图层还有一个重要问题预测时需要为每个预测点提供协变量数值。常见的做法是先对协变量做一次普通克里金插值生成连续栅格再把栅格作为协变量表面输入。直接把协变量点指给工具工具不能用点去给每一个预测位置赋值这一点很容易被忽略。3.2 在 Geostatistical Analyst 里配置协同克里金分步操作与每个参数的作用下面按 ArcGIS 的 Geostatistical Analyst 向导流程写一遍ArcMap 和 ArcGIS Pro 的入口名称略有不同但参数逻辑一致。第一步打开“地统计向导”选择“克里金法/协同克里金法”。如果向导把克里金和协同克里金分开列直接选 Cokriging。第二步选择输入数据集。主数据集选包含 Z1 字段的点要素协数据集如果是栅格直接选栅格如果是点要素需要确认你已经把协变量点插值成了栅格或者选择能够提供预测位置值的表面。我一般会在这一步同时把两个字段的显示范围调成接近方便后面查看半变异函数。第三步选择模型类型。默认是普通克里金。这里要分两层一是全局模型普通/简单/泛二是是否打开测量误差。普通和泛的选择看均值是否平稳简单克里金需要你填入已知的全局均值对多数项目来说这个均值很难事先给准所以我觉得普通是最稳的起点。第四步设置变量的半变异函数。向导会为 Z1、Z2 以及互相关分别显示曲线你需要选择模型类型并填入块金、基台、变程。如果自己填没把握可以先选择“自动拟合”再根据预测误差手动调整。注意自动拟合结果不一定可信尤其是互协方差曲线自动拟合常常把变程拉得很大。第五步设置测量误差。如果采样点的测量误差由仪器给出可以在“标准偏差”列里对应填写。没有明确数据时我倾向于不填避免人为放大不确定度。第六步设置搜索邻域。默认的“最大邻居 8、最小邻居 2、包含扇区”一般够用。如果你的采样点非常稀疏可以适当增加最大邻居数到 12如果点很密减少到 5 反而更贴近局部特征。用默认先跑一遍交叉验证再调。第七步运行并查看交叉验证结果。这里不要只看误差表面是否好看要看“预测误差”和“标准误差”的关系。还有两个容易误用的点。常有人把协同克里金当成“多图层加权叠加”直接在属性表里把两个字段标准化后求平均这不是协同克里金。协同克里金保留克里金的最佳线性无偏估计性质协变量的作用是修正主变量的空间预测而不是直接参与算术平均。另外协变量栅格分辨率也会影响预测细节我一般让协变量栅格像元大小和输出预测栅格大小一致或者更细一点如果像元太粗预测面会在协变量发生阶跃变化的地方出现锯齿。3.3 参数配置示例一组实测里常用的组合假设现在要预测某研究区的土壤有机质含量Z1 是采样点上的有机质Z2 是同区域的高程栅格。两变量相关系数 0.6Z1 有明显空间自相关高程在某些沟谷处和有机质负相关。我一般会这样配参数项配置值/方法说明主变量有机质字段预测目标数值型协变量高程栅格帮助识别沟谷与坡地差异模型类型普通协同克里金均值未知先不做趋势半变异函数球面上升后稳定的典型形态块金从样本变异函数读初始值不要让模型强制过原点基台样本方差约等于全局方差超出基台距离不再相关变程采样点成对平均距离的 1/2 到 1/3过大则预测平滑过小则牛眼搜索邻域最大 8 最小 2扇区 4保证各方向都有邻居测量误差无没有可靠先验就不填写入参数后先不改邻域跑一次交叉验证。接着把普通克里金也用同一份 Z1 数据跑一遍记录两者的均方根误差对比。如果协同那版的误差能降低 5% 以上说明高程这层侧视图真的有用降得很少就别纠结了回头用普通克里金出图反而更稳。提示协变量是栅格时保证栅格范围和预测范围一致否则预测图边缘会出现无值区域跟第 4 章的空白问题是同源的。4. 避坑协同克里金实操中的五个常见问题与排查4.1 协变量点位不一致结果在边界处出现大片空白现象跑出来的预测表面中间有值研究区边缘一大圈无值看起来像被刀切过。原因协同克里金需要对每个预测位置输入协变量条件。如果协变量是点图层而该点图层没有覆盖研究区边缘或者协变量栅格范围小于主变量预测范围预测时那些位置上没有协变量数据工具会直接输出空值。解决在建模之前先把协变量插值成覆盖整个研究区的栅格栅格范围要比预测范围略大一圈或者用“提取值到点”把协变量值提取到主变量点属性表里让每个主变量点都有一个协变量字段。我一般用前者因为可以保证预测边缘平滑。4.2 半变异函数拟合出现负的互协方差结果比普通克里金还差现象交叉验证均方根误差比普通克里金高预测图里有突兀的同心圆“牛眼”。原因互协方差模型与两个自协方差模型没有构成有效的正定组合导致方程在求解时出现不稳定常见于协变量与主变量相关性很弱或存在离群值。负的互协方差值本身不一定是错但它暗示模型和样本结构矛盾。解决先回到数据检查阶段删除明显离群点把两个变量分别做对数变换或标准化如果已经用了三个以上协变量减少到一个协变量再试。模型选择上把球面换成指数模型往往能吸收更多短距离变化。改完记得重新跑交叉验证不要只看当年的半变异函数曲线。4.3 测量误差设置不当预测方差几乎全被噪声解释现象预测方差表面到处都是同一个数值甚至比普通克里金还平。原因在“测量误差”一栏填了过大值模型认为采样值本身有很高的噪声于是把空间结构全部归结为误差协变量信息也失去了作用。解决ArcGIS 的测量误差字段要求填“标准偏差”不是方差。如果你只有一个误差范围把它除以 2 作为标准偏差。更稳妥的做法是不填先把测量误差关闭跑通后再对比开启与否的交叉验证结果。不要为了“显得严谨”硬塞一个数字进去那只会把空间结构吃掉。4.4 样本量不足时协同克里金反而更不稳现象主变量只有几十个采样点加协变量后预测结果出现剧烈振荡邻域内可用点经常少于最小邻居数。原因协同克里金需要估计每个变量的自相关和互相关参数数量比普通克里金多样本量越少参数估计的方差越大。很多初学者以为信息越多越好但地统计学里每多估计一个参数都会用掉一部分样本自由度。解决先用普通克里金判断主变量自相关是否可用。如果半变异函数一团乱协同克里金只会更糟。样本量低于 50 时我建议直接用协变量栅格做回归克里金或者干脆退回到普通克里金。交叉验证的双模型对比是唯一的裁判别在原理上强行凑。4.5 用经纬度直接跑变程和基台全在离谱范围现象半变异函数变程数值是几千基台上亿拟合线几乎是一条横线。原因地理坐标系单位是度在赤道附近 1 度经度对应的地面距离约一百多公里而纬度方向又不同球面距离没有按米制处理导致所有距离度量失去意义。解决在插值前用“投影”工具把点数据和协变量栅格都转成投影坐标系。选投影带时要注意研究区所在位置避免跨带跨带区域可以用等面积投影或兰伯特投影。从那以后我每次做地统计前强制先检查图层的坐标系单位只花几秒钟能省掉一整轮返工。5. 验证与进阶交叉验证、模型对比与参数微调5.1 交叉验证怎么读看哪几个指标交叉验证是协同克里金的“后悔药”。ArcGIS 输出表里有预测值、预测误差、标准误差、标准化误差。我重点看四个数预测误差均值越接近 0 越好均方根误差越小越好标准化平均误差接近 0 说明整体没有系统偏差标准化均方根误差接近 1 说明模型对不确定性的估计是诚实的。如果标准化均方根误差大于 1.2 或小于 0.8说明你的半变异函数要么高估了变化要么低估了变化回去改基台和变程。5.2 与普通克里金对比一个简单的决策规则进阶用法不是看工具多高级而是学会说不。固定同一个数据集先跑一次普通克里金再跑一次协同克里金记录两个均方根误差。我个人的判断线是如果协同克里金的均方根误差没有减少 5% 以上就用普通克里金。为什么是 5%因为协同克里金在模型上更复杂复杂模型在样本外照例需要一点“惩罚”如果它只赢 1% 到 2%很可能是过拟合。再往后如果你有多个协变量备选先做相关性矩阵挑与主变量相关性最高、协变量之间相关性最低的一个别一口气全塞进去那会让互协方差矩阵变成一团糟。多变量协同也遵循这条原则。从那以后我每拿到一批新数据都会强制先跑一遍普通克里金做基准再决定要不要叠协同克里金这个习惯帮我挡掉了不少“模型看起来很细、实际很虚”的翻车。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑