克里金(kriging)模型的推导详解

article/2025/5/2 15:09:45

Kriging模型理论推导

  • 1、前言
  • 2、条件
  • 3、基础知识
      • 3.1、方差的理解
      • 3.2、概率密度函数
      • 3.3、多元正态分布
  • 4、理论推导
      • 4.1 模型建立
      • 4.2 模型预测

1、前言

简介:Kriging模型是一种通过已知试验点信息来预测未知试验点上响应的无偏估计模型,其最早是由南非矿业工程师D.G.Krige于1951年提出。20世纪70年代,法国的数学家G.Matheron对D.G.Krige的研宄成果进行了进一步的系统化、理论化,并将其命名为Kriging模型。1989年Sacks等将Kriging模型推广至试验设计领域,形成了基于计算机仿真和Kriging模型的计算机试验设计与分析方法。
本文将从原理部分,解析Kriging模型的推导过程。本次克里金模型的推导的参考文献为:
 A Taxonomy of Global Optimization Methods Based on Response Surfaces

2、条件

克里金模型在应用时有如下假设条件:
(1)、克里金法假设所有数据之间都服从n维的正态分布。
(2)、无偏。

3、基础知识

在推导克里金模型之前,先来回顾一些统计学的基础知识,各位功底深厚的看客老爷可以直接跳过。

3.1、方差的理解

概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。机器学习中方差又可以理解为不确定性的一种,即方差越大,不确定性越大。

3.2、概率密度函数

在数学中,连续型随机变量的概率密度函数是描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数。而随机变量的取值落在某个区域之内的概率则为概率密度函数在这个区域上的积分。当概率密度函数存在的时候,累积分布函数是概率密度函数的积分。

3.3、多元正态分布

平常我们见的最多的正态分布大多是是一维的,其的概率密度函数(Probability density function,PDF)如下:
在这里插入图片描述
其中,μ为均值,σ2为方差。也就是说,在均值和方差确定的条件下,上式f(x)也就确定了,这样我们就可以知道在该分布下,随机变量x的可能性大小。
同样,当拓展到二维正态分布时,相当于添加了一个维度,这是均值仍然为每个维度上的均值组合到一起,而方差则变为了协方差,因为要考虑这两个维度之间的关系。此时的均值和协方差变为:
在这里插入图片描述
此时二元正态分布的概率密度函数(pdf)为:
在这里插入图片描述
其中ρ为相关系数,是由这两个维度上的方差计算得到的,如下图所示:x是第一维度上的随机变量,在该维度上,x服从正态分布,同样的,y是第二维度上的随机变量,在该维度上,同样服从正态分布。z就是随机变量x和y取某一个确定值的可能性大小。
在这里插入图片描述
以上为二元正态分布,多元正态分布也是类似,在增加维度即可,不过当维度超过2时,就无法可视化,但并不妨碍我们理解。
多元正态分布的均值向量为:
在这里插入图片描述
多元正态分布的协方差矩阵为:
在这里插入图片描述
其分布函数为:
在这里插入图片描述
也就是说,如果多元正态分布的均值确定了,协方差确定了,那么其分布函数(pdf)就可以确定,我们就可以在这个分布函数上搞点儿事情。比如进一步的进行最大似然估计。

4、理论推导

4.1 模型建立

