def _create_local_model_categorical(self, q, locality):
assert q in self.levels
assert all(0 <= l < self.levels[q] for l in locality)
counts = np.bincount(locality.astype(int), minlength=self.levels[q])
p = counts / np.sum(counts, dtype=float)
simulate = lambda N: self.rng.choice(self.levels[q], p=p, size=N)
logpdf = lambda x: np.log(p[x])
return LocalGpm(simulate, logpdf)
评论列表
文章目录