def sample_data(hp, ss): post = _sample_post(hp, ss) index = discrete_draw(post) if index == len(hp.betas): return OTHER else: return index
def sample_data(pm, N): if N == 1: return np.array([discrete_draw(pm['p']) for _ in range(N)]) else: a = np.array(pm['p']) a = a / np.sum(a) zs = np.cumsum(a) a = np.random.rand(N) zs[-1] = 1.1 # sentinal q = np.searchsorted(zs, a) return q
def sample_data(hp, ss): return discrete_draw(sample_post(hp, ss))