普通Kriging算法笔记
普通Kriging算法笔记
1. 前提假设
区域内已知输入点坐标xix_{i}xi,对应值为zi=f(xi)z_{i}=f(x_{i})zi=f(xi);待插值点表示为xxx,估计值为z∗z^*z∗,真值为zzz
1)待插值点可由一系列已知点的加权和表示,z=∑i=1nλiziz=\sum_{i=1}^{n} \lambda_{i} z_{i}z=∑i=1nλizi
2)区域内均值一致,即E[z]=μE[z]=\muE[z]=μ;方差一致,即Var[z]=δ2Var[z]=\delta^{2}Var[z]=δ2
3)区域内距离和方差满足变异函数;
2. 约束条件
1)无偏约束:即估计值是无偏的E[z−z∗]=0E[z-z^*]=0E[z−z∗]=0
2)估计方差最小:minλiVar[z−z∗]\min_{ \lambda_{i}} Var[z-z^*]minλiVar[z−z∗]
3. 推导
3.1 无偏约束
E[z−z∗]=E[z−∑i=1nλizi]=E[z]−∑i=1nλiE[zi]=μ−μ∑i=1nλi=0E[z-z^*]=E[z-\sum_{i=1}^{n} \lambda_{i} z_{i}]=E[z]-\sum_{i=1}^{n} \lambda_{i}E[z_i]=\mu -\mu\sum_{i=1}^{n} \lambda_{i}=0E[z−z∗]=E[z−∑i=1nλizi]=E[z]−∑i=1nλiE[zi]=μ−μ∑i=1nλi=0
得:∑i=1nλi=1\sum_{i=1}^{n} \lambda_{i}=1i=1∑nλi=1
3.2 估计方差最小
Var[z−z∗]=Var[z]+Var[z∗]−2Cov(z,z∗){\color{Orange}Var[z-z^*]}={\color{Red}Var[z]}+{\color{Green}Var[z^*]}-2{\color{Blue}Cov(z,z^*)}Var[z−z∗]=Var[z]+Var[z∗]−2Cov(z,z∗)
Var[z]=Cov(z,z){\color{Red}Var[z]}=Cov(z,z)Var[z]=Cov(z,z)
Var[z∗]=Var[∑i=1nλizi]=Cov(∑i=1nλizi,∑i=1nλizi)=Cov(∑j=1nλizi,∑i=1nλjzj)=∑i=1n∑j=1nλiλjCov(zi,zj){\color{Green}Var[z^*]}=Var[\sum_{i=1}^{n} \lambda_{i} z_{i}]\\=Cov(\sum_{i=1}^{n} \lambda_{i} z_{i},\sum_{i=1}^{n} \lambda_{i} z_{i})\\=Cov(\sum_{j=1}^{n} \lambda_{i} z_{i},\sum_{i=1}^{n} \lambda_{j} z_{j})\\=\sum_{i=1}^{n}\sum_{j=1}^{n}\lambda_{i}\lambda_{j}Cov(z_{i},z_{j})Var[z∗]=Var[∑i=1nλizi]=Cov(∑i=1nλizi,∑i=1nλizi)=Cov(∑j=1nλizi,∑i=1nλjzj)=∑i=1n∑j=1nλiλjCov(zi,zj)
Cov(z,z∗)=Cov(z,∑i=1nλizi)=∑i=1nλiCov(z,zi){\color{Blue}Cov(z,z^*)}\\=Cov(z,\sum_{i=1}^{n} \lambda_{i} z_{i})\\=\sum_{i=1}^{n} \lambda_{i} Cov(z,z_{i})Cov(z,z∗)=Cov(z,∑i=1nλizi)=∑i=1nλiCov(z,zi)
在这里引入半方差函数Cov(zi,zj)=δ2−rij{Cov}\left(z_i, z_j\right)=\delta^{2}-r_{i j}Cov(zi,zj)=δ2−rij
Var[z−z∗]=(δ2−r00)+∑i=1n∑j=1nλiλj(δ2−rij)−2∑i=1nλi(δ2−ri0)=2∑i=1nλi(ri0)−∑i=1n∑j=1nλiλj(rij)−r00{\color{Orange}Var[z-z^*]}=(\delta^{2}-r_{00})+\sum_{i=1}^{n}\sum_{j=1}^{n}\lambda_{i}\lambda_{j}(\delta^{2}-r_{i j})-2\sum_{i=1}^{n} \lambda_{i} (\delta^{2}-r_{i0})\\=2 \sum_{i=1}^n \lambda_i\left(r_{i 0}\right)-\sum_{i=1}^n \sum_{j=1}^n \lambda_i \lambda_j\left(r_{i j}\right)-r_{00}Var[z−z∗]=(δ2−r00)+∑i=1n∑j=1nλiλj(δ2−rij)−2∑i=1nλi(δ2−ri0)=2∑i=1nλi(ri0)−∑i=1n∑j=1nλiλj(rij)−r00
接下来需要寻找使Var[z−z∗]Var[z-z^*]Var[z−z∗]最小的一组λi\lambda_{i}λi,需要用到拉格朗日乘数法
回顾拉格朗日乘数法
设给定二元函数z=f(x,y)z=f(x,y)z=f(x,y),约束φ(x,y)=0\varphi (x,y)=0φ(x,y)=0,为寻找z=f(x,y)z=f(x,y)z=f(x,y)在约束条件下的极值点,构造拉格朗日函数F(x,y,λ)=f(x,y)+λφ(x,y)F(x,y,\lambda)=f(x,y)+\lambda\varphi (x,y)F(x,y,λ)=f(x,y)+λφ(x,y)
令F(x,y,λ)F(x,y,\lambda)F(x,y,λ)对x,y,λx,y,\lambdax,y,λ的偏导数为0,即
∂F(x,y,λ)∂x=∂f(x,y)∂x+λ∂φ(x,y)∂x=0\frac{\partial F(x,y,\lambda)}{\partial x} =\frac{\partial f(x,y)}{\partial x} +\lambda \frac{\partial \varphi (x,y)}{\partial x}=0∂x∂F(x,y,λ)=∂x∂f(x,y)+λ∂x∂φ(x,y)=0
∂F(x,y,λ)∂y=∂f(x,y)∂y+λ∂φ(x,y)∂y=0\frac{\partial F(x,y,\lambda)}{\partial y} =\frac{\partial f(x,y)}{\partial y} +\lambda \frac{\partial \varphi (x,y)}{\partial y}=0∂y∂F(x,y,λ)=∂y∂f(x,y)+λ∂y∂φ(x,y)=0
∂F(x,y,λ)∂λ=φ(x,y)=0\frac{\partial F(x,y,\lambda)}{\partial \lambda} =\varphi (x,y)=0∂λ∂F(x,y,λ)=φ(x,y)=0
对上述问题构造拉格朗日函数
J=F(λ0,,λ1,…,λn,λ)=f(λ0,,λ1,…,λn)+λϕ(∑i=1nλi−1)=Var[z−z∗]+λϕ(∑i=1nλi−1)J=F\left(\lambda_0, ,\lambda_1, \ldots ,\lambda_n, \lambda\right)=f\left(\lambda_0, ,\lambda_1, \ldots,\lambda_n\right)+\lambda \phi\left(\sum_{i=1}^n \lambda_{i}-1\right)\\=Var[z-z^*]+\lambda \phi\left(\sum_{i=1}^n \lambda_{i}-1\right)J=F(λ0,,λ1,…,λn,λ)=f(λ0,,λ1,…,λn)+λϕ(∑i=1nλi−1)=Var[z−z∗]+λϕ(∑i=1nλi−1)
解得:
ri0−∑i=1nλirij+φ=0r_{i 0}-\sum_{i=1}^n \lambda_i r_{i j}+\varphi =0ri0−i=1∑nλirij+φ=0
3.3 求解权重
[r11r12…r1n1r21r22…r2n1……………rn1rn2…rnn111…10][λ1λ2…λnφ]=[r1or2o…rno1]\left[\begin{array}{ccccc} r_{11} & r_{12} & \ldots & r_{1 n} & 1 \\ r_{21} & r_{22} & \ldots & r_{2 n} & 1 \\ \ldots & \ldots & \ldots & \ldots & \ldots \\ r_{n 1} & r_{n 2} & \ldots & r_{n n} & 1 \\ 1 & 1 & \ldots & 1 & 0 \end{array}\right]\left[\begin{array}{c} \lambda_1 \\ \lambda_2 \\ \ldots \\ \lambda_n \\ \varphi \end{array}\right]=\left[\begin{array}{c} r_{1 o} \\ r_{2 o} \\ \ldots \\ r_{n o} \\ 1 \end{array}\right]⎣⎢⎢⎢⎢⎡r11r21…rn11r12r22…rn21……………r1nr2n…rnn111…10⎦⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎡λ1λ2…λnφ⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎡r1or2o…rno1⎦⎥⎥⎥⎥⎤
根据变异函数,可将距离转换为rijr_{i j}rij,即方程左边第一项和右边都已知,可求解出权重和拉格朗日乘子
预测值为:z=∑i=1nλiziz=\sum_{i=1}^{n} \lambda_{i} z_{i}z=∑i=1nλizi
预测方差为:Var[z−z∗]=2∑i=1nλi(ri0)−∑i=1n∑j=1nλiλj(rij)−r00=2∑i=1nλi(∑i=1nλirij−φ)−∑i=1n∑j=1nλiλj(rij)−r00=∑i=1nλi(ri0)−φVar[z-z^*]=2 \sum_{i=1}^n \lambda_i\left(r_{i 0}\right)-\sum_{i=1}^n \sum_{j=1}^n \lambda_i \lambda_j\left(r_{i j}\right)-r_{00}\\=2 \sum_{i=1}^n \lambda_i\left(\sum_{i=1}^n \lambda_i r_{i j}-\varphi \right)-\sum_{i=1}^n \sum_{j=1}^n \lambda_i \lambda_j\left(r_{i j}\right)-r_{00}\\= \sum_{i=1}^n \lambda_i\left(r_{i 0}\right)-\varphiVar[z−z∗]=2∑i=1nλi(ri0)−∑i=1n∑j=1nλiλj(rij)−r00=2∑i=1nλi(∑i=1nλirij−φ)−∑i=1n∑j=1nλiλj(rij)−r00=∑i=1nλi(ri0)−φ
普通Kriging算法笔记相关推荐
- 《算法笔记》中文版 - 包括数组,链表,树,图,递归,DP,有序表等相关数据结构与算法的讲解及代码实现...
来源:专知本文为资源,建议阅读5分钟本文为你分享<算法笔记>中文版. https://github.com/Dairongpeng/algorithm-note 目录概览 第一节 复杂度. ...
- 数据结构与算法笔记 - 绪论
数据结构与算法笔记 - 绪论 1. 什么是计算 2. 评判DSA优劣的参照(直尺) 3. 度量DSA性能的尺度(刻度) 4. DSA的性能度量的方法 5. DSA性能的设计及其优化 x1. 理论模型与 ...
- 数据结构与算法笔记(十六)—— 二叉搜索树
一.二叉搜索树定义 二叉搜索树(Binary Search Tree),又名二叉排序树(Binary Sort Tree). 二叉搜索树是具有有以下性质的二叉树: 若左子树不为空,则左子树上所有节点的 ...
- 数据结构与算法笔记(十五)—— 散列(哈希表)
一.前沿 1.1.直接寻址表 当关键字的全域U比较小时,直接寻址是一种简单而有效的技术.假设某应用要用到一个动态集合,其中每个元素都有一个取自全域U={0,1,-,m-1)的关键字,此处m是一个不很大 ...
- 《algorithm-note》算法笔记中文版正式发布!
无论是做机器学习.深度学习.自然语言处理还是其它领域,算法的重要性不言而喻!吃透算法底层原理.掌握算法数学推导和代码实现,对提高自己的硬核实力来说非常重要!今天给大家推荐一个超赞的开源算法笔记!中文版 ...
- 【算法】《algorithm-note》算法笔记中文版正式发布!
无论是做机器学习.深度学习.自然语言处理还是其它领域,算法的重要性不言而喻!吃透算法底层原理.掌握算法数学推导和代码实现,对提高自己的硬核实力来说非常重要!今天给大家推荐一个超赞的开源算法笔记!中文版 ...
- c++ string 删除字符_算法笔记|(5)第二章C、C++的快速入门字符数组的存放方式string.h文件...
字符数组的存放方式 由于字符数组是由若干个char类型的元素组成的,因此字符数组的每一位都是一个char字符,除此之外,在一维字符数组或者二维字符数组的第二维的末尾都有一个空字符\0表示存放的字符串的 ...
- 算法笔记(JavaScript版)——排序
算法笔记(JavaScript版)--排序 本文内容根据Rebert Sedgewick和Kevin Wayne的<算法(第四版)>整理,原代码为java语言,自己修改为JavaScrip ...
- 三维重建7:Visual SLAM算法笔记
VSLAM研究了几十年,新的东西不是很多,三维重建的VSLAM方法可以用一篇文章总结一下. 此文是一个好的视觉SLAM综述,对视觉SLAM总结比较全面,是SLAM那本书的很好的补充.介绍了基于滤波器的 ...
最新文章
- python免安装环境 linux_python如何打包脚本(库也一起打包),直接在linux环境运行,不需要安装库?...
- 相对熵/KL散度(Kullback–Leibler divergence,KLD)
- 【Android UI】图片 + 文字展示by SpannableStringBuilder
- Instagram为何如此受欢迎?
- 摩托罗拉SE4500 三星 S3C6410 Wince6.0平台软解码调试记录以及驱动相关问题解释
- Mysql的库与表的基本操作
- 【ARM】ARM其它指令
- schoolcms - 学习笔记
- 终于有人把超融合和边缘计算说清楚了
- android edittext 手机号码,Android中EditText中的电话号码格式
- openjudge 菲波那契数列 2753
- 查询显示注释_第2章 查询基础
- php如何安装源码包,php源码包安装步骤是什么
- 企业如何有效抵御匿名化工具带来的威胁
- 如何关闭访达窗口_UG NX软件基础操作,如何自定义软件快捷键
- nodejs串口通信
- 网速监测-window小应用
- 华为P40系列搭载HMS后,华为钱包很不错
- 写一个php简单的递归函数
- error: cannot connect to daemon解决办法