克里金(Kriging)模型及Python pykrige库实现

这篇具有很好参考价值的文章主要介绍了克里金(Kriging)模型及Python pykrige库实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、克里金(Kriging)模型

1.1克里金(Kriging)模型简介

  • 克里金(Kriging)模型是代理模型的一种。代理模型现在已经发展出多项式响应面(RSM)、Kriging模型、径向基函数模型(RBFS)、神经网络(ANN)、支持向量回归(SVR)、多变量插值回归(MIR)、多项式混沌展开(PCE)等多种代理模型方法。
  • 现在的二代代理模型:根据一定准则加入新样本点,循环更新代理模型。

  • 克里金(Kriging)模型是代理模型中应用最广泛的,这是因为它不仅能够给出对于未知函数的预估值,而且可以给出预估值的误差,这是其区别于其他模型的显著特点。此外其对于非线性模型具备良好的近似能力。
  • 克里金(Kriging)模型本质上是一种插值模型。它是一种基于高斯过程的建模方法(Gaussian process based modelling method),结构紧凑,计算效率高。
  • 很多研究表明,普通克里金(Kriging)模型计算中经常出错,特别是针对于天然非线性问题。所以后来又演化出改进的克里金模型,如“盲Kriging模型”、Co Kriging模型等。

1.2克里金(Kriging)插值

克里金(kriging)插值是在有限区域内对区域化变量进行无偏最优估计的一种方法。无偏指的是估计值和实际值之差的期望等于零,最优指的是估计值和实际值的方差最小。基于这一特点使得克里金插值的效果比其他插值方法要好很多。

1.3总结

简单而言,克里金(kriging)模型就是一种插值模型,与多项式插值、线性插值、样条插值等类似,根据“采样点”上的值预测非采样点的值。只不过克里金(kriging)模型相较于其他插值方法具备一些优势(上文介绍过了)。

其对于非样本点值的预测是基于线性加权组合(linearly weighted combination)实现的。

在普通克里金(kriging)模型中,通过计算预测点附近的已知值的加权平均来获得预测值。其只有在样本值具备空间相关性时才有意义。

2、Python实现:基于pykrige模块

pykrige可以实现二维和三维的普通克里金(ordinary kriging)和通用克里金(universal kriging)模型,使用起来很方便。

但是更高维度的Kriging模型就得自己从底层原理入手了,目前网上没有找到高维克里金模型的案例。不过知乎评论区有人说“发现了在python里面kriging叫高斯过程回归,做在Python库里面找现成的高斯过程回归库就行,高斯过程回归可以在高维上面用”,后面有时间详细研究。

知乎链接:Python | Kriging算法实现 - 知乎 (zhihu.com)

kriging代理模型,python

关于pykrige更加详细的内容参考pykrige模块官网:pykrige.ok3d.OrdinaryKriging3D — PyKrige 1.7.1.dev10 documentation (geostat-framework.readthedocs.io)

2.1二维OrdinaryKriging

参考:克里金插值学习笔记-CSDN博客

2.1.1参数介绍:二维ordinary kriging:pykrige.ok3d.OrdinaryKriging()

pykrige.ok.OrdinaryKriging(xyzvariogram_model='linear'variogram_parameters=Nonevariogram_function=Nonenlags=6weight=Falseanisotropy_scaling=1.0anisotropy_angle=0.0verbose=Falseenable_plotting=Falseenable_statistics=Falsecoordinates_type='euclidean'exact_values=Truepseudo_inv=Falsepseudo_inv_type='pinv')

  • xyz:三个坐标值
  • variogram_model:选择需要用的方差模型,linear, power, gaussian, spherical, exponential, hole-effect,custom。默认为linear。hole-effect仅针对于一维问题。
  • variogram_parameters:方差模型参数,根据所选方差模型确定。不提供的话则采用“软”(soft)L1范式最小化方案。
  • variogram_function:方差模型为custom时需要。
  • 其它参数省略,不常用,用默认即可。

2.1.2核心方法:execute(self, style, xpoints, ypoints, mask=None, backend='vectorized', n_closest_points = None)

参数:
  • style:定义输入点参数。如果是“grid”,将xpoints, ypoints定义为矩形网格的x、y坐标值列表;如果是“points”,则将xpoints, ypoints作为坐标对处理。
  • xpoints, ypoints:坐标值
  • backend:计算方法,如果是‘vectorized’,则是向量方法,运算速度更快,但是数据点较多时占用资源大;如果是‘loop',则是遍历求解每个网格点,计算较慢但是占用资源少;如果是“C”,则会采用循环计算。默认是‘vectorized’。
输出:
  • zvalues:即为插值结果。
  • sigmasq:插值方差。

3、普通克里金(kriging)模型Python实现:底层原理

参考:有空再详细研究

python 普通克里金法程序实现kriging - CSDN文库

