FRK
套件已在 CRAN 上可用!若要安裝,請輸入
install.packages( " FRK " )
要安裝最新的開發版本,請載入devtools
並輸入
install_github( " andrewzm/FRK " , dependencies = TRUE , build_vignettes = TRUE )
此處提供了介紹該軟體包的論文。此處提供了一篇詳細介紹非高斯設定中的方法的論文(此處提供了該論文的六頁摘要)。
小插圖“FRK_intro”總結了該包,給出了可在高斯設置中使用的 EM 演算法的詳細信息,並提供了幾個示例。另一個小插圖「FRK_non-Gaussian」總結了非高斯設定中的推理(其中使用拉普拉斯近似),並包含使用非高斯資料和新可用的繪圖方法的範例。要訪問插圖,請點擊以下連結:
FRK簡介
使用 FRK 建模空間和時空非高斯資料的教學課程
這裡還提供了pkgdown
頁面。
如果您在工作、研究或其他活動中使用FRK
,請使用citation("FRK")
提供的資訊進行引用。
封裝:FRK
類型: 套裝
標題:固定秩克里金法
版本:2.3.1
日期:2024年7月16日
作者:安德魯·扎米特-曼吉恩、馬修·塞恩斯伯里-戴爾
維護者:Andrew Zammit-Mangion [email protected]
描述:用於大型資料集的空間/時空建模和預測的工具。此方法使用一組基底函數對場進行建模,從而對協方差函數進行建模。這種固定秩的基底函數表示有利於大數據的建模,而該方法自然允許非平穩、各向異性協方差函數。將空間域離散化為所謂的基本區域單位(BAU)有助於使用具有不同支持(即,點參考和區域支持,可能同時)的觀測值,以及對任意用戶指定區域的預測。 FRK
也支援各種流形的推理,包括 2D 平面和 3D 球體,並且它提供輔助函數來相對輕鬆地建模、擬合、預測和繪圖。 2.0.0 及更高版本還支援透過採用廣義線性混合模型 (GLMM) 框架對非高斯資料(例如,泊松、二項式、負二項式、伽馬和逆高斯)進行建模。 Zammit-Mangion 和 Cressie (2021) 在高斯環境中描述了FRK
,並詳細介紹了其基底函數和 BAU 的使用,而 Sainsbury-Dale 等人。 (2024) 描述非高斯環境中的FRK
;有兩個小插圖總結了這些論文並提供了更多範例。
許可證:GPL (>= 2)
library( " FRK " )
library( " sp " )
library( " ggplot2 " )
library( " ggpubr " )
# # Setup
m <- 1000 # Sample size
RNGversion( " 3.6.0 " ); set.seed( 1 ) # Fix seed
zdf <- data.frame ( x = runif( m ), y = runif( m )) # Generate random locs
zdf $ z <- sin( 8 * zdf $ x ) + cos( 8 * zdf $ y ) + 0.5 * rnorm( m ) # Simulate data
coordinates( zdf ) = ~ x + y # Turn into sp object
# # Run FRK
S <- FRK( f = z ~ 1 , # Formula to FRK
list ( zdf ), # All datasets are supplied in list
n_EM = 10 ) # Max number of EM iterations
pred <- predict( S ) # Prediction stage
# # Plotting
plotlist <- plot( S , pred )
ggarrange( plotlist = plotlist , nrow = 1 , legend = " top " )
這裡我們分析模擬的泊松數據。我們透過在FRK()
中設定response = "poisson"
和link = "sqrt"
來使用平方根連結函數建模,以表示具有平均響應的泊松資料模型。 FRK
中可用的其他非高斯響應分佈包括二項分佈、負二項分佈、伽瑪分佈和逆高斯分佈。
# # Simulate Poisson data using the previous example's data to construct a mean
zdf $ z <- rpois( m , lambda = zdf $ z ^ 2 )
# # Run FRK
S <- FRK( f = z ~ 1 , list ( zdf ),
response = " poisson " , # Poisson data model
link = " sqrt " ) # square-root link function
pred <- predict( S )
# # Plotting
plotlist <- plot( S , pred $ newdata )
ggarrange( plotlist $ z , plotlist $ p_mu , plotlist $ interval90_mu ,
nrow = 1 , legend = " top " )
我們現在使用 NOAA 資料集分析時空資料。
# # Setup
library( " spacetime " )
data( " NOAA_df_1990 " )
Tmax <- subset( NOAA_df_1990 , month %in% 7 & year == 1993 )
Tmax <- within( Tmax , { time = as.Date(paste( year , month , day , sep = " - " ))})
STObj <- stConstruct( x = Tmax , space = c( " lon " , " lat " ), time = " time " , interval = TRUE )
# # BAUs: spatial BAUs are 1x1 pixels, temporal BAUs are 1 day intervals
BAUs <- auto_BAUs( manifold = STplane(),
cellsize = c( 1 , 1 , 1 ),
data = STObj , tunit = " days " )
BAUs $ fs <- 1 # scalar fine-scale variance matrix, implicit in previous examples
# # Basis functions
G <- auto_basis( manifold = STplane(), data = STObj , nres = 2 , tunit = " days " )
# # Run FRK
STObj $ std <- 2 # fix the measurement error variance
S <- FRK( f = z ~ 1 + lat , data = list ( STObj ),
basis = G , BAUs = BAUs , est_error = FALSE , method = " TMB " )
pred <- predict( S , percentiles = NULL )
# # Plotting: include only some times via the argument subset_time
plotlist <- plot( S , pred $ newdata , subset_time = c( 1 , 7 , 13 , 19 , 25 , 31 ))
ggarrange( plotlist = plotlist , nrow = 1 , legend = " top " )
FRK
軟體包目前用於產生衛星資料觀測到的場的時空動畫。此處,我們使用 NASA OCO-2 2014 年 9 月至 2016 年 6 月期間的數據顯示每日二氧化碳預測。
感謝 Michael Bertolacci 設計了 FRK 六角標誌!