This is for pymc-devs/pymc#3242 and pymc-devs/pymc#6992.
cc: @ricardoV94 @zaxtax
The first hackathon for this will be on Friday 31st May. But we plan to continue development on this beyond that day.
Approximate the marginal posterior distribution of some subset of the parameters, referred to as the marginal Laplace approximation. Then, integrate out the remaining parameters using another method.
This is great for latent Gaussian models.
Reading list for those who are interested
1. Laplace approximation (and misc)
2. Marginal Laplace approximation
3. API
4. Sparse matrix operations
INLA can work without it, but this is what will make it very quick and scalable and get it nearer to R-INLA performance.
This would lie in https://github.com/pymc-devs/pytensor/tree/main/pytensor/sparse. There is a jax implementation of all the parts we need.
5. Documentation and examples
Note, I will update and link to the issues/PRs once they are made. If you want to tackle one of these issues, comment below and I will update the list with your name.
If you have any more things to add, please comment and I will add them to the list and create issues.
This is for pymc-devs/pymc#3242 and pymc-devs/pymc#6992.
cc: @ricardoV94 @zaxtax
The first hackathon for this will be on Friday 31st May. But we plan to continue development on this beyond that day.
Approximate the marginal posterior distribution of some subset of the parameters, referred to as the marginal Laplace approximation. Then, integrate out the remaining parameters using another method.
This is great for latent Gaussian models.
Reading list for those who are interested
1. Laplace approximation (and misc)
MvNormalwith efficient calculation for logp (no inverse) Implement specialized MvNormal density based on precision matrix pymc#7345_precision_mv_normal_logpshould be obtained by a call to aPrecisionMVNormalclass instance refactor: move _precition_mv_normal_logp into a seperate function pymc#78952. Marginal Laplace approximation
pmx.MarginalModel(). Make basic INLA interface and simple marginalisation routine #533minimizeandrootOpspytensor#1182 Fixed point iterator pytensor#978logpruntime Calls topytensor.optimize.minimizeslow downlaplace_marginal_rv_logp#568Opfails with varying parameter shapes Gradient of MinimizeOp fails with certain parameter shapes pytensor#1550 Use vectorized jacobian in Minimize Op pytensor#1582laplace_marginal_rv_logpshould obtain latent dimension more robustly #5703. API
pm.Model. Make basic INLA interface and simple marginalisation routine #5334. Sparse matrix operations
INLA can work without it, but this is what will make it very quick and scalable and get it nearer to R-INLA performance.
This would lie in https://github.com/pymc-devs/pytensor/tree/main/pytensor/sparse. There is a jax implementation of all the parts we need.
5. Documentation and examples
and more... Make basic INLA interface and simple marginalisation routine #533
Note, I will update and link to the issues/PRs once they are made. If you want to tackle one of these issues, comment below and I will update the list with your name.
If you have any more things to add, please comment and I will add them to the list and create issues.