def epomeo_gpx(max_iters=<NUM_LIT:200>, optimize=True, plot=True):
try:import pods<EOL>except ImportError:<EOL><INDENT>print('<STR_LIT>')<EOL>return<EOL><DEDENT>data = pods.datasets.epomeo_gpx()<EOL>num_data_list = []<EOL>for Xpart in data['<STR_LIT:X>']:<EOL><INDENT>num_data_list.append(Xpart.shape[<NUM_LIT:0>])<EOL><DEDENT>num_data_array = np.array(num_data_list)<EOL>num_data = num_data_array.sum()<EOL>Y = np.zeros((num_data, <NUM_LIT:2>))<EOL>t = np.zeros((num_data, <NUM_LIT:2>))<EOL>start = <NUM_LIT:0><EOL>for Xpart, index in zip(data['<STR_LIT:X>'], range(len(data['<STR_LIT:X>']))):<EOL><INDENT>end = start+Xpart.shape[<NUM_LIT:0>]<EOL>t[start:end, :] = np.hstack((Xpart[:, <NUM_LIT:0>:<NUM_LIT:1>],<EOL>index*np.ones((Xpart.shape[<NUM_LIT:0>], <NUM_LIT:1>))))<EOL>Y[start:end, :] = Xpart[:, <NUM_LIT:1>:<NUM_LIT:3>]<EOL><DEDENT>num_inducing = <NUM_LIT:200><EOL>Z = np.hstack((np.linspace(t[:,<NUM_LIT:0>].min(), t[:, <NUM_LIT:0>].max(), num_inducing)[:, None],<EOL>np.random.randint(<NUM_LIT:0>, <NUM_LIT:4>, num_inducing)[:, None]))<EOL>k1 = GPy.kern.RBF(<NUM_LIT:1>)<EOL>k2 = GPy.kern.Coregionalize(output_dim=<NUM_LIT:5>, rank=<NUM_LIT:5>)<EOL>k = k1**k2<EOL>m = GPy.models.SparseGPRegression(t, Y, kernel=k, Z=Z, normalize_Y=True)<EOL>m.constrain_fixed('<STR_LIT>', <NUM_LIT:1.>)<EOL>m.inducing_inputs.constrain_fixed()<EOL>m.Gaussian_noise.variance.constrain_bounded(<NUM_LIT>, <NUM_LIT>)<EOL>m.optimize(max_iters=max_iters,messages=True)<EOL>return m<EOL>
Perform Gaussian process regression on the latitude and longitude data
from the Mount Epomeo runs. Requires gpxpy to be installed on your system
to load in the data.