An interactive mathematics tool

Gaussian Process Explorer

A few observations. A family of possible functions. Explore how assumptions about smoothness and noise shape what we can infer.

Calculations run in this browser. Your points stay in this page’s memory and clear when you reload.

Loading the explorer…

Kernel & noise

Larger values make nearby function values more strongly correlated.

Sets the prior’s vertical scale before seeing observations.

Larger values allow more difference between an observation and the underlying function.

Add an observation

Use these fields with a keyboard, or click inside the plot. Up to 40 points.

x: −5 to 5 · y: −10 to 10

Reset clears all points and restores the default parameters.

Posterior

5 / 40 observations

Click to add a point; click an existing point to remove it. The observation table offers the same removal controls.

Gaussian process posteriorA curve and an uncertainty interval. Numerical results are also available in the table below.
  • Mean of f
  • 95% pointwise interval for f
  • Observations

The shaded region is mean ± 1.96 standard deviations for the latent function f, at each x. It excludes future observation noise and is not a simultaneous band for the entire function.

Observation data & removal controls
Your current observations
PointxyAction
Numerical posterior values
Latent function f at eleven locations; 95% pointwise intervals
xMeanLowerUpper
The model behind the picture

This is a zero-mean Gaussian process with a squared-exponential (RBF) kernel:

k(x, x′) = σf² exp(−(x − x′)² / (2ℓ²))

Here ℓ is the length scale and σf is the signal standard deviation. Observations follow y = f(x) + ε, with independent Gaussian noise of standard deviation σn. The training covariance adds σn² to its diagonal. Parameters are chosen by you rather than fitted automatically.

Repeated inputs at zero noise may need a small numerical regularization, which is reported below the plot. For conflicting observations at the same x, a positive noise level is a more appropriate model.

The browser version is self-contained and accepts points directly. The original Python application source remains available separately.