Closed odunbar closed 1 year ago
What you're seeing makes sense to me. The Noise
kernel is perhaps not what you expected, it is defined as k(x,x') = σ²δ(x-x')
, where δ
is the delta function (although this is making me realise the notation is not quite right). This means instead of the observation noise being independent between any two observations, it is independent between any two locations. So, this means that when you ask for a prediction at a location that has an observation in the training set, it has more information than when there isn't an observation, hence lower predicted variances. Looking at the implementation, there is some numerical tolerance built-in, as we use ≈
instead of =
, see the julia documentation. That's why you're seeing a jump only when you move far enough away.
Issue
Using
Julia 1.7.2
andGaussianProcesses 0.12.4
I seem to be getting weird artifacts when looking at noisy observations. It appears like the training goes well, and the noise parameters are learnt correctly. But on closer observation, near training points, the noise drops by a few orders of magnitude.
Sorry for the horrible code below, i extracted this from another example, but it outputs ok:
Example
Example Output
Notice how it learns a noise correctly ~ 0.01, but when it is near the training point it predicts
2e-5
before jumping to1e-2
when further away.