克里金法是通过一组具有 z 值的分散点生成估计表面的高级地统计过程。与插值工具集中的其他插值方法不同,选择用于生成输出表面的最佳估算方法之前,有效使用克里金法工具涉及 z 值表示的现象的空间行为的交互研究。

什么是克里金法?

IDW(反距离加权法)和样条函数法插 值工具被称为确定性插值方法,因为这些方法直接基于周围的测量值或确定生成表面的平滑度的指定数学公式。第二类插值方法由地统计方法(如克里金法)组成, 该方法基于包含自相关(即,测量点之间的统计关系)的统计模型。因此,地统计方法不仅具有产生预测表面的功能,而且能够对预测的确定性或准确性提供某种度 量。

克里金法假定采样点之间的距离或方向可以反映可用于说明表面变化的空间相关性。克里金法工 具可将数学函数与指定数量的点或指定半径内的所有点进行拟合以确定每个位置的输出值。克里金法是一个多步过程;它包括数据的探索性统计分析、变异函数建模 和创建表面,还包括研究方差表面。当您了解数据中存在空间相关距离或方向偏差后,便会认为克里金法是最适合的方法。该方法通常用在土壤科学和地质中。

克里金法公式

由于克里金法可对周围的测量值进行加权以得出未测量位置的预测,因此它与反距离权重法类似。这两种插值器的常用公式均由数据的加权总和组成:

  • 其中:

    Z(si) = 第 i 个位置处的测量值

    λi = 第 i 个位置处的测量值的未知权重

    s0 = 预测位置

    N = 测量值数

在反距离权重法中,权重 λi 仅取决于预测位置的距离。但是,使用克里金方法时,权重不仅取决于测量点之间的距离、预测位置,还取决于基于测量点的整体空间排列。要在权重中使用空间排列,必须量化空间自相关。因此,在普通克里金法中,权重 λi 取决于测量点、预测位置的距离和预测位置周围的测量值之间空间关系的拟合模型。以下部分将讨论如何使用常用克里金法公式创建预测表面地图和预测准确性地图。

使用克里金法创建预测表面地图

要使用克里金法插值方法进行预测,有两个任务是必需的:

  • 找到依存规则。
  • 进行预测。

要实现这两个任务,克里金法需要经历一个两步过程:

  1. 创建变异函数和协方差函数以估算取决于自相关模型(拟合模型)的统计相关性(称为空间自相关)值。
  2. 预测未知值(进行预测)。

由于这两个任务是不同的,因此可以确定克里金法使用了两次数据:第一次是估算数据的空间自相关,第二次是进行预测。

变异分析

拟合模型或空间建模也称为结构分析或变异分析。在测量点结构的空间建模中,以经验半变异函数的图形开始,针对以距离 h 分隔的所有位置对,通过以下方程进行计算:

Semivariogram(distance

h

) = 0.5 * average{(value

i

 – value

j

}

2

]

该公式涉及到计算配对位置的差值平方。

下图显示了某个点(红色点)与所有其他测量位置的配对情况。会对每个测量点执行该过程。

计算配对位置的差值平方

通 常,各位置对的距离都是唯一的,并且存在许多点对。快速绘制所有配对则变得难以处理。并不绘制每个配对,而是将配对分组为各个步长条柱单元。例如,计算距 离大于 40 米但小于 50 米的所有点对的平均半方差。经验半变异函数是 y 轴上表示平均半变异函数值,x 轴上表示距离或步长的图(请参阅下图)。

经验半变异函数图示例

空 间自相关量化时采用以下地理的基本原则:距离较近的事物要比距离较远的事物更相似。因此,位置对的距离越近(在半变异函数云的 x 轴上最左侧),具有的值就应该越相似(在半变异函数云的 y 轴上较低处)。位置对的距离变得越远(在半变异函数云的 x 轴上向右移动),就应该变得越不同,差值的平方就会更高(在半变异函数云的 y 轴上向上移动)。

根据经验半变异函数拟合模型

下 一步是根据组成经验半变异函数的点拟合模型。半变异函数建模是空间描述和空间预测之间的关键步骤。克里金法的主要应用是预测未采样位置处的属性值。经验半 变异函数可提供有关数据集的空间自相关的信息。但是,不提供所有可能的方向和距离的信息。因此,为确保克里金法预测的克里金法方差为正值,根据经验半变异 函数拟合模型(即,连续函数或曲线)是很有必要的。该操作理论上类似于回归分析,在此回归分析中将根据数据点拟合连续线或曲线。

要 根据经验半变异函数拟合模型,则选择用作模型的函数(例如,开始时上升并在距离变大而超过某一范围后呈现水平状态的球面类型)(请参阅下面的球面模型示 例)。经验半变异函数上的点与模型有一些偏差;一些点在模型曲线上方,一些点在模型曲线下方。但是,如果添加一个相应的距离,每个点都会在线上方,或者如 果添加另一个相应的距离,每个点都会在线下方,这两个距离值应该是相似的。有多种半变异函数模型可供选择。

半变异函数模型

