mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-06 10:32:39 +02:00
TEST: Modifying tests so that their ruunig time is shorter.
This commit is contained in:
parent
4f835f0b21
commit
f70cfb3362
2 changed files with 28 additions and 19 deletions
|
|
@ -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, \
|
from .state_space_main_tests import generate_x_points, generate_sine_data, \
|
||||||
generate_linear_data, generate_brownian_data, generate_linear_plus_sin
|
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):
|
class StateSpaceKernelsTests(np.testing.TestCase):
|
||||||
def setUp(self):
|
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',
|
def run_for_model(self, X, Y, ss_kernel, kalman_filter_type = 'regular',
|
||||||
use_cython=False, check_gradients=True,
|
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,
|
compare_with_GP=True, gp_kernel=None,
|
||||||
mean_compare_decimal=10, var_compare_decimal=7):
|
mean_compare_decimal=10, var_compare_decimal=7):
|
||||||
|
|
||||||
|
|
@ -30,8 +32,8 @@ class StateSpaceKernelsTests(np.testing.TestCase):
|
||||||
#import pdb; pdb.set_trace()
|
#import pdb; pdb.set_trace()
|
||||||
|
|
||||||
if optimize:
|
if optimize:
|
||||||
m1.optimize(optimizer='bfgs')
|
m1.optimize(optimizer='bfgs',max_iters=optimize_max_iters)
|
||||||
|
|
||||||
if compare_with_GP and (predict_X is None):
|
if compare_with_GP and (predict_X is None):
|
||||||
predict_X = X
|
predict_X = X
|
||||||
|
|
||||||
|
|
@ -41,7 +43,7 @@ class StateSpaceKernelsTests(np.testing.TestCase):
|
||||||
|
|
||||||
if compare_with_GP:
|
if compare_with_GP:
|
||||||
m2 = GPy.models.GPRegression(X,Y, gp_kernel)
|
m2 = GPy.models.GPRegression(X,Y, gp_kernel)
|
||||||
m2.optimize(optimizer='bfgs')
|
m2.optimize(optimizer='bfgs', max_iters=optimize_max_iters)
|
||||||
#print(m2)
|
#print(m2)
|
||||||
|
|
||||||
x_pred_reg_2 = m2.predict(predict_X)
|
x_pred_reg_2 = m2.predict(predict_X)
|
||||||
|
|
@ -213,24 +215,24 @@ class StateSpaceKernelsTests(np.testing.TestCase):
|
||||||
# Cython is available only with svd.
|
# Cython is available only with svd.
|
||||||
ss_kernel, gp_kernel = get_new_kernels()
|
ss_kernel, gp_kernel = get_new_kernels()
|
||||||
self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'svd',
|
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,
|
predict_X=X,
|
||||||
gp_kernel=gp_kernel,
|
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()
|
ss_kernel, gp_kernel = get_new_kernels()
|
||||||
self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'regular',
|
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,
|
predict_X=X,
|
||||||
gp_kernel=gp_kernel,
|
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()
|
ss_kernel, gp_kernel = get_new_kernels()
|
||||||
self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'svd',
|
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,
|
predict_X=X,
|
||||||
gp_kernel=gp_kernel,
|
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,):
|
def test_kernel_multiplication(self,):
|
||||||
|
|
@ -248,28 +250,28 @@ class StateSpaceKernelsTests(np.testing.TestCase):
|
||||||
|
|
||||||
ss_kernel, gp_kernel = get_new_kernels()
|
ss_kernel, gp_kernel = get_new_kernels()
|
||||||
self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'svd',
|
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,
|
predict_X=X,
|
||||||
gp_kernel=gp_kernel,
|
gp_kernel=gp_kernel,
|
||||||
mean_compare_decimal=-1, var_compare_decimal=0)
|
mean_compare_decimal=-1, var_compare_decimal=0)
|
||||||
|
|
||||||
ss_kernel, gp_kernel = get_new_kernels()
|
ss_kernel, gp_kernel = get_new_kernels()
|
||||||
self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'regular',
|
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,
|
predict_X=X,
|
||||||
gp_kernel=gp_kernel,
|
gp_kernel=gp_kernel,
|
||||||
mean_compare_decimal=-1, var_compare_decimal=0)
|
mean_compare_decimal=-1, var_compare_decimal=0)
|
||||||
|
|
||||||
ss_kernel, gp_kernel = get_new_kernels()
|
ss_kernel, gp_kernel = get_new_kernels()
|
||||||
self.run_for_model(X, Y, ss_kernel, kalman_filter_type = 'svd',
|
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,
|
predict_X=X,
|
||||||
gp_kernel=gp_kernel,
|
gp_kernel=gp_kernel,
|
||||||
mean_compare_decimal=-1, var_compare_decimal=0)
|
mean_compare_decimal=-1, var_compare_decimal=0)
|
||||||
|
|
||||||
def test_forecast(self,):
|
def test_forecast(self,):
|
||||||
"""
|
"""
|
||||||
Test time series forecasting.
|
Test time-series forecasting.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Generate data ->
|
# Generate data ->
|
||||||
|
|
@ -312,25 +314,32 @@ class StateSpaceKernelsTests(np.testing.TestCase):
|
||||||
|
|
||||||
ss_kernel, gp_kernel = get_new_kernels()
|
ss_kernel, gp_kernel = get_new_kernels()
|
||||||
self.run_for_model(X_train, Y_train, ss_kernel, kalman_filter_type = 'regular',
|
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,
|
predict_X=X_test,
|
||||||
gp_kernel=gp_kernel,
|
gp_kernel=gp_kernel,
|
||||||
mean_compare_decimal=0, var_compare_decimal=0)
|
mean_compare_decimal=0, var_compare_decimal=0)
|
||||||
|
|
||||||
ss_kernel, gp_kernel = get_new_kernels()
|
ss_kernel, gp_kernel = get_new_kernels()
|
||||||
self.run_for_model(X_train, Y_train, ss_kernel, kalman_filter_type = 'svd',
|
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,
|
predict_X=X_test,
|
||||||
gp_kernel=gp_kernel,
|
gp_kernel=gp_kernel,
|
||||||
mean_compare_decimal=0, var_compare_decimal=-1)
|
mean_compare_decimal=0, var_compare_decimal=-1)
|
||||||
|
|
||||||
ss_kernel, gp_kernel = get_new_kernels()
|
ss_kernel, gp_kernel = get_new_kernels()
|
||||||
self.run_for_model(X_train, Y_train, ss_kernel, kalman_filter_type = 'svd',
|
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,
|
predict_X=X_test,
|
||||||
gp_kernel=gp_kernel,
|
gp_kernel=gp_kernel,
|
||||||
mean_compare_decimal=0, var_compare_decimal=-1)
|
mean_compare_decimal=0, var_compare_decimal=-1)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
print("Running state-space inference tests...")
|
print("Running state-space inference tests...")
|
||||||
unittest.main()
|
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()
|
||||||
|
|
@ -309,7 +309,7 @@ class StateSpaceKernelsTests(np.testing.TestCase):
|
||||||
|
|
||||||
def test_discrete_ss_first(self,plot=False):
|
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
|
np.random.seed(235) # seed the random number generator
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue