Source code for mixem.model

import numpy as np


[docs]def probability(data, weights, distributions): """Compute the probability for data of the mixture density model given by weights and a list of distributions""" assert len(weights) == len(distributions), "Need matching number of weights and distributions!" if not hasattr(data, '__len__'): data = [data] data = np.array(data) n_dist = len(distributions) densities = np.empty((data.shape[0], n_dist)) for d in range(n_dist): densities[:, d] = np.exp(distributions[d].log_density(data)) return np.sum(weights[np.newaxis, :] * densities, axis=1)