Ariadne: F# library for Gaussian process regression

How to get Ariadne

What are Gaussian processes?

Let's start with an example. Assume we have a set of noisy time series
observations, like the one below. We would like to model relationship
between the input values and the outputs.

When using standard regression models, like linear regression, we
have to assume there is a specific parametric relation between
the observed data.

With Gaussian process regression, we have to use a different types
of assumptions. In this case, we will assume that the underlying
function is quite smooth with some amount of noise.
What Gaussian processes give us is a flexible regression function
which takes account of noise in observed data and provides
a measure of uncertainty in the regressed values.

In the example below, the blue line represents the predicted mean value of
the estimated function.
The grey region shows the distance of +/- two standard deviations from the mean,
which corresponds to 95% confidence interval.
This quantity shows how uncertain the model is about value of the
function. Note that the grey area is wider in locations where
there are no observations, and shrinks when a value is observed.

Information on Gaussian processes

The Kernel Cookbook is a nice
overview of different kernel functions that can be used in conjuction with Gaussian processes.

Contributing and copyright

The project is hosted on GitHub where you can report issues, fork
the project and submit pull requests.
The library is available under Apache 2.0 license, which allows modification and
redistribution for both commercial and non-commercial purposes. For more information see the
License file in the GitHub repository.