Closed
Description
Making an issue to document the current issues hindering efficient LKJCholesky
sampling and try to form a concrete path toward an implementation.
@storopoli has a nice example here with a work around and an ideal Turing implementation. I'll work on adapting this into a MWE that can be used for testing.
The LKJCholesky
distribution has now been implemented in Distributions.jl (here, we just need to clean up how it interacts with Turing. There are two main issues:
- Random samples from a
LKJCholesky
distribution return aLinearAlgebra.Cholesky
type, not just an upper/lower triangularArray
. From previous discussions, it sounds likeBijectors.jl
needs the same input/ouput type of a Bijector. At the moment, the currentCorrBijector
maps to a correlation matrix but it would be easier to map to aCholesky
matrix. - There are some internals of Turing that will need to be made compatible with the
Cholesky
type. One known example is packaging samples into MCMCChains. @torfjelde @yebai @devmotion are there any other particular methods that would need to be implemented on a distribution type for Turing?
cc'ing @sethaxen, with whom I've briefly chatted about this.
Immediate next steps will be to work on a MWE to centre a PR around. However, if someone already has one, please post!
Metadata
Metadata
Assignees
Labels
No labels