【Python进阶】克里金插值法的实现过程 - 知乎 (zhihu.com)其源码在基于 Python(gma) 的克里金 (Kriging) 法插值的主要过程 (qq.com)文章来源地址https://www.toymoban.com/news/detail-763289.html

到了这里,关于克里金(Kriging)模型及Python pykrige库实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Arcgis克里金插值报错:ERROR 010079: 无法估算半变异函数。 执行(Kriging)失败。

    问题描述: shape文件的问题,此图可以看出,待插值的点有好几个都超出了地理范围之外,这个不知道是坐标系配准的问题还是什么,总之就是地理位置不对应 更换shape,或者重新制作,制作方法可以参考 更换好了shape文件我们再试试,这次点都能被包含进去 然后有个输出表

    2024年02月07日
    浏览(32)
  • python也可以使用克里金插值算法吗?

          挪威大陆架的声学压缩慢度测量的空间变化 在处理地质和岩石物理数据时,我们通常希望了解这些数据在我们的地区是如何变化的。我们可以做到这一点的方法之一是对我们的实际测量值进行网格化,并推断这些值。 进行这种外推的一种特殊方法是 克里金法, 这是一

    2024年02月10日
    浏览(23)
  • Python 站点数据插值到格点 反距离权重插值 克里金法 径向基函数(RBF)插值

    假设:彼此距离较近的事物要比彼此距离较远的事物更相似。当为任何未测量的位置预测值时,反距离权重法会采用预测位置周围的测量值与距离预测位置较远的测量值相比,距离预测位置最近的测量值对预测值的影响更大。反距离权重法假定每个测量点都有一种局部影响,

    2024年02月05日
    浏览(71)
  • HTTP 代理原理及 Python 简单实现

    HTTP 代理是一种网络代理服务器(Proxy Server),它能够作为客户端与 HTTP 服务器之间的中介,它的工作原理是: 当客户端向 HTTP 代理发送 HTTP 请求时,HTTP 代理会收到请求。 HTTP 代理会将请求转发给目标 HTTP 服务器。 目标 HTTP 服务器处理请求并生成响应。 HTTP 代理将响应转发

    2024年02月10日
    浏览(35)
  • Python爬虫常见代理池实现和优化

    在这篇文章中,我们将探讨Python爬虫中常见的代理池实现和优化方法。在爬取网站数据时,为防止被目标网站封禁IP,我们通常会使用代理IP进行访问。一个高效且稳定的代理池可以帮助我们轻松应对各种反爬策略。 首先,我们来了解一下代理池的基本概念: -代理池:代理池

    2024年02月10日
    浏览(27)
  • python实现跨域代理服务器

    准备环境 python3.7+ 依赖:aiohttp 代码实现(代理服务器,返回响应体和进行跨域处理后的headers) 测试 写个get的方法 下载测试 结果 可以正常下载 并且在响应头中能看到Server:is my server 同时可以看到添加成功的Allow-Origin响应头

    2024年02月16日
    浏览(35)
  • 回归克里格、普通克里格插值在ArcGIS中的实现

      本文介绍基于 ArcMap 软件,实现 普通克里格 、 回归克里格 方法的空间插值的具体操作。 目录 1 背景知识准备 2 回归克里格实现 2.1 采样点与环境变量提取 2.2 子集要素划分 2.3 异常值提取 2.4 土壤有机质含量经典统计学分析 2.5 回归方程求取 2.6 残差提取 2.7 残差普通克里

    2024年02月09日
    浏览(23)
  • Python使用HTTP代理实现网络请求的自动化

    随着网络技术的发展,网络请求成为了许多应用的重要组成部分。然而,手动发送网络请求不仅效率低下,而且容易出错。为了解决这个问题,我们可以使用Python来实现网络请求的自动化。而HTTP代理可以帮助我们更好地控制和管理这些请求。 在Python中,有许多库可以用来发

    2024年01月19日
    浏览(36)
  • Python搭建代理IP池实现存储IP的方法

    目录 前言 1. 介绍 2. IP存储方法 2.1 存储到数据库 2.2 存储到文件 2.3 存储到内存 3. 完整代码示例 总结 代理IP池是一种常用的网络爬虫技术,可以用于反爬虫、批量访问目标网站等场景。本文介绍了使用Python搭建代理IP池,并实现IP存储的方法。首先,介绍了代理IP的概念和使用

    2024年02月02日
    浏览(35)
  • Python使用HTTP代理实现网络请求的调试和日志记录

    在Python中,使用HTTP代理可以实现网络请求的调试和日志记录。通过HTTP代理,我们可以拦截、修改或记录网络请求和响应的数据,以便更好地了解和调试网络请求。 下面是一个使用Python和 httplib2 库实现HTTP代理的示例,同时对请求和响应进行调试和日志记录: python 复制代码

    2024年01月19日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包