def mi(xs): try: return entropy.mutual_information(xs) except ValueError: return 0
def compare_mi(one, two, num_samples=500): one = list(one) two = list(two) f = lambda x: entropy.mutual_information(Counter(x).items()) p = permutation_test(f, one, two, num_samples) return one, two, p
def mi_of_observations(xs): return entropy.mutual_information(Counter(xs).items())