inlabru 时空分析

library(INLA) # 用于之后的建模
library(MASS) # 用于真实的多元正态分布模拟
library(tidyverse)
library(inlabru)
library(fdmr)
library(sf)
library(inlatools) 

covid19_data <- fdmr::load_tutorial_data(dataset = "priors", filename = "covid19_dataBris.rds")

covid19_sf <- covid19_data |> st_as_sf(coords=c("LONG", "LAT"))

coordinates <- st_coordinates(covid19_sf)

locs <- unique(coordinates)
# 计算初始参数
initial_range <- diff(range(locs[, 1])) / 3
max_edge <- initial_range / 2

# 2. 构建改进的网格,mesh从地图构建,此处不对。
mesh <- fm_mesh_2d(
  loc = locs,
  max.edge = c(1, 2) * max_edge,
  offset = c(initial_range, initial_range),
  cutoff = max_edge / 5
)

# 3. 定义SPDE模型
spde <- inla.spde2.pcmatern(
  mesh = mesh,
  prior.range = c(initial_range, 0.5),
  prior.sigma = c(1, 0.01)
)

# 4. 设置时间趋势先验,
rw1_prior <- list(theta = list(prior = "pc.prec", param = c(1, 0.01)))

# week需要从1开始
model1 <- bru(cases ~ Intercept(1)+ Population + prevalence +
    site(st_coordinates(geometry),model=spde)+  #site(st_coordinates)
    trend(main=week,model='rw1',hyper = list(theta = rw1_prior)),
    formula = cases ~ Intercept + Population + prevalence + site + trend, #可省略
      data = covid19_sf,
      family = "poisson")
summary(model1)

评论

此博客中的热门博文

V2ray websocket(ws)+tls+nginx分流

Rstudio 使用代理