The goal of the stgam
package is to provide a framework
for capturing process spatial and or / or temporal heterogeneity, using
a varying coefficient modelling approach based on GAMs with Gaussian
Process (GP) smooths. It constructs a series of models and uses
probability to determine the best model or best set of competing models.
Where there in no clear ‘winner’, competing and highly probabale models
can be combined using Bayesian Model Averaging.
You can install the development version of stgam
:
# just the package
::install_github("lexcomber/stgam")
remotes# with the vignettes - takes a bit longer
::install_github("lexcomber/stgam", build_vignettes = TRUE, force = T) remotes
This code below loads the package and the package Imports (these have not been set as dependencies). It then undertakes and evaluates a series of spatially varying coefficient models using GAMs with GP smooths:
```{r eval = F} library(stgam) library(cols4all) # for nice shading in graphs and maps library(cowplot) # for managing plots library(dplyr) # for data manipulation library(ggplot2) # for plotting and mapping library(glue) # for model construction library(mgcv) # for GAMs library(sf) # for spatial data library(doParallel) # for parallelising operations library(purrr) # for model construction library(tidyr) # for model construction
data(“productivity”) data = productivity |> filter(year == “1970”) # create multiple models with different forms svc_gam = evaluate_models(data = data,target_var = “privC”, covariates = c(“unemp”, “pubC”), coords_x = “X”, coords_y = “Y”, STVC = FALSE) # examine head(svc_gam) # calculate the probabilities for each model mod_comp_svc <- gam_model_probs(svc_gam, n = 10) # have a look mod_comp_svc|> select(-f) ```