(Bayesian) Additive Voronoi Tessellations

Implements the Bayesian Additive Voronoi Tessellation model for non-parametric regression, classification and machine learning as introduced in Stone and Gosling (2025) . This package provides a flexible alternative to BART (Bayesian Additive Regression Trees) using Voronoi tessellations instead of trees. Users can fit Bayesian regression and probit classification models, estimate the associated posterior distributions and make predictions. It is particularly useful for spatial data analysis, machine learning, complex function approximation and Bayesian modelling where the underlying structure is unknown.


AddiVortes: (Bayesian) Additive Voronoi Tessellations

Overview

AddiVortes implements the Bayesian Additive Voronoi Tessellation model for machine learning regression, classification and non-parametric statistical modelling. This R package provides a flexible alternative to BART (Bayesian Additive Regression Trees), using Voronoi tessellations instead of trees for spatial partitioning.

Key Features

  • Machine Learning Regression: Advanced Bayesian regression modelling for complex datasets
  • Classification: Binary and multi-category probit models, chosen automatically from the response
  • Alternative to BART: Uses Voronoi tessellations instead of trees for more flexible spatial modelling
  • Spatial Data Analysis: Excellent for geographic and spatial datasets
  • Non-parametric Modelling: No assumptions about functional form
  • Bayesian Framework: Full posterior inference with uncertainty quantification
  • Complex Function Approximation: Captures non-linear relationships and interactions

Applications

AddiVortes is particularly well-suited for:

  • Spatial regression and geographic data analysis
  • Binary and multi-category classification with posterior class probabilities
  • Machine learning tasks requiring interpretable models
  • Non-parametric regression where the functional form is unknown
  • Bayesian modelling with uncertainty quantification
  • Complex surface modelling and function approximation
  • Alternative to BART for researchers seeking different ensemble approaches

Installation

You can install the latest version of AddiVortes from GitHub with:

pak::pak("johnpaulgosling/AddiVortes")

Quick Start

library(AddiVortes)

# Load your data
# X <- your_predictors
# y <- your_response

# Fit the AddiVortes model (regression or classification, from y)
# model <- AddiVortes(y, X)

# Make predictions
# predictions <- predict(model, newdata = X_test)
# For classification, type = "response" gives probabilities
# and type = "class" gives labels

Documentation

Vignettes:

See also the function reference.

Comparison with BART

While BART (Bayesian Additive Regression Trees) uses tree-based partitioning, AddiVortes uses Voronoi tessellations, which can provide:

  • More natural spatial partitioning
  • Flexible geometric boundaries
  • Alternative ensemble approach for machine learning
  • Enhanced performance on spatial data

Cite Us

If you use this package in your research, please cite:

citation("AddiVortes")

References

Stone, A. and Gosling, J.P. (2025). AddiVortes: (Bayesian) additive Voronoi tessellations. Journal of Computational and Graphical Statistics, 34, 859–71. doi

Keywords

Bayesian machine learning, BART alternative, Voronoi tessellation, spatial regression, non-parametric regression, ensemble methods, statistical modelling, R package

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("AddiVortes")

1.0.1 by John Paul Gosling, a month ago


https://johnpaulgosling.github.io/AddiVortes/


Report a bug at https://github.com/johnpaulgosling/AddiVortes/issues


Browse source code at https://github.com/cran/AddiVortes


Authors: Adam Stone [aut] , John Paul Gosling [aut, cre] (ORCID: , Andrew Iskauskas [aut] , Leo Thomson [aut]


Documentation:   PDF Manual  


GPL (>= 3) license


Suggests knitr, rmarkdown, testthat, withr, xml2

System requirements: C++20


See at CRAN