前言
为履行前期承诺,现在公开matlab的克里格插值的代码。
原理介绍
普通克里格法:假定 Z ( x ) Z(x) Z(x)是满足本征假设的一个随机过程,该随机过程有 n n n个观测值 z ( x i ) z(xi) z(xi),要预测未采样点x0处的值,则线性预测值 Z ∗ ( x 0 ) Z^{*}(x_0) Z∗(x0)可以表示如下:
Z ∗ ( x 0 ) = ∑ i = 1 n λ i z ( x i ) Z^{*}(x_0)=\sum_{i=1}^n\lambda_iz(x_i) Z∗(x0)=i=1∑nλiz(xi)
Kriging是在使预测无偏并有最小方差的基础上,去确定最优的权重值,满足以下两个条件:
(1)无偏性条件: E [ Z ∗ ( x 0 ) − Z ( x ) ) ] = 0 E[Z^{*}(x_0)-Z(x_))]=0 E[Z∗(x0)−Z(x))]=0
(2)最优条件: v a r [ Z ∗ ( x 0 ) − Z ( x 0 ) ] = m i n var[Z^*(x_0)-Z(x_0)]=min var[Z∗(x0)−Z(x0)]=min
有如下
E [ Z ∗ ( x 0 ) − Z ( x 0 ) ] = E [ ∑ i = 1 n λ i z ( x i ) − Z ( x 0 ) ] = ∑ i = 1 n λ i E [ Z ( x i ) ] − E [ Z ( x 0 ) ] E\left[Z^{*}\left(x_{0}\right)-Z\left(x_{0}\right)\right]=E\left[\sum_{i=1}^{n} \lambda_{i} z\left(x_{i}\right)-Z\left(x_{0}\right)\right]=\sum_{i=1}^{n} \lambda_{i} E\left[Z\left(x_{i}\right)\right]-E\left[Z\left(x_{0}\right)\right] E[Z∗(x0)−Z(x0)]=E[i=1∑nλiz(xi)−Z(x0)]=i=1∑nλiE[Z(xi)]−E[Z(x0)]
根据本征假设 E [ Z ( x i ) ] = E [ Z ( x 0 ) ] = m E[Z(x_i)]=E[Z(x_0)]=m E[Z(xi)]=E[Z(x0)]=m
上式进一步表示:
∑ i = 1 n λ i E [ Z ( x i ) ] − E [ Z ( x 0 ) ] = ∑ i = 1 n λ i m − m = m ( ∑ i = 1 n λ i − 1 ) = 0 \sum_{i=1}^{n} \lambda_{i} E\left[Z\left(x_{i}\right)\right]-E\lef