Venturecxx
Venturecxx copied to clipboard
Do we want AAA over multiple functions sampled from the same Gaussian process?
Consider the following program:
assume k = some gp covariance function
assume gp1 = make_gp(k)
assume gp2 = make_gp(k)
.... use gp1 and gp2
gp1
and gp2
represent independent samples from the function prior given by k
(integrating out the uncertainty over the function). In order to compute acceptance ratios for proposals involving changes to k
, Venture will need to examine the auxes of both gp1
and gp2
(in fact, all applications of make_gp
to k
). Are there any sufficient statistics that can be maintained about those uses of k
that can save the work? Do we need a notion of nested AAA to maintain them? Do we care?
Considerations:
- Making an object
make_make_gp
of typek -> () -> points -> outputs
and giving it nested AAA seems complicated (but maybe it's easy and I'm just not thinking clearly about incorporate methods?). - I don't actually know whether any such sufficient statistics exist, so this is probably moot.
- And anyway, traversing each GP sample is unlikely to be the dominant problem, because the data about where each was applied will swamp the performance cost anyway (I think).
- And anyway, we certainly don't need any such feature to declare that we "have" Gaussian process support.
Another place where this sort of thing might come up is hierarchical Dirichlet processes, although I think the practice of implementing them using CRP + memoization does the right thing by forwarding the relevant applications to the base CRP.