问题标签 [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 投票
0 回答
536 浏览

arcgis - 使用 Arcpy 执行克里金插值

我有点要素类的列表。我正在尝试编写一个 python 脚本来执行克里金插值。我在此代码中收到错误消息“Point_Num”未定义,

下面的脚本我正在工作

0 投票
1 回答
1403 浏览

r - 使用 gstat 的局部变异函数的局部块克里金法

我一直无法使用 R 中的 gstat 包使用本地变异函数找到任何特定于本地块克里金法的信息。澳大利亚精准农业中心有一个名为 VESPER 的免费软件能够做到这一点,并且从我读过的内容来看在 R 中应该是可能的,我可以使用一些帮助来组合一个 for 循环以使 gstat 函数在本地工作。

以 meuse 数据集为例,我已经能够计算全局变异函数并将其拟合到数据集:

这为带有拟合模型的整个数据集提供了一个很好的变异函数图。然后我可以使用它对整个数据集执行块克里金法:

这会生成插值数据的图以及每个预测点的方差图。因此,如果我希望这些函数对我的整个数据集只工作一次,这将是完美的......

但是我一直无法生成一个 for 循环来在本地级别处理这些函数。

我的目标是: 1. 对于我的网格文件中的每个点(我已尝试将其作为数据框和 SpatialPointsDataFrame),我想从我的数据文件中的子集点在全局变异函数中给定范围的对角距离内(容易调用这个位置(即 logzinc_vgm_fit[2,3])) 2. 在这个数据子集上,我想计算变异函数(如上)并拟合模型(如上) 3. 基于这个模型,我想执行块克里金法以获得该网格点的预测值和方差 4. 将上述三个步骤构建为一个 for 循环,以根据每个网格点周围的局部变异函数预测每个网格点的值

注意:与 gstat 包中内置的 meuse 数据集一样,我的网格和数据数据框的维度是不同的

如果有人能够解决这个问题,非常感谢您的参与。如果有用的话,很高兴发布我目前正在使用的代码。

0 投票
1 回答
533 浏览

r - 如何在 R 中使用 autoKrige 将通用克里金法与自定义预测空间网格一起应用

我想使用 R 中的 autokrige 函数对数据集应用通用克里金法。我想为预测点创建自己的自定义空间网格(用于 autokrige 的 new_data 参数)。我正在使用 R 版本 3.2.2(64 位)和 RStudio 版本 0.99.486。以下是我到目前为止所做的:

以下代码是从此处的 stackexchange 收到的(感谢 Jeffrey Evans),用于为预测值创建自定义空间网格:

然后我尝试使用 autoKrige 应用通用克里金法(“dist”列上的回归):

然后收到以下错误:

model.frame.default 中的错误(terms.f,newdata,na.action = na.action,:对象不是矩阵另外:警告消息:'newdata' 有 3102 行,但找到的变量有 1 行

我在创建网格 (r_meuse) 时犯了错误吗?有没有“更好”的方法来为预测数据创建网格?到目前为止,我发现的所有示例都使用了 meuse.grid 数据,但我想将通用克里金法应用于其他还没有自己的网格数据的数据。

0 投票
1 回答
1400 浏览

python - 从Python中的对象获取数据数组

我正在使用一个,它在给定一个 object 的情况下产生 3 个图k

我需要计算(x,y,z)产生这些图的数据点,但问题是这些图来自k.

我正在使用的库是pyKriging是他们的 github 存储库。

他们的示例代码的简化版本是:

完整的代码、注释和输出可以在这里找到。

总之,我正在尝试获取numpy生成这些图的数组,以便我可以创建遵循我的格式样式的图。

我对在 Python 中进入库代码一无所知,我很感激任何帮助!

0 投票
1 回答
210 浏览

r - 如何在 R 中为 autoKrige {automap} 循环编写公式

我有一个大矩阵,列名如下:

当我使用 中的autoKrige函数时automap,公式必须写成这样的格式:V1~1。当我尝试使用循环执行此操作时,会发生错误:

然后我尝试解决这个问题,我测试了公式:

所以,问题是因为公式的格式不正确。我想知道我该如何解决这个问题?非常感谢。

0 投票
1 回答
983 浏览

r - 在 R 的 gstat 包中创建变异函数

假设我有 2004-2016 年期间在四个气象站采集的降雨数据。我将数据输入数据库以在 R 中检索。我的目标是获取该时期每一天的数据,并反复使用这些值进行克里格法。

所以现在我的数据看起来像这样,每一行对应一个点,按顺序排列的列是:lat、long 和雨量数据。

我遵循了本教程:https ://rpubs.com/nabilabd/118172 ,以帮助我入门。所以这是我到目前为止的代码:

我的问题从最后一段代码开始,每次我运行它时,我得到的只是一个空(空)结果(如在 RStudio 中看到的)。我什至无法进入下一步,即:

因为当我这样做时,它会引发一个错误,内容如下:

fit.variogram(day1.vgm, model = vgm(1, "Sph", 900, 1)) 中的错误:对象应属于 gstatVariogram 或 variogramCloud 类

我知道数据集非常缺乏,只有 4 分,我知道这会导致一些非常糟糕的结果,但它是我得到的,所以我坚持使用它。但无论数据集大小如何,这都应该有效,除非我遗漏了什么。

如果我的 Java 水平一般,那么 R 对我来说是一门完全陌生的语言(尽管并非不可能学习),而统计学远非我的技能清单(我是 IT 人员而不是统计学家)。

我做错了什么,谁能给我指路?请帮忙。谢谢。

编辑:数据如下所示:

0 投票
3 回答
13503 浏览

r - 在 R 中为 gstat 中的克里金法创建网格

考虑这些坐标,这些坐标对应于测量降雨数据的气象站。

R 中 gstat 包的介绍使用了 meuse 数据集。在本教程的某个时刻:https : //rpubs.com/nabilabd/118172,这些家伙在这行代码中使用了“meuse.grid”:

我没有这样的文件,我不知道如何创建它,我可以使用这些坐标创建一个吗?或者至少指出我讨论如何为自定义区域创建自定义网格的材料(即不使用 GADM 的行政边界)。

可能措辞错误,甚至不知道这个问题对精通 R 的人是否有意义。尽管如此,还是很想听听一些方向,或者至少是提示。非常感谢!

R和统计的总菜鸟。

编辑:查看我发布的教程的示例网格,这就是我想做的事情。

编辑2:这种方法可行吗?https://rstudio-pubs-static.s3.amazonaws.com/46259_d328295794034414944deea60552a942.html

0 投票
2 回答
846 浏览

r - 将矢量图像置于网格中以在 R 中进行克里金法

在搜索了很多,询问并编写了一些代码之后,我有点了解在 R 的 gstat 中进行克里金法的最低要求。

使用 4 个点(我知道,非常糟糕),我对位于它们之间的未采样点进行了克里格。但实际上,我不需要所有这些点。在那个区域里面,有一个更小的分区……这个区域是我真正需要的。

长话短说……我从 4 个报告降雨数据的气象站进行了测量。这些点的经纬度坐标为:

通过我之前关于 StackOverflow 的问题可以看出我的克里金之路。

这:在 R 的 gstat 包中创建变异函数

这:在 R 中为 gstat 中的克里金法创建网格

我知道图像中的坐标(至少根据我的估计):

转换将发生,但我认为这并不重要,或者以后更容易处理。

图像也是不规则的(但不是全部)。

把它想象成一个甜甜圈,你可以计算甜甜圈的整个圆形,但你只需要孔覆盖的区域,这样你就可以删除或至少忽略你从甜甜圈本身获得的值。

我有相关区域的图像 (.jpg),我必须使用 QGIS 或类似软件将图像转换为 shapefile 或其他一些矢量格式。之后,我必须将该矢量图像插入 4 点克里格区域内,这样我就知道要实际考虑哪些坐标以及要删除哪些坐标。

最后,我获取图像所覆盖区域的值并将它们存储到 csv 或数据库中。

有人知道我该如何开始吗?R和统计的总菜鸟。感谢任何回复的人。

我只是想知道它是否可能以及是否提供一些提示。再次感谢。

不妨也发布我的脚本:

编辑:自上次以来,代码已更改。但我想这并不重要,我只想知道它是否可能,任何人都可以提供最简单的例子来说明它是可能的。我可以从那里得出针对我自己的问题的示例的解决方案。

0 投票
0 回答
592 浏览

r - R 中克里金法的交叉验证:如何在使用 xvalid 重新估计变异函数时包含趋势?

对于 R 中的函数 xvalid(包 geoR),我有一个非常具体的问题,该函数仅用于空间统计,所以我希望它不是太具体以至于有人能够回答。无论如何,也欢迎对替代功能/包的建议。

我想计算一个变异函数,拟合它,然后执行交叉验证。函数 xvalid 似乎可以很好地进行交叉验证。它在我设置 reestimate=TRUE 时起作用(因此它会重新估计在交叉验证中从数据集中删除的每个点的变异函数),并且在使用趋势时它也起作用。但是,将这两者结合起来似乎不起作用......

这是使用经典 Meuse 数据集的示例:

我得到的错误是:

在交叉验证期间似乎从数据集中删除了该点,但似乎没有从协变量/趋势数据中删除该点。关于解决这个问题或使用不同的包有什么想法吗?

提前非常感谢!

0 投票
1 回答
902 浏览

r - 如何反向转换正常分数转换的数据

我在一个流域(8000 平方公里)的 12 年内每天都有来自 61 个测量站的降雨量。

目标是创建 5 公里和 25 公里分辨率的网格化每日降雨量产品。由于站点数量很少,即使在雨季也不是所有站点都下雨,所以我选择使用气候变异函数。

典型一天(irain)的雨量计测量值如下,NA 表示的缺失值很少。

由于每日降雨量存在偏差,为了转换,我分别用立方根变换对数变换 (log1p)每一天进行了测试。然而,在我用 shapiro wilk 测试进行测试时,这两种转换都不适合。因此,我按照Grimes & Pardo(2009) Geostatistical analysis of rains的建议选择了正态分数转换(NCR)。并使用了 Ashton Shortridge 教授的代码

下面的代码用于生成季风季节的气候变异函数。请注意,我使用了超过 30% 的站点报告下雨的日子。没有找到任何参考资料。选择 30%,因为我有大约 65% 的天数可以通过阈值。

非零降雨的气候变异函数:

同样,我生成了指标变异函数。

现在的问题是如何使用气候变异函数进行克里金法。

与克里金法类似,每天读取非零,我已经缩放了每天的降雨量并对其进行了转换。不确定以下方法是否正确?

我的困惑如下:

  1. var1.var 是标准误差(mm)还是方差(mm2)?

  2. 气候变异函数(块金和窗台)是否应该随方差缩放?

  3. 应该使用单独或无选项进行反向转换?

我在这里先向您的帮助表示感谢。