Hello everyone,
I am wondering how to define the following GP using gp.Marginal:
\eta f(x) + g(x)
where
f(x) \sim GP(m_1(x), K_1(x,x')), and g(x) \sim GP(m_2(x), K_2(x,x')) and \eta is a RV. Stuf like
with pm.Model()
eta = pm.InverseGamma("eta", alpha = 5,
beta = 1)
beta = pm.Normal("beta", mu = 0, sd =1)
model_mean = pm.gp.mean.Linear(coeffs =beta)
model_cov = pm.gp.cov.Constant(1)
model_marginal_gp = eta * pm.gp.Marginal(mean_func = model_mean, cov_func = model_cov)
fails because the multiplication of a RV with gp.Marginal is not allowed. The same for
with pm.Model()
eta = pm.InverseGamma("eta", alpha = 5,
beta = 1)
beta = pm.Normal("beta", mu = 0, sd =1)
model_mean = eta * pm.gp.mean.Linear(coeffs =beta)
model_cov = eta ** 2 * pm.gp.cov.Constant(1)
model_marginal_gp = pm.gp.Marginal(mean_func = model_mean, cov_func = model_cov)
Here it fails because the multiplication of the mean function.
I will be grateful for any tips