tulpa: Template Unified Latent Process Architecture for Bayesian Hierarchical Models

A general-purpose engine for fitting Bayesian hierarchical models with spatial fields, temporal effects, spatially varying coefficients, and multiple inference backends. Scalable spatial structure includes Hilbert space approximate Gaussian processes (HSGP; Riutort-Mayol et al. 2023 <doi:10.1007/s11222-022-10167-2>), nearest-neighbor Gaussian processes (NNGP; Datta et al. 2016 <doi:10.1080/01621459.2015.1044091>), intrinsic conditional autoregressive models (ICAR; Besag, York, and Mollie 1991 <doi:10.1007/BF00116466>), the reparameterized Besag-York-Mollie model (BYM2; Riebler et al. 2016 <doi:10.1177/0962280216660421>), and stochastic partial differential equation fields (SPDE; Lindgren, Rue, and Lindstrom 2011 <doi:10.1111/j.1467-9868.2011.00777.x>). Temporal structure covers random walks, autoregressive processes, and Gaussian processes. Inference is tiered by correctness guarantee: exact Hamiltonian Monte Carlo with the No-U-Turn sampler, Laplace and nested Laplace approximations with hyperparameter integration (Rue, Martino, and Chopin 2009 <doi:10.1111/j.1467-9868.2008.00700.x>), and variational inference. Model-specific packages plug observation likelihoods into the engine through a templated C++ callback interface.

Version: 0.2.0
Depends: R (≥ 4.1.0)
Imports: Rcpp (≥ 1.0.12), Matrix, tulpaMesh (≥ 0.1.3), generics, lifecycle, stats, tools, utils, methods, graphics, grDevices
LinkingTo: Rcpp, RcppEigen, Matrix
Suggests: testthat (≥ 3.0.0), bayesplot, ggplot2, sf, terra, knitr, rmarkdown, posterior (≥ 1.5.0), loo (≥ 2.7.0), rstantools, lme4, nlme, lmtest, numDeriv, spdep, MASS, betareg, glmmTMB, pscl, tweedie, fmesher, patchwork, stars, statmod, withr
Published: 2026-09-09
DOI: 10.32614/CRAN.package.tulpa (may not be active yet)
Author: Gilles Colling ORCID iD [aut, cre, cph], Frances Y. Kuo [ctb, cph] (Sobol direction numbers in src/sobol_direction_numbers.h, BSD-3-clause), Stephen Joe [ctb, cph] (Sobol direction numbers in src/sobol_direction_numbers.h, BSD-3-clause)
Maintainer: Gilles Colling <gilles.colling051 at gmail.com>
BugReports: https://github.com/gcol33/tulpa/issues
License: MIT + file LICENSE
Copyright: see file COPYRIGHTS
URL: https://github.com/gcol33/tulpa, https://gillescolling.com/tulpa/
NeedsCompilation: yes
SystemRequirements: C++17
Language: en-US
Citation: tulpa citation info
Materials: NEWS
CRAN checks: tulpa results

Documentation:

Reference manual: tulpa.html , tulpa.pdf
Vignettes: Checkpoint and resume long fits (source, R code)
The data a tulpa model expects (source, R code)
EM + Laplace for latent-variable models (source, R code)
Inference modes: the three tiers and how to choose one (source, R code)
Comparing tulpa models (source, R code)
Specifying and checking priors (source, R code)
Getting started with tulpa (source, R code)
Random slopes and the free random-effect covariance (source, R code)
Reliability of nested approximations: reading the outer Pareto-k (source, R code)
Validating calibration: simulation-based calibration (source, R code)
Spatial fields in tulpa (source, R code)
Temporal random-walk effects with tulpa (source, R code)
User-defined GMRF latent blocks with tgmrf() (source, R code)

Downloads:

Package source: tulpa_0.2.0.tar.gz
Windows binaries: r-devel: not available, r-release: not available, r-oldrel: not available
macOS binaries: r-release (arm64): not available, r-oldrel (arm64): not available, r-release (x86_64): not available, r-oldrel (x86_64): not available

Linking:

Please use the canonical form https://CRAN.R-project.org/package=tulpa to link to this page.