def test_kernels(self): from GPy.kern import RBF,Linear,MLP,Bias,White Q = self.Z.shape[1] kernels = [RBF(Q,ARD=True), Linear(Q,ARD=True),MLP(Q,ARD=True), RBF(Q,ARD=True)+Linear(Q,ARD=True)+Bias(Q)+White(Q) ,RBF(Q,ARD=True)+Bias(Q)+White(Q), Linear(Q,ARD=True)+Bias(Q)+White(Q)] for k in kernels: k.randomize() self._test_kernel_param(k) self._test_Z(k) self._test_qX(k) self._test_kernel_param(k, psi2n=True) self._test_Z(k, psi2n=True) self._test_qX(k, psi2n=True)
def get_data(kernel_name, variance_value=1.0, n_traces=3, lengthscale=1.0): n_dims = 100 n_frames = 20 #n_traces = 3 x = np.linspace(0, 10, n_dims)[:, np.newaxis] if kernel_name == "RBF": kernel = RBF(input_dim=1, variance=variance_value, lengthscale=lengthscale) elif kernel_name == "Brownian": kernel = Brownian(input_dim=1, variance=variance_value) elif kernel_name == "Matern32": kernel = Matern32(input_dim=1, variance=variance_value) elif kernel_name == "Cosine": kernel = Cosine(input_dim=1, variance=variance_value) elif kernel_name == "Exponential": kernel = Exponential(input_dim=1, variance=variance_value) elif kernel_name == "Linear": kernel = Linear(input_dim=1) elif kernel_name == "GridRBF": kernel = GridRBF(input_dim=1, variance=variance_value) elif kernel_name == "MLP": kernel = MLP(input_dim=1, variance=variance_value) elif kernel_name == "PeriodicMatern32": kernel = PeriodicMatern32(input_dim=1, variance=variance_value) elif kernel_name == "Spline": kernel = Spline(input_dim=1, variance=variance_value) elif kernel_name == "White": kernel = White(input_dim=1, variance=variance_value) elif kernel_name == "StdPeriodic": kernel = StdPeriodic(input_dim=1, variance=variance_value) else: raise ValueError("Unknown Kernel name") kernel_matrix = kernel.K(x, x) gaussian_process_animation = GaussianProcessAnimation(kernel_matrix, n_dims=n_dims, n_frames=n_frames) frames = gaussian_process_animation.get_traces(n_traces) data = np.stack(frames).transpose((2, 0, 1)) return data