R package for Gaussian Process regression with various kernels

If `X`

is a matrix of training covariates and `y`

a vector of training targets then you create a `gaussianProcess`

and automatically tune the hyper parameters with various options (see doc) with

```
gp <- gaussianProcess(X,y,options)
```

To predict the output for a new data matrix `X.new`

run

```
pred <- predict(gp, X.new)
```

Here `pred`

is a list with the posterior mean in `pred$mean`

and the posterior covariance in `pred$covariance`

. If in 1 dimension, you can plot the posterior process between `x.min`

and `x.max`

with

```
plot(gp, x.min, x.max)
```

If you define a mean function `mean.f`

that takes in a matrix and returns a vector you can use this as the mean function for the GP with

```
gp <- gaussianProcess(X,y, meanFunc=mean.f)
```

For instance you can use `glmnet`

to train a mean function to pass into the GP as follows. Fit with glmnet (e.g. with lambda=1), get the beta and create the mean function:

```
fit <- glmnet(x, y, lambda=1)
beta <- fit$beta
mean.f <- function(x) x %*% beta
```

Or you can use the `pryr`

package to do a partial application

```
fit <- glmnet(x, y, lambda=1)
mean.f <- pryr::partial(predict, object=fit)
```

You can Leave One Out CV errors (true - predicted) for all data points with `loocv(gp)`

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.