當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


R spatialsample spatial_nndm_cv 最近鄰距離匹配 (NNDM) 交叉驗證

NNDM 是留一交叉驗證的一種變體,它將每個觀察值分配給單個評估折疊,然後嘗試從每個分析折疊中刪除數據,直到評估折疊和分析折疊之間的最近鄰距離分布與最近鄰距離分布匹配訓練數據和模型將用於預測的位置之間的關係。由 Milà 等人提出。 (2022),該方法旨在準確估計模型在其實際預測的位置上的表現。該方法最初是在 CAST 包中實現的。

用法

spatial_nndm_cv(
  data,
  prediction_sites,
  ...,
  autocorrelation_range = NULL,
  prediction_sample_size = 1000,
  min_analysis_proportion = 0.5
)

參數

data

sfsfc 的對象。

prediction_sites

說明要預測的區域的 sfsfc 對象。如果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_cvspatial_rsetrsettbl_dftbldata.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

相關用法


注:本文由純淨天空篩選整理自Michael Mahoney等大神的英文原創作品 Nearest neighbor distance matching (NNDM) cross-validation。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。