From 7aff0eb3f8938201036aa52069596bd44fff2da4 Mon Sep 17 00:00:00 2001 From: mzwiessele Date: Thu, 7 Apr 2016 10:48:54 +0100 Subject: [PATCH] [statespace] tests even more reliable --- GPy/testing/baseline/coverage_3d_plot.png | Bin 52224 -> 0 bytes GPy/testing/gpy_kernels_state_space_tests.py | 21 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) delete mode 100644 GPy/testing/baseline/coverage_3d_plot.png diff --git a/GPy/testing/baseline/coverage_3d_plot.png b/GPy/testing/baseline/coverage_3d_plot.png deleted file mode 100644 index 62638b03ef24bd6d7455fab281ffe5894b2f9789..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52224 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

0}{pn8H_!6e4>2qK#4WX%pKj+9HsG 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 B3*!I) diff --git a/GPy/testing/gpy_kernels_state_space_tests.py b/GPy/testing/gpy_kernels_state_space_tests.py index 034b58bb..fb5fa228 100644 --- a/GPy/testing/gpy_kernels_state_space_tests.py +++ b/GPy/testing/gpy_kernels_state_space_tests.py @@ -28,7 +28,7 @@ class StateSpaceKernelsTests(np.testing.TestCase): kalman_filter_type=kalman_filter_type, use_cython=use_cython) - m1.likelihood[:] = Y.var()/10. + m1.likelihood[:] = Y.var()/100. if check_gradients: self.assertTrue(m1.checkgrad()) @@ -95,9 +95,9 @@ class StateSpaceKernelsTests(np.testing.TestCase): plot = False, points_num=50, x_interval = (0, 20), random=True) X.shape = (X.shape[0],1); Y.shape = (Y.shape[0],1) - ss_kernel = GPy.kern.sde_RBF(1, Y.var(), X.ptp()/2., active_dims=[0,]) - gp_kernel = GPy.kern.RBF(1, Y.var(), X.ptp()/2., active_dims=[0,]) - + ss_kernel = GPy.kern.sde_RBF(1, 110., 1.5, active_dims=[0,]) + gp_kernel = GPy.kern.RBF(1, 110., 1.5, active_dims=[0,]) + self.run_for_model(X, Y, ss_kernel, check_gradients=True, predict_X=X, gp_kernel=gp_kernel, @@ -202,17 +202,18 @@ class StateSpaceKernelsTests(np.testing.TestCase): # Sine data <- Y = Y + Y1 + Y -= Y.mean() X.shape = (X.shape[0],1); Y.shape = (Y.shape[0],1) def get_new_kernels(): - ss_kernel = GPy.kern.sde_Linear(1,X) + GPy.kern.sde_StdPeriodic(1,active_dims=[0,]) - ss_kernel.std_periodic.lengthscale.constrain_bounded(0.25, 1000) - ss_kernel.std_periodic.period.constrain_bounded(3, 8) + ss_kernel = GPy.kern.sde_Linear(1,X,variances=1) + GPy.kern.sde_StdPeriodic(1,period=5.0, variance=300, lengthscale=3., active_dims=[0,]) + #ss_kernel.std_periodic.lengthscale.constrain_bounded(0.25, 1000) + #ss_kernel.std_periodic.period.constrain_bounded(3, 8) - gp_kernel = GPy.kern.Linear(1) + GPy.kern.StdPeriodic(1,active_dims=[0,]) - gp_kernel.std_periodic.lengthscale.constrain_bounded(0.25, 1000) - gp_kernel.std_periodic.period.constrain_bounded(3, 8) + gp_kernel = GPy.kern.Linear(1,variances=1) + GPy.kern.StdPeriodic(1,period=5.0, variance=300, lengthscale=3., active_dims=[0,]) + #gp_kernel.std_periodic.lengthscale.constrain_bounded(0.25, 1000) + #gp_kernel.std_periodic.period.constrain_bounded(3, 8) return ss_kernel, gp_kernel