MyNixOS website logo
Description

Comprehensive Bayesian Model Diagnostics and Comparison Tools.

Provides comprehensive tools for Bayesian model diagnostics and comparison. Includes prior sensitivity analysis, posterior predictive checks (Gelman et al. (2013) <doi:10.1201/b16018>), advanced model comparison using Pareto-smoothed importance sampling leave-one-out cross-validation (Vehtari et al. (2017) <doi:10.1007/s11222-016-9696-4>), convergence diagnostics, and prior elicitation tools. Integrates with 'brms' (Burkner (2017) <doi:10.18637/jss.v080.i01>), 'rstan', and 'rstanarm' packages for comprehensive Bayesian workflow diagnostics.

bayesDiagnostics

Overview

bayesDiagnostics provides comprehensive tools for Bayesian model diagnostics and comparison, addressing critical gaps in existing Bayesian diagnostic tools.

Key Features

  • Prior Sensitivity Analysis: Assess posterior robustness to prior specification
  • Automated Posterior Predictive Checks: Comprehensive diagnostic batteries
  • Advanced Model Comparison: Beyond WAIC/LOO using stacking and cross-validation
  • Specialized Convergence Diagnostics: For hierarchical and complex models
  • Interactive Prior Elicitation: Tools for expert knowledge integration

Installation

Install from GitHub:

devtools::install_github("ikrakib/bayesDiagnostics")

Once available on CRAN:

install.packages("bayesDiagnostics")

Quick Example

library(bayesDiagnostics)
library(brms)

# Fit Bayesian model
fit <- brm(mpg ~ hp + wt, data = mtcars)

# Conduct prior sensitivity analysis
result <- prior_sensitivity(
  model = fit,
  parameters = c("b_hp", "b_wt"),
  prior_grid = list(
    weak = prior(normal(0, 10), class = b),
    strong = prior(normal(0, 1), class = b)
  )
)

print(result)
plot(result)

Functions by Category

Category 1: Prior Sensitivity

  • prior_sensitivity() - Compare posteriors across priors
  • prior_predictive_check() - Validate prior specifications
  • prior_robustness() - Test prior hyperparameter sensitivity
  • prior_elicitation_helper() - Match expert beliefs to distributions

Category 2: Posterior Predictive Checks

  • automated_ppc() - Comprehensive PPC battery
  • ppc_crossvalidation() - K-fold CV with PPCs
  • graphical_ppc() - Bayesplot-based visualizations
  • bayesian_p_values() - Test statistics for model checking

Category 3: Model Comparison

  • model_comparison_suite() - Multi-method comparison
  • bayes_factor_comparison() - Bridge sampling for Bayes factors
  • predictive_performance() - Out-of-sample assessment

Category 4: Convergence Diagnostics

  • hierarchical_convergence() - Hierarchical model diagnostics
  • effective_sample_size_diagnostics() - ESS assessment

Category 5: Prior Elicitation & Utilities

  • expert_prior_elicitation() - Interactive prior elicitation
  • prior_simulation() - Simulate from prior

Documentation

For detailed documentation, see the package vignettes:

vignette("bayesDiagnostics")

Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

Citation

citation("bayesDiagnostics")
Metadata

Version

0.1.0

License

Unknown

Platforms (78)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows