BASiCS: Bayesian Analysis of Single-Cell Sequencing Data. This is an unstable experimental version. Please see http://bioconductor.org/packages/BASiCS/ for the official release version
84
stars
17
forks
source link
Probabilistic programming language implementation of BASiCS #105
We could include a stan implementation of BASiCS. This allows use of HMC or NUTS, which may in some circumstances be an efficient sampling scheme. Also allows use of ADVI (black box variational inference).
However these come with drawbacks:
HMC/NUTS is slower per iteration (may still sample more efficiently from typical region, this is unclear)
Stan typically allows parallel computation of chains.
ADVI underestimates posterior variance
ADVI does not do a good job of estimating regression coefficients (HMC does fine)
No spikes prior for mu may be difficult/impossible to implement.
Currently I have a working implementation for standard & regression models, which assume 1 batch (1 global theta). ADVI with mean field approx is roughly 3x faster and generally produces congruent point estimates, though uses more memory. Running ADVI with full rank approx on toy data is actually much less accurate than mean field!
We could include a stan implementation of BASiCS. This allows use of HMC or NUTS, which may in some circumstances be an efficient sampling scheme. Also allows use of ADVI (black box variational inference).
However these come with drawbacks:
Currently I have a working implementation for standard & regression models, which assume 1 batch (1 global theta). ADVI with mean field approx is roughly 3x faster and generally produces congruent point estimates, though uses more memory. Running ADVI with full rank approx on toy data is actually much less accurate than mean field!