已知给定了一些标记过的数据集X = { x1,x2,…,xn },其对应的目标函数值为y = { y1,y2,…,yn } ,注意,其中的 x1 是一个长度为 n 的向量,y1 = Y(x1) 。我们的目标就是想通过这些已知的点,来实现对未知点的预测。
首先,克里金模型假设所有数据服从均值为μ方差为σ2的n元的正态分布,也就是说这个n元正态分布函数的均值可以认为是在[ μ-3σ, μ+3σ ]的范围内变化(论文原话,实际上刻画的是不确定性)。现在我们考虑两个点 xi 和 xj ,在我们采样之前,是不确定这两个点的目标函数值的,然而,我们假设建模所用的函数是连续的,当距离 || xi-xj || 比较小时,y(xi)和y(xj)也倾向于高度相关。我们可以通过下面的式子来衡量相关性:
在这里插入图片描述
上面是论文中的描述,初学者可能会比较蒙,下面我简单解释一下:
既然克里金模型假设了所有数据服从n维正态分布,那么对于n维的正态分布,如果想要刻画其pdf,最重要的就是均值和协方差了了,由于是n维,均值为各个维度的均值的组合,为nx1的矩阵,而协方差矩阵里面,非对角线上的元素就是两两随机变量之间的协方差,对角线上的元素就是各个随机变量的方差,(如下图示例,cov(z,x)刻画的是变量z和变量x之间的相关性)。论文中的式(5),就是一个刻画随机变量Y(xi)和变量Y(xj)之间的相关性的函数,属于协方差矩阵中的一员。我们令i=j,那么corr[Y(xi),Y(xj)]就为1.
在这里插入图片描述
紧接着,由于Y是服从n元正态分布,我们将n个已知点放到一起,就变成了:
在这里插入图片描述
Y的均值为lμ,其中l是nx1的矩阵。其协方差如下:

在这里插入图片描述
注意:文献中得R乘以了方差,文献作者应该是想表示协方差矩阵对角线上的值,不过不妨碍我们理解,这里我补充出Cov(Y)的表达式,见下图:
( C o r r [ Y ( X 1 , X 1 ) ] . . . C o r r [ Y ( X 1 , X n ) ] . . . . . . . . . C o r r [ Y ( X n , X 1 ) ] . . . C o r r [ Y ( X n , X n ) ] ) \begin{pmatrix} Corr[Y(X1,X1)]&...&Corr[Y(X1,Xn)]\\ ...&...&...\\ Corr[Y(Xn,X1)]&...&Corr[Y(Xn,Xn)]\\ \end{pmatrix} Corr[Y(X1,X1)]...Corr[Y(Xn,X1)].........Corr[Y(X1,Xn)]...Corr[Y(Xn,Xn)]
上式中的对角线上的值就是向量各自的方差。
这里的R的大小为n x n的矩阵,该矩阵中的每个值都是由公式(5)得到的,i和j都是从1取到n。对角线上i=j,所以R为1,那么协方差Cov(Y)的对角线就是方差。
由上公式可知超参数有μ、σ2,θl和pl(l=1,2,3…d),我们用观测数据
y
进行最大化似然来估计这些超参数,观测数据y如下所示:
在这里插入图片描述
由于服从多维正态分布,最大似然的式子可以写为:
在这里插入图片描述
为了方便运算,取对数:
在这里插入图片描述

下面分别对均值μ、和方差σ2求偏导,即可得到使似然函数最大的均值和方差了,得到结果如下:
在这里插入图片描述
最后,将公式(11)和(12)带入到式(10)中得到log最大似然为:
在这里插入图片描述
由式13可知,log最大似然仅和R有关,而R中有参数θ,因此超参数的调节就是选取合适的θ使得log似然最大,可以用遗传算法或多初始点算法求得。

4.2 模型预测

在4.1中,我们对已知得数据点进行了最大似然估计,得到一些先验超参数,预测就是利用4.1得到得超参数来对未知数据点进行预测。这里考虑一个点 y ~ \widetilde{y} y ,我们将观察到的数据和要预测的点放到一起 y ~ \widetilde{y} y =(y,y*)T ,则对应的协方差矩阵也发生了改变:
在这里插入图片描述
则协方差矩阵变为:
在这里插入图片描述
矩阵中得 r 实际是 rT 的意思。则对应的似然函数为:
**式(10)**在加上下面图片中的式子:
在这里插入图片描述
y ~ \widetilde{y} y R ~ \widetilde{R} R 带入到上式中得:
在这里插入图片描述

下面要做的是如何把中间的逆矩阵表示出来,这里作者用了部分求逆的方法,直接上结果如下:

R ~ \widetilde{R} R -1 =
在这里插入图片描述
将上式带入到式(16)中,我们可以得到扩充后的似然函数为:

在这里插入图片描述
我们可以看到,式(17)是关于y*的二次函数,对其求导并等于0可得:

在这里插入图片描述
从式(18)可以求解出:y*= y ^ \widehat{y} y (x*) = μ ^ \widehat{μ} μ + rR-1(y-l μ ^ \widehat{μ} μ )
在这里插入图片描述
至此,证明完毕。

