示例#1
0
    inf_method = approx_inf.UEP(power=1, damping=0.5)
elif method == 4:
    inf_method = approx_inf.UEP(power=0.5, damping=0.5)
elif method == 5:
    inf_method = approx_inf.UKS(damping=0.5)

elif method == 6:
    inf_method = approx_inf.GHEP(power=1, damping=0.5)
elif method == 7:
    inf_method = approx_inf.GHEP(power=0.5, damping=0.5)
elif method == 8:
    inf_method = approx_inf.GHKS(damping=0.5)

elif method == 9:
    step_size = 1e-2
    inf_method = approx_inf.EP(power=1, intmethod='UT', damping=0.05)  # this method requies more damping
elif method == 10:
    if fold in [1]:
        inf_method = approx_inf.EP(power=0.5, intmethod='UT', damping=0.5)
    else:
        inf_method = approx_inf.EP(power=0.5, intmethod='UT', damping=0.5)
elif method == 11:
    inf_method = approx_inf.EP(power=0.01, intmethod='UT', damping=0.5)

elif method == 12:
    if fold in [3, 4, 6, 7, 9]:
        inf_method = approx_inf.EP(power=1, intmethod='GH', damping=0.1)
    else:
        inf_method = approx_inf.EP(power=1, intmethod='GH', damping=0.5)
elif method == 13:
    inf_method = approx_inf.EP(power=0.5, intmethod='GH', damping=0.5)
示例#2
0
elif method == 3:
    inf_method = approx_inf.UEP(power=1, damping=damping)
elif method == 4:
    inf_method = approx_inf.UEP(power=0.5, damping=damping)
elif method == 5:
    inf_method = approx_inf.UKS(damping=damping)

elif method == 6:
    inf_method = approx_inf.GHEP(power=1, damping=damping)
elif method == 7:
    inf_method = approx_inf.GHEP(power=0.5, damping=damping)
elif method == 8:
    inf_method = approx_inf.GHKS(damping=damping)

elif method == 9:
    inf_method = approx_inf.EP(power=1, intmethod='UT', damping=damping)
elif method == 10:
    inf_method = approx_inf.EP(power=0.5, intmethod='UT', damping=damping)
elif method == 11:
    inf_method = approx_inf.EP(power=0.01, intmethod='UT', damping=damping)

elif method == 12:
    inf_method = approx_inf.EP(power=1, intmethod='GH', damping=damping)
elif method == 13:
    inf_method = approx_inf.EP(power=0.5, intmethod='GH', damping=damping)
elif method == 14:
    inf_method = approx_inf.EP(power=0.01, intmethod='GH', damping=damping)

elif method == 15:
    inf_method = approx_inf.VI(intmethod='UT', damping=damping)
elif method == 16:
示例#3
0
# x = np.linspace(-25.0, 75.0, num=N)  # evenly spaced
x = np.random.permutation(
    np.linspace(-25.0, 150.0, num=N) +
    0.5 * np.random.randn(N))  # unevenly spaced
y = wiggly_time_series(x)
x_test = np.linspace(np.min(x) - 15.0, np.max(x) + 15.0, num=500)
y_test = wiggly_time_series(x_test) + 0.5 * np.random.randn(x_test.shape[0])

var_f = 1.0  # GP variance
len_f = 5.0  # GP lengthscale
var_y = 0.5  # observation noise

prior = priors.Matern52(variance=var_f, lengthscale=len_f)
# prior_ = priors.QuasiPeriodicMatern32([var_f, len_f, 20., 50.])
lik = likelihoods.Gaussian(variance=var_y)
inf_method = approx_inf.EP(power=0.5)
# inf_method = approx_inf.EKS()
# inf_method = approx_inf.EEP()
# inf_method = approx_inf.VI()

model = SDEGP(prior=prior,
              likelihood=lik,
              t=x,
              y=y,
              t_test=x_test,
              y_test=y_test,
              approx_inf=inf_method)

opt_init, opt_update, get_params = optimizers.adam(step_size=5e-1)
# parameters should be a 2-element list [param_prior, param_likelihood]
opt_state = opt_init([model.prior.hyp, model.likelihood.hyp])
示例#4
0
elif method == 3:
    inf_method = approx_inf.UEP(power=1)
elif method == 4:
    inf_method = approx_inf.UEP(power=0.5)
elif method == 5:
    inf_method = approx_inf.UKS()

elif method == 6:
    inf_method = approx_inf.GHEP(power=1)
elif method == 7:
    inf_method = approx_inf.GHEP(power=0.5)
elif method == 8:
    inf_method = approx_inf.GHKS()

elif method == 9:
    inf_method = approx_inf.EP(power=1, intmethod='UT')
elif method == 10:
    inf_method = approx_inf.EP(power=0.5, intmethod='UT')
elif method == 11:
    inf_method = approx_inf.EP(power=0.01, intmethod='UT')

elif method == 12:
    inf_method = approx_inf.EP(power=1, intmethod='GH')
elif method == 13:
    inf_method = approx_inf.EP(power=0.5, intmethod='GH')
elif method == 14:
    inf_method = approx_inf.EP(power=0.01, intmethod='GH')

elif method == 15:
    inf_method = approx_inf.VI(intmethod='UT')
elif method == 16:
示例#5
0
print('generating some data ...')
np.random.seed(99)
N = 1000  # number of training points
x = 100 * np.random.rand(N)
f = 6 * np.sin(pi * x / 10.0) / (pi * x / 10.0 + 1)
y_ = f + np.math.sqrt(0.05) * np.random.randn(x.shape[0])
y = np.maximum(np.sign(y_), 0.)

x_test = np.linspace(np.min(x) - 10.0, np.max(x) + 10.0, num=500)

var_f = 1.0  # GP variance
len_f = 5.0  # GP lengthscale

prior = priors.Matern52(variance=var_f, lengthscale=len_f)
lik = likelihoods.Probit()
approx_inf_1 = approx_inf.EP()
approx_inf_2 = approx_inf.VI()

model_1 = SDEGP(prior=prior,
                likelihood=lik,
                t=x,
                y=y,
                t_test=x_test,
                approx_inf=approx_inf_1)
model_2 = SDEGP(prior=prior,
                likelihood=lik,
                t=x,
                y=y,
                t_test=x_test,
                approx_inf=approx_inf_2)