In [1]:
import VFF
%matplotlib inline
import numpy as np
from matplotlib import pyplot as plt
In [55]:
X = np.random.rand(100, 2)
Y = np.sin(3 * X[:, :1]) * np.sin(5 * X[:, 1:]) + np.random.randn(X.shape[0], 1) * 0.1
# Y = np.sin(8 * X[:, 1:])
In [56]:
plt.scatter(X[:, 0], X[:, 1], 20, Y[:, 0])
plt.colorbar()
Out[56]:
In [64]:
m = VFF.gpr.GPRKron(X, Y, np.arange(18), np.array([-1, -1]), np.array([2, 2]), [GPflow.kernels.Matern12(1), GPflow.kernels.Matern12(1)])
m.likelihood.variance = 0.1
In [65]:
k = GPflow.kernels.Matern32(1) * GPflow.kernels.Matern32(1, active_dims=[1]) + GPflow.kernels.White(1)
m0 = GPflow.gpr.GPR(X, Y, kern=k)
m0.likelihood.variance = 0.1
In [66]:
m.optimize()
m0.optimize()
Out[66]:
In [67]:
m
Out[67]:
In [68]:
m0
Out[68]:
In [69]:
Xtest = np.random.rand(100,2)
mu, var = m0.predict_f(Xtest)
plt.scatter(Xtest[:, 0], Xtest[:, 1], 20, mu[:, 0], vmin=-1, vmax=1)
plt.colorbar()
Out[69]:
In [70]:
mu, var = m.predict_f(Xtest)
plt.scatter(Xtest[:, 0], Xtest[:, 1], 20, mu[:, 0], vmin=-1, vmax=1)
plt.colorbar()
Out[70]:
In [ ]:
In [ ]: