Kriging模型

Kriging回归

given set s = [ s 1 , s 2 , … , s m ] T \mathbf{s}=[s_1,s_2,\ldots,s_m]^T s=[s1,s2,,sm]T, corresponding response g = [ g 1 , g 2 , … , g m ] T \mathbf{g}=[g_1,g_2,\ldots,g_m]^T g=[g1,g2,,gm]T,

predictor:
g ^ ( t ) = f T ( t ) β + Z ( t ) \hat{g}(t)=f^T(t)\beta+Z(t) g^(t)=fT(t)β+Z(t)
f ( t ) f(t) f(t) is a regression function, the stochastic process Z ( t ) Z(t) Z(t) is assumed to have zero mean and covariance is :
E [ Z ( W ) Z ( Q ) ] = σ 2 R ( θ ; W , Q ) E[Z(\mathbf{W})Z(\mathbf{Q})]=\sigma^2R(\theta;\mathbf{W},\mathbf{Q}) E[Z(W)Z(Q)]=σ2R(θ;W,Q)
R R R is the correlation function defined by parameter θ \theta θ, the most widely used is gaussian correalaton function:
R ( θ ; W , Q ) = ∏ j = 1 n [ − θ ( Q j − W i ) 2 ] R(\theta;\mathbf{W},\mathbf{Q})=\prod_{j=1}^n\left[-\theta(Q_j-W_i)^2\right] R(θ;W,Q)=j=1n[θ(QjWi)2]
the response G ( u ) G(u) G(u) of a given test point u \mathbf{u} u obey a gaussian distribution, denote as
G ( u ) ∼ N ( μ G ( u ) , σ G 2 ( u ) ) G(\mathbf{u})\sim N\left(\mu_G(\mathbf{u}),\sigma_G^2(\mathbf{u})\right) G(u)N(μG(u),σG2(u))
the mean and standard devision given as :
μ G ( u ) = f ( u ) T β ∗ + r ( u ) T R − 1 ( g − F β ∗ ) \mu_G(\mathbf{u})=f(\mathbf{u})^T\beta^*+r(\mathbf{u})^T\mathbf{R}^{-1}(\mathbf{g}-\mathbf{F}\beta^*) μG(u)=f(u)Tβ+r(u)TR1(gFβ)

σ G 2 ( u ) = σ 2 [ 1 + v T ( F T R T F ) − 1 v − r ( u ) T R − 1 r ( u ) ] \sigma_G^2(\mathbf{u})=\sigma^2\left[1+\mathbf{v}^T(\mathbf{F}^T\mathbf{R}^T\mathbf{F})^{-1}\mathbf{v}-r(\mathbf{u})^T\mathbf{R}^{-1}r(\mathbf{u})\right] σG2(u)=σ2[1+vT(FTRTF)1vr(u)TR1r(u)]

where
v = F T R − 1 r ( u ) − f ( u ) \mathbf{v}=\mathbf{F}^T\mathbf{R}^{-1}r(\mathbf{u})-f(\mathbf{u}) v=FTR1r(u)f(u)

σ 2 = 1 m ( Y − F β ∗ ) T R − 1 ( g − F β ∗ ) \sigma^2=\frac{1}{m}(\mathbf{Y}-\mathbf{F}\beta^*)^T\mathbf{R}^{-1}(\mathbf{g}-\mathbf{F}\beta^*) σ2=m1(YFβ)TR1(gFβ)

β ∗ = ( F T R − 1 F ) − 1 F T R − 1 g \beta^*=(\mathbf{F}^T\mathbf{R}^{-1}\mathbf{F})^{-1}\mathbf{F}^T\mathbf{R}^{-1}\mathbf{g} β=(FTR1F)1FTR1g

