import mogptk
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams['figure.figsize'] = [10, 5]
sns.set_style('ticks')
sns.set_context(context='notebook', font_scale=1.3)
N = 13
t = np.linspace(0, 6, N)
y = np.random.normal(np.cos(np.pi*t), 0.0)
idx = np.random.permutation(len(t))
t = t[idx]
y = y[idx]
data = mogptk.Data(t, y, name='Data')
#data.aggregate(0.62)
data.plot();
data.plot_spectrum();
data.plot_spectrum('bnse');
N = 7
x, y = np.meshgrid(np.linspace(0, 6, N), np.linspace(0, 6, N))
f = np.random.normal(np.sin(6*x)+np.cos(3*y), 0.0)
data2 = mogptk.Data([x,y], f, name='Data')
#data2.plot();
model = mogptk.MOSM(data, Q=1)
model.init_parameters()
model.train(method='L-BFGS-B', tol=1e-3, maxiter=500);
model.predict();
model.plot_prediction(title='Trained');