def visual_test_sample_gp_no_noise(): n_in = 3 x_in = np.array([3.5, 10.5, 12.5], dtype=np.float64) f_in = np.array([3.0, 10.0, 12.0], dtype=np.float64) n_out = 20 ell = 10.0 x_out = np.array(range(n_out), dtype=np.float64) mean_out, S_out = gp.squared_exponential_conditional(x_in, f_in, x_out, ell, 0.0) mean_out = np.array(mean_out) S_out = np.array(S_out) nsamples = 5 eval, evec = npl.eigh(S_out) eval = np.sqrt(eval) L = evec.dot(diag(eval)) C = npl.cholesky(S_out) figure() for i in range(nsamples): r = np.random.normal(size=n_out) s = L.dot(r) plot(s + mean_out) grid() figure() for i in range(nsamples): r = np.random.normal(size=n_out) s = C.dot(r) plot(s + mean_out) grid()
def visual_test_sample_gp_noise(): x_in = np.array([3.5, 10.5, 12.5, 15.0, 20.0], dtype=np.float64) f_in = np.array([1.0, 10.0, 7.0, 0.0, 5.0], dtype=np.float64) n_in = x_in.shape[0] n_out = 20 ell = .1 sigma_noise = 0.1 #x_out = np.array(range(n_out), dtype=np.float64) x_out = x_in.copy() n_out = x_out.shape[0] mean_out, S_out = gp.squared_exponential_conditional(x_in, f_in, x_out, ell, sigma_noise) mean_out = np.array(mean_out) S_out = np.array(S_out) nsamples = 1 eval, evec = npl.eigh(S_out) eval = np.sqrt(eval) L = evec.dot(diag(eval)) C = npl.cholesky(S_out) figure() plot(f_in) for i in range(nsamples): r = np.random.normal(size=n_out) r[:] = 0 s = L.dot(r) plot(s + mean_out) grid() figure() plot(f_in) for i in range(nsamples): r = np.random.normal(size=n_out) r[:] = 0 s = C.dot(r) plot(s + mean_out) grid()