r ( u ) r(\mathbf{u}) r(u) is correlation vector between S \mathbf{S} S and u \mathbf{u} u
r ( u ) = [ R ( θ ; s 1 , u ) , … , R ( θ ; s m , u ) ] T r(\mathbf{u})=[R(\theta;s_1,\mathbf{u}),\ldots,R(\theta;s_m,\mathbf{u})]^T r(u)=[R(θ;s1,u),,R(θ;sm,u)]T
F F F is the regression matrix
F = [ f ( s 1 ) , … , f ( s m ) ] T F=[f(s_1),\ldots,f(s_m)]^T F=[f(s1),,f(sm)]T
the optimal coefficients θ ∗ \theta^* θ of the correlation function solves
θ ∗ = min ⁡ θ { ∣ R ∣ 1 m σ 2 } \theta^*=\min_{\theta}\{|\mathbf{R}|^{\frac{1}{m}}\sigma^2\} θ=θmin{Rm1σ2}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A year and a half year ago, I published this article to the Codeguru site and got a number of requests about the Kriging algorithm contour map. Unfortunately, my project was changed shortly after that article and later I quit the company so I couldn‘t find time to finish this Contour business. A week ago, I happened to need a contour map again so I decided to solve the Kriging algorithm. I searched the Internet for a commercial library but they all look ugly and hard to use. So, I made up my mind to make my own algorithm. The Kriging algorithm is easy to find, but this algorithm needs a Matrix and solver (LU-Decomposition). Again, I couldn‘t find suitable code for this. I tried to use GSL first but this made my code too big and was slower. Finally, I went back to "Numerical Recipe in C"—yes, that horrible-looking C code—and changed the code there to my taste.If you read this article before, the rendering part hasn‘t been changed much. I added the Kriging algorithm and revised the codes a little bit. Following is the Kriging Algorithm:templatedouble GetDistance(const ForwardIterator start, int i, int j){ return ::sqrt(::pow(((*(start+i)).x - (*(start+j)).x), 2) + ::pow(((*(start+i)).y - (*(start+j)).y), 2));}templatedouble GetDistance(double xpos, double ypos, const ForwardIterator start, int i){ return ::sqrt(::pow(((*(start+i)).x - xpos), 2) + ::pow(((*(start+i)).y - ypos), 2));}templateclass TKriging : public TInterpolater{public: TKriging(const ForwardIterator first, const ForwardIterator last, double dSemivariance) : m_dSemivariance(dSemivariance) { m_nSize = 0; ForwardIterator start = first; while(start != last) { ++m_nSize; ++start; } m_matA.SetDimension(m_nSize, m_nSize); for(int j=0; j<m_nSize; j++) { for(int i=0; i<m_nSize; i++) { if(i == m_nSize-1 || j == m_nSize-1) { m_matA(i, j) = 1; if(i == m_nSize-1 && j == m_nSize-1) m_matA(i, j) = 0; continue; } m
### 回答1: Kriging模型是一种地理信息分析方法,它通过插值来估计一个未知点的数值。它是依据一定空间距离下各点之间相关性的变化,来推断未知点的数值。在Kringing模型中,空间相关性也是通过一组参数来表示的。这些参数是通过一个半方差函数来确定的。半方差函数的值反映了数据间的相关性。Kringing模型将半方差函数的值用最优化的方式拟合,以获得最佳空间相关性模型Kriging模型的建立分为三步骤:数据采集、空间相关性分析、Kriging模型构建。数据采集包括数据的收集、处理和分析。空间相关性分析是确定半方差函数的关键。不同的半方差函数适合不同的空间数据,因此选择合适的半方差函数非常重要。Kriging模型可以应用于各种各样的地理信息分析和预测问题,如土壤污染、降雨量和污染物浓度的分布。Kringing模型很常见于GIS领域,它可以建立精确的空间数据模型,为决策提供科学依据和数据支持。 在CSND的应用,Kriging模型可以通过Python语言和R语言进行实现,使用地理信息系统软件结合Kriging模型可以对空间数据进行可视化处理。Kriging模型可以与机器学习算法结合使用,来实现更加复杂和优化的空间数据分析。因为Kriging模型是一种插值方法,因此它也具有一定的局限性。它在缺乏数据的区域的准确性会比较差,因此在使用时需要对原始数据的质量进行严格的评估和筛选,以确保插值结果的准确性。 ### 回答2: Kriging模型是一种利用随机场理论进行空间预测的方法,是地质勘查、矿产资源评价等领域的常用预测方法之一。Kriging模型的基本思路是,通过对一定区域内现有的样本点数据进行空间插值,得到该区域未知位置处的数值预测。Kriging模型是一种广义的最小二乘法,具有高精度、高鲁棒性等优点,因此在地球科学等领域广受欢迎。 在使用Kriging模型进行空间预测时,首先需要对插值变量的相关性进行建模,并计算其半方差函数;然后根据半方差函数对未知值进行估计。Kriging模型最常用的方法是普通克里金方法(OK),该方法基于点插值,通过建立数学模型对未知位置进行预测,常用于二维空间插值。此外,也有一些改进的Kriging模型,如块克里金方法、畸变克里金方法等,用于处理复杂地质结构和不规则数据网格的插值问题。 总之,Kriging模型是一种高效、准确的空间预测方法,可以广泛应用于地球科学、环境科学等领域,并在实际中取得了广泛的成功应用。对于有关此类问题的学者和工程师来说,熟练掌握Kriging模型的原理和应用是非常必要的。 ### 回答3: Kriging模型是一种用于插值和预测未知值的方法,也被称为“空间插值”或“地统计学”。该模型使用局部变异性分析来估计未观测到的点的值,并且给出了一个可信度区间。在地质、环境科学、气象学、农业和资源管理等领域,该模型被广泛应用。Kriging模型的结果可用于制作地图和可视化,以帮助研究人员更好地理解地球表面的变化和趋势。 在使用Kriging模型时,首先需要搜集一些点的值,这些点被称为已知点。然后,通过这些已知点的值的变化情况,推算出未知点的值和误差值。Kriging模型采用一种称为半方差函数的方法来计算这些误差值。半方差函数描述了一个点和其他点之间距离和值之间的关系。Kriging模型根据使用的半方差函数类型和已知点的数量来计算误差估计值。 当使用Kriging模型时,需要考虑纵向和横向的变异性,以及是否存在趋势。因此,不同类型的Kriging模型适用于不同的地理数据类型。例如,普通Kriging适用于数据点之间存在确定趋势的情况,而指示Kriging则适用于没有趋势的数据。 总的来说,Kriging模型是一种有效的工具,可以预测未知点的值和误差范围,并帮助人们更好地理解地球表面的变化趋势。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值