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 六角标志!