本文参考:

(1) https://zhuanlan.zhihu.com/p/90272131
(2) 文献:A Taxonomy of Global Optimization Methods Based on Response Surfaces


http://chatgpt.dhexx.cn/article/m5flyj2i.shtml

相关文章

c语言函数库----<ctype.h>

<ctype.h>是c标准函数库中的头文件&#xff0c;定义了一批c语言字符分类函数&#xff0c;下面将介绍<ctype.h>中的一些函数。 1、isascii()函数 isascii()函数是c语言中字符检测函数。通常用于检查参数c是否为ASCII 码字符&#xff0c;也就是判断c 的范围是否在0…

C语言——标准函数库

<stdlib.h> 算数&#xff1a; 1、函数abs和labs返回参数的绝对值 int abs( int value ); long int labs( long int value ); 2、函数div和ldiv做除法运算 div_t div( int numerator, int denominator ); ldiv_t ldiv( long int numer, long int denom ); 函数第一个参数…

Qt中调用C语言函数库

接着上一篇文章&#xff0c;试图画出速度模型时&#xff0c;中间会有用到调用C库函数--gsl库&#xff1b;记一下怎么使用的&#xff1a; 和C语言中类似&#xff0c;但要使用到条件编译&#xff1a; #ifdef __cplusplus extern "C" { #endif #include <gsl/gsl_…

c语言标准函数库怎么建立教程,C语言-基础教程-C语言函数库和文件

一个函数设计完后&#xff0c;我们可以用三种方法处理它&#xff1a;1)把它放在main()函数的同一个文件中&#xff1b;2)把它和写好的其它函数一起放在另一个文件中&#xff1b;3)把它放在函数库中。下面分别讨论这三种方法。 4.6.1程序文件的大小 因为C语言允许分别编译&#…

C语言字符串处理函数库

C语言的字符串处理函数库包括复制函数、拼接函数、比较函数、搜索函数等&#xff0c;这些函数的声明都位于头文件<string.h>。使用这些函数时&#xff0c;需要使用#include<string.h>指令将头文件包含到文件中。 复制函数 复制函数的功能是将字符&#xff08;节&…

C语言数学函数库

数学函数库 几乎所有语言都会提供数学函数库&#xff0c;数学函数库起码包含幂&#xff0c;对数、三角函数等最基本的运算&#xff0c;C对于基本数学函数还算全面&#xff0c;如下表&#xff1a; 使用数学函数库需要导入math.h&#xff0c;表中所有参数和返回值都是double&am…

c语言常用库函数

c语言常用库函数 1、数学函数 abs 原型&#xff1a;extern int abs(int x); 功能&#xff1a;求整数x的绝对值 说明&#xff1a;计算|x|, 当x不为负时返回x&#xff0c;否则返回-xfabs 原型&#xff1a;extern float fabs(float x); 功能&#xff1a;求浮点数x的绝对值 说明&…

简单实现破解Root密码

破解步骤&#xff1a; 在系统启动时进入grub选项菜单 在grub选项菜单按e进入编辑模式 编辑kernel那行 添加 /init 1 &#xff0c;相当于告诉linux下次启动启用单用户模式这个特殊模式启动。 按b重启 进入系统后&#xff0c;将root密码设置为空密码。 #vim /etc/passwd …

vue-admin-beautiful-pro源码、vue admin pro、vue admin plus 基于element-plus的vue3.0 admin前端框架

Vue Admin Plus已拥有四种布局&#xff08;画廊布局、综合布局、纵向布局、横向布局&#xff09;四种主题&#xff08;默认、海洋之心、绿茵草场&#xff0c;荣耀典藏&#xff09;&#xff0c;共计16布局主题种组合&#xff0c;满足所有项目场景&#xff0c;已支持常规bug自动修…

【Mockplus教程】安装Mockplus

MAC上安装Mockplus 1 下载 进入摩客官网桌面端下载页面&#xff0c;选择MAC版本下载&#xff1b; 2 安装 下载完成后&#xff0c;打开dmg包&#xff0c;将Mockplus图标拖动到Applications快捷图标上面即可完成安装。 整个过程见下方视频&#xff1a; 进入摩客官网桌面端下载页面…

