最近因为项目需要,研究了下克里金插值算法。在地质学中,克里金插值算法是一种使用的空间属性估计技术,克里金插值说到底是个回归问题,且依据的因素只有两个位置之间的距离。
克里金插值算法又分为很多中,比如普通克里金插值,简单克里金插值等,不同的克里金插值算法只是假设条件不同。下面以普通克里金为例来说明其原理。
普通克里金插值算法的假设条件是:空间属性是均匀的,对于空间任意一点(x,y)都有同样的数学期望和方差。普通克里金插值的目的是对于空间一点(x,y)找到一组系数
,估计其属性值为:




无偏性:

最优性:

参考:https://blog.csdn.net/sinat_23619409/article/details/79974990,易知,无偏性可以推出
,最终问题转化为一个带约束条件的最优化问题:

最终,可以写成:

定义
为半方差函数,在地质学上,一般
,所以,上面的等号左边的
都是已知的,因为属性值是已知的。所以逆也是可以求得的。只有能够求得右边的
,那么系数
便可以求得,普通克里金插值任务也就完成了。





如何求
?对所有已知属性的空间点,求两两的距离以及半方差函数值。用一个函数式模拟二者的关系,可以是多项式关系,可以是线性关系,可以是指数,对数关系。

然后用高斯牛顿迭代法,进行迭代,求出拟合系数。
用拟合的关系式,求出
,问题就可以解决。理论上看上去不难。我在算法实现过程中发现几个问题:

1)我所用到的已知点的属性值都很接近,
有很多都是0或者接近0的,所以


是一个稀疏矩阵,逆不存在,即使用伪逆最后的结果也很怪异。最后我采取的办法是求
也是用拟合的关系式求取,虽然和实际可能有些偏差,但是总比无法求解强。

2)距离和半方差值得关系式对结果至关重要,既要选取和已知的观察点比较吻合的关系,表达式也不能太复杂,避免高斯牛顿迭代法计算复杂或者无法收敛。
参考:
来源:CSDN
作者:yixinuestc
链接:https://blog.csdn.net/yixinuestc/article/details/103977401