

def _simulate_matern(D1, D2, D3, N, num_inducing, plot_sim=False):
    'Simulate some data drawn from a matern covariance and a periodic exponential for use in MRD demos.'
    Q_signal = 4
    import GPy
    import numpy as np
    np.random.seed(3000)
    k = GPy.kern.Matern32(Q_signal, 1.0, lengthscale=np.random.uniform(1, 6, Q_signal), ARD=1)
    for i in range(Q_signal):
        k += GPy.kern.PeriodicExponential(1, variance=1.0, active_dims=[i], period=3.0, lower=(- 2), upper=6)
    t = np.c_[[np.linspace((- 1), 5, N) for _ in range(Q_signal)]].T
    K = k.K(t)
    (s2, s1, s3, sS) = np.random.multivariate_normal(np.zeros(K.shape[0]), K, size=4)[:, :, None]
    (Y1, Y2, Y3, S1, S2, S3) = _generate_high_dimensional_output(D1, D2, D3, s1, s2, s3, sS)
    slist = [sS, s1, s2, s3]
    slist_names = ['sS', 's1', 's2', 's3']
    Ylist = [Y1, Y2, Y3]
    if plot_sim:
        from matplotlib import pyplot as plt
        import matplotlib.cm as cm
        import itertools
        fig = plt.figure('MRD Simulation Data', figsize=(8, 6))
        fig.clf()
        ax = fig.add_subplot(2, 1, 1)
        labls = slist_names
        for (S, lab) in itertools.izip(slist, labls):
            ax.plot(S, label=lab)
        ax.legend()
        for (i, Y) in enumerate(Ylist):
            ax = fig.add_subplot(2, len(Ylist), ((len(Ylist) + 1) + i))
            ax.imshow(Y, aspect='auto', cmap=cm.gray)
            ax.set_title('Y{}'.format((i + 1)))
        plt.draw()
        plt.tight_layout()
    return (slist, [S1, S2, S3], Ylist)

dataset/ETHPy150Open SheffieldML/GPy/GPy/examples/dimensionality_reduction.py _simulate_matern/original