def setUp(self): sp.random.seed(1) self.n = 4 self.rank = 2 self.C = LowRankCov(self.n, self.rank) self.name = 'lowrank' self.C.setRandomParams()
def rank(self, value): self._rank = value if value is None: self.cat_cov = FreeFormCov(self.n_cats, jitter=self.jitter) else: assert value <= self.n_cats, 'rank cant be higher than number of categories' self.cat_cov = LowRankCov(self.n_cats, value) self.clear_all() self._notify()
def setColCovars(self, Cn = None, rank = 1): assert Cn is not None, 'Cn has to be specified.' self._rank_c = rank self._dim_c = Cn.dim self._Cr = LowRankCov(self._dim_c, rank) self._Cn = Cn # register self._Cr.register(self.col_covs_have_changed) self._Cn.register(self.col_covs_have_changed) self.col_covs_have_changed()
def setColCovars(self, Cr=None, Cn=None, rank=1): assert Cn is not None, 'Cn has to be specified.' # set noise self._Cn = Cn self._dim_c = Cn.dim # set region if Cr is None: Cr = LowRankCov(self._dim_c, rank) self._Cr = Cr self._rank_c = self.Cr.X.shape[1] # register self._Cr.register(self.col_covs_have_changed) self._Cn.register(self.col_covs_have_changed) self.col_covs_have_changed()
def define_gp(Y, Xr, mean, Ie, type): P = 2 if type == 'null': _Cr = FixedCov(sp.ones([2, 2])) _Cr.scale = 1e-9 _Cr.act_scale = False covar = CategoricalLR(_Cr, sp.ones((Xr.shape[0], 1)), Ie) else: if type == 'block': _Cr = FixedCov(sp.ones((P, P))) elif type == 'rank1': _Cr = LowRankCov(P, 1) elif type == 'full': _Cr = FreeFormCov(P) else: print('poppo') covar = CategoricalLR(_Cr, Xr, Ie) _gp = GP(covar=covar, mean=mean) return _gp
def setColCovars(self, Cg=None, Cn=None, rank=1, Cr=None): assert Cg is not None, 'Cov2KronSum: Specify Cg!' assert Cn is not None, 'Cov2KronSum: Specify Cn!' assert Cg.dim == Cn.dim, 'Cov2KronSum: Cg and Cn must have same dimensions!' if Cr is None: Cr = LowRankCov(Cg.dim, rank) Cr.setRandomParams() self._rank_c = rank else: self._rank_c = Cr.X.shape[1] self._dim_c = Cg.dim self._Cr = Cr self._Cg = Cg self._Cn = Cn self._Cg.register(self.col_covs_have_changed) self._Cn.register(self.col_covs_have_changed) self.col_covs_have_changed()
def setColCovars(self, Cg=None, Cn=None, rank=1, Cr=None): assert Cg is not None, 'Cov2KronSum: Specify Cg!' assert Cn is not None, 'Cov2KronSum: Specify Cn!' assert Cg.dim==Cn.dim, 'Cov2KronSum: Cg and Cn must have same dimensions!' assert Cr is None, '%s: more general covariance matrices are not supported at the moment' % self.__class__.__name__ if Cr is None: Cr = LowRankCov(Cg.dim, rank) Cr.setRandomParams() self._rank_c = rank else: self._rank_c = self.Cr.dim() self._dim_c = Cg.dim self._Cr = Cr self._Cg = Cg self._Cn = Cn self._Cg.register(self.col_covs_have_changed) self._Cn.register(self.col_covs_have_changed) self.col_covs_have_changed()