sigma = ul.fnp(np.sqrt(np.diag(Cov))) ## Plot the results gl.plot_timeRegression(x_grid, y_pred, sigma, dates, timeSeries, sigma_eps, labels=["GP own implementation", "Time", "Price"], nf=1) optflag = 1 if (optflag): ### Optimize the parameters and do it again #### xopt = gp.optimize_parameters(sigma_0, l, sigma_eps) sigma_0, l, sigma_eps = xopt gp.fit(dates, timeSeries, kernel=GPown.compute_Kernel, params=dict([["l", l], ["sigma_0", sigma_0]]), sigma_eps=sigma_eps) ## Generate a Validation set and obtain the regressed values ! y_pred, Cov = gp.predict(x_grid) sigma = ul.fnp(np.sqrt(np.diag(Cov))) gl.plot_timeRegression(x_grid, y_pred, sigma, dates, timeSeries, sigma_eps,
params = dict([["l",l],["sigma_0",sigma_0]]), sigma_eps = sigma_eps) y_pred, Cov = gp.predict(x_grid) sigma = ul.fnp(np.sqrt(np.diag(Cov))) ## Plot the results gl.plot_timeRegression(x_grid, y_pred, sigma, dates, timeSeries,sigma_eps, labels = ["GP own implementation","Time","Price"], nf = 1) optflag = 1 if (optflag): ### Optimize the parameters and do it again #### xopt = gp.optimize_parameters(sigma_0, l, sigma_eps) sigma_0, l, sigma_eps = xopt gp.fit(dates,timeSeries, kernel = GPown.compute_Kernel, params = dict([["l",l],["sigma_0",sigma_0]]), sigma_eps = sigma_eps) ## Generate a Validation set and obtain the regressed values ! y_pred, Cov = gp.predict(x_grid) sigma = ul.fnp(np.sqrt(np.diag(Cov))) gl.plot_timeRegression(x_grid, y_pred, sigma, dates, timeSeries,sigma_eps, labels = ["GP Estimation (Opt)","Time","Price"], nf = 1) ## Plot realizations !! # f_s = gp.generate_process(x_grid, N = 20) # gl.plot(x_grid,f_s, legend = ["Realization"], nf = 0)