julia - 在 Julia 中使用 GeoStats 包进行克里金插值
问题描述
我正在尝试使用GeoStats
julia 中的包构建克里金插值模型。我尝试了 2D 插值的示例,但结果不准确,如下所述。
二维插值代码:
using KrigingEstimators, DataFrames, Variography, Plots
OK = OrdinaryKriging(GaussianVariogram()) # interpolator object
f(x) = sin(x)
# fit it to the data:
x_train = range(0, 10.0, length = 9) |> collect
y_train = f.(x_train)
scatter(x_train, y_train, label="train points")
x_train = reshape(x_train, 1, length(x_train))
krig = KrigingEstimators.fit(OK, x_train, y_train) # fit function
result = []
variance =[]
test = range(0, 10, length = 101) |> collect
y_test = f.(test)
test = reshape(test, 1, length(test))
for i in test
μ, σ² = KrigingEstimators.predict(krig, [i])
push!(result, μ)
push!(variance, σ²)
end
df_krig_vario = DataFrame(:predict=>result, :real=>y_test, :variance=>variance)
println(first(df_krig_vario, 5))
mean_var = sum(variance)/length(variance)
println("")
println("mean variance is $mean_var")
test = reshape(test, length(test), 1)
plot!(test, y_test, label="actual")
plot!(test, result, label="predict", legend=:bottomright, title="Gaussian Variogram")
参考上图可以看出插值预测是不准确的。我可以知道,如何提高这种准确性?
解决方案
推荐阅读
- ibm-cloud - 我们如何将意图、实体等从 Excel 导入 Watson Asssitant?
- raku - 没有这种方法
对于类型的调用者 - r - 给定R中的条件,如何向后求解未知数?
- android - Android 8.1 无法重新挂载 /system,/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' 是只读的
- php - FPDF 错误:无法创建输出文件
- java - 解析列表
到java中的列表 - r - R:提高复杂循环的性能
- java - java.awt.Robot 在 PuTTy 上截取空白(灰色)屏幕截图
- gmail-addons - 缺少 gmail 插件
- jquery - 使用 bootstrap v4 时 jquery slideToggle 不起作用