VUE 使用 mock

mock使用背景 实际开发采用前后端分离形式&#xff0c;意味着后端API正在开发中&#xff0c;前端只需知道需要的数据格式即可进行开发&#xff0c;与后端开发同步进行。mock模拟后端提供api的调用&#xff0c;并返回数据。 mock使用步骤 1. 安装依赖 npm install mockjs 2…

抱歉,Xposed真的可以为所欲为——5.我自己刷的Xposed凭什么不给我用

抱歉&#xff0c;Xposed真的可以为所欲为——5.我自己刷的Xposed凭什么不给我用 标签&#xff1a; 2018 一句话概括本文 分析定位排查下厨房APP检测手机是否安装了Xposed框架的方法&#xff0c;然后一步步 Hook掉对应代码&#xff0c;以此去掉恶心的重复弹出警告对话框。 引…

2022最新 vue中mock的使用步骤 亲测可用

第一步&#xff1a;在src目录下创建文件夹mock&#xff0c;mock下创建文件index.js存放mock数据 index.js代码&#xff1a; import Mock from "mockjs" // const chartData { // "Msg": "success", // "ResCode": 200, // …

Mock 使用方式 + 在 Vue 项目中使用 Mock

Mock Mock 介绍搭建测试项目mock.js 模拟数据的基础使用方式Vue 项目中使用 mock.js 拦截数据后端接口写好后&#xff0c;mock.js 的移除处理 写下博客用于自我复习、总结。 如有错误之处&#xff0c;请各位大佬指出。 学习资料来源于&#xff1a;尚硅谷 Mock 介绍 在前后端开…

尚硅谷Vue2.0+Vue3.0全套教程视频笔记 + 代码 [P051-100]

视频链接&#xff1a;尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通_哔哩哔哩_bilibili P1-50&#xff1a;尚硅谷Vue2.0Vue3.0全套教程视频笔记 代码 [P001-050]_小白桶子的博客-CSDN博客 P51-100&#xff1a;当前页面 P101-135&#xff1a;尚硅谷Vue2.0Vue3.0全套教程视频…

VirtualXposed 免ROOT使用Xposed模块

免ROOT使用Xposed模块 一&#xff0c;下载工具 VirtualXposed 官网地址 或者 百度网盘 提取码&#xff1a;39hu 二&#xff0c;安装应用 安装完成打开VirtualXposed可以看到界面&#xff0c;点击下面圆圈就可以进入添加应用&#xff0c;模块管理&#xff0…

Vue.js 框架源码与进阶 - Vue.js 源码剖析 - 模板编译

文章目录 一、模板编译简介二、体验模板编译的结果三、Vue Template Explorer四、编译的入口函数五、模板编译过程5.1 compileToFunctions5.2 compile5.3 baseCompile5.3.1 baseCompile-AST5.3.2 baseCompile-parse5.3.3 baseCompile-optimize5.3.4 baseCompile-generate 5.4 模…

全栈低码开源框架 json-script-rule 配置说明

说明 配置主要分为映射信息配置和spring配置文件application的配置 映射信息 映射信息通常指的是所配置的po类与映射表的相关信息&#xff0c;通过相关注解来获取相关的静态信息&#xff0c;当然这里也可以通过其它的渠道来加载这些配置信息&#xff0c;如数据库、xml文件等…

全栈低码开源框架 json-script-rule 导入

说明 导入功能是将带有数据的excel文件上传后再通过程序导入到数据库&#xff0c;创建模型如下 Data public class JSRuleImport<A extends JSRuleAction<A>> implements IJSRuleActionModel<A>{/*** <p>导入excel对象&#xff0c;别名e* */JsonAlias…

Vue3 —— to 全家桶及源码学习

该文章是在学习 小满vue3 课程的随堂记录示例均采用 <script setup>&#xff0c;且包含 typescript 的基础用法 前言 本篇主要学习几个 api 及相关源码&#xff1a; toReftoRefstoRaw 一、toRef toRef(reactiveObj, key) 接收两个参数&#xff0c;第一个是 响应式对象…