-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BQ for estimating the expectation of a function estimated by a GP #854
Comments
Hi! To integrate a function when you have a dataset Please beware though that The class
|
Thanks for your quick reply! That is an excellent convenience function, had not seen that. That being said I am a bit confused by your re-write. Having looked at your other excellent example from emukit here, I was under the impression that the then This is indeed what is happening in the SEIR model analysis with Emukit notebook (linked above). There the integrand (in cell) is given as:
But in your re-write of my example:
In my original version I had the weighting like so:
but it sounds like with |
Ah, I see what you mean. There may be 2 confusions (I am guessing).
In the Emukit SEIR model example, the density
Perhaps it is helpful to construct the BQ method from its constituents (this is actually what happens inside the convenience function
|
Ah okay, I see - that does clarify a few things, thanks a lot. Okay so if I have understood this correctly then, I can get the expectation of my estimated integrand Using corrupted samples from the Hennig1D function, the expected value over the domain
Which, if my understanding is correct; 1.1229285663389401 represents the numerical approximation to the expectation Finally, do you know if hyper parameter tuning is coming? I think emukit has it? Is it a matter of someone taking the time to port it via a PR? I imagine it's more complicated than that. |
Yes. Just to emphasize one more time. If your're simply interested in integrating a function
Yes, Emukit works a bit differently. It provides a wrapper interface where you can wrap your GP backend in as Emukit does not contruct the GP model itself (it just integrates the GP). In that sense it has hyperparameter tuning if the GP backend has it. The default wrapper uses GPy backend which provides hyperparam tuning. For ProbNum the availability of hyper-tuning seems to depend on this PR #581 which seems quite stuck to me. May be helpful to ping the people who work on it to see how things are going. |
Ah yes, no fully understood. I just wanted to show where my data comes from. Using a GPR was perhaps a poor choice given the current discussion. But alas, all I have is a dataset
I'll perhaps start pinging some people then. Thanks again for your help, very valuable. |
Is your feature request related to a problem? Please describe.
This is not quite a feature request (nor a bug report), but more of a request for information of how to perform BQ, using probnum to estimate an expectation of a function estimate i.e.$\mathbb{E}[\hat{f}(x)]$ .
Give an example use case.
Using a Gaussian process we can estimate the relationship between variables$x$ and $y$ and then use BQ to get the expectation of the estimate at some test value.
We are interested in:
The relationship between$x$ and $y$ is estimated using a GP yielding estimator $\hat{f}$ . Where the likelihood of a new test point is then modelled by a 1D gaussian density with parameters $\hat{\mu}, \hat{\Sigma}$ - fitted to samples from $f$ .
MWE
Describe the solution you'd like.
Explanation or correction whether or not this is the correct way to approach BQ for this problem setting.
Presently
qp.solution
is empty. Consequently I believe I have done something wrong or misunderstood BQ for expectation estimation.Additional context
A plot of some sample data, true function and GP approximation of the true function.
The text was updated successfully, but these errors were encountered: