Comments (5)
Additionally I've added custom order for the periodic kernel. Can you give me the ability to create a pull request?
from bayesnewton.
Hi. I'll try and take a look at this a bit later. Can you confirm what you mean by the "wrong" period? What does the above code output, and what did you expect it to output?
Additionally I've added custom order for the periodic kernel. Can you give me the ability to create a pull request?
That's great, thanks a lot! Would you mind forking the repo, and then creating a PR from your fork into the main repo? That way you won't need additional access.
from bayesnewton.
The period should be 1, and the code outputs a period of approx. 3, which is the prior of the period.
from bayesnewton.
I just had a quick look. It does indeed seem like the periodic kernel is not doing a good job here.
I'm not yet sure whether this is a bug, or just genuine behaviour of this kernel. Generally, kernels that are purely periodic can be very difficult to train because they assume perfect periodicity.
I'll try to look into it more, but in the mean time you could switch to the QuasiPeriodicMatern32 kernel? Would that still be appropriate for your application? This is much more flexible because the covariance decays over time according to the Matern kernel, and the parameters are much easier to learn. It would be fairly straightforward to implement other quasi periodic kernels too.
One thing to keep in mind is that if you initialise the period to 3, then it could be very difficult for the model to find the optimal value of period=1, because integer multiples of the correct period will also fit the data very nicely. So I wouldn't be surprised if the model ended up learning a period of 3, or 2, unless you initialised it a bit closer to the true solution.
from bayesnewton.
Your last point was indeed the case. If the prior is in the neighbourhood of the true period, the periodic kernel finds a good estimate.
In the end I want to use quasiperiodic kernels, but I needed a more flexible periodic kernel. That's why I tested with the periodic first.
Are there any plans to account for a generic product class of kernels? I saw a dummy kernel which teased the functionality.
from bayesnewton.
Related Issues (20)
- Addition of a Squared Exponential Kernel? HOT 7
- Cannot run demo, possible incompatibility with latest Jax HOT 4
- Double Precision Issues HOT 1
- Missing data for air_quality demo HOT 1
- kernels.py line 406
- GPU training HOT 1
- Input-dependent noise model HOT 1
- energy function can output NaN if compiled HOT 1
- Latest versions of JAX and objax cause compile slow down
- SparseMarkovVariationalGP vs S2CVI HOT 1
- Missing data for experiments, (electricity ...) HOT 1
- NaN predictions when the inference is outside of the training data. HOT 3
- air_quality.py demo failing HOT 5
- issue with SparseVariationalGP method HOT 1
- How to set initial `Pinf` variable in kernel? HOT 2
- error in heteroscedastic.py with MarkovPosteriorLinearisationQuasiNewtonGP method HOT 2
- jitted predict HOT 2
- How to understand the function `cavity_distribution_tied` in file `basemodels.py` ? HOT 1
- question about the equation (64) in `Bayes-Newton` paper HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bayesnewton.