Learn R Programming

SANvi v0.1.1

The goal of SANvi is to estimate Bayesian nested mixture models via variational Bayes methods. Specifically, the package implements the common atoms model (Denti et al., 2023), its finite version (D’Angelo et al., 2023), and a hybrid finite-infinite model (D’Angelo and Denti, 2024+). All models use Gaussian mixtures with a normal-inverse-gamma prior distribution on the parameters. Additional functions are provided to help analyzing the results of the fitting procedure.

Installation

You can install the development version of SANvi from GitHub with:

# install.packages("devtools")
devtools::install_github("Fradenti/SANvi")

Example

This is a basic example which shows you how to solve a common problem:

library(SANvi)
#> Loading required package: scales
#> Loading required package: RColorBrewer
# Generate example data
set.seed(1232)
y <- c(rnorm(100),rnorm(100,5))
g <- rep(1:2,rep(100,2))

# Fitting fiSAN via variational inference
est <- SANvi:::variational_fiSAN(y,g,verbose = FALSE)
plot(est)

# Estimate clustering
cl <- estimate_clustering_vi(est)
cl
#> Number of estimated OCs: 2 
#> Number of estimated DCs: 2
plot(cl,palette_brewed = T)
plot(cl,palette_brewed = T,type = "scatter")

# Estimate posterior atoms and weights
aw <- estimate_atoms_weights_vi(est)
aw
#> Atoms with posterior weight > 0.01 
#> ----------------------------------
#> Number of detected DCs: 2 
#> ----------------------------------
#> 
#> Distributional cluster # 1 
#>   post_mean post_var post_weight
#> 1    -0.071     0.93       0.999
#> 
#> Distributional cluster # 2 
#>   post_mean post_var post_weight
#> 2     4.973    0.861       0.999
plot(aw)

References

D’Angelo, L., Canale, A., Yu, Z., Guindani, M. (2023). Bayesian nonparametric analysis for the detection of spikes in noisy calcium imaging data. Biometrics 79(2), 1370–1382.

D’Angelo, L., and Denti, F. (2024+). A finite-infinite shared atoms nested model for the Bayesian analysis of large grouped data sets. Working paper, 1–34.

Denti, F., Camerlenghi, F., Guindani, M., Mira, A., 2023. A Common Atoms Model for the Bayesian Nonparametric Analysis of Nested Data. Journal of the American Statistical Association. 118(541), 405–416.

Copy Link

Version

Install

install.packages('SANvi')

Monthly Downloads

149

Version

0.1.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Francesco Denti

Last Published

May 15th, 2024

Functions in SANvi (0.1.1)

plot.SANvb

Plotting the variational inference output
print.SANvb

Print variational inference output
variational_CAM

Mean Field Variational Bayes estimation of CAM
variational_fSAN

Mean Field Variational Bayes estimation of fSAN
estimate_clustering_vi

Estimate Posterior Clustering Assignments
extract_best

Extract the best run from multiple trials
SANvi-package

SANvi: Fitting Shared Atoms Nested Models via Variational Bayes
estimate_atoms_weights_vi

Estimate the Posterior Atoms and Weights of the Discrete Mixing Distributions
variational_fiSAN

Mean Field Variational Bayes estimation of fiSAN
variational_multistart

Perform variational inference using multiple starting points.