Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
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