def var(self, var): try: ispositive = (var.value > 0).all() except AttributeError: ispositive = (var.value > 0) if not ispositive: raise ValueError("value of var must all be positive") self._var = var self.parameter["std"] = sqrt(var)
def tau(self, tau): try: ispositive = (tau.value > 0).all() except AttributeError: ispositive = (tau.value > 0) if not ispositive: raise ValueError("value of tau must be positive") self._tau = tau self.parameter["std"] = 1 / sqrt(tau)
def _pdf(self, x): assert x.shape[-1] == self.mu.size if x.ndim == 1: squeeze = True x = broadcast_to(x, (1, self.mu.size)) else: squeeze = False assert x.ndim == 2 d = x - self.mu d = d.transpose() p = ( exp(-0.5 * (solve(self.cov, d) * d).sum(axis=0)) / (2 * np.pi) ** (self.mu.size * 0.5) / sqrt(det(self.cov)) ) if squeeze: p = p.sum() return p
def _pdf(self, x): return (exp(-0.5 * square( (x - self.mu) / self.std)) / sqrt(2 * np.pi) / self.std)
def _pdf(self, x): gauss = ( exp(-0.5 * square((x - self.mu) / self.std)) / sqrt(2 * np.pi) / self.std ) return (self.coef * gauss).sum(axis=self.axis)