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))
     )
示例#2
0
    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
示例#3
0
 def _pdf(self, x):
     return self.rate * exp(-self.rate * x)
示例#4
0
 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)
示例#5
0
 def _pdf(self, x):
     return 0.5 * exp(-abs(x - self.loc) / self.scale) / self.scale
示例#6
0
 def _pdf(self, x):
     return (self.rate**self.shape * x**(self.shape - 1) *
             exp(-self.rate * x) / gamma(self.shape))
示例#7
0
 def _pdf(self, x):
     return (exp(-0.5 * square(
         (x - self.mu) / self.std)) / sqrt(2 * np.pi) / self.std)