克里金法工具提供了以下函数,可以从中选择用于经验半变异函数建模的函数:

  • 球面
  • 指数
  • 高斯
  • 线性

所选模型会影响未知值的预测,尤其是当接近原点的曲线形状明显不同时。接近原点处的曲线越陡,最接近的相邻元素对预测的影响就越大。这样,输出曲面将更不平滑。每个模型都用于更准确地拟合不同种类的现象。

下图显示了两个常用模型并确定了函数的不同之处:

球面模型示例

该模型显示了空间自相关逐渐减小(等同于半方差的增加)到超出某个距离后自相关为零的过程。球面模型是最常用的模型之一。

球面模型示例

指数模型示例

该模型在空间自相关随距离的增加呈指数减小时应用。在这里,自相关仅会在无穷远处完全消失。指数模型也是常用模型。要选择使用哪个模型基于数据的空间自相关和数据现象的先验知识。

指数模型示例

有关更多数学模型的信息,请参见下面

了解半变异函数 - 变程、基台和块金

正如前文所述,半变异函数显示了测量样本点的空间自相关。由于地理的基本原则(距离越近的事物就越相似),通常,接近的测量点的差值平方比距离很远的测量点的差值平方小。各位置对经调整后进行绘制,然后模型根据这些位置进行拟合。通常使用变程、基台和块金描述这些模型。

变程和基台

查看半变异函数的模型时,您将注意到模型会在特定距离处呈现水平状态。模型首次呈现水平状态的距离称为变程。比该变程近的距离分隔的样本位置与空间自相关,而距离远于该变程的样本位置不与空间自相关。

变程、基台和块金的插图

半变异函数模型在变程处所获得的值(y 轴上的值)称为基台。偏基台等于基台减去块金。块金会在以下部分进行描述。

块金

从理论上讲,在零间距(例如,步长 = 0)处,半变异函数值是 0。但是,在无限小的间距处,半变异函数通常显示块金效应,即值大于 0。如果半变异函数模型在 y 轴上的截距为 2,则块金为 2。

块 金效应可以归因于测量误差或小于采样间隔距离处的空间变化源(或两者)。由于测量设备中存在固有误差,因此会出现测量误差。自然现象可随着比例范围变化而 产生空间变化。小于样本距离的微刻度变化将表现为块金效应的一部分。收集数据之前,能够理解所关注的空间变化比例非常重要。

进行预测

找出数据中的相关性或自相关性(请参阅上面的变异分析部分)并完成首次数据应用后(即,使用数据中的空间信息计算距离和执行空间自相关建模),您可以使用拟合的模型进行预测。此后,将撇开经验半变异函数。

现 在即可使用这些数据进行预测。与反距离权重法插值类似,克里金法通过周围的测量值生成权重来预测未测量位置。与反距离权重法插值相同,与未测量位置距离最 近的测量值受到的影响最大。但是,周围测量点的克里金法权重比反距离权重法权重更复杂一些。反距离权重法使用基于距离的简单算法,但是克里金法的权重取自 通过查看数据的空间特性开发的半变异函数。要创建某现象的连续表面,将对研究区域(该区域基于半变异函数和附近测量值的空间排列)中的每个位置或单元中心 进行预测。

克里金方法

有两种克里金方法:普通克里金法和泛克里金法。

普通克里金法是最普通和广泛使用的克里金方法,是一种默认方法。该方法假定恒定且未知的平均值。如果不能拿出科学根据进行反驳,这就是一个合理假设。

泛 克里金法假定数据中存在覆盖趋势,例如,可以通过确定性函数(多项式)建模的盛行风。该多项式会从原始测量点扣除,自相关会通过随机误差建模。通过随机误 差拟合模型后,在进行预测前,多项式会被添加回预测以得出有意义的结果。应该仅在您了解数据中存在某种趋势并能够提供科学判断描述泛克里金法时,才可使用 该方法。

半变异函数图形

克里金法是一个复杂过程,需要的有关空间统计的知识比本主题中介绍的还要多。使用克里金法之前,您应对其基础知识全面理解并对使用该技术进行建模的数据的适宜性进行评估。如果没有充分理解该过程,强烈建议您查看本主题结尾列出的一些参考书目。

克里金法基于地区化的变量理论,该理论假定 z 值表示的现象中的空间变化在整个表面就统计意义而言是一致的(例如,在表面的所有位置处均可观察到相同的变化图案)。该空间一致性假设对于地区化的变量理论是十分重要的。

数学模型

下面是用于描述半方差的数学模型的常用形状和方程。

球面半方差模型插图
圆半方差模型插图
指数半方差模型插图
高斯半方差模型插图
线性半方差模型插图

参考书目

Burrough, P. A. Principles of Geographical Information Systems for Land Resources Assessment.New York:Oxford University Press. 1986.

Heine, G. W. "A Controlled Study of Some Two-Dimensional Interpolation Methods."COGS Computer Contributions 3 (no. 2): 60–72. 1986.

McBratney, A. B., and R. Webster. "Choosing Functions for Semi-variograms of Soil Properties and Fitting Them to Sampling Estimates."Journal of Soil Science 37: 617–639. 1986.

