问题标签 [kriging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
807 浏览

matlab - Matlab中的克里金/高斯过程条件模拟

我想在 Matlab 中对高斯过程 (GP) 模型进行条件模拟。我找到了 Martin Kolář 的教程(http://mrmartin.net/?p=223)。

本教程使用基于协方差矩阵分解的直接模拟方法生成条件模拟。据我了解,当模拟点的数量很大时,有几种生成条件模拟的方法可能会更好,例如使用局部邻域通过克里金法进行调节。我在 J.-P. 中找到了有关几种方法的信息。Chilès 和 P. Delfiner,“第 7 章 - 条件模拟”,地质统计学:空间不确定性建模,第二版,John Wiley & Sons, Inc.,2012 年,第 478-628 页。

是否有可用于条件模拟的现有 Matlab 工具箱?我知道 DACE、GPML 和 mGstat ( http://mgstat.sourceforge.net/ )。我相信只有 mGstat 提供执行条件模拟的能力。但是,mGstat 似乎也仅限于 3D 模型,我对更高维模型感兴趣。

任何人都可以提供有关使用现有工具箱(例如 GPML)执行条件模拟的任何建议吗?

==================================================== ================= 编辑

我发现了更多的 Matlab 工具箱:STK、ScalaGauss、ooDACE

似乎 STK 能够使用协方差矩阵分解进行条件模拟。但是,由于 Cholesky 分解,模拟点的数量仅限于中等数量(可能是几千?)。

0 投票
0 回答
400 浏览

r - gstat中R中的3维克里格:有可能吗?

好的,所以我知道在 gstat 中不可能在垂直方向上做变异函数,因为 z 坐标有一些东西。

但是,我想知道是否可以在 3 维中进行克里格法。如果无法在垂直方向获得变异函数,我不明白如何在 3 维中进行克里格法,因为克里金法取决于变异函数模型。这可能吗?

最后,当我执行以下操作时,克里金法会引发错误,我觉得这可能与没有足够的 3d 模型有关:

但它抛出了这个错误:

这是因为无法在 gstat 中定义垂直方向的变异函数吗?或者这是另一个问题?谢谢。

0 投票
0 回答
1135 浏览

java - 分散数据的空间插值

我有一个 metars 点列表(纬度、经度、海平面压力),需要对压力进行插值。

假设我想使用 metars 列表中的已知测量值(图像中的黑点)对红点(在图像波纹管的克里金侧)进行迭代。 在此处输入图像描述

我可以使用普通克里金法只插入一个点吗?如何?

我不需要一个包含所有插值点的网格。

(我正在用java为android开发。)

我只是不明白Kriging中的公式。

在这里,他们在第 27-28 页使用克里金法只计算了一个点。

请参阅本文第 2.1 节。

0 投票
1 回答
255 浏览

r - 具有线性独立数据的 DiceKriging 中的线性相关误差

问题(最小的工作示例)

当数据接近线性相关时,Dicekriging 会在大约一半的时间内给出线性相关误差。下面的示例可以看出这一点,当我在 Ubuntu 和 Windows 计算机上运行它时,大约有一半的时间出现了错误。当我使用遗传或 BFGS 优化运行它时,就会发生这种情况。

当数据稍微分散一点时,就不会发生此类错误。

为什么这是一个问题

使用克里金法优化昂贵模型意味着靠近最优值的点将被密集采样。发生此错误时无法执行此操作。1e-7此外,当有多个参数都接近时,接近点需要比上述更接近才能获得此错误。1e-3当一个点的 4 个坐标与另一个点分开并且发生此问题时,我得到了错误(在我的实际问题中,而不是上面的 MWE) 。

相关问题

DiceKriging关于堆栈溢出的问题并不多。最接近的问题是这个问题(来自Krigingpackage ),其中问题是真正的线性依赖。请注意,Kriging包装不能替代DiceKriging,因为它仅限于 2 维。

所需的解决方案

我想要:

  • 一种改变我的km电话以避免这个问题的方法(首选)
  • 一种确定何时会发生此问题的方法,以便我可以丢弃彼此太接近而无法进行克里金调用的观测值。
0 投票
2 回答
9586 浏览

python - Python - scikit_learn 中的克里金法(高斯过程)

我正在考虑使用这种方法来插入我拥有的一些 3D 点。作为输入,我在一个区域的不同高度有大气中的气体浓度。我拥有的数据显示为每几英尺垂直高度为几十英尺的值,但水平分隔数百英尺(因此是紧密包装值的“列”)。

假设在任何给定时间点,值在垂直方向上的变化明显大于在水平方向上的变化。

我想在考虑到该假设的情况下执行 3D 克里金(作为我可以调整的参数或在统计上定义的参数 - 非此即彼)。

我相信 scikit learn 模块可以做到这一点。如果可以,我的问题是如何创建离散单元输出?也就是说,输出到 3D 数据网格中,例如 50 x 50 x 1 英尺。理想情况下,我希望输出 [x_location, y_location, value] 并分离这些(或类似)距离。

不幸的是,我没有太多时间来玩它,所以我只是希望在深入研究之前弄清楚这在 Python 中是否可行。谢谢!

0 投票
1 回答
1344 浏览

r - 在 R 中随时间绘制概率密度热图

假设我有一个变量在几个不同的迭代中的蒙特卡罗模拟的输出(想想数百万)。对于每次迭代,我都有每个时间点的变量值(范围从 t=1 到 t=365)。

我想制作以下图:对于x轴上的每个时间点t以及给定范围内的每个可能值“y”,将x,y的颜色设置为“k”,其中“k”是在距离 "d" 到 x,y 的附近有多少观测值的计数。

我知道您可以轻松地为一维数据制作密度热图,但是是否有一个很好的包可以在二维上执行此操作?我必须使用克里金法吗?

编辑:数据结构目前是一个矩阵。

我想,对于每个“天”,像素在那个“天”上垂直运行,以表示该天迭代值的概率密度。结果应该看起来像热图。

0 投票
1 回答
3507 浏览

kriging - 使用高斯过程回归或克里金法进行外推

有没有办法使用克里金法或高斯过程回归来估计外推?

高斯过程非常适合分散数据的插值;但是,我需要及时推断变量的时间序列。

锄头我可以推断x(n+1) 使用x变量的历史, x_i , i = n, n-1 ,....

例如,在 python 中:scikit-learn.org/stable/modules/gaussian_process.html

0 投票
2 回答
6396 浏览

r - 如何使用 R 中的 gstat 拟合带有半变异函数的模型?

我有一个 csv 文件文件,其中包含 3 月 1 日下午 12 点的大气 PM10 浓度数据。请下载。我想在 R 中使用 gstat 包绘制半变异函数。我尝试在 R 中编写这些代码。但是有了这些数据,我无法拟合模型。

实际上我是 R 和统计学的初学者。所以,我什至对变异函数也一无所知。我有一些疑问:

a)当我将数据绘制为半变异函数时,它看起来与典型的半变异函数不同!为什么会这样?我应该对我的数据做任何其他事情,比如转换吗?

b)我怎样才能用这些数据拟合模型?我尝试过不同的模型,如“Sph”、“Exp”,但它们看起来像线性的!为什么?

c)我如何理解我应该在vgm()函数中使用什么初始值?

