JuliaGaussianProcesses / Stheno.jl

Probabilistic Programming with Gaussian processes in Julia
Other
339 stars 26 forks source link

Bayesian quadrature? #60

Open cscherrer opened 4 years ago

cscherrer commented 4 years ago

Hi @willtebbutt , curious if you've considered using Stheno for BQ, or what this could look like.

A "static" probabilistic program gives a factorization of the likelihood, and Stheno could conceivably (I think) be used to represent these same dependencies as in a GP.

From what I've seen, the choice of optimal evaluation points for evaluating ∫f(x)p(x) dx doesn't depend on f, but only on p. So it could be done once and for all, and then re-used.

Does this make sense? I realize my description here is a bit hand-wavy

willtebbutt commented 4 years ago

Hi @cscherrer, I've not given it too much thought, but it's always been something that I've wanted to make work. The issue in general is just automating figuring out how to compute the integrals over kernels that you need, but we could probably hand-code a few edge cases to get going.

Is this something you've been thinking about for Soss?

cscherrer commented 4 years ago

Only lately, starting from this tweet: https://twitter.com/maosbot/status/1193904972309712896?s=19

I don't know if anyone has done BQ based on PPL dependencies, but that seems pretty natural. Having a Soss model map to a Stheno model with the same dependency structure could be interesting anyway.

I guess it could be a bit different than standard BQ. There IIUC it's usually f that's expensive, but in the current case it's probably p.

theogf commented 3 years ago

Hey @cscherrer, just so you know we are working on making a general Bayesian quadrature package with my student @johannesgiersdorf . It's very much a WIP right now but you can find it here : https://github.com/theogf/BayesianQuadrature.jl

cscherrer commented 3 years ago

Sounds great @theogf , thanks for the link