def _pdf(self, x): d = x - self.mu d = d.reshape(*d.shape, 1) return ( exp(-0.5 * (solve(self.cov, d) * d).sum(axis=(-2, -1))) / (2 * np.pi) ** (self.mu.shape[-1] * 0.5) / sqrt(det(self.cov)) )
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 self.rate * exp(-self.rate * x)
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)
def _pdf(self, x): return 0.5 * exp(-abs(x - self.loc) / self.scale) / self.scale
def _pdf(self, x): return (self.rate**self.shape * x**(self.shape - 1) * exp(-self.rate * x) / gamma(self.shape))
def _pdf(self, x): return (exp(-0.5 * square( (x - self.mu) / self.std)) / sqrt(2 * np.pi) / self.std)