Oliver, M. A. "Kriging:A Method of Interpolation for Geographical Information Systems."International Journal of Geographic Information Systems 4: 313–332. 1990.

Press, W. H., S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery. Numerical Recipes in C:The Art of Scientific Computing.New York:Cambridge University Press. 1988.

Royle, A. G., F. L. Clausen, and P. Frederiksen. "Practical Universal Kriging and Automatic Contouring."Geoprocessing 1: 377–394. 1981

Kriging插值法的更多相关文章

  1. 【转】Kriging插值法

    einyboy 原文LINK Kriging插值法 克里金法是通过一组具有 z 值的分散点生成估计表面的高级地统计过程.与插值工具集中的其他插值方法不同,选择用于生成输出表面的最佳估算方法之前,有效使 ...

  2. Matlab数值计算示例: 牛顿插值法、LU分解法、拉格朗日插值法、牛顿插值法

    本文源于一次课题作业,部分自己写的,部分借用了网上的demo 牛顿迭代法(1) x=1:0.01:2; y=x.^3-x.^2+sin(x)-1; plot(x,y,'linewidth',2);gr ...

  3. 牛顿插值法——用Python进行数值计算

    拉格朗日插值法的最大毛病就是每次引入一个新的插值节点,基函数都要发生变化,这在一些实际生产环境中是不合适的,有时候会不断的有新的测量数据加入插值节点集, 因此,通过寻找n个插值节点构造的的插值函数与n ...

  4. 拉格朗日插值法——用Python进行数值计算

    插值法的伟大作用我就不说了.... 那么贴代码? 首先说一下下面几点: 1. 已有的数据样本被称之为 "插值节点" 2. 对于特定插值节点,它所对应的插值函数是必定存在且唯一的(关 ...

  5. CPP&MATLAB实现拉格朗日插值法

    开始学习MATLAB(R和Python先放一放...),老师推荐一本书,看完基础就是各种算法...首先是各种插值.先说拉格朗日插值法,这原理楼主完全不懂的,查的维基百科,好久才看懂.那里讲的很详细,这 ...

  6. matlab实现插值法sin函数

    插值法实现sin函数: %calculate and print the sine function %input: x %output: sin(x) similar function y = si ...

  7. codeforces 622F. The Sum of the k-th Powers 拉格朗日插值法

    题目链接 求sigma(i : 1 to n)i^k. 为了做这个题这两天真是补了不少数论, 之前连乘法逆元都不知道... 关于拉格朗日插值法, 我是看的这里http://www.guokr.com/ ...

  8. 牛顿插值法及其C++实现

    h1 { margin-bottom: 0.21cm } h1.western { font-family: "Liberation Sans", sans-serif; font ...

  9. bzoj4559[JLoi2016]成绩比较 容斥+拉格朗日插值法

    4559: [JLoi2016]成绩比较 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 261  Solved: 165[Submit][Status ...

随机推荐

  1. Ubuntu14.04 安装MySQL 及Can‘t connect to local MYSQL server through socket ’/var/run/mysqld/mysqld.sock‘ (2)

    今天安装Mysql 按着这个①http://www.cnblogs.com/zhuyp1015/p/3561470.html来安装,却出现了这个问题 卸载又从安装还是有问题, 搜了好久在stackov ...

  2. 【Java】 剑指offer(52) 两个链表的第一个公共结点

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入两个链表,找出它们的第一个公共结点. 思路 蛮力法:遍历第一个 ...

  3. C++雾中风景11:厘清C++类型转换(static_cast,dynamic_cast,reinterpret_cast,const_cast)

    C++是一门弱类型的语言,提供了许多复杂和灵巧类型转换的方式.笔者之前写的Python与Go都是强类型的语言,对这种弱类型的设计实在是接受无力啊~~ ( 生活所迫,工作还得写C++啊~~)C++语言提 ...

  4. WinForm 屏保程序

    this.ShowInTaskbar = false; this.FormBorderStyle = FormBorderStyle.None; this.WindowState = FormWind ...

  5. [USACO 102]Agri-Net

    OJ题号:POJ1258.洛谷1546 思路:Kruskal. #include<cstdio> #include<utility> #include<vector> ...

  6. CF733F Drivers Dissatisfaction【链剖】【最小生成树应用】

    F. Drivers Dissatisfaction time limit per test 4 seconds memory limit per test 256 megabytes input s ...

  7. Unterminated &lt;c:forEach tag

    c:forEach tag意思是这一块有语法错误

  8. Codeforces Round #405 (rated, Div. 2, based on VK Cup 2017 Round 1) C. Bear and Different Names 贪心

    C. Bear and Different Names 题目连接: http://codeforces.com/contest/791/problem/C Description In the arm ...

  9. aps.net手写验证模型的方法

    /// <summary> /// 基础验证类 /// </summary> public class BaseValidator { /// <summary> ...

  10. 简单理解Linux的Loopback接口

    Linu支持环回接口( Loopback Interface),以允许运行在同一台主机上的客户程序和服务器程序通TCP/IP进行通信. A 类网络127就是为环回接口预留的 .根据惯例,大多数系统把I ...