# What is the difference between a non-zero nugget and a noise term in Kriging/GPR?

With some Gaussian Process Regression/Kriging models, it's possible to specify both a non-zero nugget, and a noise term. For example, in Scikit-learn's GPR model, there is an alpha parameter, which I think represents the nugget, and a WhiteKernel that represents noise and can be added to any other kernel.

These two components have very similar effects on the results, as far as I can see (although counter-examples could be very instructive here).

I'm wondering what the two represent. I think (after some discussion on chat) that the nugget basically represents low-distance spatial variability (e.g. variability on scales greater than zero, but smaller than the smallest distance in the dataset), where a noise term would represent uncertainty in the sampled values of each data point (so basically measurement error). Is this a correct interpretation? Can the noise term also represent other things?

• Ah... I just realised what else the Noise term could represent: If you're working with averages (e.g. a gridded dataset), and there is some variance on those data points (e.g. sub-grid variance), then it would make sense to include that as noise, I think. In that case, there would be no nugget, I think. Commented Nov 8, 2021 at 4:34
• If it helps, my understanding is the same as yours. The nugget term is added to the diagonal of the cov. matrix to make sure the matrix is always positive definite in practice (i.e. accounting for floating point precision in the calculation), and always permits stable inversion. While the noise term behaves in a very similar way (and could accomplish the above, too), I think a key difference is that the noise term is usually added back on to the conditional (predictive) covariance matrix, while the nugget isn't (but should be small enough not to make an appreciable difference anyway). Commented Dec 2, 2021 at 14:08