From 050bc94a309dce45c197ac453698887f89cedd76 Mon Sep 17 00:00:00 2001 From: Ricardo Date: Thu, 13 Mar 2014 10:26:50 +0000 Subject: [PATCH 1/3] temporal fix --- GPy/util/multioutput.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/GPy/util/multioutput.py b/GPy/util/multioutput.py index bec0e490..7bcbaddc 100644 --- a/GPy/util/multioutput.py +++ b/GPy/util/multioutput.py @@ -55,7 +55,8 @@ def ICM(input_dim, num_outputs, kernel, W_rank=1,W=None,kappa=None,name='X'): warnings.warn("kernel's input dimension overwritten to fit input_dim parameter.") #K = kernel.prod(GPy.kern.Coregionalize(input_dim, num_outputs,W_rank,W,kappa,name='B'),tensor=True,name=name) - K = kernel.prod(GPy.kern.Coregionalize(input_dim, num_outputs,W_rank,W,kappa,name='B'),name=name) + #K = kernel.prod(GPy.kern.Coregionalize(input_dim, num_outputs,W_rank,W,kappa,name='B') )#,name=name) + K = kernel * GPy.kern.Coregionalize(input_dim, num_outputs,W_rank,W,kappa) K['.*variance'] = 1. K['.*variance'].fix() return K From 90f8944361e98083dabfc2051e6dde061f32d95a Mon Sep 17 00:00:00 2001 From: Ricardo Date: Thu, 13 Mar 2014 11:51:59 +0000 Subject: [PATCH 2/3] Fix needed --- GPy/util/multioutput.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/GPy/util/multioutput.py b/GPy/util/multioutput.py index 7bcbaddc..79022a5f 100644 --- a/GPy/util/multioutput.py +++ b/GPy/util/multioutput.py @@ -54,9 +54,8 @@ def ICM(input_dim, num_outputs, kernel, W_rank=1,W=None,kappa=None,name='X'): kernel.input_dim = input_dim warnings.warn("kernel's input dimension overwritten to fit input_dim parameter.") - #K = kernel.prod(GPy.kern.Coregionalize(input_dim, num_outputs,W_rank,W,kappa,name='B'),tensor=True,name=name) - #K = kernel.prod(GPy.kern.Coregionalize(input_dim, num_outputs,W_rank,W,kappa,name='B') )#,name=name) - K = kernel * GPy.kern.Coregionalize(input_dim, num_outputs,W_rank,W,kappa) + K = kernel.prod(GPy.kern.Coregionalize([input_dim], num_outputs,W_rank,W,kappa,name='B'),name=name) + #K = kernel ** GPy.kern.Coregionalize(input_dim, num_outputs,W_rank,W,kappa, name= 'B') K['.*variance'] = 1. K['.*variance'].fix() return K From 8b2cff954e3dc59e50522cb3ec4af7413962695f Mon Sep 17 00:00:00 2001 From: Ricardo Date: Thu, 13 Mar 2014 12:22:20 +0000 Subject: [PATCH 3/3] coregionalization example --- GPy/examples/coreg_example.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 GPy/examples/coreg_example.py diff --git a/GPy/examples/coreg_example.py b/GPy/examples/coreg_example.py new file mode 100644 index 00000000..967758c6 --- /dev/null +++ b/GPy/examples/coreg_example.py @@ -0,0 +1,30 @@ +import numpy as np +import pylab as pb +import GPy +pb.ion() + +X1 = 100 * np.random.rand(100)[:,None] +X2 = 100 * np.random.rand(100)[:,None] +#X1.sort() +#X2.sort() + +Y1 = np.sin(X1/10.) + np.random.rand(100)[:,None] +Y2 = np.cos(X2/10.) + np.random.rand(100)[:,None] + + + + +Mlist = [GPy.kern.Matern32(1,lengthscale=20.,name="Mat")] +kern = GPy.util.multioutput.LCM(input_dim=1,num_outputs=12,kernels_list=Mlist,name='H') + + +m = GPy.models.GPCoregionalizedRegression(X_list=[X1,X2], Y_list=[Y1,Y2], kernel=kern) +m.optimize() + +fig = pb.figure() +ax0 = fig.add_subplot(211) +ax1 = fig.add_subplot(212) +slices = GPy.util.multioutput.get_slices([Y1,Y2]) +m.plot(fixed_inputs=[(1,0)],which_data_rows=slices[0],ax=ax0) +m.plot(fixed_inputs=[(1,1)],which_data_rows=slices[1],ax=ax1) +