d) 我如何理解该模型与数据正确匹配?

e)对于使用克里金法,我应该绘制什么样的半变异函数?只有全向半变异函数?或者我应该绘制方向半变异函数?

f)我如何解释半变异函数?我的意思是我实际上能理解半变异函数的数据吗?

提前致谢。

0 投票
1 回答
1629 浏览

r - 在 R 中进行克里金之前,我应该绘制哪种变异函数?

我有一个名为 seoul3112 的 csv 文件,其中包含 PM10 浓度。请下载。.我试图绘制样本变异函数并在其上拟合模型。

#分配一个CRS并重新投影

#绘制半变异函数

#模型拟合

写完这些代码后,我得到了一个像这样的半变异函数。

在此处输入图像描述

由于我是地统计学的新手,所以我很困惑我的上述变异函数是否适合我的数据集。因为,在典型的变异函数中,半方差值在门槛处变成水平的。但是这个变异函数是向上的!我应该在我的代码中做一些更正吗?

另一件事是,实际上我的最终目标是对我的数据集(seoul3112)进行克里金插值。我不明白,对于进行克里金,这个样本变异函数就足够了,还是我应该绘制方向变异函数或其他任何东西?谁能详细解释一下?

0 投票
1 回答
522 浏览

r - R:变异函数拟合不佳,克里金结果不佳

我尝试在雅加达湾进行克里金法。我有一组具有适当坐标和属性(pH、盐度、...)的测量点

为了进行克里金法,我首先需要为我的变异函数找到一个模型。当我使用“变异函数”函数时,输出并不完美,但应该没问题,但是当我尝试拟合变异函数时,我收到一条警告消息:In fit.variogram(ph.vgm, model = vgm(0.12, " Sph", 0.1, 0.01)) :警告:变异函数拟合中的奇异模型,我有一个奇异模型。

在这里,我阅读了与变异函数计算相关的奇异模型。我可以做点什么让它变得更好吗?

我怎样才能更好地拟合我的变异函数?为什么我只能在测量点周围获得小圆圈?我想拥有带有预测值的完整地图。

我还尝试了更不灵活的“automap”库,我没有获得好的结果。