pymc.distributions.shape_utils.broadcast_distribution_samples#
- pymc.distributions.shape_utils.broadcast_distribution_samples(samples, size=None)[source]#
Broadcast samples drawn from distributions taking into account the size (i.e. the number of samples) of the draw, which is prepended to the sample’s shape.
- Parameters
- samples: Iterable of ndarrays holding the sampled values
- size: None, int or tuple (optional)
size of the sample set requested.
- Returns
List
ofbroadcasted
sample
arrays
Examples
size = 100 sample0 = np.random.randn(size) sample1 = np.random.randn(size, 5) sample2 = np.random.randn(size, 4, 5) out = broadcast_distribution_samples([sample0, sample1, sample2], size=size) assert all((o.shape == (size, 4, 5) for o in out)) assert np.all(sample0[:, None, None] == out[0]) assert np.all(sample1[:, None, :] == out[1]) assert np.all(sample2 == out[2])
size = 100 sample0 = np.random.randn(size) sample1 = np.random.randn(5) sample2 = np.random.randn(4, 5) out = broadcast_distribution_samples([sample0, sample1, sample2], size=size) assert all((o.shape == (size, 4, 5) for o in out)) assert np.all(sample0[:, None, None] == out[0]) assert np.all(sample1 == out[1]) assert np.all(sample2 == out[2])