NAME
sample_from_gaussian_process_predictive - Samples from the predictive distribution of a Gaussian process
SYNOPSIS
#include "gp/gp_gaussian_processes.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
int sample_from_gaussian_process_predictive
(
Vector_vector **sample,
const Vector_vector *train_indices,
const Vector_vector *train_data,
double noise_sigma,
const Vector_vector *test_indices,
int (*cov_func)(Matrix **,const Vector *,const Vector *,const void *,int),
const void *hyper_params
);
DESCRIPTION
This routine samples from the predictive distribution of a Gaussian process,
whose covariance function is given by cov_func. The sample will be in the indices
given by the vectors of test_indices, and will each be of the dimension of the
vectors in train_data.
The necessary information to sample from the predictive distribution is:
train_indices - the indices where the training data comes from
train_data - the training data
noise_sigma - the variance of the gaussian noise process
test_indices - where the prediction will take place.
Naturally, the vectors of test_indices must all be of equal length, as must the
vectors of train_indices and train_data, and cov_func must return square
matrix of dimension d. Also, sample will have test_indices->length vectors,
each of length train_data->elements[0]->length.
If the vector pointed to by sample is NULL, then a vector of the appropriate size
is created. If it exists, but is the wrong size, then it is recreated. Otherwise,
the storage is recycled.
RETURNS
If the routine fails (due to storage allocation, an error in the
covariance function, or a mismatch in the sizes of the indices), then ERROR
is returned with and error message being set. Otherwise NO_ERROR is returned.
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Ernesto Brau
DOCUMENTER
Ernesto Brau
SEE ALSO
fill_covariance_matrix
,
fill_mean_vector
,
sample_from_gaussian_process_prior
,
sample_from_gaussian_process_prior_i
,
sample_from_gaussian_process_predictive_i
,
get_gaussian_process_predictive_distribution
,
get_gaussian_process_predictive_distribution_i
,
get_gaussian_process_posterior_distribution
,
get_gaussian_process_posterior_distribution_i
,
compute_gaussian_process_likelihood
,
compute_gaussian_process_likelihood_i
,
compute_gaussian_process_marginal_likelihood
,
compute_gaussian_process_marginal_likelihood_i
,
compute_gaussian_process_marginal_log_likelihood
,
compute_gaussian_process_marginal_log_likelihood_i