NNDM 是留一交叉验证的一种变体,它将每个观察值分配给单个评估折叠,然后尝试从每个分析折叠中删除数据,直到评估折叠和分析折叠之间的最近邻距离分布与最近邻距离分布匹配训练数据和模型将用于预测的位置之间的关系。由 Milà 等人提出。 (2022),该方法旨在准确估计模型在其实际预测的位置上的表现。该方法最初是在 CAST 包中实现的。
用法
spatial_nndm_cv(
data,
prediction_sites,
...,
autocorrelation_range = NULL,
prediction_sample_size = 1000,
min_analysis_proportion = 0.5
)
参数
- data
-
类
sf
或sfc
的对象。 - prediction_sites
-
说明要预测的区域的
sf
或sfc
对象。如果prediction_sites
都是点,那么在计算目标最近邻距离时,这些点将被视为预期预测点。如果prediction_sites
的任何元素不是单个点,则从prediction_sites
的边界框内对点进行采样,然后将这些点用作预期预测点。 - ...
-
传递给
sf::st_sample()
的其他参数。请注意,采样点数由prediction_sample_size
控制;尝试通过...
传递size
将导致错误。 - autocorrelation_range
-
长度为 1 的数字,表示景观自相关范围(Milà 等人 (2022) 术语中的"phi")。如果默认为
NULL
,则自相关范围假定为prediction_sites
边界框对角之间的距离。 - prediction_sample_size
-
长度为1的数字:当
prediction_sites
不仅仅由点组成时,要采样的点数。请注意,此参数传递给sf::st_sample()
中的size
,这意味着...
中的任何元素都不能命名为size
。 - min_analysis_proportion
-
删除点以匹配最近邻居距离后必须保留的
data
的最小比例。一旦分析集中仅保留min_analysis_proportion
原始数据,此函数将停止从分析集中删除数据,即使分析集和评估集之间的最近邻距离仍然低于训练位置和预测位置之间的距离。
值
带有类 spatial_nndm_cv
、 spatial_rset
、 rset
、 tbl_df
、 tbl
和 data.frame
的 tibble。结果包括数据分割对象的列和标识变量 id
。
参考
C. Milà、J. Mateu、E. Pebesma 和 H. Meyer。 2022.“用于Map验证的最近邻距离匹配留一交叉验证”。生态学和进化方法 2022:13,第 1304-1316 页。doi:10.1111/2041-210X.13851。
H.迈耶和E.佩贝斯玛。 2022年。“基于机器学习的生态变量全局Map以及评估它们的挑战。” 《自然通讯》13,第 2208 页。doi:10.1038/s41467-022-29838-9。
例子
data(ames, package = "modeldata")
ames_sf <- sf::st_as_sf(ames, coords = c("Longitude", "Latitude"), crs = 4326)
# Using a small subset of the data, to make the example run faster:
spatial_nndm_cv(ames_sf[1:100, ], ames_sf[2001:2100, ])
#> # A tibble: 100 × 2
#> splits id
#> <list> <chr>
#> 1 <split [50/1]> Fold001
#> 2 <split [83/1]> Fold002
#> 3 <split [50/1]> Fold003
#> 4 <split [50/1]> Fold004
#> 5 <split [50/1]> Fold005
#> 6 <split [50/1]> Fold006
#> 7 <split [50/1]> Fold007
#> 8 <split [76/1]> Fold008
#> 9 <split [86/1]> Fold009
#> 10 <split [88/1]> Fold010
#> # ℹ 90 more rows
相关用法
- R spatialsample spatial_clustering_cv 空间聚类交叉验证
- R spatialsample spatial_block_cv 空间块交叉验证
- R spatialsample spatial_vfold 带缓冲的 V 形折叠交叉验证
- R spatialsample autoplot.spatial_rset 创建用于空间重采样的 ggplot。
- R variogram 计算空间变异函数
- R anova.trls 用于拟合趋势表面对象的方差分析表
- R Kfn 计算点模式的 K-fn
- R Kenvl 计算 K-fns 模拟的包络和平均值
- R correlogram 计算空间相关图
- R trmat 评估网格上的趋势面
- R Kaver 模拟的平均 K 函数
- R semat 评估网格预测的克里金标准误差
- R surf.ls 通过最小二乘法拟合趋势面
- R ppgetregion 获取空间点模式分析的域
- R pplik Strauss空间点过程的伪似然估计
- R surf.gls 通过广义最小二乘法拟合趋势面
- R ppregion 设置空间点模式分析的域
- R Strauss 模拟施特劳斯空间点过程
- R prmat 评估网格上的克里金曲面
- R ppinit 从文件中读取点过程对象
- R trls.influence 趋势面的回归诊断
- R SSI 模拟连续空间抑制点过程
- R predict.trls 趋势曲面拟合的预测方法
- R expcov 空间协方差函数
- R Psim 模拟二项式空间点过程
注:本文由纯净天空筛选整理自Michael Mahoney等大神的英文原创作品 Nearest neighbor distance matching (NNDM) cross-validation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。