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