New Gaussian likelihood for multiple outputs

This commit is contained in:
Ricardo 2013-09-04 18:06:14 +01:00
parent 3dc7574c50
commit 671591fa96
6 changed files with 124 additions and 5 deletions

View file

@ -185,7 +185,7 @@ class GP(GPBase):
if isinstance(self.likelihood,EP_Mixed_Noise):
mean, var, _025pm, _975pm = self.likelihood.predictive_values(mu, var, full_cov, noise_model = output)
else:
mean, var, _025pm, _975pm = self.likelihood_list[output].predictive_values(mu, var, full_cov)
mean, var, _025pm, _975pm = self.likelihood.predictive_values(mu, var, full_cov, noise_model = output)
return mean, var, _025pm, _975pm
def _raw_predict_single_output(self, _Xnew, output=0, which_parts='all', full_cov=False,stop=False):

View file

@ -178,7 +178,7 @@ class GPBase(Model):
for d in range(m.shape[1]):
gpplot(Xnew, m[:, d], lower[:, d], upper[:, d], axes=ax)
#ax.plot(Xu[which_data], self.likelihood.data[self.likelihood.index==output][:,None], 'kx', mew=1.5)
ax.plot(Xu[which_data], self.likelihood_list[output].data, 'kx', mew=1.5)
ax.plot(Xu[which_data], self.likelihood.noise_model_list[output].data, 'kx', mew=1.5)
ymin, ymax = min(np.append(self.likelihood.data, lower)), max(np.append(self.likelihood.data, upper))
ymin, ymax = ymin - 0.1 * (ymax - ymin), ymax + 0.1 * (ymax - ymin)
ax.set_xlim(xmin, xmax)