# Extended Skew Gaussian Processes

Summary

The Extended Skew Gaussian Process (ESGP) uses the MESN distribution to define its finite dimensional probability distribution. It can be viewed as an generalization of the Gaussian Process because when its skewness parameter approaches zero, the calculated probabilities are very close to gaussian probabilities.

The ESGP model uses the conditioning property of the MESN distribution, just like the multivariate normal distribution, the MESN retains its form when conditioned on a subset of its dimensions.

Creating an ESGP model is very similar to creating a GP model in DynaML. The class ESGPModel[T, I] can be instantiated much like the AbstractGPRegressionModel[T, I], using the apply method.

//Obtain the data, some generic type
val trainingdata: DataType = ...

val kernel: LocalScalarKernel[I] = _
val noiseKernel: LocalScalarKernel[I] = _
val meanFunc: DataPipe[I, Double] = _

val lambda = 1.5
val tau = 0.5

//Define how the data is converted to a compatible type
implicit val transform: DataPipe[DataType, Seq[(I, Double)]] = _

val model = ESGPModel(
kernel, noiseKernel,
meanFunc, lambda, tau,
trainingData)