aesara-devs / aemcmc

AeMCMC is a Python library that automates the construction of samplers for Aesara graphs representing statistical models.
https://aemcmc.readthedocs.io/en/latest/
MIT License
39 stars 11 forks source link

Add a Gibbs sampler for the Horseshoe prior and a Polya-gamma normal scale-mixture expansion #1

Closed zoj613 closed 2 years ago

zoj613 commented 2 years ago

This PR adds functions for creating sampler steps for a normal regression under a Horseshoe prior as described in "A Simple Sampler for the Horseshoe Estimator" (Makalic, Enes & Schmidt, Daniel, 2015).
It also implements the Polya-gamma normal scale mixture expansion described in "Data Augmentation for Non-Gaussian Regression Models Using Variance-Mean Mixtures" (Polson, Nicholas G., and James G. Scott, 2013) and the multivariate normal sampler in "Fast Simulation of Hyperplane-Truncated Multivariate Normal Distributions" (Cong, Yulai, Bo Chen, and Mingyuan Zhou, 2017).

codecov[bot] commented 2 years ago

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@276117d). Click here to learn what that means. The diff coverage is n/a.

:exclamation: Current head 752e701 differs from pull request most recent head 0f5e947. Consider uploading reports for the commit 0f5e947 to get more accurate results Impacted file tree graph

@@           Coverage Diff            @@
##             main        #1   +/-   ##
========================================
  Coverage        ?   100.00%           
========================================
  Files           ?         2           
  Lines           ?        99           
  Branches        ?         6           
========================================
  Hits            ?        99           
  Misses          ?         0           
  Partials        ?         0           

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 276117d...0f5e947. Read the comment docs.

zoj613 commented 2 years ago

@brandonwillard i've squashed the commits and addressed the comments made.