def estimate(self, context, data):
pdf = ScaleMixture()
alpha = context.prior.alpha
beta = context.prior.beta
d = context._d
if len(data.shape) == 1:
data = data[:, numpy.newaxis]
a = alpha + 0.5 * d * len(data.shape)
b = beta + 0.5 * data.sum(-1) ** 2
s = a / b
log_s = psi(a) - log(b)
pdf.scales = s
context.prior.estimate([s, log_s])
pdf.prior = context.prior
return pdf
评论列表
文章目录