diff --git a/GPy/testing/gpy_kernels_state_space_tests.py b/GPy/testing/gpy_kernels_state_space_tests.py index 704c3bea..4a53b89b 100644 --- a/GPy/testing/gpy_kernels_state_space_tests.py +++ b/GPy/testing/gpy_kernels_state_space_tests.py @@ -9,6 +9,8 @@ import GPy.models.state_space_model as SS_model from .state_space_main_tests import generate_x_points, generate_sine_data, \ generate_linear_data, generate_brownian_data, generate_linear_plus_sin +#from state_space_main_tests import generate_x_points, generate_sine_data, \ +# generate_linear_data, generate_brownian_data, generate_linear_plus_sin class StateSpaceKernelsTests(np.testing.TestCase): def setUp(self): @@ -16,7 +18,7 @@ class StateSpaceKernelsTests(np.testing.TestCase): def run_for_model(self, X, Y, ss_kernel, kalman_filter_type = 'regular', use_cython=False, check_gradients=True, - optimize = True, predict_X=None, + optimize=True, optimize_max_iters=1000,predict_X=None, compare_with_GP=True, gp_kernel=None, mean_compare_decimal=10, var_compare_decimal=7): @@ -30,8 +32,8 @@ class StateSpaceKernelsTests(np.testing.TestCase): #import pdb; pdb.set_trace() if optimize: - m1.optimize(optimizer='bfgs') - + m1.optimize(optimizer='bfgs',max_iters=optimize_max_iters) + if compare_with_GP and (predict_X is None): predict_X = X @@ -41,7 +43,7 @@ class StateSpaceKernelsTests(np.testing.TestCase): if compare_with_GP: m2 = GPy.models.GPRegression(X,Y, gp_kernel) - m2.optimize(optimizer='bfgs') + m2.optimize(optimizer='bfgs', max_iters=optimize_max_iters) #print(m2) x_pred_reg_2 = m2.predict(predict_X) @@ -213,24 +215,24 @@ class StateSpaceKernelsTests(np.testing.TestCase): # Cython is available only with svd. ss_kernel, gp_kernel = get_new_kernels() self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'svd', - use_cython=True, check_gradients=False, + use_cython=True, optimize_max_iters=10, check_gradients=False, predict_X=X, gp_kernel=gp_kernel, - mean_compare_decimal=4, var_compare_decimal=4) + mean_compare_decimal=6, var_compare_decimal=5) ss_kernel, gp_kernel = get_new_kernels() self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'regular', - use_cython=False, check_gradients=True, + use_cython=False, optimize_max_iters=10, check_gradients=True, predict_X=X, gp_kernel=gp_kernel, - mean_compare_decimal=4, var_compare_decimal=4) + mean_compare_decimal=6, var_compare_decimal=5) ss_kernel, gp_kernel = get_new_kernels() self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'svd', - use_cython=False, check_gradients=False, + use_cython=False, optimize_max_iters=10, check_gradients=False, predict_X=X, gp_kernel=gp_kernel, - mean_compare_decimal=4, var_compare_decimal=4) + mean_compare_decimal=6, var_compare_decimal=5) def test_kernel_multiplication(self,): @@ -248,28 +250,28 @@ class StateSpaceKernelsTests(np.testing.TestCase): ss_kernel, gp_kernel = get_new_kernels() self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'svd', - use_cython=True, check_gradients=True, + use_cython=True, optimize_max_iters=10, check_gradients=True, predict_X=X, gp_kernel=gp_kernel, mean_compare_decimal=-1, var_compare_decimal=0) ss_kernel, gp_kernel = get_new_kernels() self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'regular', - use_cython=False, check_gradients=True, + use_cython=False, optimize_max_iters=10, check_gradients=True, predict_X=X, gp_kernel=gp_kernel, mean_compare_decimal=-1, var_compare_decimal=0) ss_kernel, gp_kernel = get_new_kernels() self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'svd', - use_cython=False, check_gradients=True, + use_cython=False, optimize_max_iters=10, check_gradients=True, predict_X=X, gp_kernel=gp_kernel, mean_compare_decimal=-1, var_compare_decimal=0) def test_forecast(self,): """ - Test time series forecasting. + Test time-series forecasting. """ # Generate data -> @@ -312,25 +314,32 @@ class StateSpaceKernelsTests(np.testing.TestCase): ss_kernel, gp_kernel = get_new_kernels() self.run_for_model(X_train, Y_train, ss_kernel, kalman_filter_type = 'regular', - use_cython=False, check_gradients=True, + use_cython=False, optimize_max_iters=20, check_gradients=True, predict_X=X_test, gp_kernel=gp_kernel, mean_compare_decimal=0, var_compare_decimal=0) ss_kernel, gp_kernel = get_new_kernels() self.run_for_model(X_train, Y_train, ss_kernel, kalman_filter_type = 'svd', - use_cython=False, check_gradients=False, + use_cython=False, optimize_max_iters=30, check_gradients=False, predict_X=X_test, gp_kernel=gp_kernel, mean_compare_decimal=0, var_compare_decimal=-1) ss_kernel, gp_kernel = get_new_kernels() self.run_for_model(X_train, Y_train, ss_kernel, kalman_filter_type = 'svd', - use_cython=True, check_gradients=False, + use_cython=True, optimize_max_iters=30, check_gradients=False, predict_X=X_test, gp_kernel=gp_kernel, mean_compare_decimal=0, var_compare_decimal=-1) if __name__ == "__main__": print("Running state-space inference tests...") - unittest.main() \ No newline at end of file + unittest.main() + + #tt = StateSpaceKernelsTests('test_forecast') + #tt.test_forecast() + #tt.test_kernel_addition() + #tt.test_kernel_multiplication() + #tt.test_periodic_kernel() + #tt.test_quasi_periodic_kernel() \ No newline at end of file diff --git a/GPy/testing/state_space_main_tests.py b/GPy/testing/state_space_main_tests.py index 1eb1f9a5..b84c9a30 100644 --- a/GPy/testing/state_space_main_tests.py +++ b/GPy/testing/state_space_main_tests.py @@ -309,7 +309,7 @@ class StateSpaceKernelsTests(np.testing.TestCase): def test_discrete_ss_first(self,plot=False): """ - Tests discrete State-Space model with different data dimensions. + Tests discrete State-Space model - first test. """ np.random.seed(235) # seed the random number generator